@ckeditor/ckeditor5-real-time-collaboration 44.2.0-alpha.13 → 44.2.0-alpha.15

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 (168) hide show
  1. package/build/real-time-collaboration.js +1 -1
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.js +1 -1
  4. package/dist/translations/af.umd.js +1 -1
  5. package/dist/translations/ar.js +1 -1
  6. package/dist/translations/ar.umd.js +1 -1
  7. package/dist/translations/ast.js +1 -1
  8. package/dist/translations/ast.umd.js +1 -1
  9. package/dist/translations/az.js +1 -1
  10. package/dist/translations/az.umd.js +1 -1
  11. package/dist/translations/bg.js +1 -1
  12. package/dist/translations/bg.umd.js +1 -1
  13. package/dist/translations/bn.js +1 -1
  14. package/dist/translations/bn.umd.js +1 -1
  15. package/dist/translations/bs.js +1 -1
  16. package/dist/translations/bs.umd.js +1 -1
  17. package/dist/translations/ca.js +1 -1
  18. package/dist/translations/ca.umd.js +1 -1
  19. package/dist/translations/cs.js +1 -1
  20. package/dist/translations/cs.umd.js +1 -1
  21. package/dist/translations/da.js +1 -1
  22. package/dist/translations/da.umd.js +1 -1
  23. package/dist/translations/de-ch.js +1 -1
  24. package/dist/translations/de-ch.umd.js +1 -1
  25. package/dist/translations/de.js +1 -1
  26. package/dist/translations/de.umd.js +1 -1
  27. package/dist/translations/el.js +1 -1
  28. package/dist/translations/el.umd.js +1 -1
  29. package/dist/translations/en-au.js +1 -1
  30. package/dist/translations/en-au.umd.js +1 -1
  31. package/dist/translations/en-gb.js +1 -1
  32. package/dist/translations/en-gb.umd.js +1 -1
  33. package/dist/translations/en.js +1 -1
  34. package/dist/translations/en.umd.js +1 -1
  35. package/dist/translations/eo.js +1 -1
  36. package/dist/translations/eo.umd.js +1 -1
  37. package/dist/translations/es-co.js +1 -1
  38. package/dist/translations/es-co.umd.js +1 -1
  39. package/dist/translations/es.js +1 -1
  40. package/dist/translations/es.umd.js +1 -1
  41. package/dist/translations/et.js +1 -1
  42. package/dist/translations/et.umd.js +1 -1
  43. package/dist/translations/eu.js +1 -1
  44. package/dist/translations/eu.umd.js +1 -1
  45. package/dist/translations/fa.js +1 -1
  46. package/dist/translations/fa.umd.js +1 -1
  47. package/dist/translations/fi.js +1 -1
  48. package/dist/translations/fi.umd.js +1 -1
  49. package/dist/translations/fr.js +1 -1
  50. package/dist/translations/fr.umd.js +1 -1
  51. package/dist/translations/gl.js +1 -1
  52. package/dist/translations/gl.umd.js +1 -1
  53. package/dist/translations/gu.js +1 -1
  54. package/dist/translations/gu.umd.js +1 -1
  55. package/dist/translations/he.js +1 -1
  56. package/dist/translations/he.umd.js +1 -1
  57. package/dist/translations/hi.js +1 -1
  58. package/dist/translations/hi.umd.js +1 -1
  59. package/dist/translations/hr.js +1 -1
  60. package/dist/translations/hr.umd.js +1 -1
  61. package/dist/translations/hu.js +1 -1
  62. package/dist/translations/hu.umd.js +1 -1
  63. package/dist/translations/hy.js +1 -1
  64. package/dist/translations/hy.umd.js +1 -1
  65. package/dist/translations/id.js +1 -1
  66. package/dist/translations/id.umd.js +1 -1
  67. package/dist/translations/it.js +1 -1
  68. package/dist/translations/it.umd.js +1 -1
  69. package/dist/translations/ja.js +1 -1
  70. package/dist/translations/ja.umd.js +1 -1
  71. package/dist/translations/jv.js +1 -1
  72. package/dist/translations/jv.umd.js +1 -1
  73. package/dist/translations/kk.js +1 -1
  74. package/dist/translations/kk.umd.js +1 -1
  75. package/dist/translations/km.js +1 -1
  76. package/dist/translations/km.umd.js +1 -1
  77. package/dist/translations/kn.js +1 -1
  78. package/dist/translations/kn.umd.js +1 -1
  79. package/dist/translations/ko.js +1 -1
  80. package/dist/translations/ko.umd.js +1 -1
  81. package/dist/translations/ku.js +1 -1
  82. package/dist/translations/ku.umd.js +1 -1
  83. package/dist/translations/lt.js +1 -1
  84. package/dist/translations/lt.umd.js +1 -1
  85. package/dist/translations/lv.js +1 -1
  86. package/dist/translations/lv.umd.js +1 -1
  87. package/dist/translations/ms.js +1 -1
  88. package/dist/translations/ms.umd.js +1 -1
  89. package/dist/translations/nb.js +1 -1
  90. package/dist/translations/nb.umd.js +1 -1
  91. package/dist/translations/ne.js +1 -1
  92. package/dist/translations/ne.umd.js +1 -1
  93. package/dist/translations/nl.js +1 -1
  94. package/dist/translations/nl.umd.js +1 -1
  95. package/dist/translations/no.js +1 -1
  96. package/dist/translations/no.umd.js +1 -1
  97. package/dist/translations/oc.js +1 -1
  98. package/dist/translations/oc.umd.js +1 -1
  99. package/dist/translations/pl.js +1 -1
  100. package/dist/translations/pl.umd.js +1 -1
  101. package/dist/translations/pt-br.js +1 -1
  102. package/dist/translations/pt-br.umd.js +1 -1
  103. package/dist/translations/pt.js +1 -1
  104. package/dist/translations/pt.umd.js +1 -1
  105. package/dist/translations/ro.js +1 -1
  106. package/dist/translations/ro.umd.js +1 -1
  107. package/dist/translations/ru.js +1 -1
  108. package/dist/translations/ru.umd.js +1 -1
  109. package/dist/translations/si.js +1 -1
  110. package/dist/translations/si.umd.js +1 -1
  111. package/dist/translations/sk.js +1 -1
  112. package/dist/translations/sk.umd.js +1 -1
  113. package/dist/translations/sl.js +1 -1
  114. package/dist/translations/sl.umd.js +1 -1
  115. package/dist/translations/sq.js +1 -1
  116. package/dist/translations/sq.umd.js +1 -1
  117. package/dist/translations/sr-latn.js +1 -1
  118. package/dist/translations/sr-latn.umd.js +1 -1
  119. package/dist/translations/sr.js +1 -1
  120. package/dist/translations/sr.umd.js +1 -1
  121. package/dist/translations/sv.js +1 -1
  122. package/dist/translations/sv.umd.js +1 -1
  123. package/dist/translations/th.js +1 -1
  124. package/dist/translations/th.umd.js +1 -1
  125. package/dist/translations/ti.js +1 -1
  126. package/dist/translations/ti.umd.js +1 -1
  127. package/dist/translations/tk.js +1 -1
  128. package/dist/translations/tk.umd.js +1 -1
  129. package/dist/translations/tr.js +1 -1
  130. package/dist/translations/tr.umd.js +1 -1
  131. package/dist/translations/tt.js +1 -1
  132. package/dist/translations/tt.umd.js +1 -1
  133. package/dist/translations/ug.js +1 -1
  134. package/dist/translations/ug.umd.js +1 -1
  135. package/dist/translations/uk.js +1 -1
  136. package/dist/translations/uk.umd.js +1 -1
  137. package/dist/translations/ur.js +1 -1
  138. package/dist/translations/ur.umd.js +1 -1
  139. package/dist/translations/uz.js +1 -1
  140. package/dist/translations/uz.umd.js +1 -1
  141. package/dist/translations/vi.js +1 -1
  142. package/dist/translations/vi.umd.js +1 -1
  143. package/dist/translations/zh-cn.js +1 -1
  144. package/dist/translations/zh-cn.umd.js +1 -1
  145. package/dist/translations/zh.js +1 -1
  146. package/dist/translations/zh.umd.js +1 -1
  147. package/package.json +14 -14
  148. package/src/common-translations.js +1 -1
  149. package/src/index.js +1 -1
  150. package/src/presencelist/presencelistui.js +1 -1
  151. package/src/presencelist/view/presencecounterview.js +1 -1
  152. package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
  153. package/src/presencelist/view/presencedropdownlistview.js +1 -1
  154. package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
  155. package/src/presencelist/view/presenceinlinelistview.js +1 -1
  156. package/src/presencelist/view/presencelistview.js +1 -1
  157. package/src/presencelist.js +1 -1
  158. package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
  159. package/src/realtimecollaborativecomments.js +1 -1
  160. package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
  161. package/src/realtimecollaborativeediting/sessions.js +1 -1
  162. package/src/realtimecollaborativeediting/usermarkers.js +1 -1
  163. package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
  164. package/src/realtimecollaborativeediting.js +1 -1
  165. package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
  166. package/src/realtimecollaborativerevisionhistory.js +1 -1
  167. package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
  168. package/src/realtimecollaborativetrackchanges.js +1 -1
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var __webpack_modules__={310:e=>{"use strict";e.exports=function(e,t){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise((function(s,i){n[r]=function(e){if(o)if(o=!1,e)i(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];s.apply(null,t)}};try{e.apply(t||null,n)}catch(e){o&&(o=!1,i(e))}}))}},662:(e,t)=>{"use strict";var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(e,t,n){for(var s,o=null,i=[],a=0,c=0;t<n;){var d=e[t++];switch(c){case 0:i[a++]=r[d>>2],s=(3&d)<<4,c=1;break;case 1:i[a++]=r[s|d>>4],s=(15&d)<<2,c=2;break;case 2:i[a++]=r[s|d>>6],i[a++]=r[63&d],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(e,t,n){for(var r,o=n,a=0,c=0;c<e.length;){var d=e.charCodeAt(c++);if(61===d&&a>1)break;if(void 0===(d=s[d]))throw Error(i);switch(a){case 0:r=d,a=1;break;case 1:t[n++]=r<<2|(48&d)>>4,r=d,a=2;break;case 2:t[n++]=(15&r)<<4|(60&d)>>2,r=d,a=3;break;case 3:t[n++]=(3&r)<<6|d,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},707:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this}},365:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(e,r,s){t[0]=e,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?s:o,e.writeFloatBE=r?o:s,e.readFloatLE=r?i:a,e.readFloatBE=r?a:i}():function(){function t(e,t,n,r){var s=t<0?1:0;if(s&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((s<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((s<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2);e((s<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(e,t,n){var r=e(t,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}e.writeFloatLE=t.bind(null,n),e.writeFloatBE=t.bind(null,r),e.readFloatLE=i.bind(null,s),e.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(e,r,s){t[0]=e,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?s:o,e.writeDoubleBE=r?o:s,e.readDoubleLE=r?i:a,e.readDoubleBE=r?a:i}():function(){function t(e,t,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)e(0,s,o+t),e(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))e(0,s,o+t),e(2146959360,s,o+n);else if(r>17976931348623157e292)e(0,s,o+t),e((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)e((a=r/5e-324)>>>0,s,o+t),e((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+t),e((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(e,t,n,r,s){var o=e(r,s+t),i=e(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,d=4294967296*(1048575&i)+o;return 2047===c?d?NaN:a*(1/0):0===c?5e-324*a*d:a*Math.pow(2,c-1075)*(d+4503599627370496)}e.writeDoubleLE=t.bind(null,n,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=i.bind(null,s,0,4),e.readDoubleBE=i.bind(null,o,4,0)}(),e}function n(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function s(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},230:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},319:e=>{"use strict";e.exports=function(e,t,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return e(n);i+n>r&&(o=e(r),i=0);var a=t.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},742:(e,t)=>{"use strict";var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return"";for(var r,s=null,o=[],i=0;t<n;)(r=e[t++])<128?o[i++]=r:r>191&&r<224?o[i++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[i++]=55296+(r>>10),o[i++]=56320+(1023&r)):o[i++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s?(i&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))},n.write=function(e,t,n){for(var r,s,o=n,i=0;i<e.length;++i)(r=e.charCodeAt(i))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=e.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},106:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(168),s=n.n(r),o=n(433),i=n.n(o)()(s());i.push([e.id,".ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;flex-direction:row;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text);margin-right:var(--ck-spacing-large)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:1px solid transparent;color:inherit;font:inherit;margin-left:var(--ck-spacing-small);outline:none;position:relative}.ck.ck-presence-list__list-item:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list__list-item:focus,.ck.ck-presence-list__list-item.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list__list-item .ck-label{height:0;overflow:hidden;width:0}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:3px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{border:1px solid transparent;min-width:calc(var(--ck-user-avatar-size)*2)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck-presence-list__list:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list--collapsed .ck-presence-list__list:focus,.ck.ck-presence-list--collapsed .ck-presence-list__list.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{border:0;margin-left:calc(var(--ck-user-avatar-size)*-1 + 7px);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(n+6){display:none}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}@media (prefers-reduced-motion:reduce){.ck.ck-presence-list__balloon{animation:none}}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper.ck-presence-list__dropdown-list-wrapper_scrollable{max-height:80vh;overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:focus{box-shadow:var(--ck-focus-outer-shadow),0 0;outline:var(--ck-focus-ring);outline-offset:-1px;position:relative;z-index:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const a=i},535:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(168),s=n.n(r),o=n(433),i=n.n(o)()(s());i.push([e.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker-tooltip{transition:none}}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker,.ck .ck-user__marker *,.ck .ck-user__marker:after{animation:none!important}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const a=i},433:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,s,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var d=0;d<e.length;d++){var u=[].concat(e[d]);r&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),s&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=s):u[4]="".concat(s)),t.push(u))}},t}},168:e=>{"use strict";e.exports=function(e){return e[1]}},199:(e,t,n)=>{"use strict";e.exports=n(995)},995:(e,t,n)=>{"use strict";var r=t;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(6),r.BufferWriter=n(623),r.Reader=n(366),r.BufferReader=n(895),r.util=n(737),r.rpc=n(178),r.roots=n(156),r.configure=s,s()},366:(e,t,n)=>{"use strict";e.exports=c;var r,s=n(737),o=s.LongBits,i=s.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var d,u="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return s.Buffer?function(e){return(c.create=function(e){return s.Buffer.isBuffer(e)?new r(e):u(e)})(e)}:u};function p(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(d=4294967295,function(){if(d=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return d;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return d}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,n);if(t===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},895:(e,t,n)=>{"use strict";e.exports=o;var r=n(366);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(e){r.call(this,e)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},156:e=>{"use strict";e.exports={}},178:(e,t,n)=>{"use strict";t.Service=n(418)},418:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function e(t,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},s.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},130:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(e){if("number"==typeof e)return s.fromNumber(e);if(r.isString(e)){if(!r.Long)return s.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new s(e.low>>>0,e.high>>>0):o},s.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;s.fromHash=function(e){return e===i?o:new s((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},s.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},s.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},737:function(e,t,n){"use strict";var r=t;function s(e,t,n){for(var r=Object.keys(t),s=0;s<r.length;++s)void 0!==e[r[s]]&&n||(e[r[s]]=t[r[s]]);return e}function o(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&s(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(310),r.base64=n(662),r.EventEmitter=n(707),r.float=n(365),r.inquire=n(230),r.utf8=n(742),r.pool=n(319),r.LongBits=n(130),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=s,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},6:(e,t,n)=>{"use strict";e.exports=l;var r,s=n(737),o=s.LongBits,i=s.base64,a=s.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function d(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(d,0,0),this.tail=this.head,this.states=null}var p=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new s.Array(e)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(s.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(s.float.writeDoubleLE,8,e)};var g=s.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(s.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},623:(e,t,n)=>{"use strict";e.exports=o;var r=n(6);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(){r.call(this)}function i(e,t,n){e.length<40?s.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},o.prototype.bytes=function(e){s.isString(e)&&(e=s._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=s.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},o._configure()},553:(e,t)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,o,i=[];for(o in"string"!=typeof t&&(t="?"),e)if(n.call(e,o)){if((r=e[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?t+i.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,s={};t=n.exec(e);){var o=r(t[1]),i=r(t[2]);null===o||null===i||o in s||(s[o]=i)}return s}},696:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},673:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var o={},i=[],a=0;a<e.length;a++){var c=e[a],d=r.base?c[0]+r.base:c[0],u=o[d]||0,l="".concat(d," ").concat(u);o[d]=u+1;var p=n(l),h={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(h);else{var f=s(h,r);r.byIndex=a,t.splice(a,0,{identifier:l,updater:f,references:1})}i.push(l)}return i}function s(e,t){var n=t.domAPI(t);n.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,s){var o=r(e=e||[],s=s||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var a=n(o[i]);t[a].references--}for(var c=r(e,s),d=0;d<o.length;d++){var u=n(o[d]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=c}}},262:e=>{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},357:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},667:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}},545:e=>{"use strict";var t,n=(t=[],function(e,n){return t[e]=n,t.filter(Boolean).join("\n")});function r(e,t,r,s){var o;if(r)o="";else{o="",s.supports&&(o+="@supports (".concat(s.supports,") {")),s.media&&(o+="@media ".concat(s.media," {"));var i=void 0!==s.layer;i&&(o+="@layer".concat(s.layer.length>0?" ".concat(s.layer):""," {")),o+=s.css,i&&(o+="}"),s.media&&(o+="}"),s.supports&&(o+="}")}if(e.styleSheet)e.styleSheet.cssText=n(t,o);else{var a=document.createTextNode(o),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(a,c[t]):e.appendChild(a)}}var s={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=s.singletonCounter++,n=s.singleton||(s.singleton=e.insertStyleElement(e));return{update:function(e){r(n,t,!1,e)},remove:function(e){r(n,t,!0,e)}}}},835:(e,t,n)=>{"use strict";var r=n(696),s=n(553),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,d=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function l(e){return(e||"").toString().replace(o,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(e=e||r);if("blob:"===e.protocol)s=new g(unescape(e.pathname),{});else if("string"===o)for(t in s=new g(e,{}),h)delete s[t];else if("object"===o){for(t in e)t in h||(s[t]=e[t]);void 0===s.slashes&&(s.slashes=a.test(e.href))}return s}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function y(e,t){e=(e=l(e)).replace(i,""),t=t||{};var n,r=d.exec(e),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(t.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function g(e,t,n){if(e=(e=l(e)).replace(i,""),!(this instanceof g))return new g(e,t,n);var o,a,c,d,h,b,O=p.slice(),w=typeof t,v=this,I=0;for("object"!==w&&"string"!==w&&(n=t,t=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=y(e||"",t=f(t))).protocol&&!a.slashes,v.slashes=a.slashes||o&&t.slashes,v.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||u.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(v.protocol)))&&(O[3]=[/(.*)/,"pathname"]);I<O.length;I++)"function"!=typeof(d=O[I])?(c=d[0],b=d[1],c!=c?v[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof d[2]?(v[b]=e.slice(0,h),e=e.slice(h+d[2])):(v[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(v[b]=h[1],e=e.slice(0,h.index)),v[b]=v[b]||o&&d[3]&&t[b]||"",d[4]&&(v[b]=v[b].toLowerCase())):e=d(e,v);n&&(v.query=n(v.query)),o&&t.slashes&&"/"!==v.pathname.charAt(0)&&(""!==v.pathname||""!==t.pathname)&&(v.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(v.pathname,t.pathname)),"/"!==v.pathname.charAt(0)&&m(v.protocol)&&(v.pathname="/"+v.pathname),r(v.port,v.protocol)||(v.host=v.hostname,v.port=""),v.username=v.password="",v.auth&&(~(h=v.auth.indexOf(":"))?(v.username=v.auth.slice(0,h),v.username=encodeURIComponent(decodeURIComponent(v.username)),v.password=v.auth.slice(h+1),v.password=encodeURIComponent(decodeURIComponent(v.password))):v.username=encodeURIComponent(decodeURIComponent(v.auth)),v.auth=v.password?v.username+":"+v.password:v.username),v.origin="file:"!==v.protocol&&m(v.protocol)&&v.host?v.protocol+"//"+v.host:"null",v.href=v.toString()}g.prototype={set:function(e,t,n){var o=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||s.parse)(t)),o[e]=t;break;case"port":o[e]=t,r(t,o.protocol)?t&&(o.host=o.hostname+":"+t):(o.host=o.hostname,o[e]="");break;case"hostname":o[e]=t,o.port&&(t+=":"+o.port),o.host=t;break;case"host":o[e]=t,c.test(t)?(t=t.split(":"),o.port=t.pop(),o.hostname=t.join(":")):(o.hostname=t,o.port="");break;case"protocol":o.protocol=t.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(t){var i="pathname"===e?"/":"#";o[e]=t.charAt(0)!==i?i+t:t}else o[e]=t;break;case"username":case"password":o[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(o.username=t.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=t.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(t))}for(var d=0;d<p.length;d++){var u=p[d];u[4]&&(o[u[1]]=o[u[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(e){e&&"function"==typeof e||(e=s.stringify);var t,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=s,e.exports=g},211:(e,t,n)=>{e.exports=n(312)("./src/collaboration-core.js")},782:(e,t,n)=>{e.exports=n(237)("./src/core.js")},783:(e,t,n)=>{e.exports=n(237)("./src/engine.js")},311:(e,t,n)=>{e.exports=n(237)("./src/ui.js")},584:(e,t,n)=>{e.exports=n(237)("./src/utils.js")},312:e=>{"use strict";e.exports=CKEditor5.collaborationDll},237:e=>{"use strict";e.exports=CKEditor5.dll}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>td,CloudServicesRevisionHistoryAdapter:()=>Sd,CloudServicesTrackChangesAdapter:()=>dd,PresenceList:()=>yu,RealTimeCollaborationClient:()=>Gc,RealTimeCollaborativeComments:()=>md,RealTimeCollaborativeEditing:()=>Wc,RealTimeCollaborativeRevisionHistory:()=>Cd,RealTimeCollaborativeTrackChanges:()=>Od,Sessions:()=>ys});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>Ve,Encoder:()=>xe,PacketType:()=>Re,protocol:()=>De});var t=__webpack_require__(782),n=__webpack_require__(584),r=__webpack_require__(311),s=__webpack_require__(783);class o{constructor(...e){}}class i extends o{constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}i.TYPE="1000";const a=i;class c extends a{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new c(e.id)}}c.TYPE="21",c.READABLE_TYPE_NAME="getUser",c.DESCRIPTOR_NAME="GetUserMessage",c.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const d=c;class u extends a{constructor(e){super(),this.attributes=e}toJSON(){return{attributes:Object.keys(this.attributes).map((e=>({key:e,value:JSON.stringify(this.attributes[e])})))}}static fromJSON(e){const t=e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{});return new u(t)}}u.DESCRIPTOR_NAME="GetUserResponse",u.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};const l=u;var p=__webpack_require__(199);const h=(()=>{var e=p.Reader,t=p.Writer,n=p.util,r=p.roots.default||(p.roots.default={});return r.OperationMetadataDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(10).string(e.userId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(18).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(26).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.OperationMetadataDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.userId=t.string();break;case 2:o.type=t.string();break;case 3:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId)?"userId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.OperationMetadataDescriptor)return e;var t=new r.OperationMetadataDescriptor;return null!=e.userId&&(t.userId=String(e.userId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),r.CollaborativeEditingConnectMessage=function(){function s(e){if(this.buffers=[],this.types=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(18).string(e.bundleVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)n.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(n.uint32(34).fork(),r=0;r<e.types.length;++r)n.uint32(e.types[r]);n.ldelim()}return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(42).string(e.lastOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.bundleVersion=t.string();break;case 3:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 4:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 5:o.lastOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion))return"bundleVersion: string expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingConnectMessage)return e;var t=new r.CollaborativeEditingConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.buffers=[],r.types=[]),t.defaults&&(r.id="",r.bundleVersion="",r.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(r.bundleVersion=e.bundleVersion),e.buffers&&e.buffers.length){r.buffers=[];for(var s=0;s<e.buffers.length;++s)r.buffers[s]=t.bytes===String?n.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(r.types=[],s=0;s<e.types.length;++s)r.types[s]=e.types[s];return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(r.lastOperationId=e.lastOperationId),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),r.CollaborativeEditingReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(18).string(e.bundleVersion),null!=e.lastKnowVersion&&Object.hasOwnProperty.call(e,"lastKnowVersion")&&n.uint32(24).uint32(e.lastKnowVersion),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingReconnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.bundleVersion=t.string();break;case 3:o.lastKnowVersion=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion)?"bundleVersion: string expected":null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&!n.isInteger(e.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingReconnectMessage)return e;var t=new r.CollaborativeEditingReconnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),null!=e.lastKnowVersion&&(t.lastKnowVersion=e.lastKnowVersion>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=e.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},s}(),r.CollaborativeEditingUpdateMessage=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.baseVersion&&Object.hasOwnProperty.call(e,"baseVersion")&&n.uint32(16).uint32(e.baseVersion),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(26).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(34).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(50).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(58).string(e.lastOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingUpdateMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.baseVersion=t.uint32();break;case 3:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 4:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 6:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 7:o.lastOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&!n.isInteger(e.baseVersion))return"baseVersion: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingUpdateMessage)return e;var t=new r.CollaborativeEditingUpdateMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.baseVersion&&(t.baseVersion=e.baseVersion>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.id="",s.baseVersion=0,s.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(s.id=e.id),null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&(s.baseVersion=e.baseVersion),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},s}(),r.GetDocumentDetailsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.environmentId&&Object.hasOwnProperty.call(e,"environmentId")&&n.uint32(18).string(e.environmentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetDocumentDetailsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.environmentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.environmentId&&e.hasOwnProperty("environmentId")&&!n.isString(e.environmentId)?"environmentId: string expected":null},s.fromObject=function(e){if(e instanceof r.GetDocumentDetailsMessage)return e;var t=new r.GetDocumentDetailsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.environmentId&&(t.environmentId=String(e.environmentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.environmentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.environmentId&&e.hasOwnProperty("environmentId")&&(n.environmentId=e.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},s}(),r.CollaborativeEditingConnectResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&n.uint32(16).uint32(e.offset),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&n.uint32(24).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(34).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(42).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(58).fork()).ldelim();return null!=e.initData&&Object.hasOwnProperty.call(e,"initData")&&n.uint32(66).string(e.initData),null!=e.isInitialized&&Object.hasOwnProperty.call(e,"isInitialized")&&n.uint32(72).bool(e.isInitialized),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&n.uint32(82).string(e.sessionId),null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(90).string(e.lastOperationId),null!=e.sessionCreatedAt&&Object.hasOwnProperty.call(e,"sessionCreatedAt")&&n.uint32(98).string(e.sessionCreatedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.offset=t.uint32();break;case 3:o.version=t.uint32();break;case 4:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 5:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 7:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 8:o.initData=t.string();break;case 9:o.isInitialized=t.bool();break;case 10:o.sessionId=t.string();break;case 11:o.lastOperationId=t.string();break;case 12:o.sessionCreatedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.offset&&e.hasOwnProperty("offset")&&!n.isInteger(e.offset))return"offset: integer expected";if(null!=e.version&&e.hasOwnProperty("version")&&!n.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.initData&&e.hasOwnProperty("initData")&&!n.isString(e.initData)?"initData: string expected":null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&"boolean"!=typeof e.isInitialized?"isInitialized: boolean expected":null!=e.sessionId&&e.hasOwnProperty("sessionId")&&!n.isString(e.sessionId)?"sessionId: string expected":null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&!n.isString(e.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingConnectResponse)return e;var t=new r.CollaborativeEditingConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.offset&&(t.offset=e.offset>>>0),null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.initData&&(t.initData=String(e.initData)),null!=e.isInitialized&&(t.isInitialized=Boolean(e.isInitialized)),null!=e.sessionId&&(t.sessionId=String(e.sessionId)),null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.sessionCreatedAt&&(t.sessionCreatedAt=String(e.sessionCreatedAt)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.channel="",s.offset=0,s.version=0,s.initData="",s.isInitialized=!1,s.sessionId="",s.lastOperationId="",s.sessionCreatedAt=""),null!=e.channel&&e.hasOwnProperty("channel")&&(s.channel=e.channel),null!=e.offset&&e.hasOwnProperty("offset")&&(s.offset=e.offset),null!=e.version&&e.hasOwnProperty("version")&&(s.version=e.version),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.initData&&e.hasOwnProperty("initData")&&(s.initData=e.initData),null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&(s.isInitialized=e.isInitialized),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(s.sessionId=e.sessionId),null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&(s.sessionCreatedAt=e.sessionCreatedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},s}(),r.CollaborativeEditingResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&n.uint32(8).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(18).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(26).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(42).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(50).string(e.lastOperationId),null!=e.lastOperationAcceptedAt&&Object.hasOwnProperty.call(e,"lastOperationAcceptedAt")&&n.uint32(58).string(e.lastOperationAcceptedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.version=t.uint32();break;case 2:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 3:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 5:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 6:o.lastOperationId=t.string();break;case 7:o.lastOperationAcceptedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.version&&e.hasOwnProperty("version")&&!n.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&!n.isString(e.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingResponse)return e;var t=new r.CollaborativeEditingResponse;if(null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.lastOperationAcceptedAt&&(t.lastOperationAcceptedAt=String(e.lastOperationAcceptedAt)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.version=0,s.lastOperationId="",s.lastOperationAcceptedAt=""),null!=e.version&&e.hasOwnProperty("version")&&(s.version=e.version),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&(s.lastOperationAcceptedAt=e.lastOperationAcceptedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},s}(),r.GetDocumentDetailsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.lastDocumentSessionId&&Object.hasOwnProperty.call(e,"lastDocumentSessionId")&&n.uint32(10).string(e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"lastDocumentSessionOperationId")&&n.uint32(18).string(e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&Object.hasOwnProperty.call(e,"currentDocumentSessionId")&&n.uint32(26).string(e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&Object.hasOwnProperty.call(e,"currentDocumentSessionVersion")&&n.uint32(32).uint32(e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"currentDocumentSessionOperationId")&&n.uint32(42).string(e.currentDocumentSessionOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetDocumentDetailsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.lastDocumentSessionId=t.string();break;case 2:o.lastDocumentSessionOperationId=t.string();break;case 3:o.currentDocumentSessionId=t.string();break;case 4:o.currentDocumentSessionVersion=t.uint32();break;case 5:o.currentDocumentSessionOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&!n.isString(e.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&!n.isString(e.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&!n.isString(e.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&!n.isInteger(e.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&!n.isString(e.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.GetDocumentDetailsResponse)return e;var t=new r.GetDocumentDetailsResponse;return null!=e.lastDocumentSessionId&&(t.lastDocumentSessionId=String(e.lastDocumentSessionId)),null!=e.lastDocumentSessionOperationId&&(t.lastDocumentSessionOperationId=String(e.lastDocumentSessionOperationId)),null!=e.currentDocumentSessionId&&(t.currentDocumentSessionId=String(e.currentDocumentSessionId)),null!=e.currentDocumentSessionVersion&&(t.currentDocumentSessionVersion=e.currentDocumentSessionVersion>>>0),null!=e.currentDocumentSessionOperationId&&(t.currentDocumentSessionOperationId=String(e.currentDocumentSessionOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=e.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},s}(),r.CommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.commentThreadId="",s.prototype.userId="",s.prototype.content="",s.prototype.documentId="",s.prototype.createdAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(10).string(e.commentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(18).string(e.commentThreadId),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(26).string(e.userId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(34).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(42).string(e.documentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentId=t.string();break;case 2:o.commentThreadId=t.string();break;case 3:o.userId=t.string();break;case 4:o.content=t.string();break;case 5:o.documentId=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId)?"userId: string expected":null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content)?"content: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentDescriptor)return e;var t=new r.CommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},s}(),r.CommentsThreadDescriptor=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentDescriptor.encode(e.comments[s],n.uint32(18).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(34).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(42).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(58).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(74).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsThreadDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 3:o.resolvedAt=t.string();break;case 4:o.resolvedBy=t.string();break;case 5:o.context=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.deletedAt=t.string();break;case 8:o.attributes=t.string();break;case 9:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsThreadDescriptor)return e;var t=new r.CommentsThreadDescriptor;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");t.comments[n]=r.CommentDescriptor.fromObject(e.comments[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(e.comments[s],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},s}(),r.CommentThreadAddedCommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(10).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(18).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentThreadAddedCommentDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentId=t.string();break;case 2:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentThreadAddedCommentDescriptor)return e;var t=new r.CommentThreadAddedCommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.createdAt=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},s}(),r.CommentsV2AddCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.content="",s.prototype.documentId="",s.prototype.commentId="",s.prototype.createdAt="",s.prototype.userId="",s.prototype.attributes="",s.prototype.commentThread=null,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(18).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(26).string(e.documentId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(34).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(42).string(e.createdAt),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(50).string(e.userId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&r.CommentsThreadDescriptor.encode(e.commentThread,n.uint32(66).fork()).ldelim(),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.content=t.string();break;case 3:o.documentId=t.string();break;case 4:o.commentId=t.string();break;case 5:o.createdAt=t.string();break;case 6:o.userId=t.string();break;case 7:o.attributes=t.string();break;case 8:o.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId))return"commentId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId))return"userId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=r.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentMessage)return e;var t=new r.CommentsV2AddCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");t.commentThread=r.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},s}(),r.CommentsV2AddCommentThreadMessage=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.commentThreadId="",s.prototype.context="",s.prototype.createdAt="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.attributes="",s.prototype.deletedAt="",s.prototype.comments=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(18).string(e.commentThreadId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(26).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(42).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(50).string(e.resolvedBy),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(66).string(e.deletedAt),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentDescriptor.encode(e.comments[s],n.uint32(74).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.commentThreadId=t.string();break;case 3:o.context=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.resolvedAt=t.string();break;case 6:o.resolvedBy=t.string();break;case 7:o.attributes=t.string();break;case 8:o.deletedAt=t.string();break;case 9:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context))return"context: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt))return"resolvedAt: string expected";if(null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy))return"resolvedBy: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt))return"deletedAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentThreadMessage)return e;var t=new r.CommentsV2AddCommentThreadMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");t.comments[n]=r.CommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(e.comments[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},s}(),r.CommentsV2ReopenCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ReopenCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ReopenCommentThreadMessage)return e;var t=new r.CommentsV2ReopenCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},s}(),r.CommentsV2ResolveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(26).string(e.resolvedBy),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(34).string(e.resolvedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ResolveCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.resolvedBy=t.string();break;case 4:o.resolvedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ResolveCommentThreadMessage)return e;var t=new r.CommentsV2ResolveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},s}(),r.CommentsV2UpdateCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(26).string(e.context),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(34).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(42).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2UpdateCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.context=t.string();break;case 4:o.attributes=t.string();break;case 5:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2UpdateCommentThreadMessage)return e;var t=new r.CommentsV2UpdateCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.context&&(t.context=String(e.context)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},s}(),r.CommentsV2ConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ConnectMessage)return e;var t=new r.CommentsV2ConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},s}(),r.CommentsV2GetCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetCommentThreadMessage)return e;var t=new r.CommentsV2GetCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},s}(),r.CommentsV2GetDocumentThreadsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetDocumentThreadsMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetDocumentThreadsMessage)return e;var t=new r.CommentsV2GetDocumentThreadsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},s}(),r.CommentsV2RemoveCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(26).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2RemoveCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2RemoveCommentMessage)return e;var t=new r.CommentsV2RemoveCommentMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},s}(),r.CommentsV2RemoveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2RemoveCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2RemoveCommentThreadMessage)return e;var t=new r.CommentsV2RemoveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},s}(),r.CommentsV2UpdateCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.content="",s.prototype.documentId="",s.prototype.attributes="",s.prototype.isAttributesUpdated=!1,s.prototype.commentThread=null,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(26).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(34).string(e.documentId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(42).string(e.attributes),null!=e.isAttributesUpdated&&Object.hasOwnProperty.call(e,"isAttributesUpdated")&&n.uint32(48).bool(e.isAttributesUpdated),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&r.CommentsThreadDescriptor.encode(e.commentThread,n.uint32(58).fork()).ldelim(),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2UpdateCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.content=t.string();break;case 4:o.documentId=t.string();break;case 5:o.attributes=t.string();break;case 6:o.isAttributesUpdated=t.bool();break;case 7:o.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId))return"commentId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof e.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=r.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2UpdateCommentMessage)return e;var t=new r.CommentsV2UpdateCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.isAttributesUpdated&&(t.isAttributesUpdated=Boolean(e.isAttributesUpdated)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");t.commentThread=r.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=e.isAttributesUpdated),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},s}(),r.CommentsV2AddCommentResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(26).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentResponse)return e;var t=new r.CommentsV2AddCommentResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},s}(),r.CommentsV2AddCommentThreadResponse=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(18).string(e.createdAt),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentThreadAddedCommentDescriptor.encode(e.comments[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.createdAt=t.string();break;case 3:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentThreadAddedCommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentThreadAddedCommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentThreadResponse)return e;var t=new r.CommentsV2AddCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");t.comments[n]=r.CommentThreadAddedCommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentThreadAddedCommentDescriptor.toObject(e.comments[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},s}(),r.CommentsV2ResolveCommentThreadResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(34).string(e.resolvedBy),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ResolveCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.resolvedAt=t.string();break;case 4:o.resolvedBy=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ResolveCommentThreadResponse)return e;var t=new r.CommentsV2ResolveCommentThreadResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},s}(),r.CommentsV2ConnectResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.threads&&e.threads.length)for(var s=0;s<e.threads.length;++s)n.uint32(18).string(e.threads[s]);if(null!=e.threadsV2&&e.threadsV2.length)for(s=0;s<e.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(e.threadsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.threads&&o.threads.length||(o.threads=[]),o.threads.push(t.string());break;case 3:o.threadsV2&&o.threadsV2.length||(o.threadsV2=[]),o.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!n.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var s=r.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2ConnectResponse)return e;var t=new r.CommentsV2ConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");t.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.threads&&e.threads.length){n.threads=[];for(var s=0;s<e.threads.length;++s)n.threads[s]=e.threads[s]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],s=0;s<e.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(e.threadsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},s}(),r.CommentsV2GetCommentThreadResponse=function(){function s(e){if(this.comments=[],this.commentsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.commentsV2=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)n.uint32(18).string(e.comments[s]);if(null!=e.commentsV2&&e.commentsV2.length)for(s=0;s<e.commentsV2.length;++s)r.CommentDescriptor.encode(e.commentsV2[s],n.uint32(26).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(34).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(42).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(50).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(58).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(66).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(74).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(82).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(t.string());break;case 3:o.commentsV2&&o.commentsV2.length||(o.commentsV2=[]),o.commentsV2.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 4:o.resolvedAt=t.string();break;case 5:o.resolvedBy=t.string();break;case 6:o.context=t.string();break;case 7:o.createdAt=t.string();break;case 8:o.deletedAt=t.string();break;case 9:o.attributes=t.string();break;case 10:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t)if(!n.isString(e.comments[t]))return"comments: string[] expected"}if(null!=e.commentsV2&&e.hasOwnProperty("commentsV2")){if(!Array.isArray(e.commentsV2))return"commentsV2: array expected";for(t=0;t<e.commentsV2.length;++t){var s=r.CommentDescriptor.verify(e.commentsV2[t]);if(s)return"commentsV2."+s}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetCommentThreadResponse)return e;var t=new r.CommentsV2GetCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n)t.comments[n]=String(e.comments[n])}if(e.commentsV2){if(!Array.isArray(e.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(t.commentsV2=[],n=0;n<e.commentsV2.length;++n){if("object"!=typeof e.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");t.commentsV2[n]=r.CommentDescriptor.fromObject(e.commentsV2[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[],n.commentsV2=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=e.comments[s]}if(e.commentsV2&&e.commentsV2.length)for(n.commentsV2=[],s=0;s<e.commentsV2.length;++s)n.commentsV2[s]=r.CommentDescriptor.toObject(e.commentsV2[s],t);return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},s}(),r.CommentsV2GetDocumentThreadsResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.threads&&e.threads.length)for(var s=0;s<e.threads.length;++s)n.uint32(10).string(e.threads[s]);if(null!=e.threadsV2&&e.threadsV2.length)for(s=0;s<e.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(e.threadsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetDocumentThreadsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.threads&&o.threads.length||(o.threads=[]),o.threads.push(t.string());break;case 2:o.threadsV2&&o.threadsV2.length||(o.threadsV2=[]),o.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!n.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var s=r.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetDocumentThreadsResponse)return e;var t=new r.CommentsV2GetDocumentThreadsResponse;if(e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");t.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),e.threads&&e.threads.length){n.threads=[];for(var s=0;s<e.threads.length;++s)n.threads[s]=e.threads[s]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],s=0;s<e.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(e.threadsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},s}(),r.KeyValueDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(10).string(e.key),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&n.uint32(18).string(e.value),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.KeyValueDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.key=t.string();break;case 2:o.value=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.value&&e.hasOwnProperty("value")&&!n.isString(e.value)?"value: string expected":null},s.fromObject=function(e){if(e instanceof r.KeyValueDescriptor)return e;var t=new r.KeyValueDescriptor;return null!=e.key&&(t.key=String(e.key)),null!=e.value&&(t.value=String(e.value)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.key="",n.value=""),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.value&&e.hasOwnProperty("value")&&(n.value=e.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},s}(),r.IsEditorBundleUploadedMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.bundleVersion="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(10).string(e.bundleVersion),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.IsEditorBundleUploadedMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.bundleVersion=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(e){if(e instanceof r.IsEditorBundleUploadedMessage)return e;var t=new r.IsEditorBundleUploadedMessage;return null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.bundleVersion=""),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},s}(),r.IsEditorBundleUploadedResponse=function(){function n(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return n.prototype.isUploaded=!1,n.create=function(e){return new n(e)},n.encode=function(e,n){return n||(n=t.create()),null!=e.isUploaded&&Object.hasOwnProperty.call(e,"isUploaded")&&n.uint32(8).bool(e.isUploaded),n},n.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},n.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.IsEditorBundleUploadedResponse;t.pos<s;){var i=t.uint32();i>>>3==1?o.isUploaded=t.bool():t.skipType(7&i)}return o},n.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&"boolean"!=typeof e.isUploaded?"isUploaded: boolean expected":null},n.fromObject=function(e){if(e instanceof r.IsEditorBundleUploadedResponse)return e;var t=new r.IsEditorBundleUploadedResponse;return null!=e.isUploaded&&(t.isUploaded=Boolean(e.isUploaded)),t},n.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.isUploaded=!1),null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&(n.isUploaded=e.isUploaded),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},n}(),r.RevisionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&n.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&n.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&n.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&n.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&n.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&n.uint32(80).bool(e.isEmptyCurrent),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.revisionId=t.string();break;case 2:o.name=t.string();break;case 3:o.creatorId=t.string();break;case 4:o.authorsIds=t.string();break;case 5:o.diffData=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;case 8:o.toVersion=t.uint32();break;case 9:o.fromVersion=t.uint32();break;case 10:o.isEmptyCurrent=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!n.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!n.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!n.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!n.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!n.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RevisionDescriptor)return e;var t=new r.RevisionDescriptor;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},s}(),r.RevisionHistoryConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryConnectMessage)return e;var t=new r.RevisionHistoryConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),r.RevisionHistoryGetRevisionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(18).string(e.revisionId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryGetRevisionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.revisionId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryGetRevisionMessage)return e;var t=new r.RevisionHistoryGetRevisionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.revisionId&&(t.revisionId=String(e.revisionId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.revisionId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},s}(),r.RevisionHistoryReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryReconnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.requestId=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryReconnectMessage)return e;var t=new r.RevisionHistoryReconnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},s}(),r.RevisionHistoryUpdateRevisionsMessage=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var s=0;s<e.revisions.length;++s)r.RevisionDescriptor.encode(e.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryUpdateRevisionsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.requestId=t.uint32();break;case 3:o.revisions&&o.revisions.length||(o.revisions=[]),o.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var s=r.RevisionDescriptor.verify(e.revisions[t]);if(s)return"revisions."+s}}return null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryUpdateRevisionsMessage)return e;var t=new r.RevisionHistoryUpdateRevisionsMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");t.revisions[n]=r.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var s=0;s<e.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(e.revisions[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},s}(),r.RevisionHistoryConnectResponse=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var s=0;s<e.revisions.length;++s)r.RevisionDescriptor.encode(e.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.requestId=t.uint32();break;case 3:o.revisions&&o.revisions.length||(o.revisions=[]),o.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var s=r.RevisionDescriptor.verify(e.revisions[t]);if(s)return"revisions."+s}}return null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryConnectResponse)return e;var t=new r.RevisionHistoryConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");t.revisions[n]=r.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.channel="",n.requestId=0),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var s=0;s<e.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(e.revisions[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},s}(),r.RevisionHistoryGetRevisionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&n.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&n.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&n.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&n.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&n.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&n.uint32(80).bool(e.isEmptyCurrent),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryGetRevisionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.revisionId=t.string();break;case 2:o.name=t.string();break;case 3:o.creatorId=t.string();break;case 4:o.authorsIds=t.string();break;case 5:o.diffData=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;case 8:o.toVersion=t.uint32();break;case 9:o.fromVersion=t.uint32();break;case 10:o.isEmptyCurrent=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!n.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!n.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!n.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!n.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!n.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryGetRevisionResponse)return e;var t=new r.RevisionHistoryGetRevisionResponse;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},s}(),r.RevisionHistoryUpdateRevisionsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(8).uint32(e.requestId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryUpdateRevisionsResponse;t.pos<s;){var i=t.uint32();i>>>3==1?o.requestId=t.uint32():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryUpdateRevisionsResponse)return e;var t=new r.RevisionHistoryUpdateRevisionsResponse;return null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.requestId=0),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},s}(),r.SessionsSocketDescriptor=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.session&&Object.hasOwnProperty.call(e,"session")&&n.uint32(10).string(e.session),null!=e.user&&Object.hasOwnProperty.call(e,"user")&&n.uint32(18).string(e.user),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&n.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)n.uint32(34).string(e.permissions[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsSocketDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.session=t.string();break;case 2:o.user=t.string();break;case 3:o.role=t.string();break;case 4:o.permissions&&o.permissions.length||(o.permissions=[]),o.permissions.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.session&&e.hasOwnProperty("session")&&!n.isString(e.session))return"session: string expected";if(null!=e.user&&e.hasOwnProperty("user")&&!n.isString(e.user))return"user: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!n.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!n.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.SessionsSocketDescriptor)return e;var t=new r.SessionsSocketDescriptor;if(null!=e.session&&(t.session=String(e.session)),null!=e.user&&(t.user=String(e.user)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.session="",n.user="",n.role=""),null!=e.session&&e.hasOwnProperty("session")&&(n.session=e.session),null!=e.user&&e.hasOwnProperty("user")&&(n.user=e.user),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},s}(),r.SessionsConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.sessionType&&Object.hasOwnProperty.call(e,"sessionType")&&n.uint32(16).uint32(e.sessionType),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.sessionType=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.sessionType&&e.hasOwnProperty("sessionType")&&!n.isInteger(e.sessionType)?"sessionType: integer expected":null},s.fromObject=function(e){if(e instanceof r.SessionsConnectMessage)return e;var t=new r.SessionsConnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.sessionType&&(t.sessionType=e.sessionType>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.sessionType=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.sessionType&&e.hasOwnProperty("sessionType")&&(n.sessionType=e.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},s}(),r.SocketConnectMessage=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(18).string(e.userId),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&n.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)n.uint32(34).string(e.permissions[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SocketConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.userId=t.string();break;case 3:o.role=t.string();break;case 4:o.permissions&&o.permissions.length||(o.permissions=[]),o.permissions.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId))return"userId: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!n.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!n.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.SocketConnectMessage)return e;var t=new r.SocketConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.id="",n.userId="",n.role=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},s}(),r.SocketDisconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SocketDisconnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.id=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof r.SocketDisconnectMessage)return e;var t=new r.SocketDisconnectMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},s}(),r.SessionsConnectResponse=function(){function s(e){if(this.sockets=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.sockets=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.sockets&&e.sockets.length)for(var s=0;s<e.sockets.length;++s)r.SessionsSocketDescriptor.encode(e.sockets[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.sockets&&o.sockets.length||(o.sockets=[]),o.sockets.push(r.SessionsSocketDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.sockets&&e.hasOwnProperty("sockets")){if(!Array.isArray(e.sockets))return"sockets: array expected";for(var t=0;t<e.sockets.length;++t){var s=r.SessionsSocketDescriptor.verify(e.sockets[t]);if(s)return"sockets."+s}}return null},s.fromObject=function(e){if(e instanceof r.SessionsConnectResponse)return e;var t=new r.SessionsConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.sockets){if(!Array.isArray(e.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");t.sockets=[];for(var n=0;n<e.sockets.length;++n){if("object"!=typeof e.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");t.sockets[n]=r.SessionsSocketDescriptor.fromObject(e.sockets[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.sockets=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.sockets&&e.sockets.length){n.sockets=[];for(var s=0;s<e.sockets.length;++s)n.sockets[s]=r.SessionsSocketDescriptor.toObject(e.sockets[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},s}(),r.SuggestionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SuggestionDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.SuggestionDescriptor)return e;var t=new r.SuggestionDescriptor;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},s}(),r.TrackChangesAddSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(34).string(e.data),null!=e.originalSuggestionId&&Object.hasOwnProperty.call(e,"originalSuggestionId")&&n.uint32(42).string(e.originalSuggestionId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(50).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesAddSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;case 3:o.type=t.string();break;case 4:o.data=t.string();break;case 5:o.originalSuggestionId=t.string();break;case 6:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&!n.isString(e.originalSuggestionId)?"originalSuggestionId: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesAddSuggestionMessage)return e;var t=new r.TrackChangesAddSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.type&&(t.type=String(e.type)),null!=e.data&&(t.data=String(e.data)),null!=e.originalSuggestionId&&(t.originalSuggestionId=String(e.originalSuggestionId)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=e.originalSuggestionId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},s}(),r.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=n.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)n.uint32(10).string(e.ids[r]);return null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(26).string(e.state),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesBatchUpdateSuggestionsStateMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.ids&&o.ids.length||(o.ids=[]),o.ids.push(t.string());break;case 2:o.documentId=t.string();break;case 3:o.state=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!n.isString(e.ids[t]))return"ids: string[] expected"}return null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesBatchUpdateSuggestionsStateMessage)return e;var t=new r.TrackChangesBatchUpdateSuggestionsStateMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.state&&(t.state=String(e.state)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),t.defaults&&(n.documentId="",n.state=""),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),r.TrackChangesConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesConnectMessage)return e;var t=new r.TrackChangesConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},s}(),r.TrackChangesGetAllSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetAllSuggestionMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetAllSuggestionMessage)return e;var t=new r.TrackChangesGetAllSuggestionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},s}(),r.TrackChangesGetSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetSuggestionMessage)return e;var t=new r.TrackChangesGetSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},s}(),r.TrackChangesUpdateSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.hasComments=!1,s.prototype.isHasCommentsModified=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(24).bool(e.hasComments),null!=e.isHasCommentsModified&&Object.hasOwnProperty.call(e,"isHasCommentsModified")&&n.uint32(32).bool(e.isHasCommentsModified),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(42).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(50).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesUpdateSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;case 3:o.hasComments=t.bool();break;case 4:o.isHasCommentsModified=t.bool();break;case 5:o.state=t.string();break;case 6:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof e.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesUpdateSuggestionMessage)return e;var t=new r.TrackChangesUpdateSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.isHasCommentsModified&&(t.isHasCommentsModified=Boolean(e.isHasCommentsModified)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=e.isHasCommentsModified),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},s}(),r.TrackChangesAddSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesAddSuggestionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesAddSuggestionResponse)return e;var t=new r.TrackChangesAddSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},s}(),r.TrackChangesConnectResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.suggestions&&e.suggestions.length)for(var s=0;s<e.suggestions.length;++s)n.uint32(18).string(e.suggestions[s]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(s=0;s<e.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(e.suggestionsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.suggestions&&o.suggestions.length||(o.suggestions=[]),o.suggestions.push(t.string());break;case 3:o.suggestionsV2&&o.suggestionsV2.length||(o.suggestionsV2=[]),o.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!n.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var s=r.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.TrackChangesConnectResponse)return e;var t=new r.TrackChangesConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");t.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var s=0;s<e.suggestions.length;++s)n.suggestions[s]=e.suggestions[s]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<e.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(e.suggestionsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},s}(),r.TrackChangesGetAllSuggestionsResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.suggestions&&e.suggestions.length)for(var s=0;s<e.suggestions.length;++s)n.uint32(10).string(e.suggestions[s]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(s=0;s<e.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(e.suggestionsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetAllSuggestionsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.suggestions&&o.suggestions.length||(o.suggestions=[]),o.suggestions.push(t.string());break;case 2:o.suggestionsV2&&o.suggestionsV2.length||(o.suggestionsV2=[]),o.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!n.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var s=r.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetAllSuggestionsResponse)return e;var t=new r.TrackChangesGetAllSuggestionsResponse;if(e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");t.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var s=0;s<e.suggestions.length;++s)n.suggestions[s]=e.suggestions[s]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<e.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(e.suggestionsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},s}(),r.TrackChangesGetSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetSuggestionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetSuggestionResponse)return e;var t=new r.TrackChangesGetSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},s}(),r.UserDescriptor=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.attributes&&e.attributes.length)for(var s=0;s<e.attributes.length;++s)r.KeyValueDescriptor.encode(e.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.UserDescriptor;t.pos<s;){var i=t.uint32();i>>>3==1?(o.attributes&&o.attributes.length||(o.attributes=[]),o.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=r.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof r.UserDescriptor)return e;var t=new r.UserDescriptor;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".UserDescriptor.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");t.attributes[n]=r.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var s=0;s<e.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(e.attributes[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},s}(),r.GetManyUsersMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)n.uint32(10).string(e.ids[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetManyUsersMessage;t.pos<s;){var i=t.uint32();i>>>3==1?(o.ids&&o.ids.length||(o.ids=[]),o.ids.push(t.string())):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!n.isString(e.ids[t]))return"ids: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.GetManyUsersMessage)return e;var t=new r.GetManyUsersMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},s}(),r.GetUserMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetUserMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.id=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof r.GetUserMessage)return e;var t=new r.GetUserMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},s}(),r.GetManyUsersResponse=function(){function s(e){if(this.users=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.users=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.users&&e.users.length)for(var s=0;s<e.users.length;++s)r.UserDescriptor.encode(e.users[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetManyUsersResponse;t.pos<s;){var i=t.uint32();i>>>3==1?(o.users&&o.users.length||(o.users=[]),o.users.push(r.UserDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.users&&e.hasOwnProperty("users")){if(!Array.isArray(e.users))return"users: array expected";for(var t=0;t<e.users.length;++t){var n=r.UserDescriptor.verify(e.users[t]);if(n)return"users."+n}}return null},s.fromObject=function(e){if(e instanceof r.GetManyUsersResponse)return e;var t=new r.GetManyUsersResponse;if(e.users){if(!Array.isArray(e.users))throw TypeError(".GetManyUsersResponse.users: array expected");t.users=[];for(var n=0;n<e.users.length;++n){if("object"!=typeof e.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");t.users[n]=r.UserDescriptor.fromObject(e.users[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.users=[]),e.users&&e.users.length){n.users=[];for(var s=0;s<e.users.length;++s)n.users[s]=r.UserDescriptor.toObject(e.users[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},s}(),r.GetUserResponse=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.attributes&&e.attributes.length)for(var s=0;s<e.attributes.length;++s)r.KeyValueDescriptor.encode(e.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetUserResponse;t.pos<s;){var i=t.uint32();i>>>3==1?(o.attributes&&o.attributes.length||(o.attributes=[]),o.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=r.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof r.GetUserResponse)return e;var t=new r.GetUserResponse;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".GetUserResponse.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");t.attributes[n]=r.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var s=0;s<e.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(e.attributes[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},s}(),r.ChannelMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(8).uint32(e.type),null!=e.socketId&&Object.hasOwnProperty.call(e,"socketId")&&n.uint32(18).string(e.socketId),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(26).bytes(e.data),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ChannelMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.type=t.uint32();break;case 2:o.socketId=t.string();break;case 3:o.data=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isInteger(e.type)?"type: integer expected":null!=e.socketId&&e.hasOwnProperty("socketId")&&!n.isString(e.socketId)?"socketId: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null},s.fromObject=function(e){if(e instanceof r.ChannelMessage)return e;var t=new r.ChannelMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.socketId&&(t.socketId=String(e.socketId)),null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=0,r.socketId="",t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.socketId&&e.hasOwnProperty("socketId")&&(r.socketId=e.socketId),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},s}(),r.BytesBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=n.newBuffer([]),s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).bytes(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.BytesBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.bytes();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.BytesBytesPacketDataMessage)return e;var t=new r.BytesBytesPacketDataMessage;return null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data))),t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},s}(),r.NumberBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.NumberBytesPacketDataMessage)return e;var t=new r.NumberBytesPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data=0,t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},s}(),r.NumberNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(16).uint32(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberNumberPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof r.NumberNumberPacketDataMessage)return e;var t=new r.NumberNumberPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},s}(),r.NumberObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.NumberObjectPacketDataMessage)return e;var t=new r.NumberObjectPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},s}(),r.NumberStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberStringPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.NumberStringPacketDataMessage)return e;var t=new r.NumberStringPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},s}(),r.ObjectBufferPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ObjectBufferPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.ObjectBufferPacketDataMessage)return e;var t=new r.ObjectBufferPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data="",t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},s}(),r.ObjectObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ObjectObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.ObjectObjectPacketDataMessage)return e;var t=new r.ObjectObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},s}(),r.PacketMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=n.newBuffer([]),s.prototype.options=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(8).uint32(e.type),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(16).uint32(e.id),null!=e.nsp&&Object.hasOwnProperty.call(e,"nsp")&&n.uint32(26).string(e.nsp),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(34).bytes(e.data),null!=e.options&&Object.hasOwnProperty.call(e,"options")&&n.uint32(42).bytes(e.options),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.PacketMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.type=t.uint32();break;case 2:o.id=t.uint32();break;case 3:o.nsp=t.string();break;case 4:o.data=t.bytes();break;case 5:o.options=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isInteger(e.type)?"type: integer expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isInteger(e.id)?"id: integer expected":null!=e.nsp&&e.hasOwnProperty("nsp")&&!n.isString(e.nsp)?"nsp: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null!=e.options&&e.hasOwnProperty("options")&&!(e.options&&"number"==typeof e.options.length||n.isString(e.options))?"options: buffer expected":null},s.fromObject=function(e){if(e instanceof r.PacketMessage)return e;var t=new r.PacketMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.id&&(t.id=e.id>>>0),null!=e.nsp&&(t.nsp=String(e.nsp)),null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.options&&("string"==typeof e.options?n.base64.decode(e.options,t.options=n.newBuffer(n.base64.length(e.options)),0):e.options.length>=0&&(t.options=e.options)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=0,r.id=0,r.nsp="",t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data))),t.bytes===String?r.options="":(r.options=[],t.bytes!==Array&&(r.options=n.newBuffer(r.options)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nsp&&e.hasOwnProperty("nsp")&&(r.nsp=e.nsp),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.options&&e.hasOwnProperty("options")&&(r.options=t.bytes===String?n.base64.encode(e.options,0,e.options.length):t.bytes===Array?Array.prototype.slice.call(e.options):e.options),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},s}(),r.PacketOptionsMessage=function(){function s(e){if(this.rooms=[],this.except=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.flags="",s.prototype.rooms=n.emptyArray,s.prototype.except=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&n.uint32(10).string(e.flags),null!=e.rooms&&e.rooms.length)for(var r=0;r<e.rooms.length;++r)n.uint32(18).string(e.rooms[r]);if(null!=e.except&&e.except.length)for(r=0;r<e.except.length;++r)n.uint32(26).string(e.except[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.PacketOptionsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.flags=t.string();break;case 2:o.rooms&&o.rooms.length||(o.rooms=[]),o.rooms.push(t.string());break;case 3:o.except&&o.except.length||(o.except=[]),o.except.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!n.isString(e.flags))return"flags: string expected";if(null!=e.rooms&&e.hasOwnProperty("rooms")){if(!Array.isArray(e.rooms))return"rooms: array expected";for(var t=0;t<e.rooms.length;++t)if(!n.isString(e.rooms[t]))return"rooms: string[] expected"}if(null!=e.except&&e.hasOwnProperty("except")){if(!Array.isArray(e.except))return"except: array expected";for(t=0;t<e.except.length;++t)if(!n.isString(e.except[t]))return"except: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.PacketOptionsMessage)return e;var t=new r.PacketOptionsMessage;if(null!=e.flags&&(t.flags=String(e.flags)),e.rooms){if(!Array.isArray(e.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");t.rooms=[];for(var n=0;n<e.rooms.length;++n)t.rooms[n]=String(e.rooms[n])}if(e.except){if(!Array.isArray(e.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(t.except=[],n=0;n<e.except.length;++n)t.except[n]=String(e.except[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.rooms=[],n.except=[]),t.defaults&&(n.flags=""),null!=e.flags&&e.hasOwnProperty("flags")&&(n.flags=e.flags),e.rooms&&e.rooms.length){n.rooms=[];for(var r=0;r<e.rooms.length;++r)n.rooms[r]=e.rooms[r]}if(e.except&&e.except.length)for(n.except=[],r=0;r<e.except.length;++r)n.except[r]=e.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},s}(),r.StringBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.StringBytesPacketDataMessage)return e;var t=new r.StringBytesPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data="",t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},s}(),r.StringNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(16).uint32(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringNumberPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof r.StringNumberPacketDataMessage)return e;var t=new r.StringNumberPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},s}(),r.StringObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.StringObjectPacketDataMessage)return e;var t=new r.StringObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},s}(),r.StringStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringStringPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.StringStringPacketDataMessage)return e;var t=new r.StringStringPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},s}(),r})();class f{static decode(e,t){const n=m(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=m(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}function m(e){return h[e.DESCRIPTOR_NAME]}class y extends a{constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new y(e.ids)}}y.TYPE="22",y.READABLE_TYPE_NAME="getManyUsers",y.DESCRIPTOR_NAME="GetManyUsersMessage",y.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};const g=y;class b extends a{constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(w)}}static fromJSON(e){return new b(e.users.map(v))}}b.DESCRIPTOR_NAME="GetManyUsersResponse",b.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};const O=b;function w(e){return{attributes:Object.keys(e).map((t=>({key:t,value:JSON.stringify(e[t])})))}}function v(e){return e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{})}class I{constructor(e={}){this._attributes=new Map;for(const t of Object.keys(e))"id"!==t?(this._attributes.set(t,e[t]),Object.defineProperty(this,t,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(t)})):this.id=e.id}static fromData(e){return new I(e)}static async get(e,t){const n=new d(t);try{const t=await e._sendRequest(I._SERVICE,d.TYPE,f.encode(n)),r=f.decode(t,l);return new I(r.attributes)}catch(e){return new I({id:t})}}static async getMany(e,t){const n=new g(t);try{const t=await e._sendRequest(I._SERVICE,g.TYPE,f.encode(n));return f.decode(t,O).users.map((e=>new I(e)))}catch(e){return t.map((e=>new I({id:e})))}}}I._SERVICE=2;const S=I,P=Object.create(null);P.open="0",P.close="1",P.ping="2",P.pong="3",P.message="4",P.upgrade="5",P.noop="6";const k=Object.create(null);Object.keys(P).forEach((e=>{k[P[e]]=e}));const A={type:"error",data:"parser error"},_="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),T="function"==typeof ArrayBuffer,C=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,j=({type:e,data:t},n,r)=>_&&t instanceof Blob?n?r(t):E(t,r):T&&(t instanceof ArrayBuffer||C(t))?n?r(t):E(new Blob([t]),r):r(P[e]+(t||"")),E=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function D(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let R;const x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",N="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)N[x.charCodeAt(e)]=e;const V="function"==typeof ArrayBuffer,M=(e,t)=>{if("string"!=typeof e)return{type:"message",data:B(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:U(e.substring(1),t)};return k[n]?e.length>1?{type:k[n],data:e.substring(1)}:{type:k[n]}:A},U=(e,t)=>{if(V){const n=(e=>{let t,n,r,s,o,i=.75*e.length,a=e.length,c=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);const d=new ArrayBuffer(i),u=new Uint8Array(d);for(t=0;t<a;t+=4)n=N[e.charCodeAt(t)],r=N[e.charCodeAt(t+1)],s=N[e.charCodeAt(t+2)],o=N[e.charCodeAt(t+3)],u[c++]=n<<2|r>>4,u[c++]=(15&r)<<4|s>>2,u[c++]=(3&s)<<6|63&o;return d})(e);return B(n,t)}return{base64:!0,data:e}},B=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,J=String.fromCharCode(30);function q(){return new TransformStream({transform(e,t){!function(e,t){_&&e.data instanceof Blob?e.data.arrayBuffer().then(D).then(t):T&&(e.data instanceof ArrayBuffer||C(e.data))?t(D(e.data)):j(e,!1,(e=>{R||(R=new TextEncoder),t(R.encode(e))}))}(e,(n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const e=new DataView(s.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{s=new Uint8Array(9);const e=new DataView(s.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&"string"!=typeof e.data&&(s[0]|=128),t.enqueue(s),t.enqueue(n)}))}})}let G;function L(e){return e.reduce(((e,t)=>e+t.length),0)}function Y(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let r=0;for(let s=0;s<t;s++)n[s]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function z(e){if(e)return function(e){for(var t in z.prototype)e[t]=z.prototype[t];return e}(e)}z.prototype.on=z.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},z.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},z.prototype.off=z.prototype.removeListener=z.prototype.removeAllListeners=z.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<r.length;s++)if((n=r[s])===t||n.fn===t){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},z.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,t)}return this},z.prototype.emitReserved=z.prototype.emit,z.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},z.prototype.hasListeners=function(e){return!!this.listeners(e).length};const H="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function F(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})}const K=H.setTimeout,W=H.clearTimeout;function X(e,t){t.useNativeTimers?(e.setTimeoutFn=K.bind(H),e.clearTimeoutFn=W.bind(H)):(e.setTimeoutFn=H.setTimeout.bind(H),e.clearTimeoutFn=H.clearTimeout.bind(H))}class $ extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class Q extends z{constructor(e){super(),this.writable=!1,X(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new $(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=M(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}const Z="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),ee={};let te,ne=0,re=0;function se(e){let t="";do{t=Z[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function oe(){const e=se(+new Date);return e!==te?(ne=0,te=e):e+"."+se(ne++)}for(;re<64;re++)ee[Z[re]]=re;let ie=!1;try{ie="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const ae=ie;function ce(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||ae))return new XMLHttpRequest}catch(e){}if(!t)try{return new(H[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function de(){}const ue=null!=new ce({xdomain:!1}).responseType;class le extends z{constructor(e,t){super(),X(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=F(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new ce(t);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&n.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{n.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var e;3===n.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(n)),4===n.readyState&&(200===n.status||1223===n.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=le.requestsCount++,le.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=de,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete le.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(le.requestsCount=0,le.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",pe);else if("function"==typeof addEventListener){addEventListener("onpagehide"in H?"pagehide":"unload",pe,!1)}function pe(){for(let e in le.requests)le.requests.hasOwnProperty(e)&&le.requests[e].abort()}const he="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),fe=H.WebSocket||H.MozWebSocket,me="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const ye={websocket:class extends Q{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=me?{}:F(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=me?new fe(e,t,n):t?new fe(e,t):new fe(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;j(n,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}r&&he((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=oe()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!fe}},webtransport:class extends Q{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=function(e,t){G||(G=new TextDecoder);const n=[];let r=0,s=-1,o=!1;return new TransformStream({transform(i,a){for(n.push(i);;){if(0===r){if(L(n)<1)break;const e=Y(n,1);o=!(128&~e[0]),s=127&e[0],r=s<126?3:126===s?1:2}else if(1===r){if(L(n)<2)break;const e=Y(n,2);s=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(2===r){if(L(n)<8)break;const e=Y(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),o=t.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(A);break}s=o*Math.pow(2,32)+t.getUint32(4),r=3}else{if(L(n)<s)break;const e=Y(n,s);a.enqueue(M(o?e:G.decode(e),t)),r=0}if(0===s||s>e){a.enqueue(A);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=q();r.readable.pipeTo(e.writable),this.writer=r.writable.getWriter();const s=()=>{n.read().then((({done:e,value:t})=>{e||(this.onPacket(t),s())})).catch((e=>{}))};s();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;this.writer.write(n).then((()=>{r&&he((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends Q{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port}const t=e&&e.forceBase64;this.supportsBinary=ue&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const n=e.split(J),r=[];for(let e=0;e<n.length;e++){const s=M(n[e],t);if(r.push(s),"error"===s.type)break}return r})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const n=e.length,r=new Array(n);let s=0;e.forEach(((e,o)=>{j(e,!1,(e=>{r[o]=e,++s===n&&t(r.join(J))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=oe()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new le(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},ge=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,be=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Oe(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),r=e.indexOf("]");-1!=n&&-1!=r&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let s=ge.exec(e||""),o={},i=14;for(;i--;)o[be[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||r.splice(0,1);"/"==t.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,r){t&&(n[t]=r)})),n}(0,o.query),o}class we extends z{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=Oe(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=Oe(t.host).host),X(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new ye[e](n)}open(){let e;if(this.opts.rememberUpgrade&&we.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),n=!1;we.priorWebsocketSuccess=!1;const r=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!n)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;we.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{n||"closed"!==this.readyState&&(d(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function s(){n||(n=!0,d(),t.close(),t=null)}const o=e=>{const n=new Error("probe error: "+e);n.transport=t.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(e){t&&e.name!==t.name&&s()}const d=()=>{t.removeListener("open",r),t.removeListener("error",o),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",o),t.once("close",i),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{n||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",we.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let n=0;n<this.writeBuffer.length;n++){const r=this.writeBuffer[n].data;if(r&&(e+="string"==typeof(t=r)?function(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}var t;return this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){we.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const r=e.length;for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}we.protocol=4;we.protocol;const ve="function"==typeof ArrayBuffer,Ie=Object.prototype.toString,Se="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Ie.call(Blob),Pe="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Ie.call(File);function ke(e){return ve&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||Se&&e instanceof Blob||Pe&&e instanceof File}function Ae(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(Ae(e[t]))return!0;return!1}if(ke(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return Ae(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&Ae(e[t]))return!0;return!1}function _e(e){const t=[],n=e.data,r=e;return r.data=Te(n,t),r.attachments=t.length,{packet:r,buffers:t}}function Te(e,t){if(!e)return e;if(ke(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=Te(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Te(e[r],t));return n}return e}function Ce(e,t){return e.data=je(e.data,t),delete e.attachments,e}function je(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=je(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=je(e[n],t));return e}const Ee=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],De=5;var Re;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(Re||(Re={}));class xe{constructor(e){this.replacer=e}encode(e){return e.type!==Re.EVENT&&e.type!==Re.ACK||!Ae(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===Re.EVENT?Re.BINARY_EVENT:Re.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==Re.BINARY_EVENT&&e.type!==Re.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=_e(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}function Ne(e){return"[object Object]"===Object.prototype.toString.call(e)}class Ve extends z{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===Re.BINARY_EVENT;n||t.type===Re.BINARY_ACK?(t.type=n?Re.EVENT:Re.ACK,this.reconstructor=new Me(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ke(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===Re[n.type])throw new Error("unknown packet type "+n.type);if(n.type===Re.BINARY_EVENT||n.type===Re.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const s=e.substring(r,t);if(s!=Number(s)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!Ve.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case Re.CONNECT:return Ne(t);case Re.DISCONNECT:return void 0===t;case Re.CONNECT_ERROR:return"string"==typeof t||Ne(t);case Re.EVENT:case Re.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Ee.indexOf(t[0]));case Re.ACK:case Re.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Me{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=Ce(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function Ue(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const Be=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Je extends z{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[Ue(e,"open",this.onopen.bind(this)),Ue(e,"packet",this.onpacket.bind(this)),Ue(e,"error",this.onerror.bind(this)),Ue(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(Be.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const n={type:Re.EVENT,data:t,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[e]=t);const s=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),r);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(s),t.apply(this,[null,...e])}}emitWithAck(e,...t){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((r,s)=>{t.push(((e,t)=>n?e?s(e):r(t):r(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...r)=>{if(n!==this._queue[0])return;return null!==e?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue()})),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Re.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Re.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Re.EVENT:case Re.BINARY_EVENT:this.onevent(e);break;case Re.ACK:case Re.BINARY_ACK:this.onack(e);break;case Re.DISCONNECT:this.ondisconnect();break;case Re.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...r){n||(n=!0,t.packet({type:Re.ACK,id:e,data:r}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Re.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}function qe(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}qe.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=1&Math.floor(10*t)?e+n:e-n}return 0|Math.min(e,this.max)},qe.prototype.reset=function(){this.attempts=0},qe.prototype.setMin=function(e){this.ms=e},qe.prototype.setMax=function(e){this.max=e},qe.prototype.setJitter=function(e){this.jitter=e};class Ge extends z{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(n=t,t=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,X(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new qe({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=t;const s=n.parser||e;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new we(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Ue(t,"open",(function(){n.onopen(),e&&e()})),s=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=Ue(t,"error",s);if(!1!==this._timeout){const e=this._timeout,n=this.setTimeoutFn((()=>{r(),s(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}return this.subs.push(r),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Ue(e,"ping",this.onping.bind(this)),Ue(e,"data",this.ondata.bind(this)),Ue(e,"error",this.onerror.bind(this)),Ue(e,"close",this.onclose.bind(this)),Ue(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){he((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Je(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Le={};function Ye(e,t){"object"==typeof e&&(t=e,e=void 0);const n=function(e,t="",n){let r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Oe(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+t,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=Le[s]&&o in Le[s].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||i?a=new Ge(r,t):(Le[s]||(Le[s]=new Ge(r,t)),a=Le[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ye,{Manager:Ge,Socket:Je,io:Ye,connect:Ye});var ze=__webpack_require__(835);class He extends a{constructor(e,t,n){super(),this.type=e,this.socketId=t,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(e){return new He(e.type,e.socketId,e.data)}}He.DESCRIPTOR_NAME="ChannelMessage",He.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};const Fe=He,Ke=class extends((0,n.EmitterMixin)()){constructor(e,t,n){super(),this._channelName=e,this._wsGateway=t,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(e,t=!1){let n="";return t&&(n+="all:"),n+="event",e&&(n+=":"+e),n}_subscribeToChannel(){this._socket.on(this._channelName,(e=>{const t=f.decode(e,Fe);this.fire(this.getEventName(t.type,!0),t.data,t.socketId),t.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(t.type),t.data,t.socketId)}))}};class We extends Error{constructor(e,t,n=null,r={}){super("cloud-services-internal-error: "+e),this.context=t,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(e){return new We(function(e){let t="cloud-services-error: "+e.message;return e.data&&(t+="\nError data: "+JSON.stringify(e.data)),e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}class Xe extends Error{constructor(e,t){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=e,this.code=t.code,this.traceId=t.traceId,this.data=t.data}static fromPublicError(e){return new Xe(function(e){let t="cloud-services-server-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}class $e extends a{constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){var e,t;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(e=this.rooms)||void 0===e?void 0:e.length)?this.rooms:void 0,except:(null===(t=this.except)||void 0===t?void 0:t.length)?this.except:void 0}}static fromJSON(e){return new $e(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}$e.TYPE=11,$e.DESCRIPTOR_NAME="PacketOptionsMessage",$e.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};const Qe=$e,Ze=(()=>!("undefined"==typeof process||!process.versions||!process.versions.node))(),et=1,tt=2,nt=3,rt=4;class st{static getPacketType(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*Math.pow(10,e.length-n-1);return t}static getType(e){if(st.isBuffer(e))return et;const t=typeof e;return"string"===t?tt:"number"===t?nt:rt}static isBuffer(e){return Ze&&Buffer.isBuffer(e)||e instanceof ArrayBuffer||e instanceof Uint8Array||this._isBufferView(e)}static _isBufferView(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer}}class ot extends a{static create(e,t){throw new TypeError("Must be implemented in a child class!")}}class it extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new it(e.data,e.data1)}static create(e,t){return new it(e,t)}}it.TYPE=(()=>st.getPacketType(nt,et))(),it.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",it.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};const at=it;class ct extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ct(e.data,e.data1)}static create(e,t){return new ct(e,t)}}ct.TYPE=(()=>st.getPacketType(tt,et))(),ct.DESCRIPTOR_NAME="StringBytesPacketDataMessage",ct.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};const dt=ct;class ut extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ut(e.data,e.data1)}static create(e,t){return new ut(e,t)}}ut.TYPE=(()=>st.getPacketType(et,et))(),ut.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",ut.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};const lt=ut;class pt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new pt(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new pt(e,t)}}pt.TYPE=(()=>st.getPacketType(tt,rt))(),pt.DESCRIPTOR_NAME="StringObjectPacketDataMessage",pt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const ht=pt;class ft extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new ft(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new ft(e,t)}}ft.TYPE=(()=>st.getPacketType(nt,rt))(),ft.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",ft.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const mt=ft;class yt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new yt(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new yt(e,t)}}yt.TYPE=(()=>st.getPacketType(rt,rt))(),yt.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",yt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const gt=yt;class bt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(e){return new bt(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new bt(e,t)}}bt.TYPE=(()=>st.getPacketType(rt,et))(),bt.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",bt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};const Ot=bt;class wt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new wt(e.data,e.data1)}static create(e,t){return new wt(e,t)}}wt.TYPE=(()=>st.getPacketType(tt,tt))(),wt.DESCRIPTOR_NAME="StringStringPacketDataMessage",wt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const vt=wt;class It extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new It(e.data,e.data1)}static create(e,t){return new It(e,t)}}It.TYPE=(()=>st.getPacketType(tt,nt))(),It.DESCRIPTOR_NAME="StringNumberPacketDataMessage",It.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};const St=It;class Pt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new Pt(e.data,e.data1)}static create(e,t){return new Pt(e,t)}}Pt.TYPE=(()=>st.getPacketType(nt,nt))(),Pt.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",Pt.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};const kt=Pt;class At extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new At(e.data,e.data1)}static create(e,t){return new At(e,t)}}At.TYPE=(()=>st.getPacketType(nt,tt))(),At.DESCRIPTOR_NAME="NumberStringPacketDataMessage",At.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const _t=At,Tt=(()=>[at,dt,lt,ht,mt,gt,Ot,vt,St,kt,_t].reduce(((e,t)=>(e[t.TYPE]=t,e)),{}))();class Ct extends a{constructor(e,t,n,r="/",s){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=null!=s?s:new Qe}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const e=f.encode(this.options),t=f.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:t,options:e}}static fromJSON(e){const t=Math.floor(e.type/10);return new Ct(e.type-10*t,f.decode(e.data,Tt[t]),e.id,e.nsp,e.options?f.decode(e.options,Qe):new Qe)}static create(e,t={}){var n;const r=st.getPacketType(st.getType(e.data[0]),st.getType(null!==(n=e.data[1])&&void 0!==n?n:e.data[0]));return new Ct(e.type,Tt[r].create(e.data[0],e.data[1]),e.id,e.nsp,new Qe(t.flags,t.rooms,t.except))}}Ct.TYPE=10,Ct.DESCRIPTOR_NAME="PacketMessage",Ct.DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};const jt=Ct;class Et{encode(e,t,n,r="/",s={}){if(t.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:e,data:t,id:n,nsp:r};return f.encode(jt.create(o,s))}decode(e){const t=f.decode(e,jt);return{packet:{id:t.id,type:t.type,data:t.packetData,nsp:t.nsp},options:{flags:t.options.flags,rooms:t.options.rooms,except:t.options.except}}}}const Dt=(()=>[Re.EVENT,Re.ACK,Re.BINARY_ACK,Re.BINARY_EVENT])();class Rt extends xe{constructor(e){super(),this._packetParser=null!=e?e:new Et}encode(e){if(Dt.includes(e.type))try{return[this._packetParser.encode(e.type,e.data,e.id,e.nsp)]}catch(e){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:e.message}})}return super.encode(e)}}class xt extends Ve{constructor(e){super(),this._packetParser=null!=e?e:new Et}add(e){if(!st.isBuffer(e))return super.add(e);let t;try{t=this._packetParser.decode(e).packet}catch(t){return super.add(e)}super.emitReserved("decoded",t)}}class Nt{constructor(e,t){this._context=e,this._deferredPromise=function(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return{resolve:e,reject:t,promise:n}}(),this.timeout=setTimeout((()=>this.error(new We("Request timeout.",this._context))),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}class Vt{constructor(e){this._context=e,this._requests=new Set}async send(e,t=45e3){const n=this._createRequest(t);try{return e(n),await n.promise}finally{this._finishRequest(n)}}errorAll(e){for(const t of this._requests)t.error(e)}waitForAllRequests(e=45e3){return this._waitForRequests(e)}_createRequest(e){const t=new Nt(this._context,e);return this._requests.add(t),t}_finishRequest(e){this._requests.delete(e),clearTimeout(e.timeout)}async _waitForRequests(e=5e3,t=0){return!this._requests.size||t>=e/500?Promise.resolve():(await new Promise((e=>{setTimeout(e,500)})),this._waitForRequests(e,t++))}}const Mt={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class Ut extends((0,n.ObservableMixin)()){constructor(e,t,n,r,s){if(super(),this._connectionAttempt=0,this._token=t,this._options=null!=n?n:{},this._connectionProvider=null!=r?r:Ye,this._userFactory=null!=s?s:S.get,this._requestsManager=new Vt(this),this._channels=new Map,!e)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=ze(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",Mt.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(e,t,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==Ut.STATE_CONNECTED){if(n===Ut.STATE_DISCONNECTED)return this._requestsManager.errorAll(new We("Not connected.",this))}else try{this.me=await this._userFactory.call(S,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(e){}}),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((e,t)=>{this._options.onError?this._options.onError(t):console.error(t)}))}get sessionId(){return this.socketId}waitForAllRequests(e){return this._requestsManager.waitForAllRequests(e)}disconnect(){var e;this.state!==Mt.DISCONNECTED&&(null===(e=this._socket)||void 0===e||e.disconnect(),this._socket=void 0,this.state=Mt.DISCONNECTED)}async reconnect(){this._socket||this.state!==Mt.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=Ye,s=S.get){const o=new Ut(t,e,n,r,s);return await o._connect(),o}_sendRequest(e,t,n){if(!e)throw new We("`serviceName` must be provided.",this);if(this.state!==Ut.STATE_CONNECTED)throw new We("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new We("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=e,s[1]=parseInt(t),s.set(n,2),this._emit(1,s)}_getChannel(e,t){const n=""+e+t;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new Ke(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((e,t)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(t)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),e()}catch(e){t(e)}})),n.connect()}))}_getPortByProtocol(e){return["http:","ws:"].includes(e)?80:443}_setupSocket(){var e;if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",s=this._connectionProvider(n,{parser:{Encoder:Rt,Decoder:xt},path:r+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"52.6.11"},agent:null!==(e=this._options.agent)&&void 0!==e&&e,closeOnBeforeunload:!1});return this.state=Mt.CONNECTING,s.on("connect",(()=>{this._debugEvent("connect"),this.socketId=s.id})),s.on("connect_error",(e=>{this._debugEvent("connect_error",e)})),s.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),s.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),s.io.on("reconnect_attempt",(e=>{this._debugEvent("reconnect_attempt",e),this.state=Mt.CONNECTING,this._connectionAttempt=e})),s.on("unauthorized",(e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)})),s.on("authenticationRequest",(async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()})),this._socket=s,s}_emit(e,t){const n=this._socket;return this._requestsManager.send((r=>{n.emit(e,t,((e,t)=>{if(e)return r.error(Xe.fromPublicError(e));r.response(t)}))}),this._options.requestTimeout)}_addAuthData(e,t){this._socketAuth={environmentId:e,userId:t,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=Mt.CONNECTED;const e=async(e,t,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(e){}};this._token.on("change:value",e),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",e)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=Mt.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const e of this._channels.values())e.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(e,t){if(!this._isDebugModeEnabled())return;const n=void 0!==t?", data: "+t:"";console.info((new Date).toLocaleString()+" "+e+n)}_reconnectionAttemptError(e){this._connectionAttempt>=2&&(this.disconnect(),e(We.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:e}){this._removeAuthData(),this.fire("error",Xe.fromPublicError(e))}async _authenticate(e){try{this._debugEvent("authenticate:start");const t=await this._emit(2,{token:e});this._debugEvent("authenticate:success","envId: "+t.environmentId+", userId: "+t.userId),this._addAuthData(t.environmentId,t.userId)}catch(e){throw this._debugEvent("authenticate:error",e.message),this._removeAuthData(),e}}_isDebugModeEnabled(){var e;return!!n.global.window.localStorage&&"true"===(null!==(e=n.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==e?e:"false").toLowerCase()}}Ut.STATE_DISCONNECTED=(()=>Mt.DISCONNECTED)(),Ut.STATE_CONNECTING=(()=>Mt.CONNECTING)(),Ut.STATE_CONNECTED=(()=>Mt.CONNECTED)(),Ut._CHANGE_STATE_EVENT_PRIORITY=(()=>n.priorities.get("highest")+999999)();const Bt=Ut;class Jt extends a{constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new Jt(e.bundleVersion)}}Jt.TYPE="131",Jt.READABLE_TYPE_NAME="isEditorBundleUploaded",Jt.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",Jt.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};const qt=Jt;class Gt extends a{constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new Gt(e.isUploaded)}}Gt.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",Gt.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};const Lt=Gt;class Yt extends((0,n.EmitterMixin)()){static async isBundleUploaded(e,t){const n=new qt(t);if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(Yt._SERVICE,qt.TYPE,f.encode(n));return f.decode(r,Lt).isUploaded}}Yt._SERVICE=13;const zt=Yt;class Ht extends a{constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new Ht(e.documentId,e.revisionId)}}Ht.TYPE="123",Ht.READABLE_TYPE_NAME="getRevision",Ht.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",Ht.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};const Ft=Ht;class Kt extends o{static create(e){return{revisionId:e.id,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.stringify(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds}}static toJSON(e){var t;return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static fromJSON(e){return{revisionId:(e={...e}).revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.parse(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?new Date(e.createdAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static toObject(e){return function(e){for(const[t,n]of Object.entries(e))void 0===n&&delete e[t];return e}({id:e.revisionId,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.parse(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds})}}Kt.DESCRIPTOR_NAME="RevisionDescriptor",Kt.DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};const Wt=Kt;class Xt extends a{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.revisionId=e,this.name=t,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=d}toJSON(){return Wt.toJSON(this)}toObject(){return Wt.toObject(this)}static create(e){return new Xt(e.revisionId,e.name,e.creatorId,e.authorsIds,e.createdAt,e.diffData,e.attributes,e.fromVersion,e.toVersion,e.isEmptyCurrent)}static fromJSON(e){return new Xt(e.revisionId,e.name,e.creatorId,e.authorsIds?JSON.parse(e.authorsIds):void 0,e.createdAt?new Date(e.createdAt):void 0,e.diffData,e.attributes?JSON.parse(e.attributes):void 0,e.fromVersion,e.toVersion,e.isEmptyCurrent)}}Xt.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",Xt.DESCRIPTOR=Wt.DESCRIPTOR;const $t=Xt;class Qt extends a{constructor(e,t,n){super(),this.documentId=e,this.requestId=t,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Wt.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Wt.toObject)}}static create(e){return new Qt(e.documentId,e.requestId,e.revisions.map(Wt.create))}static fromJSON(e){return new Qt(e.documentId,e.requestId,e.revisions.map(Wt.fromJSON))}}Qt.TYPE="124",Qt.READABLE_TYPE_NAME="updateRevisions",Qt.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",Qt.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};const Zt=Qt;class en extends a{constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new en(e.requestId)}}en.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",en.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};const tn=en;class nn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new nn(e.documentId)}}nn.TYPE="121",nn.READABLE_TYPE_NAME="connectToRevisionHistory",nn.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",nn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const rn=nn;class sn extends a{constructor(e,t,n){super(),this.channel=e,this.requestId=t,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Wt.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Wt.toObject)}}static fromJSON(e){return new sn(e.channel,e.requestId,e.revisions.map(Wt.fromJSON))}}sn.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",sn.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};const on=sn;class an extends a{constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new an(e.documentId,e.requestId)}}an.TYPE="122",an.READABLE_TYPE_NAME="reconnectToRevisionHistory",an.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",an.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};const cn=an;class dn extends We{constructor(e,t){super(e+" Service is not connected.",t)}}class un extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new rn(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(e,t){if(this.isConnected)throw new We("Cannot reconnect to already connected service.",e);return this._connect(e,new cn(this._documentId,t))}async updateRevisions(e,t){const n=Zt.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(Zt.TYPE,n),{requestId:s}=f.decode(r,tn);return s}async getRevision(e){const t=new Ft(this._documentId,e),n=await this._sendRequest(Ft.TYPE,t);return f.decode(n,$t).toObject()}async _connect(e,t){if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(12,t.constructor.TYPE,f.encode(t)),{channel:r,requestId:s,revisions:o}=f.decode(n,on).toObject();return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(e,t){this._channel=e._getChannel(un._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Zt.TYPE),((e,t)=>{const{documentId:n,requestId:r,revisions:s}=f.decode(t,Zt).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})}))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Revision History",this);return this._wsGateway._sendRequest(12,e,f.encode(t))}}un._SERVICE=12;const ln=un;class pn extends a{constructor(e,t,n,r={},s=null,o=null){super(),this.id=e,this.documentId=t,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){var t;return new pn(e.id,e.documentId,e.type,JSON.parse(e.data),null!==(t=e.originalSuggestionId)&&void 0!==t?t:null,e.attributes?JSON.parse(e.attributes):null)}}pn.TYPE="101",pn.READABLE_TYPE_NAME="addSuggestion",pn.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",pn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};const hn=pn;class fn extends a{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var e;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(e=this.createdAt)||void 0===e?void 0:e.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new fn(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}fn.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",fn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};const mn=fn;class yn extends a{constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new yn(e.id,e.documentId)}}yn.TYPE="103",yn.READABLE_TYPE_NAME="getSuggestion",yn.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",yn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};const gn=yn;class bn extends a{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new bn(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}bn.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",bn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};const On=bn;class wn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new wn(e.documentId)}}wn.TYPE="102",wn.READABLE_TYPE_NAME="getAllSuggestions",wn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",wn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const vn=wn;class In extends o{static toJSON(e){var t;return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{...e,data:e.data?JSON.parse(e.data):e.data,attributes:e.attributes?JSON.parse(e.attributes):e.attributes,createdAt:e.createdAt?new Date(e.createdAt):void 0}}}In.DESCRIPTOR_NAME="SuggestionDescriptor",In.DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};const Sn=In;class Pn extends a{constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(Sn.toJSON)}}static fromJSON(e){var t,n;return new Pn(null===(t=e.suggestions)||void 0===t?void 0:t.map(An),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(Sn.fromJSON))}}Pn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",Pn.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};const kn=Pn;function An(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}class _n extends a{constructor(e,t,n,r,s,o=null){super(),this.id=e,this.documentId=t,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new _n(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}_n.TYPE="104",_n.READABLE_TYPE_NAME="updateSuggestion",_n.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",_n.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};const Tn=_n;class Cn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Cn(e.documentId)}}Cn.TYPE="105",Cn.READABLE_TYPE_NAME="connectToSuggestions",Cn.DESCRIPTOR_NAME="TrackChangesConnectMessage",Cn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const jn=Cn;class En extends a{constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(Sn.toJSON)}}static fromJSON(e){var t,n;return new En(e.channel,null===(t=e.suggestions)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(Sn.fromJSON))}}En.DESCRIPTOR_NAME="TrackChangesConnectResponse",En.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};const Dn=En;class Rn extends a{constructor(e,t,n){super(),this.ids=e,this.documentId=t,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(e){return new Rn(e.ids,e.documentId,e.state)}}Rn.TYPE="106",Rn.READABLE_TYPE_NAME="batchUpdateSuggestionsState",Rn.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",Rn.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};const xn=Rn;class Nn extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const t=new jn(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(10,jn.TYPE,f.encode(t)),r=f.decode(n,Dn);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(e,t,n,r=null,s){const o=new hn(e,this._documentId,t,n,r,s),i=await this._sendRequest(hn.TYPE,o);return f.decode(i,mn)}async get(e,t=1){const n=new gn(e,this._documentId);try{const e=await this._sendRequest(gn.TYPE,n);return f.decode(e,On)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.get(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Xe.fromPublicError(n)}var r}async getAll(){const e=new vn(this._documentId),t=await this._sendRequest(vn.TYPE,e),{suggestions:n}=f.decode(t,kn);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:s}=t,o=void 0!==n,i=new Tn(e,this._documentId,n,o,r,s);await this._sendRequest(Tn.TYPE,i)}async batchUpdateState(e){const t=new xn(e.ids,this._documentId,e.state);await this._sendRequest(xn.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(Nn._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Tn.TYPE),((e,t)=>{const n=f.decode(t,Tn);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Track Changes",this);return this._wsGateway._sendRequest(10,e,f.encode(t))}}Nn._SERVICE=10;const Vn=Nn,Mn={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Un;const Bn=new Uint8Array(16);function Jn(){if(!Un&&(Un="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Un))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Un(Bn)}const qn=[];for(let e=0;e<256;++e)qn.push((e+256).toString(16).slice(1));function Gn(e,t=0){return qn[e[t+0]]+qn[e[t+1]]+qn[e[t+2]]+qn[e[t+3]]+"-"+qn[e[t+4]]+qn[e[t+5]]+"-"+qn[e[t+6]]+qn[e[t+7]]+"-"+qn[e[t+8]]+qn[e[t+9]]+"-"+qn[e[t+10]]+qn[e[t+11]]+qn[e[t+12]]+qn[e[t+13]]+qn[e[t+14]]+qn[e[t+15]]}const Ln=function(e,t,n){if(Mn.randomUUID&&!t&&!e)return Mn.randomUUID();const r=(e=e||{}).random||(e.rng||Jn)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Gn(r)};class Yn extends a{constructor(e,t=[]){super(),this.channel=e,this.sockets=t}toJSON(){return{channel:this.channel,sockets:this.sockets.map((e=>({user:e.userId,session:e.id,role:e.role,permissions:e.permissions})))}}static fromJSON(e){return new Yn(e.channel,e.sockets.map((e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions}))))}}Yn.DESCRIPTOR_NAME="SessionsConnectResponse",Yn.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};const zn=Yn;class Hn extends a{constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new Hn(e.id,e.sessionType)}}Hn.TYPE="31",Hn.READABLE_TYPE_NAME="getConnectedSockets",Hn.DESCRIPTOR_NAME="SessionsConnectMessage",Hn.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};const Fn=Hn;class Kn extends a{constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){var e,t,n;return{id:this.id,userId:null!==(e=this.userId)&&void 0!==e?e:void 0,role:null!==(t=this.role)&&void 0!==t?t:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(e){return new Kn(e.id,e.userId,e.role,e.permissions)}}Kn.TYPE="32",Kn.READABLE_TYPE_NAME="connectSocket",Kn.DESCRIPTOR_NAME="SocketConnectMessage",Kn.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};const Wn=Kn;class Xn extends a{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new Xn(e.id)}}Xn.TYPE="33",Xn.READABLE_TYPE_NAME="disconnectSocket",Xn.DESCRIPTOR_NAME="SocketDisconnectMessage",Xn.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const $n=Xn,Qn=class extends n.Collection{constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new Fn(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(3,Fn.TYPE,f.encode(t));n=f.decode(e,zn)}catch(e){n=new zn(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(e,t){const n=t.map((e=>e.userId)),r=n.length?await S.getMany(e,n):[];return t.map((e=>{const t={id:e.id,role:e.role,permissions:e.permissions};return t.user=e.userId&&r.find((t=>t.id===e.userId))||new S,t}))}(this._wsGateway,n.sockets);for(const e of r)super.add(e);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(e=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&e&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),e&&this.stopListening()}}add(e,t){throw new TypeError("The collection is read-only.")}remove(e){throw new TypeError("The collection is read-only.")}_connectToChannel(e,t,n){this._channel=e._getChannel(n,t),this._channel&&(this._addHandler(this._channel,Wn.TYPE,(async t=>{const n=f.decode(t,Wn);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await S.get(e,n.userId)),super.add(t)}})),this._addHandler(this._channel,$n.TYPE,(e=>{const t=f.decode(e,$n);-1!==this.getIndex(t.id)&&super.remove(t.id)})))}async _onWsGatewayStateChange(e){e===Bt.STATE_DISCONNECTED&&this.disconnect(!1),e===Bt.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let e;for(this._isRunning=!0;e=this._eventsQueue.shift();){const t=this._handlers.get(e.eventName);t&&await t(e.data)}this._isRunning=!1}_addHandler(e,t,n){const r=e.getEventName(t,!0);this.listenTo(e,r,(async(e,t)=>{const n=e.name;this._eventsQueue.push({eventName:n,data:t}),await this._runQueue()})),this._handlers.set(r,n)}};class Zn{static async getConnectedSessions(e,t,n){const r=new Qn(t,n);return await r.connect(e),r}}class er extends a{constructor(e,t,n,r,s=""){super(),this.id=e,this.buffers=t,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(e){return new er(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}er.TYPE="11",er.READABLE_TYPE_NAME="connectToDocument",er.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",er.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};const tr=er;class nr{static prepareMetadataForOperations(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];let r=0;for(const s of e)if(0!==s){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];for(let r=0;r<e.length;r++)if(0!==e[r]){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r])}return n}}class rr extends o{static toJSON({createdAt:e,...t}){const n={...t};return(null==e?void 0:e.toISOString)&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}rr.DESCRIPTOR_NAME="OperationMetadataDescriptor",rr.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};const sr=rr;class or extends a{constructor(e,t,n,r,s=[],o=""){super(),this.id=e,this.buffers=t,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new or(e.id,e.buffers,e.types,e.baseVersion,nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),e.lastOperationId)}}or.TYPE="13",or.READABLE_TYPE_NAME="updateDocument",or.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",or.DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};const ir=or;class ar extends a{constructor(e,t,n){super(),this.id=e,this.lastKnowVersion=t,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(e){return new ar(e.id,e.lastKnowVersion,e.bundleVersion)}}ar.TYPE="12",ar.READABLE_TYPE_NAME="reconnectToDocument",ar.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",ar.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};const cr=ar;class dr extends a{constructor(e,t=[],n=[],r=[],s="",o=null){super(),this.version=e,this.buffers=t,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new dr(e.version,e.buffers,e.types,nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new dr(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}dr.DESCRIPTOR_NAME="CollaborativeEditingResponse",dr.DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};const ur=dr;class lr extends a{constructor(e,t,n=[],r=[],s=0,o=[],i=null,a="",c="",d=null){super(),this.channel=e,this.version=t,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=d}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)&&null===this.initData}toJSON(){var e;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),initData:null!==(e=this.initData)&&void 0!==e?e:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new lr(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){var t;let n=null;return!0===e.isInitialized?n=null!==(t=e.initData)&&void 0!==t?t:"":"boolean"!=typeof e.isInitialized&&e.initData&&(n=e.initData),lr.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),initData:n,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}lr.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",lr.DESCRIPTOR={fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:sr.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}};const pr=lr;class hr extends a{constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}toJSON(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}static fromJSON(e){const t=e.lastDocumentSessionId?{id:e.lastDocumentSessionId,lastOperationId:e.lastDocumentSessionOperationId}:void 0,n=e.currentDocumentSessionId?{lastOperationId:e.currentDocumentSessionOperationId,version:e.currentDocumentSessionVersion,id:e.currentDocumentSessionId}:void 0;return new hr(t,n)}}hr.DESCRIPTOR_NAME="GetDocumentDetailsResponse",hr.DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};const fr=hr;class mr extends a{constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new mr(e.documentId)}}mr.TYPE="14",mr.READABLE_TYPE_NAME="getDocumentDetails",mr.DESCRIPTOR_NAME="GetDocumentDetailsMessage",mr.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};const yr=mr;class gr extends((0,n.EmitterMixin)()){constructor(e,t){if(super(),!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=t?t:Ln(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new tr(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new We("Cannot reconnect to already connected service.",e);return this._connect(e,new cr(this.getId(),t,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const e=new yr(this.getId());if(!this._wsGateway)throw new dn("Collaborative Editing",this);const t=await this._wsGateway._sendRequest(1,yr.TYPE,f.encode(e));return f.decode(t,fr)}async sendOperations(e,t,n){if(!e||!e.types||!e.types.length)throw new We("Cannot send empty update.",this._wsGateway);const r="number"==typeof t?t:parseInt(t);if(!Number.isInteger(r)||r<0)throw new We("Base version not provided.",this._wsGateway);const s=new ir(this.getId(),e.buffers,e.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new dn("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,ir.TYPE,f.encode(s));return f.decode(o,ur)}async getConnectedSessions(){if(!this._isConnected)throw new dn("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await Zn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(e,t){return Zn.getConnectedSessions(e,t,1)}async _connect(e,t){if(this.isConnected())return;if(e.state!==Bt.STATE_CONNECTED)throw new We("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(1,t.constructor.TYPE,f.encode(t)),r=f.decode(n,pr);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(e,t){this._channel=e._getChannel(1,t),this.listenTo(this._channel,this._channel.getEventName(ir.TYPE),((e,t)=>{const n=f.decode(t,ir);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(e){e===Bt.STATE_DISCONNECTED&&this.disconnect()}}gr._SERVICE=1;const br=gr;class Or extends o{static toJSON(e){var t;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null}}static fromJSON(e){return{...e,createdAt:new Date(e.createdAt),attributes:e.attributes?JSON.parse(e.attributes):null}}}Or.DESCRIPTOR_NAME="CommentDescriptor",Or.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};const wr=Or;class vr extends o{static toJSON(e){var t,n,r,s,o;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),deletedAt:null===(n=e.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=e.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:null===(s=e.comments)||void 0===s?void 0:s.map(wr.toJSON),unlinkedAt:null===(o=e.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t;return{...e,createdAt:e.createdAt?new Date(e.createdAt):void 0,deletedAt:e.deletedAt?new Date(e.deletedAt):void 0,resolvedAt:e.resolvedAt?new Date(e.resolvedAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):null,context:e.context?JSON.parse(e.context):void 0,comments:null===(t=e.comments)||void 0===t?void 0:t.map(wr.fromJSON),unlinkedAt:e.unlinkedAt?new Date(e.unlinkedAt):void 0}}}vr.DESCRIPTOR_NAME="CommentsThreadDescriptor",vr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};const Ir=vr;class Sr extends a{constructor(e,t,n,r="",s,o="",i=null,a){super(),this.documentId=e,this.commentThreadId=t,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?Ir.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Sr(e.documentId,e.commentThreadId,e.content,e.commentId?e.commentId:void 0,e.createdAt?new Date(e.createdAt):void 0,e.userId?e.userId:void 0,e.attributes?JSON.parse(e.attributes):{},e.commentThread?Ir.fromJSON(e.commentThread):void 0)}}Sr.TYPE="91",Sr.READABLE_TYPE_NAME="addComment",Sr.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",Sr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};const Pr=Sr;class kr extends a{constructor(e,t,n){super(),this.commentThreadId=e,this.commentId=t,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(e){return new kr(e.commentThreadId,e.commentId,e.createdAt)}}kr.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",kr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};const Ar=kr;class _r extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new _r(e.documentId)}}_r.TYPE="92",_r.READABLE_TYPE_NAME="connectToComment",_r.DESCRIPTOR_NAME="CommentsV2ConnectMessage",_r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const Tr=_r;class Cr extends a{constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Ir.toJSON)}}static fromJSON(e){var t,n;return new Cr(e.channel,null===(t=e.threads)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Ir.fromJSON))}}Cr.DESCRIPTOR_NAME="CommentsV2ConnectResponse",Cr.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};const jr=Cr;class Er extends a{constructor(e,t,n){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(e){return new Er(e.documentId,e.commentThreadId,e.commentId)}}Er.TYPE="95",Er.READABLE_TYPE_NAME="removeComment",Er.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",Er.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};const Dr=Er;class Rr extends a{constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Rr(e.documentId,e.commentThreadId)}}Rr.TYPE="97",Rr.READABLE_TYPE_NAME="removeCommentThread",Rr.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",Rr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const xr=Rr;class Nr extends a{constructor(e,t,n,r,s=null,o=!1,i){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?Ir.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Nr(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?Ir.fromJSON(e.commentThread):void 0)}}Nr.TYPE="96",Nr.READABLE_TYPE_NAME="updateComment",Nr.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",Nr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};const Vr=Nr;class Mr extends a{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new Mr(e.commentThreadId,e.documentId)}}Mr.TYPE="93",Mr.READABLE_TYPE_NAME="getComment",Mr.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",Mr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const Ur=Mr;class Br extends a{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.commentThreadId=e,this._comments=t,this._commentsV2=n,this.resolvedBy=s,this.comments=(null==n?void 0:n.length)?n:t,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof d?new Date(d):d,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){var e,t,n,r,s,o;return{commentThreadId:this.commentThreadId,comments:null===(e=this._comments)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),commentsV2:null===(t=this._commentsV2)||void 0===t?void 0:t.map(wr.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(s=this.resolvedAt)||void 0===s?void 0:s.toISOString(),unlinkedAt:null===(o=this.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t,n;return new Br(e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e))),null===(n=e.commentsV2)||void 0===n?void 0:n.map(wr.fromJSON),e.attributes?JSON.parse(e.attributes):e.attributes,e.resolvedBy,e.context?JSON.parse(e.context):e.context,e.createdAt,e.deletedAt,e.resolvedAt,e.unlinkedAt)}}Br.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",Br.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};const Jr=Br;class qr extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new qr(e.documentId)}}qr.TYPE="94",qr.READABLE_TYPE_NAME="getDocumentThreads",qr.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",qr.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const Gr=qr;class Lr extends a{constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Ir.toJSON)}}static fromJSON(e){var t,n;return new Lr(null===(t=e.threads)||void 0===t?void 0:t.map((e=>function(e){var t;const n=JSON.parse(e),r={...n};return n.comments&&(r.comments=null===(t=n.comments)||void 0===t?void 0:t.map((e=>({...e,createdAt:new Date(e.createdAt)})))),r}(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Ir.fromJSON))}}Lr.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",Lr.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};const Yr=Lr;class zr extends o{static toJSON(e){var t;return{commentId:e.commentId,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}zr.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",zr.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};const Hr=zr;class Fr extends a{constructor(e,t,n=[]){super(),this.commentThreadId=e,this.comments=n,this.createdAt=new Date(t)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((e=>Hr.toJSON(e)))}}static fromJSON(e){return new Fr(e.commentThreadId,e.createdAt,e.comments.map((e=>Hr.fromJSON(e))))}}Fr.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",Fr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};const Kr=Fr;class Wr extends a{constructor(e,t,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=e,this.commentThreadId=t,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var e;return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:null===(e=this.comments)||void 0===e?void 0:e.map((e=>wr.toJSON(e)))}}static fromJSON(e){var t;return new Wr(e.documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>wr.fromJSON({...t,documentId:e.documentId,commentThreadId:e.commentThreadId}))),e.context?JSON.parse(e.context):e.context,e.resolvedBy,e.createdAt?new Date(e.createdAt):void 0,e.resolvedAt?new Date(e.resolvedAt):void 0,e.deletedAt?new Date(e.deletedAt):void 0,e.attributes?JSON.parse(e.attributes):e.attributes)}}Wr.TYPE="140",Wr.READABLE_TYPE_NAME="addCommentThread",Wr.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",Wr.DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};const Xr=Wr;class $r extends a{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var e;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(e=this.resolvedAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(e){return new $r(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}$r.TYPE="142",$r.READABLE_TYPE_NAME="resolveCommentThread",$r.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",$r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};const Qr=$r;class Zr extends a{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Zr(e.commentThreadId,e.documentId)}}Zr.TYPE="141",Zr.READABLE_TYPE_NAME="reopenCommentThread",Zr.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",Zr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const es=Zr;class ts extends a{constructor(e,t,n,r=null,s=null){super(),this.commentThreadId=e,this.documentId=t,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(e){return new ts(e.commentThreadId,e.documentId,e.context?JSON.parse(e.context):e.context,e.attributes?JSON.parse(e.attributes):null,e.unlinkedAt?new Date(e.unlinkedAt):null)}}ts.TYPE="143",ts.READABLE_TYPE_NAME="updateCommentThread",ts.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",ts.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};const ns=ts;class rs extends a{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(e){return new rs(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}rs.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",rs.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};const ss=rs;class os extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const t=new Tr(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(9,Tr.TYPE,f.encode(t)),{channel:r,threads:s}=f.decode(n,jr);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(e,t,n,r){const s=new Pr(this._documentId,e,n,t,void 0,void 0,r),o=await this._sendRequest(Pr.TYPE,s);return f.decode(o,Ar)}async updateComment(e,t,n,r){const s=void 0!==r,o=new Vr(this._documentId,e,t,n,r,s);await this._sendRequest(Vr.TYPE,o)}async removeComment(e,t){const n=new Dr(this._documentId,e,t);await this._sendRequest(Dr.TYPE,n)}async removeCommentThread(e){const t=new xr(this._documentId,e);await this._sendRequest(xr.TYPE,t)}async addCommentThread(e){var t;const n=new Xr(this._documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId}))),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),r=await this._sendRequest(Xr.TYPE,n);return f.decode(r,Kr)}async resolveCommentThread(e){const t=new Qr(e,this._documentId),n=await this._sendRequest(Qr.TYPE,t);return f.decode(n,ss)}async reopenCommentThread(e){const t=new es(e,this._documentId);await this._sendRequest(es.TYPE,t)}async updateCommentThread(e){const t=new ns(e.commentThreadId,this._documentId,e.context,e.attributes,e.unlinkedAt);await this._sendRequest(ns.TYPE,t)}async getCommentThread(e,t=1){const n=new Ur(e,this._documentId);try{const e=await this._sendRequest(Ur.TYPE,n),t=f.decode(e,Jr);return{commentThreadId:t.commentThreadId,comments:t.comments,attributes:t.attributes,context:t.context,resolvedAt:t.resolvedAt,resolvedBy:t.resolvedBy,deletedAt:t.deletedAt,unlinkedAt:t.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.getCommentThread(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Xe.fromPublicError(n)}var r}async getDocumentThreads(){const e=new Gr(this._documentId),t=await this._sendRequest(Gr.TYPE,e),{threads:n}=f.decode(t,Yr);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new dn("Comments",this);return this._connectedSessions||(this._connectedSessions=await Zn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(os._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Pr.TYPE),((e,t)=>{const n=f.decode(t,Pr);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(Dr.TYPE),((e,t)=>{const n=f.decode(t,Dr);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(Vr.TYPE),((e,t)=>{const n=f.decode(t,Vr);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(xr.TYPE),((e,t)=>{const n=f.decode(t,xr);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(Xr.TYPE),((e,t)=>{const n=f.decode(t,Xr);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(ns.TYPE),((e,t)=>{const n=f.decode(t,ns);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(Qr.TYPE),((e,t)=>{const n=f.decode(t,Qr);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(es.TYPE),((e,t)=>{const n=f.decode(t,es);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Comments",this);return this._wsGateway._sendRequest(9,e,f.encode(t))}}os._SERVICE=9;const is=os,as=ds;function cs(){const e=["12eOTjen","destroy","isOfficialPlugin","initialReconnectionInterval","websocketgateway-plugin-already-registered","DISCONNECTED","_domEmitter","9rZFvqk","103492UNmUjV","real-time-collaboration","state","74875gPtRnT","limitExceeded","isInReconnectionStack","token","_shouldPluginsReconnect","requires","disconnect","1653184VYdITO","cloudservices-reconnection-error","cloudservices-init","context","config","stopListening","pluginName","isPremiumPlugin","connect","constructor","all","_isBrowserOffline","function","from","1530120ZvWHUn","Connected users limit exceeded","1080KGqhps","define","set","_reconnect","2460656dojCYH","add","listenTo","init","showWarning","websocketgateway-missing-token","CONNECTING","then","webSocketUrl","5YqMHEW","addToReconnectionStack","get","delete","has","CONNECTED","reconnect","removeFromReconnectionStack","CloudServices","websocketgateway-invalid-plugin-interface","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","error","48LjUrQN","6MvsPDi","online","2374778QwqzVf","create","connection","_reconnectionStack","websocketgateway-missing-websocket-url","plugins","cloudServices.connectionTimeout","WebSocketGateway","catch","cloudServices.requestTimeout","bind","offline","change:me","connected","code","9284WIicNM"];return(cs=function(){return e})()}function ds(e,t){const n=cs();return(ds=function(e,t){return n[e-=478]})(e,t)}!function(e){const t=ds,n=e();for(;;)try{if(285177===parseInt(t(491))/1+-parseInt(t(488))/2*(-parseInt(t(480))/3)+-parseInt(t(512))/4*(parseInt(t(527))/5)+-parseInt(t(540))/6*(parseInt(t(542))/7)+parseInt(t(518))/8*(parseInt(t(487))/9)+parseInt(t(514))/10*(-parseInt(t(479))/11)+parseInt(t(539))/12*(parseInt(t(498))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(cs);class us extends t.ContextPlugin{static get[as(496)](){return[as(535),r.Notification]}static get[as(504)](){return as(549)}static get[as(482)](){return!0}static get[as(505)](){return!0}constructor(e){const t=as;super(e),this[t(516)](t(490),Mt[t(532)]),this[t(516)](t(509),!1),this[t(545)]=new Set,this[t(495)]=!1,this[t(486)]=Object[t(543)](n.DomEmitterMixin)}[as(521)](){const e=as,t=this[e(501)],s=t[e(547)][e(529)](e(535)),o=t[e(547)][e(529)](r.Notification);if(!s[e(494)])throw new n.CKEditorError(e(523),this);if(!s[e(526)])throw new n.CKEditorError(e(546),this);return this[e(486)][e(520)](window,e(553),(()=>this[e(509)]=!0)),this[e(486)][e(520)](window,e(541),(()=>this[e(509)]=!1)),this[e(501)][e(502)][e(515)](e(548),10),this[e(501)][e(502)][e(515)](e(551),20),us[e(549)][e(506)](s[e(494)],s[e(526)],{timeout:1e3*this[e(501)][e(502)][e(529)](e(548)),requestTimeout:1e3*this[e(501)][e(502)][e(529)](e(551))})[e(525)]((t=>{const r=e;if(this[r(544)]=t,this[r(552)](r(490)).to(t,r(490),this,r(509),((e,t)=>(r(555)!==e&&(this[r(495)]=!0),t||e!==Mt[r(532)]?Mt[r(485)]:this[r(490)]==Mt[r(485)]&&this[r(495)]?(this[r(495)]=!1,this[r(517)](),Mt[r(524)]):Mt[r(532)]))),this[r(544)].on(r(538),((e,t)=>{const s=r;if(s(492)!==t[s(478)])throw console[s(538)](t),new n.CKEditorError(s(500),null,{originalError:t});o[s(522)](s(537),{title:s(513),namespace:s(489)})})),!t.me)return new Promise((e=>t.on(r(554),e)))}))[e(550)]((t=>{const r=e;throw console[r(538)](t),new n.CKEditorError(r(500),null,{originalError:t})}))}[as(528)](e){const t=as;if(t(510)!=typeof e[t(533)])throw new n.CKEditorError(t(536),this);if(this[t(493)](e))throw new n.CKEditorError(t(484),this,{name:e[t(507)][t(504)]});this[t(545)][t(519)](e)}[as(534)](e){const t=as;this[t(545)][t(530)](e)}[as(493)](e){const t=as;return this[t(545)][t(531)](e)}[as(517)](){const e=as;return this[e(544)][e(533)]()[e(525)]((()=>Promise[e(508)](Array[e(511)](this[e(545)],(t=>t[e(533)]())))))[e(525)]((()=>this[e(490)]=Mt[e(532)]))[e(550)]((t=>{const r=e;throw console[r(538)](t),new n.CKEditorError(r(499),this[r(501)])}))}[as(497)](){const e=as;this[e(544)]&&this[e(544)][e(497)](),this[e(490)]=Mt[e(485)],this[e(486)][e(503)]()}[as(481)](){const e=as;this[e(497)](),super[e(481)]()}}us[as(549)]=Bt,us[as(483)]=1e3;const ls=us;var ps=__webpack_require__(211);const hs=fs;function fs(e,t){const n=ms();return(fs=function(e,t){return n[e-=293]})(e,t)}function ms(){const e=["9422541zYVxUT","2hvDvpS","stopListening","10CsZDmt","delete","_handleSessionRemove","change:state","sessionId","178100KJRloc","pluginName","1700310ycCmOv","forEach","remove","orderNumber","addUser","listenTo","has","register","defineMe","sessionAdd:","connection","_users","clear","values","126303jfVNxc","6584XJcUug","_uniqueUsersCount","_createUser","add","fire","context","Sessions","state","allConnectedUsers","getUserSessions","511ywnmmU","isOfficialPlugin","channelConnectedUsers","unregister","sessions-unregister-not-exist","connected","isPremiumPlugin","mySessionId","plugins","size","assign","channelSessions","get","set","_registeredSessions","init","sessions-register-already-registered","getUser","getUserBySessionId","3300616YiAbMq","_handleSessionAdd","requires","getUserRole","1201510rXqauh","isMe","user","role"];return(ms=function(){return e})()}!function(e){const t=fs,n=e();for(;;)try{if(462014===parseInt(t(329))/1+-parseInt(t(322))/2*(-parseInt(t(345))/3)+parseInt(t(313))/4+parseInt(t(317))/5+parseInt(t(331))/6+parseInt(t(294))/7*(-parseInt(t(346))/8)+-parseInt(t(321))/9*(parseInt(t(324))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ms);class ys extends t.ContextPlugin{static get[hs(330)](){return hs(352)}static get[hs(295)](){return!0}static get[hs(300)](){return!0}static get[hs(315)](){return[ls,ps.Users]}constructor(e){const t=hs;super(e),this[t(305)]=new Map,this[t(296)]=new Map,this[t(354)]=new n.Collection,this[t(308)]=new Map,this[t(347)]=0,this[t(342)]=this[t(351)][t(302)][t(306)](ps.Users)}[hs(309)](){const e=hs,t=this[e(351)][e(302)][e(306)](ls);this[e(336)](t,e(327),((t,n,r)=>{const s=e;if(s(299)!==r)this[s(305)][s(332)]((e=>e[s(343)]())),this[s(296)][s(332)]((e=>e[s(343)]())),this[s(354)][s(343)]();else for(const[e,t]of this[s(308)])for(const n of t)this[s(314)](e,n)})),this[e(348)](t[e(341)].me,!0)}[hs(338)](e,t){const r=hs;if(this[r(308)][r(337)](e))throw new n.CKEditorError(r(310),null,{channelId:e});this[r(308)][r(307)](e,t),this[r(305)][r(307)](e,new n.Collection),this[r(296)][r(307)](e,new n.Collection),this[r(336)](t,r(349),((t,n)=>this[r(314)](e,n))),this[r(336)](t,r(333),((t,n)=>this[r(326)](e,n)));for(const n of t)this[r(314)](e,n)}[hs(297)](e){const t=hs;if(!this[t(308)][t(337)](e))throw new n.CKEditorError(t(298),null,{channelId:e});const r=this[t(308)][t(306)](e);this[t(323)](r);for(const n of r)t(299)===this[t(351)][t(302)][t(306)](ls)[t(353)]&&this[t(326)](e,n);this[t(308)][t(325)](e),this[t(305)][t(325)](e),this[t(296)][t(325)](e)}get[hs(301)](){const e=hs;return this[e(351)][e(302)][e(306)](ls)[e(341)][e(328)]}[hs(312)](e){const t=hs;for(const n of this[t(305)][t(344)]())for(const r of n)if(r.id===e)return r[t(319)]}[hs(293)](e,t){const n=hs,r=t?[this[n(305)][n(306)](t)]:this[n(305)][n(344)](),s=new Set;for(const t of r)for(const r of t)r[n(319)].id===e.id&&s[n(349)](r.id);return s}[hs(316)](e){const t=hs;for(const n of this[t(305)][t(344)]())for(const r of n)if(r[t(319)]===e)return r[t(320)]}[hs(314)](e,t){const n=hs;if(n(299)!==this[n(351)][n(302)][n(306)](ls)[n(353)])return;const r=t[n(319)],s=this[n(342)][n(311)](r.id)||this[n(348)](r),o=Object[n(304)]({},t,{user:s});this[n(305)][n(306)](e)[n(349)](o);const i=this[n(296)][n(306)](e);i[n(337)](s.id)||i[n(349)](s),this[n(354)][n(337)](s.id)||this[n(354)][n(349)](s,s[n(318)]?0:void 0),this[n(350)](n(340)+e,{channelId:e,session:o})}[hs(326)](e,t){const n=hs;if(n(299)!==this[n(351)][n(302)][n(306)](ls)[n(353)])return;const r=this[n(296)][n(306)](e),s=t[n(319)];s.id&&(this[n(305)][n(306)](e)[n(333)](t.id),r[n(337)](s.id)&&!this[n(293)](s,e)[n(303)]&&r[n(333)](s.id),this[n(354)][n(306)](s.id)&&!this[n(293)](s)[n(303)]&&this[n(354)][n(333)](s.id))}[hs(348)](e,t){const n=hs,r=this[n(342)][n(335)](e);return t&&this[n(342)][n(339)](e.id),r[n(334)]=this[n(347)]++,r}}var gs=__webpack_require__(673),bs=__webpack_require__.n(gs),Os=__webpack_require__(545),ws=__webpack_require__.n(Os),vs=__webpack_require__(262),Is=__webpack_require__.n(vs),Ss=__webpack_require__(667),Ps=__webpack_require__.n(Ss),ks=__webpack_require__(357),As=__webpack_require__.n(ks),_s=__webpack_require__(535),Ts={attributes:{"data-cke":!0}};Ts.setAttributes=Ps(),Ts.insert=Is().bind(null,"head"),Ts.domAPI=ws(),Ts.insertStyleElement=As();bs()(_s.A,Ts);_s.A&&_s.A.locals&&_s.A.locals;const Cs=js;function js(e,t){const n=Ds();return(js=function(e,t){return n[e-=229]})(e,t)}!function(e){const t=js,n=e();for(;;)try{if(885626===-parseInt(t(269))/1+-parseInt(t(323))/2*(parseInt(t(346))/3)+parseInt(t(345))/4+-parseInt(t(303))/5*(parseInt(t(306))/6)+-parseInt(t(254))/7*(-parseInt(t(298))/8)+-parseInt(t(358))/9+-parseInt(t(229))/10*(-parseInt(t(334))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ds);class Es extends t.Plugin{constructor(){const e=js;super(...arguments),this[e(246)]=new((0,n.DomEmitterMixin)())}static get[Cs(326)](){return[ys]}static get[Cs(247)](){return Cs(356)}static get[Cs(317)](){return!0}static get[Cs(309)](){return!0}[Cs(282)](){const e=Cs,t=this[e(350)],r=t[e(329)][e(344)](ys);t[e(239)][e(257)](e(300))[e(276)]({model:e(349),view:(n,{writer:s})=>function(t,n,r,s){const o=e,i=t[o(327)][o(314)](":")[2],a=r[o(270)](i);if(!a||i===r[o(272)])return;if(!s[o(290)][o(250)][o(311)](t[o(339)][o(281)],o(244)))return;const c={class:o(284)+a[o(267)][o(355)](),"data-name":a[o(318)],"data-session-id":i},d=s[o(290)][o(297)][o(344)](t[o(327)])[o(324)](),u=d[o(234)],l=s[o(290)][o(250)];if(u&&l[o(279)](u)&&l[o(299)](u)&&!s[o(290)][o(297)][o(344)](o(319)+i)[o(243)]()[o(294)])return;const p=d[o(293)];return s[o(290)][o(250)][o(274)](p)&&!s[o(290)][o(237)](p)&&(c[o(316)]=!1),function(e,t,n){const r=o,s=e[r(305)](r(264),t);return e[r(262)](r(260),!0,s),s[r(296)]=function(e){const t=r,s=this[t(249)](e);return s[t(277)]=t(263)+n[t(318)]+t(312),s[t(245)](t(308),(()=>{const e=t;s[e(252)][e(240)](e(325))})),s[t(245)](t(335),(()=>{const e=t;s[e(252)][e(313)](e(325))})),s},s[r(330)]=function(e){const t=r;return!(!this[t(310)](t(260))||!e[t(310)](t(260))||this[t(307)](t(280))!=e[t(307)](t(280)))},s}(n,c,a)}(n,s,r,t)}),t[e(239)][e(257)](e(300))[e(265)]({model:e(289),view:t=>function(t,n){const r=e,s=t[r(327)][r(314)](":")[2];if(s===n[r(272)])return null;const o=n[r(270)](s);return o?{id:s,classes:[r(331),o[r(267)][r(259)]()],attributes:{"data-session-id":s},priority:2e3+o[r(352)]}:{id:s,classes:[]}}(t,r)}),function(t){const n=e,r=t[n(290)],o=new Map,i=t[n(329)][n(344)](ys);r[n(297)].on(n(354),((e,a,c,d)=>{const u=n;if(!d&&o[u(344)](a[u(318)]))return o[u(344)](a[u(318)])[u(248)](),void o[u(341)](a[u(318)]);const l=a[u(318)][u(314)](":")[2];if(l===i[u(272)])return;const p=u(275)+l;r[u(297)][u(266)](p)&&t[u(285)][u(333)](p),a.on(u(357),((e,t,n)=>{const i=u;if(i(332)!=t[i(292)][i(273)]&&i(332)==a[i(243)]()[i(292)][i(273)]&&!o[i(266)](a[i(318)])){const e=r[i(250)][i(302)](n[i(268)]);if(e){const t=s.LiveRange[i(321)](e);o[i(322)](a[i(318)],t),t.on(i(357),((e,n,s)=>{const c=i;if(c(332)==t[c(292)][c(273)]){const e=r[c(250)][c(302)](s[c(268)]);e?(t[c(281)]=e[c(281)],t[c(348)]=e[c(348)]):(o[c(341)](a[c(318)]),t[c(248)]())}}))}}}))})),r[n(360)].on(n(336),(()=>{const e=n;o[e(251)]>0&&r[e(315)]({isUndoable:!1},(t=>{const n=e;for(const[e,s]of o)n(332)==r[n(297)][n(344)](e)[n(243)]()[n(292)][n(273)]&&(Rs(e[n(314)](":")[2],s[n(301)](),r,t),s[n(248)]());o[n(320)]()}))}))}(t),this[e(246)][e(256)](n.global[e(360)],e(233),((n,{key:r})=>{const s=e;s(241)===r&&function(e){const t=s;e[t(285)][t(235)][t(336)]((n=>{const r=t;for(const t of e[r(290)][r(297)]){if(!t[r(318)][r(340)](r(349)))continue;const s=e[r(285)][r(338)][r(232)](t[r(318)]);if(s)for(const e of s)n[r(230)](r(325),e)}}))}(t)}),{useCapture:!0})}[Cs(353)](){const e=Cs,t=this[e(350)],n=t[e(351)][e(344)](e(261));n&&t[e(290)].on(e(283),((r,s)=>{const o=e,i=s[0];if(!i[o(295)])return;if(o(362)!=i[o(291)]||!i[o(318)][o(340)](o(328)))return;const a=i[o(255)];n[o(359)][o(266)](a)&&(i[o(231)]=i[o(258)]?t[o(290)][o(278)](i[o(258)][o(281)],i[o(258)][o(348)]):null)}),{priority:e(242)})}[Cs(287)](){const e=Cs;return this[e(246)][e(271)](),super[e(287)]()}[Cs(304)](){const e=Cs,t=this[e(350)],n=t[e(290)][e(360)],r=t[e(329)][e(344)](ys);t[e(290)][e(315)]({isUndoable:!1},(s=>{const o=e,i=o(319)+r[o(272)],a=o(275)+r[o(272)],c=t[o(290)][o(297)][o(266)](i);t[o(285)][o(235)][o(236)]?Rs(r[o(272)],n[o(361)][o(343)](),t[o(290)],s):c&&(s[o(342)](i),s[o(342)](a))}))}}function Ds(){const e=["removeClass","newRange","markerNameToElements","keydown","nodeAfter","view","hasDomSelection","hasContent","element","conversion","add","Escape","highest","getRange","$text","addEventListener","_domEmitter","pluginName","detach","toDomElement","schema","size","classList","addMarker","6378239ocoEpa","batch","listenTo","for","oldRange","getSelectionClass","userPositionMarker","undo","setCustomProperty",'⁠<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span><span class="ck-user__marker-tooltip" contenteditable="false" spellcheck="false">',"span","markerToHighlight","has","color","deletionPosition","1400315exLTMV","getUserBySessionId","stopListening","mySessionId","rootName","isLimit","user:position:","markerToElement","innerHTML","createRange","isObject","data-session-id","start","init","applyOperation","ck-user__marker ","editing","updateMarker","destroy","getContainedElement","user:range","model","type","root","parent","isCollapsed","isDocumentOperation","render","markers","8BpSGmh","isInline","editingDowncast","toRange","getNearestSelectionRange","3393155LmVzSw","createUserMarkerOperations","createUIElement","6NamBrB","getAttribute","mouseenter","isPremiumPlugin","getCustomProperty","checkChild","</span>⁠","remove","split","enqueueChange","contenteditable","isOfficialPlugin","name","user:range:","clear","fromRange","set","2RweXjg","getStart","ck-user__marker_hovered","requires","markerName","user:","plugins","isSimilar","ck-user__selection","$graveyard","reconvertMarker","11UyBpki","mouseleave","change","tableCell","mapper","markerRange","startsWith","delete","removeMarker","getFirstRange","get","5688760iKQbKP","3773478ePDXeG","getPositions","end","user:position","editor","commands","orderNumber","afterInit","update:user:range","getMarkerClass","UserMarkers","change:range","3046212EVLeod","_createdBatches","document","selection","marker","22274990LsrXZM"];return(Ds=function(){return e})()}function Rs(e,t,n,r){const s=Cs,o=s(319)+e,i=s(275)+e,a=t[s(288)]();let c=t[s(281)];a&&a.is(s(238),s(337))&&(c=function(e,t){const n=s;for(const r of e[n(347)]())if(t[n(250)][n(311)](r,n(244)))return r}(t,n),t=r[s(278)](c));const d=r[s(278)](c);n[s(297)][s(266)](o)?(r[s(286)](o,{range:t}),r[s(286)](i,{range:d})):(r[s(253)](o,{range:t,usingOperation:!0}),r[s(253)](i,{range:d,usingOperation:!0}))}function xs(e,t,n){const r=e.t,s=e.t;switch(t){case"PENDING_ACTION_SENDING_DATA":return s({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return s("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return s("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return s("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return s("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return s("Synchronization issue");case"Connected users list dropdown menu":return s("Connected users list dropdown menu");case"Collapsed connected users list (press ENTER to open it)":return s("Collapsed connected users list (press ENTER to open it)");case"Connected users list":return s("Connected users list");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return s({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}const Ns=(()=>{var e=p.Reader,t=p.Writer,n=p.util,r=p.roots.default||(p.roots.default={});return r.AttributeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.range=null,s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.range&&Object.hasOwnProperty.call(e,"range")&&r.Range.encode(e.range,n.uint32(10).fork()).ldelim(),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&n.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&n.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&n.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&n.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(56).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.AttributeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.range=r.Range.decode(t,t.uint32());break;case 2:o.key=t.string();break;case 3:o.oldValueBoolean=t.bool();break;case 4:o.oldValueJson=t.string();break;case 5:o.newValueBoolean=t.bool();break;case 6:o.newValueJson=t.string();break;case 7:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.range&&e.hasOwnProperty("range")){var t=r.Range.verify(e.range);if(t)return"range."+t}return null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!n.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!n.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.AttributeOperation)return e;var t=new r.AttributeOperation;if(null!=e.range){if("object"!=typeof e.range)throw TypeError(".AttributeOperation.range: object expected");t.range=r.Range.fromObject(e.range)}return null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.range&&e.hasOwnProperty("range")&&(n.range=r.Range.toObject(e.range,t)),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/AttributeOperation"},s}(),r.InsertOperation=function(){function s(e){if(this.nodes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.position=null,s.prototype.nodes=n.emptyArray,s.prototype.shouldReceiveAttributes=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&r.Position.encode(e.position,n.uint32(10).fork()).ldelim(),null!=e.nodes&&e.nodes.length)for(var s=0;s<e.nodes.length;++s)r.Element.encode(e.nodes[s],n.uint32(18).fork()).ldelim();return null!=e.shouldReceiveAttributes&&Object.hasOwnProperty.call(e,"shouldReceiveAttributes")&&n.uint32(24).bool(e.shouldReceiveAttributes),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.InsertOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.position=r.Position.decode(t,t.uint32());break;case 2:o.nodes&&o.nodes.length||(o.nodes=[]),o.nodes.push(r.Element.decode(t,t.uint32()));break;case 3:o.shouldReceiveAttributes=t.bool();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")&&(n=r.Position.verify(e.position)))return"position."+n;if(null!=e.nodes&&e.hasOwnProperty("nodes")){if(!Array.isArray(e.nodes))return"nodes: array expected";for(var t=0;t<e.nodes.length;++t){var n;if(n=r.Element.verify(e.nodes[t]))return"nodes."+n}}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof e.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.InsertOperation)return e;var t=new r.InsertOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".InsertOperation.position: object expected");t.position=r.Position.fromObject(e.position)}if(e.nodes){if(!Array.isArray(e.nodes))throw TypeError(".InsertOperation.nodes: array expected");t.nodes=[];for(var n=0;n<e.nodes.length;++n){if("object"!=typeof e.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");t.nodes[n]=r.Element.fromObject(e.nodes[n])}}return null!=e.shouldReceiveAttributes&&(t.shouldReceiveAttributes=Boolean(e.shouldReceiveAttributes)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.nodes=[]),t.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=r.Position.toObject(e.position,t)),e.nodes&&e.nodes.length){n.nodes=[];for(var s=0;s<e.nodes.length;++s)n.nodes[s]=r.Element.toObject(e.nodes[s],t)}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=e.shouldReceiveAttributes),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/InsertOperation"},s}(),r.MarkerOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.name="",s.prototype.oldRange=null,s.prototype.newRange=null,s.prototype.affectsData=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(10).string(e.name),null!=e.oldRange&&Object.hasOwnProperty.call(e,"oldRange")&&r.Range.encode(e.oldRange,n.uint32(18).fork()).ldelim(),null!=e.newRange&&Object.hasOwnProperty.call(e,"newRange")&&r.Range.encode(e.newRange,n.uint32(26).fork()).ldelim(),null!=e.affectsData&&Object.hasOwnProperty.call(e,"affectsData")&&n.uint32(32).bool(e.affectsData),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MarkerOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.name=t.string();break;case 2:o.oldRange=r.Range.decode(t,t.uint32());break;case 3:o.newRange=r.Range.decode(t,t.uint32());break;case 4:o.affectsData=t.bool();break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name))return"name: string expected";var t;if(null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(t=r.Range.verify(e.oldRange)))return"oldRange."+t;if(null!=e.newRange&&e.hasOwnProperty("newRange")&&(t=r.Range.verify(e.newRange)))return"newRange."+t;return null!=e.affectsData&&e.hasOwnProperty("affectsData")&&"boolean"!=typeof e.affectsData?"affectsData: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MarkerOperation)return e;var t=new r.MarkerOperation;if(null!=e.name&&(t.name=String(e.name)),null!=e.oldRange){if("object"!=typeof e.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");t.oldRange=r.Range.fromObject(e.oldRange)}if(null!=e.newRange){if("object"!=typeof e.newRange)throw TypeError(".MarkerOperation.newRange: object expected");t.newRange=r.Range.fromObject(e.newRange)}return null!=e.affectsData&&(t.affectsData=Boolean(e.affectsData)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(n.oldRange=r.Range.toObject(e.oldRange,t)),null!=e.newRange&&e.hasOwnProperty("newRange")&&(n.newRange=r.Range.toObject(e.newRange,t)),null!=e.affectsData&&e.hasOwnProperty("affectsData")&&(n.affectsData=e.affectsData),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MarkerOperation"},s}(),r.MergeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.sourcePosition=null,s.prototype.targetPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&r.Position.encode(e.sourcePosition,n.uint32(10).fork()).ldelim(),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&r.Position.encode(e.targetPosition,n.uint32(18).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&r.Position.encode(e.graveyardPosition,n.uint32(26).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(32).uint32(e.howMany),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MergeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.sourcePosition=r.Position.decode(t,t.uint32());break;case 2:o.targetPosition=r.Position.decode(t,t.uint32());break;case 3:o.graveyardPosition=r.Position.decode(t,t.uint32());break;case 4:o.howMany=t.uint32();break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(t=r.Position.verify(e.sourcePosition)))return"sourcePosition."+t;if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(t=r.Position.verify(e.targetPosition)))return"targetPosition."+t;if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(t=r.Position.verify(e.graveyardPosition)))return"graveyardPosition."+t;return null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany)?"howMany: integer expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MergeOperation)return e;var t=new r.MergeOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");t.sourcePosition=r.Position.fromObject(e.sourcePosition)}if(null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");t.targetPosition=r.Position.fromObject(e.targetPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");t.graveyardPosition=r.Position.fromObject(e.graveyardPosition)}return null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(e.sourcePosition,t)),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(e.targetPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MergeOperation"},s}(),r.MoveOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.sourcePosition=null,s.prototype.howMany=0,s.prototype.targetPosition=null,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&r.Position.encode(e.sourcePosition,n.uint32(10).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(16).uint32(e.howMany),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&r.Position.encode(e.targetPosition,n.uint32(26).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MoveOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.sourcePosition=r.Position.decode(t,t.uint32());break;case 2:o.howMany=t.uint32();break;case 3:o.targetPosition=r.Position.decode(t,t.uint32());break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(t=r.Position.verify(e.sourcePosition)))return"sourcePosition."+t;if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(t=r.Position.verify(e.targetPosition)))return"targetPosition."+t;return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MoveOperation)return e;var t=new r.MoveOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");t.sourcePosition=r.Position.fromObject(e.sourcePosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");t.targetPosition=r.Position.fromObject(e.targetPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(e.sourcePosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(e.targetPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MoveOperation"},s}(),r.RenameOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.position=null,s.prototype.oldName="",s.prototype.newName="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&r.Position.encode(e.position,n.uint32(10).fork()).ldelim(),null!=e.oldName&&Object.hasOwnProperty.call(e,"oldName")&&n.uint32(18).string(e.oldName),null!=e.newName&&Object.hasOwnProperty.call(e,"newName")&&n.uint32(26).string(e.newName),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RenameOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.position=r.Position.decode(t,t.uint32());break;case 2:o.oldName=t.string();break;case 3:o.newName=t.string();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){var t=r.Position.verify(e.position);if(t)return"position."+t}return null!=e.oldName&&e.hasOwnProperty("oldName")&&!n.isString(e.oldName)?"oldName: string expected":null!=e.newName&&e.hasOwnProperty("newName")&&!n.isString(e.newName)?"newName: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RenameOperation)return e;var t=new r.RenameOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".RenameOperation.position: object expected");t.position=r.Position.fromObject(e.position)}return null!=e.oldName&&(t.oldName=String(e.oldName)),null!=e.newName&&(t.newName=String(e.newName)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=r.Position.toObject(e.position,t)),null!=e.oldName&&e.hasOwnProperty("oldName")&&(n.oldName=e.oldName),null!=e.newName&&e.hasOwnProperty("newName")&&(n.newName=e.newName),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RenameOperation"},s}(),r.RootAttributeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.root="",s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&n.uint32(10).string(e.root),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&n.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&n.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&n.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&n.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(56).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RootAttributeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.root=t.string();break;case 2:o.key=t.string();break;case 3:o.oldValueBoolean=t.bool();break;case 4:o.oldValueJson=t.string();break;case 5:o.newValueBoolean=t.bool();break;case 6:o.newValueJson=t.string();break;case 7:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.root&&e.hasOwnProperty("root")&&!n.isString(e.root)?"root: string expected":null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!n.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!n.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RootAttributeOperation)return e;var t=new r.RootAttributeOperation;return null!=e.root&&(t.root=String(e.root)),null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootAttributeOperation"},s}(),r.RootOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.rootName="",s.prototype.elementName="",s.prototype.isAdd=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.rootName&&Object.hasOwnProperty.call(e,"rootName")&&n.uint32(10).string(e.rootName),null!=e.elementName&&Object.hasOwnProperty.call(e,"elementName")&&n.uint32(18).string(e.elementName),null!=e.isAdd&&Object.hasOwnProperty.call(e,"isAdd")&&n.uint32(24).bool(e.isAdd),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RootOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.rootName=t.string();break;case 2:o.elementName=t.string();break;case 3:o.isAdd=t.bool();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.rootName&&e.hasOwnProperty("rootName")&&!n.isString(e.rootName)?"rootName: string expected":null!=e.elementName&&e.hasOwnProperty("elementName")&&!n.isString(e.elementName)?"elementName: string expected":null!=e.isAdd&&e.hasOwnProperty("isAdd")&&"boolean"!=typeof e.isAdd?"isAdd: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RootOperation)return e;var t=new r.RootOperation;return null!=e.rootName&&(t.rootName=String(e.rootName)),null!=e.elementName&&(t.elementName=String(e.elementName)),null!=e.isAdd&&(t.isAdd=Boolean(e.isAdd)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=e.rootName&&e.hasOwnProperty("rootName")&&(n.rootName=e.rootName),null!=e.elementName&&e.hasOwnProperty("elementName")&&(n.elementName=e.elementName),null!=e.isAdd&&e.hasOwnProperty("isAdd")&&(n.isAdd=e.isAdd),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootOperation"},s}(),r.SplitOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.splitPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.insertionPosition=null,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.splitPosition&&Object.hasOwnProperty.call(e,"splitPosition")&&r.Position.encode(e.splitPosition,n.uint32(10).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&r.Position.encode(e.graveyardPosition,n.uint32(18).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(24).uint32(e.howMany),null!=e.insertionPosition&&Object.hasOwnProperty.call(e,"insertionPosition")&&r.Position.encode(e.insertionPosition,n.uint32(34).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SplitOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.splitPosition=r.Position.decode(t,t.uint32());break;case 2:o.graveyardPosition=r.Position.decode(t,t.uint32());break;case 3:o.howMany=t.uint32();break;case 4:o.insertionPosition=r.Position.decode(t,t.uint32());break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(t=r.Position.verify(e.splitPosition)))return"splitPosition."+t;if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(t=r.Position.verify(e.graveyardPosition)))return"graveyardPosition."+t;if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(t=r.Position.verify(e.insertionPosition)))return"insertionPosition."+t;return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.SplitOperation)return e;var t=new r.SplitOperation;if(null!=e.splitPosition){if("object"!=typeof e.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");t.splitPosition=r.Position.fromObject(e.splitPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");t.graveyardPosition=r.Position.fromObject(e.graveyardPosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.insertionPosition){if("object"!=typeof e.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");t.insertionPosition=r.Position.fromObject(e.insertionPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(n.splitPosition=r.Position.toObject(e.splitPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(n.insertionPosition=r.Position.toObject(e.insertionPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SplitOperation"},s}(),r.Position=function(){function s(e){if(this.path=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.root="",s.prototype.rootMain=!1,s.prototype.rootGraveyard=!1,s.prototype.path=n.emptyArray,s.prototype.stickiness="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&n.uint32(10).string(e.root),null!=e.rootMain&&Object.hasOwnProperty.call(e,"rootMain")&&n.uint32(16).bool(e.rootMain),null!=e.rootGraveyard&&Object.hasOwnProperty.call(e,"rootGraveyard")&&n.uint32(24).bool(e.rootGraveyard),null!=e.path&&e.path.length){n.uint32(34).fork();for(var r=0;r<e.path.length;++r)n.uint32(e.path[r]);n.ldelim()}return null!=e.stickiness&&Object.hasOwnProperty.call(e,"stickiness")&&n.uint32(42).string(e.stickiness),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.Position;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.root=t.string();break;case 2:o.rootMain=t.bool();break;case 3:o.rootGraveyard=t.bool();break;case 4:if(o.path&&o.path.length||(o.path=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.path.push(t.uint32());else o.path.push(t.uint32());break;case 5:o.stickiness=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.root&&e.hasOwnProperty("root")&&!n.isString(e.root))return"root: string expected";if(null!=e.rootMain&&e.hasOwnProperty("rootMain")&&"boolean"!=typeof e.rootMain)return"rootMain: boolean expected";if(null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof e.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=e.path&&e.hasOwnProperty("path")){if(!Array.isArray(e.path))return"path: array expected";for(var t=0;t<e.path.length;++t)if(!n.isInteger(e.path[t]))return"path: integer[] expected"}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&!n.isString(e.stickiness)?"stickiness: string expected":null},s.fromObject=function(e){if(e instanceof r.Position)return e;var t=new r.Position;if(null!=e.root&&(t.root=String(e.root)),null!=e.rootMain&&(t.rootMain=Boolean(e.rootMain)),null!=e.rootGraveyard&&(t.rootGraveyard=Boolean(e.rootGraveyard)),e.path){if(!Array.isArray(e.path))throw TypeError(".Position.path: array expected");t.path=[];for(var n=0;n<e.path.length;++n)t.path[n]=e.path[n]>>>0}return null!=e.stickiness&&(t.stickiness=String(e.stickiness)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.path=[]),t.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.rootMain&&e.hasOwnProperty("rootMain")&&(n.rootMain=e.rootMain),null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=e.rootGraveyard),e.path&&e.path.length){n.path=[];for(var r=0;r<e.path.length;++r)n.path[r]=e.path[r]}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&(n.stickiness=e.stickiness),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Position"},s}(),r.Range=function(){function n(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return n.prototype.start=null,n.prototype.end=null,n.create=function(e){return new n(e)},n.encode=function(e,n){return n||(n=t.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&r.Position.encode(e.start,n.uint32(10).fork()).ldelim(),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&r.Position.encode(e.end,n.uint32(18).fork()).ldelim(),n},n.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},n.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.Range;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.start=r.Position.decode(t,t.uint32());break;case 2:o.end=r.Position.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},n.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.start&&e.hasOwnProperty("start")&&(t=r.Position.verify(e.start)))return"start."+t;if(null!=e.end&&e.hasOwnProperty("end")&&(t=r.Position.verify(e.end)))return"end."+t;return null},n.fromObject=function(e){if(e instanceof r.Range)return e;var t=new r.Range;if(null!=e.start){if("object"!=typeof e.start)throw TypeError(".Range.start: object expected");t.start=r.Position.fromObject(e.start)}if(null!=e.end){if("object"!=typeof e.end)throw TypeError(".Range.end: object expected");t.end=r.Position.fromObject(e.end)}return t},n.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.start=null,n.end=null),null!=e.start&&e.hasOwnProperty("start")&&(n.start=r.Position.toObject(e.start,t)),null!=e.end&&e.hasOwnProperty("end")&&(n.end=r.Position.toObject(e.end,t)),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Range"},n}(),r.Element=function(){function s(e){if(this.children=[],this.attributesBoolean={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.name="",s.prototype.children=n.emptyArray,s.prototype.data="",s.prototype.attributesBoolean=n.emptyObject,s.prototype.attributesJson="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(10).string(e.name),null!=e.children&&e.children.length)for(var s=0;s<e.children.length;++s)r.Element.encode(e.children[s],n.uint32(18).fork()).ldelim();if(null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(26).string(e.data),null!=e.attributesBoolean&&Object.hasOwnProperty.call(e,"attributesBoolean")){var o=Object.keys(e.attributesBoolean);for(s=0;s<o.length;++s)n.uint32(34).fork().uint32(10).string(o[s]).uint32(16).bool(e.attributesBoolean[o[s]]).ldelim()}return null!=e.attributesJson&&Object.hasOwnProperty.call(e,"attributesJson")&&n.uint32(42).string(e.attributesJson),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,s){t instanceof e||(t=e.create(t));for(var o,i,a=void 0===s?t.len:t.pos+s,c=new r.Element;t.pos<a;){var d=t.uint32();switch(d>>>3){case 1:c.name=t.string();break;case 2:c.children&&c.children.length||(c.children=[]),c.children.push(r.Element.decode(t,t.uint32()));break;case 3:c.data=t.string();break;case 4:c.attributesBoolean===n.emptyObject&&(c.attributesBoolean={});var u=t.uint32()+t.pos;for(o="",i=!1;t.pos<u;){var l=t.uint32();switch(l>>>3){case 1:o=t.string();break;case 2:i=t.bool();break;default:t.skipType(7&l)}}c.attributesBoolean[o]=i;break;case 5:c.attributesJson=t.string();break;default:t.skipType(7&d)}}return c},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name))return"name: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(var t=0;t<e.children.length;++t){var s=r.Element.verify(e.children[t]);if(s)return"children."+s}}if(null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data))return"data: string expected";if(null!=e.attributesBoolean&&e.hasOwnProperty("attributesBoolean")){if(!n.isObject(e.attributesBoolean))return"attributesBoolean: object expected";var o=Object.keys(e.attributesBoolean);for(t=0;t<o.length;++t)if("boolean"!=typeof e.attributesBoolean[o[t]])return"attributesBoolean: boolean{k:string} expected"}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&!n.isString(e.attributesJson)?"attributesJson: string expected":null},s.fromObject=function(e){if(e instanceof r.Element)return e;var t=new r.Element;if(null!=e.name&&(t.name=String(e.name)),e.children){if(!Array.isArray(e.children))throw TypeError(".Element.children: array expected");t.children=[];for(var n=0;n<e.children.length;++n){if("object"!=typeof e.children[n])throw TypeError(".Element.children: object expected");t.children[n]=r.Element.fromObject(e.children[n])}}if(null!=e.data&&(t.data=String(e.data)),e.attributesBoolean){if("object"!=typeof e.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");t.attributesBoolean={};var s=Object.keys(e.attributesBoolean);for(n=0;n<s.length;++n)t.attributesBoolean[s[n]]=Boolean(e.attributesBoolean[s[n]])}return null!=e.attributesJson&&(t.attributesJson=String(e.attributesJson)),t},s.toObject=function(e,t){t||(t={});var n,s={};if((t.arrays||t.defaults)&&(s.children=[]),(t.objects||t.defaults)&&(s.attributesBoolean={}),t.defaults&&(s.name="",s.data="",s.attributesJson=""),null!=e.name&&e.hasOwnProperty("name")&&(s.name=e.name),e.children&&e.children.length){s.children=[];for(var o=0;o<e.children.length;++o)s.children[o]=r.Element.toObject(e.children[o],t)}if(null!=e.data&&e.hasOwnProperty("data")&&(s.data=e.data),e.attributesBoolean&&(n=Object.keys(e.attributesBoolean)).length){s.attributesBoolean={};for(o=0;o<n.length;++o)s.attributesBoolean[n[o]]=e.attributesBoolean[n[o]]}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&(s.attributesJson=e.attributesJson),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},s}(),r})();class Vs{constructor(){this._protobufRoot=Ns}getDescriptor(e){return new Ms(this._protobufRoot[e])}}class Ms{constructor(e){this._protobuf=e}compress(e){const t=this._protobuf.verify(e);if(t)throw Error(t);return this._protobuf.encode(this._protobuf.create(e)).finish()}decompress(e){return this._protobuf.toObject(this._protobuf.decode(e),{oneofs:!0})}}const Us=function(){this.__data__=[],this.size=0};const Bs=function(e,t){return e===t||e!=e&&t!=t};const Js=function(e,t){for(var n=e.length;n--;)if(Bs(e[n][0],t))return n;return-1};var qs=Array.prototype.splice;const Gs=function(e){var t=this.__data__,n=Js(t,e);return!(n<0)&&(n==t.length-1?t.pop():qs.call(t,n,1),--this.size,!0)};const Ls=function(e){var t=this.__data__,n=Js(t,e);return n<0?void 0:t[n][1]};const Ys=function(e){return Js(this.__data__,e)>-1};const zs=function(e,t){var n=this.__data__,r=Js(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function Hs(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Hs.prototype.clear=Us,Hs.prototype.delete=Gs,Hs.prototype.get=Ls,Hs.prototype.has=Ys,Hs.prototype.set=zs;const Fs=Hs;const Ks=function(){this.__data__=new Fs,this.size=0};const Ws=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const Xs=function(e){return this.__data__.get(e)};const $s=function(e){return this.__data__.has(e)};const Qs="object"==typeof global&&global&&global.Object===Object&&global;var Zs="object"==typeof self&&self&&self.Object===Object&&self;const eo=Qs||Zs||Function("return this")();const to=eo.Symbol;var no=Object.prototype,ro=no.hasOwnProperty,so=no.toString,oo=to?to.toStringTag:void 0;const io=function(e){var t=ro.call(e,oo),n=e[oo];try{e[oo]=void 0;var r=!0}catch(e){}var s=so.call(e);return r&&(t?e[oo]=n:delete e[oo]),s};var ao=Object.prototype.toString;const co=function(e){return ao.call(e)};var uo=to?to.toStringTag:void 0;const lo=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":uo&&uo in Object(e)?io(e):co(e)};const po=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const ho=function(e){if(!po(e))return!1;var t=lo(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const fo=eo["__core-js_shared__"];var mo,yo=(mo=/[^.]+$/.exec(fo&&fo.keys&&fo.keys.IE_PROTO||""))?"Symbol(src)_1."+mo:"";const go=function(e){return!!yo&&yo in e};var bo=Function.prototype.toString;const Oo=function(e){if(null!=e){try{return bo.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var wo=/^\[object .+?Constructor\]$/,vo=Function.prototype,Io=Object.prototype,So=vo.toString,Po=Io.hasOwnProperty,ko=RegExp("^"+So.call(Po).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Ao=function(e){return!(!po(e)||go(e))&&(ho(e)?ko:wo).test(Oo(e))};const _o=function(e,t){return null==e?void 0:e[t]};const To=function(e,t){var n=_o(e,t);return Ao(n)?n:void 0};const Co=To(eo,"Map");const jo=To(Object,"create");const Eo=function(){this.__data__=jo?jo(null):{},this.size=0};const Do=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Ro=Object.prototype.hasOwnProperty;const xo=function(e){var t=this.__data__;if(jo){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Ro.call(t,e)?t[e]:void 0};var No=Object.prototype.hasOwnProperty;const Vo=function(e){var t=this.__data__;return jo?void 0!==t[e]:No.call(t,e)};const Mo=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=jo&&void 0===t?"__lodash_hash_undefined__":t,this};function Uo(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Uo.prototype.clear=Eo,Uo.prototype.delete=Do,Uo.prototype.get=xo,Uo.prototype.has=Vo,Uo.prototype.set=Mo;const Bo=Uo;const Jo=function(){this.size=0,this.__data__={hash:new Bo,map:new(Co||Fs),string:new Bo}};const qo=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Go=function(e,t){var n=e.__data__;return qo(t)?n["string"==typeof t?"string":"hash"]:n.map};const Lo=function(e){var t=Go(this,e).delete(e);return this.size-=t?1:0,t};const Yo=function(e){return Go(this,e).get(e)};const zo=function(e){return Go(this,e).has(e)};const Ho=function(e,t){var n=Go(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Fo(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Fo.prototype.clear=Jo,Fo.prototype.delete=Lo,Fo.prototype.get=Yo,Fo.prototype.has=zo,Fo.prototype.set=Ho;const Ko=Fo;const Wo=function(e,t){var n=this.__data__;if(n instanceof Fs){var r=n.__data__;if(!Co||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ko(r)}return n.set(e,t),this.size=n.size,this};function Xo(e){var t=this.__data__=new Fs(e);this.size=t.size}Xo.prototype.clear=Ks,Xo.prototype.delete=Ws,Xo.prototype.get=Xs,Xo.prototype.has=$s,Xo.prototype.set=Wo;const $o=Xo;const Qo=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e};const Zo=function(){try{var e=To(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const ei=function(e,t,n){"__proto__"==t&&Zo?Zo(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var ti=Object.prototype.hasOwnProperty;const ni=function(e,t,n){var r=e[t];ti.call(e,t)&&Bs(r,n)&&(void 0!==n||t in e)||ei(e,t,n)};const ri=function(e,t,n,r){var s=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var a=t[o],c=r?r(n[a],e[a],a,n,e):void 0;void 0===c&&(c=e[a]),s?ei(n,a,c):ni(n,a,c)}return n};const si=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};const oi=function(e){return null!=e&&"object"==typeof e};const ii=function(e){return oi(e)&&"[object Arguments]"==lo(e)};var ai=Object.prototype,ci=ai.hasOwnProperty,di=ai.propertyIsEnumerable,ui=ii(function(){return arguments}())?ii:function(e){return oi(e)&&ci.call(e,"callee")&&!di.call(e,"callee")};const li=ui;const pi=Array.isArray;const hi=function(){return!1};var fi="object"==typeof exports&&exports&&!exports.nodeType&&exports,mi=fi&&"object"==typeof module&&module&&!module.nodeType&&module,yi=mi&&mi.exports===fi?eo.Buffer:void 0;const gi=(yi?yi.isBuffer:void 0)||hi;var bi=/^(?:0|[1-9]\d*)$/;const Oi=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&bi.test(e))&&e>-1&&e%1==0&&e<t};const wi=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var vi={};vi["[object Float32Array]"]=vi["[object Float64Array]"]=vi["[object Int8Array]"]=vi["[object Int16Array]"]=vi["[object Int32Array]"]=vi["[object Uint8Array]"]=vi["[object Uint8ClampedArray]"]=vi["[object Uint16Array]"]=vi["[object Uint32Array]"]=!0,vi["[object Arguments]"]=vi["[object Array]"]=vi["[object ArrayBuffer]"]=vi["[object Boolean]"]=vi["[object DataView]"]=vi["[object Date]"]=vi["[object Error]"]=vi["[object Function]"]=vi["[object Map]"]=vi["[object Number]"]=vi["[object Object]"]=vi["[object RegExp]"]=vi["[object Set]"]=vi["[object String]"]=vi["[object WeakMap]"]=!1;const Ii=function(e){return oi(e)&&wi(e.length)&&!!vi[lo(e)]};const Si=function(e){return function(t){return e(t)}};var Pi="object"==typeof exports&&exports&&!exports.nodeType&&exports,ki=Pi&&"object"==typeof module&&module&&!module.nodeType&&module,Ai=ki&&ki.exports===Pi&&Qs.process;const _i=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Ai&&Ai.binding&&Ai.binding("util")}catch(e){}}();var Ti=_i&&_i.isTypedArray;const Ci=Ti?Si(Ti):Ii;var ji=Object.prototype.hasOwnProperty;const Ei=function(e,t){var n=pi(e),r=!n&&li(e),s=!n&&!r&&gi(e),o=!n&&!r&&!s&&Ci(e),i=n||r||s||o,a=i?si(e.length,String):[],c=a.length;for(var d in e)!t&&!ji.call(e,d)||i&&("length"==d||s&&("offset"==d||"parent"==d)||o&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||Oi(d,c))||a.push(d);return a};var Di=Object.prototype;const Ri=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Di)};const xi=function(e,t){return function(n){return e(t(n))}};const Ni=xi(Object.keys,Object);var Vi=Object.prototype.hasOwnProperty;const Mi=function(e){if(!Ri(e))return Ni(e);var t=[];for(var n in Object(e))Vi.call(e,n)&&"constructor"!=n&&t.push(n);return t};const Ui=function(e){return null!=e&&wi(e.length)&&!ho(e)};const Bi=function(e){return Ui(e)?Ei(e):Mi(e)};const Ji=function(e,t){return e&&ri(t,Bi(t),e)};const qi=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var Gi=Object.prototype.hasOwnProperty;const Li=function(e){if(!po(e))return qi(e);var t=Ri(e),n=[];for(var r in e)("constructor"!=r||!t&&Gi.call(e,r))&&n.push(r);return n};const Yi=function(e){return Ui(e)?Ei(e,!0):Li(e)};const zi=function(e,t){return e&&ri(t,Yi(t),e)};var Hi="object"==typeof exports&&exports&&!exports.nodeType&&exports,Fi=Hi&&"object"==typeof module&&module&&!module.nodeType&&module,Ki=Fi&&Fi.exports===Hi?eo.Buffer:void 0,Wi=Ki?Ki.allocUnsafe:void 0;const Xi=function(e,t){if(t)return e.slice();var n=e.length,r=Wi?Wi(n):new e.constructor(n);return e.copy(r),r};const $i=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};const Qi=function(e,t){for(var n=-1,r=null==e?0:e.length,s=0,o=[];++n<r;){var i=e[n];t(i,n,e)&&(o[s++]=i)}return o};const Zi=function(){return[]};var ea=Object.prototype.propertyIsEnumerable,ta=Object.getOwnPropertySymbols;const na=ta?function(e){return null==e?[]:(e=Object(e),Qi(ta(e),(function(t){return ea.call(e,t)})))}:Zi;const ra=function(e,t){return ri(e,na(e),t)};const sa=function(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e};const oa=xi(Object.getPrototypeOf,Object);const ia=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sa(t,na(e)),e=oa(e);return t}:Zi;const aa=function(e,t){return ri(e,ia(e),t)};const ca=function(e,t,n){var r=t(e);return pi(e)?r:sa(r,n(e))};const da=function(e){return ca(e,Bi,na)};const ua=function(e){return ca(e,Yi,ia)};const la=To(eo,"DataView");const pa=To(eo,"Promise");const ha=To(eo,"Set");const fa=To(eo,"WeakMap");var ma="[object Map]",ya="[object Promise]",ga="[object Set]",ba="[object WeakMap]",Oa="[object DataView]",wa=Oo(la),va=Oo(Co),Ia=Oo(pa),Sa=Oo(ha),Pa=Oo(fa),ka=lo;(la&&ka(new la(new ArrayBuffer(1)))!=Oa||Co&&ka(new Co)!=ma||pa&&ka(pa.resolve())!=ya||ha&&ka(new ha)!=ga||fa&&ka(new fa)!=ba)&&(ka=function(e){var t=lo(e),n="[object Object]"==t?e.constructor:void 0,r=n?Oo(n):"";if(r)switch(r){case wa:return Oa;case va:return ma;case Ia:return ya;case Sa:return ga;case Pa:return ba}return t});const Aa=ka;var _a=Object.prototype.hasOwnProperty;const Ta=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&_a.call(e,"index")&&(n.index=e.index,n.input=e.input),n};const Ca=eo.Uint8Array;const ja=function(e){var t=new e.constructor(e.byteLength);return new Ca(t).set(new Ca(e)),t};const Ea=function(e,t){var n=t?ja(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var Da=/\w*$/;const Ra=function(e){var t=new e.constructor(e.source,Da.exec(e));return t.lastIndex=e.lastIndex,t};var xa=to?to.prototype:void 0,Na=xa?xa.valueOf:void 0;const Va=function(e){return Na?Object(Na.call(e)):{}};const Ma=function(e,t){var n=t?ja(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};const Ua=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return ja(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return Ea(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Ma(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return Ra(e);case"[object Symbol]":return Va(e)}};var Ba=Object.create;const Ja=function(){function e(){}return function(t){if(!po(t))return{};if(Ba)return Ba(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const qa=function(e){return"function"!=typeof e.constructor||Ri(e)?{}:Ja(oa(e))};const Ga=function(e){return oi(e)&&"[object Map]"==Aa(e)};var La=_i&&_i.isMap;const Ya=La?Si(La):Ga;const za=function(e){return oi(e)&&"[object Set]"==Aa(e)};var Ha=_i&&_i.isSet;const Fa=Ha?Si(Ha):za;var Ka="[object Arguments]",Wa="[object Function]",Xa="[object Object]",$a={};$a[Ka]=$a["[object Array]"]=$a["[object ArrayBuffer]"]=$a["[object DataView]"]=$a["[object Boolean]"]=$a["[object Date]"]=$a["[object Float32Array]"]=$a["[object Float64Array]"]=$a["[object Int8Array]"]=$a["[object Int16Array]"]=$a["[object Int32Array]"]=$a["[object Map]"]=$a["[object Number]"]=$a[Xa]=$a["[object RegExp]"]=$a["[object Set]"]=$a["[object String]"]=$a["[object Symbol]"]=$a["[object Uint8Array]"]=$a["[object Uint8ClampedArray]"]=$a["[object Uint16Array]"]=$a["[object Uint32Array]"]=!0,$a["[object Error]"]=$a[Wa]=$a["[object WeakMap]"]=!1;const Qa=function e(t,n,r,s,o,i){var a,c=1&n,d=2&n,u=4&n;if(r&&(a=o?r(t,s,o,i):r(t)),void 0!==a)return a;if(!po(t))return t;var l=pi(t);if(l){if(a=Ta(t),!c)return $i(t,a)}else{var p=Aa(t),h=p==Wa||"[object GeneratorFunction]"==p;if(gi(t))return Xi(t,c);if(p==Xa||p==Ka||h&&!o){if(a=d||h?{}:qa(t),!c)return d?aa(t,zi(a,t)):ra(t,Ji(a,t))}else{if(!$a[p])return o?t:{};a=Ua(t,p,c)}}i||(i=new $o);var f=i.get(t);if(f)return f;i.set(t,a),Fa(t)?t.forEach((function(s){a.add(e(s,n,r,s,t,i))})):Ya(t)&&t.forEach((function(s,o){a.set(o,e(s,n,r,o,t,i))}));var m=l?void 0:(u?d?ua:da:d?Yi:Bi)(t);return Qo(m||t,(function(s,o){m&&(s=t[o=s]),ni(a,o,e(s,n,r,o,t,i))})),a};const Za=function(e){return Qa(e,5)};const ec=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const tc=function(e){return this.__data__.has(e)};function nc(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Ko;++t<n;)this.add(e[t])}nc.prototype.add=nc.prototype.push=ec,nc.prototype.has=tc;const rc=nc;const sc=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};const oc=function(e,t){return e.has(t)};const ic=function(e,t,n,r,s,o){var i=1&n,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var d=o.get(e),u=o.get(t);if(d&&u)return d==t&&u==e;var l=-1,p=!0,h=2&n?new rc:void 0;for(o.set(e,t),o.set(t,e);++l<a;){var f=e[l],m=t[l];if(r)var y=i?r(m,f,l,t,e,o):r(f,m,l,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!sc(t,(function(e,t){if(!oc(h,t)&&(f===e||s(f,e,n,r,o)))return h.push(t)}))){p=!1;break}}else if(f!==m&&!s(f,m,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p};const ac=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};const cc=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n};var dc=to?to.prototype:void 0,uc=dc?dc.valueOf:void 0;const lc=function(e,t,n,r,s,o,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new Ca(e),new Ca(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Bs(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=ac;case"[object Set]":var c=1&r;if(a||(a=cc),e.size!=t.size&&!c)return!1;var d=i.get(e);if(d)return d==t;r|=2,i.set(e,t);var u=ic(a(e),a(t),r,s,o,i);return i.delete(e),u;case"[object Symbol]":if(uc)return uc.call(e)==uc.call(t)}return!1};var pc=Object.prototype.hasOwnProperty;const hc=function(e,t,n,r,s,o){var i=1&n,a=da(e),c=a.length;if(c!=da(t).length&&!i)return!1;for(var d=c;d--;){var u=a[d];if(!(i?u in t:pc.call(t,u)))return!1}var l=o.get(e),p=o.get(t);if(l&&p)return l==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var f=i;++d<c;){var m=e[u=a[d]],y=t[u];if(r)var g=i?r(y,m,u,t,e,o):r(m,y,u,e,t,o);if(!(void 0===g?m===y||s(m,y,n,r,o):g)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var b=e.constructor,O=t.constructor;b==O||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return o.delete(e),o.delete(t),h};var fc="[object Arguments]",mc="[object Array]",yc="[object Object]",gc=Object.prototype.hasOwnProperty;const bc=function(e,t,n,r,s,o){var i=pi(e),a=pi(t),c=i?mc:Aa(e),d=a?mc:Aa(t),u=(c=c==fc?yc:c)==yc,l=(d=d==fc?yc:d)==yc,p=c==d;if(p&&gi(e)){if(!gi(t))return!1;i=!0,u=!1}if(p&&!u)return o||(o=new $o),i||Ci(e)?ic(e,t,n,r,s,o):lc(e,t,c,n,r,s,o);if(!(1&n)){var h=u&&gc.call(e,"__wrapped__"),f=l&&gc.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,y=f?t.value():t;return o||(o=new $o),s(m,y,n,r,o)}}return!!p&&(o||(o=new $o),hc(e,t,n,r,s,o))};const Oc=function e(t,n,r,s,o){return t===n||(null==t||null==n||!oi(t)&&!oi(n)?t!=t&&n!=n:bc(t,n,r,s,e,o))};const wc=function(e,t){return Oc(e,t)};function vc(e,t){const n=Za(e);return n.path[n.path.length-1]+=t,n}function Ic(e,t){return e.root===t.root&&wc(e.path,t.path)}function Sc(e){kc(e,(e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e)))}function Pc(e){kc(e,(e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e)))}function kc(e,t){for(const n in e){const r=e[n];"nodes"!==n&&po(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):kc(r,t))}return e}class Ac{constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.shift();return Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.types.shift();const n=this._protobufDescriptor.decompress(t.buffers.shift());Pc(n),n.__className=this._operationName,e.push(n)}}class _c extends Ac{compress(e,t){const n=t.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",s),this._deserializeOneOf("newValue",s),Pc(s),s.__className=this._operationName,e.push(s)}_serializeOneOf(e,t){const n=t[e];"boolean"==typeof n?t[`${e}Boolean`]=n:t[`${e}Json`]=JSON.stringify(n)}_deserializeOneOf(e,t){const n=`${e}Json`;t[n]?(t[e]=JSON.parse(t[n]),delete t[n]):(t[e]=t[`${e}Boolean`],delete t[`${e}Boolean`])}}class Tc extends Ac{compress(e,t){const n=t.shift();return this._serializeNodesAttributes(n.nodes),Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),s.nodes||(s.nodes=[]),this._deserializeNodesAttributes(s.nodes),Pc(s),s.__className=this._operationName,e.push(s)}_serializeNodesAttributes(e){for(const t of e){if(t.attributes){const e=t.attributes;this._areValuesBoolean(e)?t.attributesBoolean=e:t.attributesJson=JSON.stringify(e)}t.children&&this._serializeNodesAttributes(t.children)}}_deserializeNodesAttributes(e){for(const t of e)(t.attributesBoolean||t.attributesJson)&&(t.attributesBoolean?(t.attributes=t.attributesBoolean,delete t.attributesBoolean):(t.attributes=JSON.parse(t.attributesJson),delete t.attributesJson)),t.children&&this._deserializeNodesAttributes(t.children)}_areValuesBoolean(e){return Object.keys(e).every((t=>"boolean"==typeof e[t]))}}class Cc extends Ac{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class jc extends Ac{compress(e,t){return t.shift(),e.types.push(this._id),!0}decompress(e,t){t.types.shift(),e.push({__className:this._operationName})}}class Ec extends Cc{constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){return!("MarkerOperation"!=t[0].__className||!t[0].name.startsWith(this._omittedNamespace))&&(t[0].name=t[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(e,t),!0)}decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.name=this._omittedNamespace+n.name}}class Dc{constructor(e,t){this._id=e,this._context=t}compress(e,t){let n;for(;t.length>1&&this._compareOperations(t[0],t[1]);)n?(n=this._combineNext(t.shift(),n),e.types.push(0)):(n=Za(t.shift()),e.types.push(this._id));return!!n&&(n=this._combineNext(t.shift(),n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[0];)t.types.shift(),e.push(this._splitCurrent(n));e.push(n)}}class Rc extends Dc{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=Za(e),n=t.nodes[0],r=e.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),e.position=vc(e.position,o),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=Ic(vc(e.position,n),t.position),s=e.nodes[0],o=t.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("InsertOperation").decompress(t,e),t[0]}_checkOperation(e){return"InsertOperation"==e.__className&&1==e.nodes.length&&e.nodes[0].data&&!e.wasUndone&&1==Array.from(e.nodes[0].data).length}_compareAttributes(e,t){const n=Object.keys(e.attributes||{}),r=Object.keys(t.attributes||{});return n.length===r.length&&n.every((n=>t.attributes[n]&&t.attributes[n]===e.attributes[n]))}}class xc extends Dc{_combineNext(e,t){return t.howMany++,t.sourcePosition=Za(e.sourcePosition),t}_splitCurrent(e){const t=Za(e);return e.howMany--,t.howMany=1,t.sourcePosition=vc(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(Ic(vc(e.sourcePosition,-1),t.sourcePosition)&&Ic(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Nc extends Dc{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=Za(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(Ic(e.sourcePosition,t.sourcePosition)&&Ic(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Vc extends Dc{compress(e,t){if(!this._compareOperations(t[0],t[1]))return!1;const n=t.shift();return n.oldRange=null,n.newRange&&Ic(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.shift(),e.types.push(this._id),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0}decompress(e,t){const n=this._decompressSingleOperation(t);n.newRange&&!n.newRange.end&&(n.newRange.end=Za(n.newRange.start));const r=Za(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Za(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.types.shift(),e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MarkerOperation").decompress(t,e),t[0]}_compareOperations(e,t){return!(!e||!t)&&("MarkerOperation"==e.__className&&"MarkerOperation"==t.__className&&!(!e.name.startsWith("user:")||!t.name.startsWith("user:")||e.name==t.name))}}class Mc{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new Vs;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new jc(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",_c),this._registerOperationCompressor(11,"InsertOperation",Tc),this._registerOperationCompressor(12,"MarkerOperation",Cc),this._registerOperationCompressor(13,"MergeOperation",Ac),this._registerOperationCompressor(14,"MoveOperation",Ac),this._registerOperationCompressor(15,"RenameOperation",Ac),this._registerOperationCompressor(16,"RootAttributeOperation",_c),this._registerOperationCompressor(17,"SplitOperation",Ac),this._registerCompressor(18,"CommentMarkerOperation",new Ec(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Ec(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",Ac),this._registerActionCompressor(100,"TypingAction",Rc),this._registerActionCompressor(101,"DeletingAction",xc),this._registerActionCompressor(102,"ForwardDeletingAction",Nc),this._registerActionCompressor(103,"UserSelectionAction",Vc)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;e.length;)this._getCompressorByName("UserSelectionAction").compress(t,e)||this._getCompressorByName("TypingAction").compress(t,e)||this._getCompressorByName("DeletingAction").compress(t,e)||this._getCompressorByName("ForwardDeletingAction").compress(t,e)||this._getCompressorByName("CommentMarkerOperation").compress(t,e)||this._getCompressorByName("SuggestionMarkerOperation").compress(t,e)||this._getCompressorByName(e[0].__className).compress(t,e);return t}decompress(e){const t=[];for(;e.types.length;){this._compressorById.get(e.types[0]).decompress(t,e)}return t.forEach(((t,n)=>t.baseVersion=e.baseVersion+n)),t}_getCompressorByName(e){return this._compressorByName.get(e)}_registerOperationCompressor(e,t,n){const r=new n(e,t,this._protobufFactory.getDescriptor(t));this._registerCompressor(e,t,r)}_registerActionCompressor(e,t,n){const r=new n(e,this);this._registerCompressor(e,t,r)}_registerCompressor(e,t,n){this._compressorById.set(e,n),this._compressorByName.set(t,n)}}const Uc=Bc;function Bc(e,t){const n=zc();return(Bc=function(e,t){return n[e-=265]})(e,t)}!function(e){const t=Bc,n=e();for(;;)try{if(556299===-parseInt(t(330))/1*(parseInt(t(269))/2)+parseInt(t(512))/3+-parseInt(t(496))/4*(-parseInt(t(426))/5)+parseInt(t(285))/6*(parseInt(t(435))/7)+parseInt(t(403))/8*(-parseInt(t(336))/9)+parseInt(t(423))/10*(-parseInt(t(488))/11)+-parseInt(t(267))/12*(-parseInt(t(310))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zc);let Jc=1;class qc extends t.Plugin{static get[Uc(287)](){return[ls,ys,Es,t.PendingActions,ps.Users,r.Notification]}static get[Uc(470)](){return Uc(437)}static get[Uc(464)](){return!0}static get[Uc(422)](){return!0}get[Uc(400)](){const e=Uc;return this[e(494)]+this[e(452)]}get[Uc(494)](){const e=Uc;return this[e(312)][e(497)]-this[e(452)]}get[Uc(370)](){const e=Uc,t=this[e(312)][e(300)]();for(let n=t[e(324)]-1;n>=0;n--){const r=t[n];if(!this[e(273)][e(462)](r))return r[e(344)]+1-this[e(452)]}return 0}constructor(e){const t=Uc;if(super(e),this[t(452)]=0,this[t(347)]=null,this[t(312)]=new s.History,this[t(453)][t(307)][t(503)](t(412),{}),this[t(358)]=this[t(453)][t(307)][t(373)](t(303)),!this[t(358)])throw new n.CKEditorError(t(430),this);const r=e[t(307)][t(373)](t(509))||n.version;this[t(457)]=new(qc[t(369)])(r,this[t(358)]),this[t(508)]=this[t(453)][t(389)][t(318)],this[t(309)]=new Mc,this[t(293)]=[],this[t(405)]=new WeakSet,this[t(454)]=new Set,this[t(474)](t(268),!1),this[t(474)](t(348),!1),this[t(341)]=null,this[t(359)]=!1,this[t(500)]=null,this[t(449)]=300,this[t(283)]=this[t(449)],this[t(274)]=null,this[t(273)]=new WeakSet,this[t(319)]=new Hc(this[t(273)])}[Uc(291)](){const e=Uc,t=this[e(453)],n=t[e(404)][e(373)](ps.Users),r=t[e(404)][e(373)](ls);this[e(317)](n,e(298),((t,r)=>{const s=e,o=r[0];o[s(289)]&&(t[s(282)]=n[s(476)](o[s(289)]),t[s(357)]()),null===o[s(289)]&&(t[s(282)]=null,t[s(357)]())}),{priority:e(371)}),this[e(317)](t[e(389)][e(318)][e(322)],e(456),((t,n)=>{const r=e;n[r(353)]&&this[r(510)]()})),this[e(317)](t[e(399)][e(475)],e(393),(()=>{this[e(510)]()})),this[e(522)](),t[e(389)].on(e(523),((t,n)=>{const r=e,s=n[0];s[r(529)]&&(this[r(375)](s),this[r(436)]()&&this[r(440)]())})),this[e(416)](),this[e(362)](e(384)).to(r,e(265),this,e(348),((t,n)=>e(521)===t&&!n)),this.on(e(374),(()=>{const n=e;this[n(384)]?t[n(484)](n(514)):t[n(409)](n(514))})),this[e(384)]?t[e(484)](e(514)):t[e(409)](e(514)),this[e(474)](e(420),!1)}async[Uc(301)](){const e=Uc,t=this[e(453)][e(404)][e(373)](ys),n=this[e(453)][e(404)][e(373)](ls);try{this[e(268)]=!0,t[e(329)](this[e(358)]);const r=await this[e(457)][e(301)](n[e(334)],this[e(370)]);await this[e(355)](r)&&(this[e(268)]=!1,this[e(360)]());const s=await this[e(457)][e(379)]();t[e(421)](this[e(358)],s),this[e(493)](),this[e(420)]=!0}catch(t){if(function(t){const n=e;return n(397)===t[n(327)]}(t)&&this[e(347)])await this[e(415)]();else if(function(t){const n=e;return n(441)===t[n(327)]}(t)){const t=xs(this[e(453)][e(492)],e(419));this[e(473)](t)}else{if(!(t instanceof Lc))throw t;this[e(473)]()}}}[Uc(321)](){const e=Uc,t=this[e(453)][e(404)][e(373)](ls),n=this[e(453)][e(404)][e(373)](ys);this[e(453)][e(409)](e(382)),n[e(339)][e(462)](this[e(358)])&&n[e(329)](this[e(358)]),t[e(499)](this),this[e(483)](),super[e(321)]()}async[Uc(355)](e){const t=Uc;if(this[t(347)]!==e[t(347)]&&this[t(274)]!==e[t(320)])throw new Lc;return this[t(347)]=e[t(347)],this[t(351)]([],{...e,wereChangesApplied:!1,data:e[t(294)]},t(301))}async[Uc(402)](e,t=!1){const n=Uc,{connection:r}=this[n(453)][n(404)][n(373)](ls);qc[n(369)][n(379)](r,this[n(358)])[n(277)]((e=>this[n(385)](e)))[n(314)]((e=>{const t=n;this[t(305)](t(376),e)})),this[n(317)](this[n(457)],n(292),this[n(498)][n(362)](this)),this[n(317)](this[n(457)],n(519),((e,t)=>{const r=n;this[r(305)](r(391),t)})),this[n(317)](this[n(457)],n(271),(()=>{this[n(420)]=!1}));const s=this[n(319)][n(346)](e);this[n(268)]=!0;const o=await this[n(457)][n(337)](r,this[n(408)](e),s);if(this[n(347)]=o[n(347)],t){if(!o[n(450)])return void this[n(473)]();this[n(268)]=!1,this[n(360)](),this[n(312)][n(458)](),this[n(452)]=o[n(299)],this[n(312)][n(497)]=this[n(452)],await this[n(351)](e,o,n(363))}else await this[n(401)](o,e);this[n(493)](),this[n(420)]=!0}[Uc(493)](){const e=Uc,t=this[e(453)][e(404)][e(373)](ys),n=this[e(453)][e(404)][e(373)](Es),r=t[e(339)][e(373)](this[e(358)]);r&&r[e(324)]>1?n[e(266)]():this[e(317)](t,e(332)+this[e(358)],(()=>{const r=e;2===t[r(339)][r(373)](this[r(358)])[r(324)]&&n[r(266)]()}))}async[Uc(498)](e,t,n,r){const s=Uc;if(!this[s(268)]&&this[s(508)][s(497)]==t){const e=this[s(472)](n,r);await this[s(372)](e),this[s(482)](e,t,n[s(320)])||this[s(305)](s(326))}}async[Uc(415)](){const e=Uc;this[e(483)]();const{locale:t}=this[e(453)];let n;try{n=await this[e(457)][e(288)]()}catch(n){const r=xs(t,e(392));return void this[e(473)](r)}const r=n[e(275)]||n[e(481)];if(this[e(274)]===r[e(320)])await this[e(402)](this[e(453)][e(389)][e(318)][e(526)][e(300)](),!0);else{const n=xs(t,e(313));this[e(473)](n)}}[Uc(483)](){const e=Uc;this[e(457)][e(516)](),this[e(293)]=[],clearTimeout(this[e(500)]),this[e(525)](this[e(457)])}[Uc(385)](e){const t=Uc,n=this[t(453)][t(404)][t(373)](ys);this[t(317)](n,t(332)+this[t(358)],((e,{session:r})=>{const s=t;if(r.id===n[s(417)]){e[s(297)]();const t=this[s(453)][s(404)][s(462)](s(338))&&this[s(453)][s(404)][s(373)](s(338));let n=r[s(439)];t&&t[s(443)]&&(n=n[s(296)]((e=>s(451)!==e))),this[s(453)][s(404)][s(373)](s(468))[s(513)](n,this[s(358)])}})),n[t(421)](this[t(358)],e)}[Uc(522)](){const e=Uc,t=this[e(453)][e(294)][e(474)];this[e(453)][e(294)][e(474)]=(...r)=>{const s=e;if(!r[r[s(324)]-1][s(311)])throw new n.CKEditorError(s(479),this);t[s(469)](this[s(453)][s(294)],r)}}[Uc(416)](){const e=Uc;this[e(453)][e(294)].on(e(291),((t,[r])=>{const o=e;if(this[o(508)][o(497)])throw new n.CKEditorError(o(487),this);t[o(357)](),this[o(286)]();const i=this[o(453)][o(307)][o(373)](o(381)),a=this[o(507)](r,i);0==a[o(324)]&&a[o(349)](new s.NoOperation(0)),t[o(282)]=this[o(402)](a)[o(277)]((()=>{const e=o;this[e(453)][e(404)][e(373)](ls)[e(434)](this),this[e(453)][e(294)][e(388)](e(345))}))[o(314)]((e=>this[o(305)](o(390),e)))[o(444)]((()=>this[o(360)]()))}),{priority:e(371)}),this[e(453)].on(e(302),(async(t,[n,r])=>{const s=e;t[s(357)]();const o=this[s(453)][s(389)][s(318)][s(368)](n);if(!this[s(454)][s(462)](n)){const e=r&&r[s(294)]?r[s(294)]:"",t=r&&r[s(284)]?r[s(284)]:{};await this[s(315)](n,e,t)}this[s(453)][s(389)][s(343)]({isUndoable:!1},(()=>{const e=s;o[e(486)]=!0,this[e(453)][e(389)][e(318)][e(414)][e(424)](o)}))}),{priority:e(371)})}async[Uc(372)](e){const t=Uc,n=this[t(453)][t(404)][t(373)](ps.Users),{connection:r}=this[t(453)][t(404)][t(373)](ls),s=new Set;for(const r of e){const e=r[t(289)];e&&!n[t(476)](e)&&s[t(502)](e)}if(0===s[t(431)])return;const o=await S[t(395)](r,Array[t(528)](s));for(const e of o)n[t(476)](e.id)||n[t(446)](e)}[Uc(507)](e,t={}){const r=Uc,o=this[r(453)][r(389)],i=[];let a=0;const c=r(466)==typeof e?{main:e}:e;for(const e of Object[r(527)](c)){if(!this[r(508)][r(501)][r(462)](e))throw new n.CKEditorError(r(356),this);const t=this[r(453)][r(294)][r(365)](c[e]),d=this[r(508)][r(368)](e),u=new s.InsertOperation(o[r(333)](d,0),t,a++);i[r(349)](u);for(const[e,n]of t[r(445)]){const t=o[r(279)](o[r(270)](d,n[r(459)][r(335)][r(432)]()),o[r(270)](d,n[r(361)][r(335)][r(432)]())),c=new s.MarkerOperation(e,null,t,o[r(445)],!0,a++);i[r(349)](c)}}if(t)for(const[e,c]of Object[r(272)](t)){const t=o[r(318)][r(368)](e);if(!t)throw new n.CKEditorError(r(460),null);for(const[e,n]of Object[r(272)](c))if(null!==n){const o=new s.RootAttributeOperation(t,e,null,n,a++);i[r(349)](o)}}return i}async[Uc(315)](e,t,n){const r=Uc;this[r(507)]({[e]:t},{[e]:n})[r(455)](((e,t)=>{const n=r;e[n(344)]=this[n(508)][n(497)]+t,e[n(394)]=!0,this[n(375)](e)})),this[r(440)](),await this[r(352)]()}async[Uc(401)](e,t){const n=Uc;let r;this[n(452)]=e[n(299)];const s=e[n(450)]&&!e[n(407)],o=s?0:e[n(294)][n(344)];if(t[n(455)]((t=>{const r=n;t[r(394)]=!0,t[r(411)]=e[r(491)],t[r(289)]=null})),s)r=t,this[n(489)](r,s);else{if(e[n(407)]){const t=this[n(507)](e[n(407)]);this[n(508)][n(526)][n(497)]=-t[n(324)],t[n(455)]((r=>{const s=n;r[s(344)]-=t[s(324)],r[s(411)]=e[s(491)],r[s(394)]=!0,r[s(289)]=null})),this[n(489)](t,!0),this[n(312)][n(497)]=-t[n(324)]+this[n(452)],this[n(380)](t)}this[n(508)][n(526)][n(497)]=o,r=this[n(472)](e[n(294)],e[n(506)]),await this[n(372)](r),this[n(489)](r,s)}e[n(320)]&&(this[n(319)][n(276)](r,e[n(320)]),this[n(274)]=e[n(320)]),this[n(312)][n(497)]=o+this[n(452)],this[n(380)](r),t[n(296)]((e=>{const t=n,r=this[t(505)](e);return r&&!this[t(454)][t(462)](r)}))[n(455)](((e,t)=>{const r=n;e[r(344)]=this[r(508)][r(497)]+t,this[r(375)](e)})),this[n(436)]()?(this[n(283)]=0,this[n(440)](!0),await this[n(352)]()):(this[n(268)]=!1,this[n(360)]())}[Uc(305)](e,t){const r=Uc,s=t&&t[r(367)];if(s&&s[r(350)](r(342)))throw t;const o=this[r(453)][r(404)][r(373)](ls);throw this[r(268)]=!0,o[r(516)](),this[r(453)][r(409)](r(354)),new n.CKEditorError(e,this[r(453)],s?{originalError:s}:void 0)}[Uc(375)](e){const t=Uc;this[t(405)][t(462)](e)||(this[t(405)][t(502)](e),this[t(293)][t(349)](e),this[t(341)]||t(278)==e[t(511)]&&!e[t(331)]||this[t(286)]())}[Uc(440)](e=!1){const t=Uc;!e&&this[t(268)]||(this[t(268)]=!0,clearTimeout(this[t(500)]),this[t(500)]=setTimeout((()=>{const e=t;this[e(478)]()[e(277)]((t=>{const n=e;t&&(this[n(360)](),this[n(268)]=!1)}))[e(314)]((t=>{const n=e;this[n(360)](),this[n(268)]=!1,function(e){const t=n;return e[t(367)][t(350)](t(325))||e[t(367)][t(350)](t(477))||e[t(367)][t(350)](t(418))}(t)||this[n(305)](t[n(367)],t)}))}),this[t(283)]))}[Uc(352)](){return new Promise((e=>{const t=Bc;this.on(t(504),(()=>{e()}))}))}async[Uc(478)](){const e=Uc,t=this[e(453)][e(404)][e(373)](Es);if(this[e(524)]()&&(t[e(266)](),this[e(359)]=!1),!this[e(436)]())return!0;const n=[...this[e(293)]];for(const t of n)t[e(328)]=this[e(508)][e(526)][e(427)](t);const r=this[e(319)][e(346)](n),s=Jc++,o=this[e(408)](n),i=await this[e(457)][e(463)](o,o[e(344)],r);try{return await this[e(351)](n,i,s)}catch(t){return this[e(305)](e(465),t)}}async[Uc(351)](e,t,n){const r=Uc;if(r(519)in t)throw t[r(519)];let s=!1;if(t[r(450)]){t[r(320)]&&(this[r(274)]=t[r(320)]),this[r(293)]=this[r(293)][r(296)]((t=>!e[r(518)](t)));for(const n of e)n[r(411)]=r(304)in t&&t[r(304)]||void 0;Yc(e,t[r(497)]-e[r(324)]),this[r(380)](e);const n=e[r(296)]((e=>{const t=r;if(!e[t(394)])return!1;const n=this[t(505)](e);return n&&!this[t(454)][t(462)](n)}));Yc(n,this[r(508)][r(497)]),this[r(489)](n),s=!0,this[r(283)]=this[r(449)]}else{const e=this[r(472)](t[r(294)],t[r(506)])[r(296)]((e=>e[r(344)]>=this[r(494)]));e[r(455)]((e=>this[r(429)](e))),this[r(293)]=this[r(293)][r(296)]((e=>!e[r(394)]||!this[r(454)][r(462)](this[r(505)](e)))),this[r(293)][r(324)]&&Yc(this[r(293)],this[r(293)][0][r(344)]),await this[r(372)](e),s=this[r(482)](e,t[r(497)],t[r(320)]),this[r(283)]=Math[r(386)](this[r(283)]/2)}return s?!this[r(436)]()||(this[r(440)](!0),!1):this[r(305)](r(413))}[Uc(482)](e,t,n){const r=Uc;try{const o={document:this[r(508)],useRelations:!1,padWithNoOps:!0},{operationsA:i,operationsB:a,originalOperations:c}=(0,s.transformSets)(e,this[r(293)],o);Yc(i,this[r(508)][r(497)]),Yc(a,t);for(const e of i){const t=c[r(373)](e);e[r(289)]=t?t[r(289)]:null}n&&(this[r(319)][r(276)](e,n),this[r(274)]=n),this[r(293)]=[...a],this[r(489)](i),this[r(380)](e)}catch(e){return console[r(519)](e),!1}return!0}[Uc(489)](e,t=!1){const n=Uc;this[n(453)][n(389)][n(343)]({isUndoable:!1,isLocal:!1},(t=>{const r=n;for(const n of e)this[r(405)][r(502)](n),this[r(429)](n),t[r(490)][r(410)](n),this[r(453)][r(389)][r(523)](n)}))}[Uc(429)](e){const t=Uc,n=this[t(505)](e);n&&this[t(454)][t(502)](n)}[Uc(505)](e){const t=Uc;let n,r;switch(e[t(511)]){case t(295):n=e[t(398)][t(364)];break;case t(278):if(r=e[t(290)],!r)return null;n=r[t(364)];break;case t(428):n=e[t(364)];break;case t(383):n=e[t(377)];break;case t(471):n=e[t(306)][t(364)];break;default:return null}return n[t(387)]}[Uc(380)](e){const t=Uc;e[t(455)]((e=>{const n=t,r=e[n(308)]();r[n(289)]=e[n(289)],r[n(394)]=!!e[n(394)],r[n(411)]=e[n(411)],r[n(344)]+=this[n(452)],e[n(485)]&&this[n(273)][n(502)](r),this[n(312)][n(410)](r)}))}[Uc(473)](e){const t=Uc,n=this[t(453)][t(404)][t(373)](t(316)),r=this[t(453)][t(492)];e||(e=xs(r,t(442))),n[t(378)](e,{title:xs(r,t(366)),namespace:t(280)}),this[t(348)]=!0,clearTimeout(this[t(500)]),this[t(293)]=[],this[t(453)][t(404)][t(373)](ls)[t(516)]()}[Uc(286)](){const e=Uc;this[e(341)]||(this[e(341)]=this[e(453)][e(404)][e(373)](t.PendingActions)[e(502)](xs(this[e(453)][e(492)],e(480))))}[Uc(360)](){const e=Uc;this[e(341)]&&(this[e(453)][e(404)][e(373)](t.PendingActions)[e(406)](this[e(341)]),this[e(341)]=null)}[Uc(408)](e){const t=Uc,n=e[t(425)]((e=>e[t(520)]()));return this[t(309)][t(461)](n)}[Uc(472)](e,t){const n=Uc;return this[n(309)][n(517)](e)[n(425)](((e,r)=>{const o=n,i=o(291)==t[r][o(511)];if(o(340)==e[o(323)]){const t=e[o(398)][o(364)];!this[o(508)][o(368)](t)&&(this[o(508)][o(396)](o(447),t)[o(448)]=!1)}const a=s.OperationFactory[o(515)](e,this[o(508)]);return a[o(328)]=e[o(328)],a[o(394)]=i,a[o(289)]=i?null:t[r][o(281)],a[o(485)]=o(467)===t[r][o(511)],a[o(411)]=t[r][o(411)],a}))}[Uc(510)](){const e=Uc;this[e(359)]=!0,this[e(524)]()?this[e(440)]():this[e(359)]=!1}[Uc(524)](){const e=Uc,t=this[e(453)][e(404)][e(373)](ys)[e(339)][e(373)](this[e(358)]);return!this[e(453)][e(438)]&&!!t&&t[e(324)]>1&&this[e(359)]}[Uc(436)](){const e=Uc;return this[e(293)][e(324)]>0||this[e(524)]()}}qc[Uc(369)]=br;const Gc=qc;class Lc extends Error{}function Yc(e,t){const n=Uc;for(const r of e)r[n(344)]=t++}function zc(){const e=["off","getOperationAuthor","offset","getOperations","reconnect","loadRoot","collaboration.channelId","lastOperationAcceptedAt","_crash","targetPosition","config","clone","_compressor","13eMSIMX","suppressErrorInCollaboration","serverHistory","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","catch","_loadRoot","Notification","listenTo","document","_operationIdentifier","lastOperationId","destroy","selection","__className","length","cloud-services-internal-error: Not connected.","realtimecollaborationclient-init-service-incorrect-server-operation","code","wasUndone","unregister","1UjZzKp","affectsData","sessionAdd:","createPositionAt","connection","path","486117hcHSVt","connect","CommentsOnly","channelSessions","InsertOperation","_pendingAction","realtimecollaborationclient","enqueueChange","baseVersion","ready","getIdOfTheLastOperation","sessionId","_hasSynchronizationProblem","push","startsWith","_handleServerResponse","_waitUntilSynced","directChange","realtimecollaborationclient-error","_handleReconnectionResponse","realtimecollaborationclient-init-non-existent-root","stop","_channelId","_hasSelectionChanged","_clearPendingAction","end","bind","reconnection: flushed session","root","parse","Synchronization issue","message","getRoot","CollaborativeEditingService","lastSyncVersion","high","_fetchMissingUsers","get","change:_isEditingAllowed","_saveOperationInBuffer","realtimecollaborationclient-init-session-connection-error","affectedSelectable","showWarning","getConnectedSessions","_updateServerHistory","rootsAttributes","rtc-destroyed","addRoot","_isEditingAllowed","_initSessionsHandling","round","rootName","fire","model","realtimecollaborationclient-init-connection-failed","realtimecollaborationclient-init-service-internal-error","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","change:hasDomSelection","_isInit","getMany","createRoot","404","position","editing","cloudDocumentVersion","_handleInitialConnectionData","_connectService","104ZKTMKS","plugins","_knownOperations","remove","initData","_compressOperations","enableReadOnlyMode","addOperation","createdAt","collaboration","realtimecollaborationclient-handleserverresponse","differ","_connectAfterSessionHasBeenFlushed","_setUpDataInit","mySessionId","cloud-services-internal-error: Request timeout.","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","_isConnected","register","isPremiumPlugin","39880XlqRKh","_bufferRootLoad","map","224735REaIpS","isUndoneOperation","addRootAttribute","_addKnownRoot","collaboration-missing-channelid","size","slice","_operationToId","addToReconnectionStack","283703ERnkLe","_shouldSendUpdate","RealTimeCollaborationClient","isReadOnly","permissions","_sendBufferedOperationsDelayed","409","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","isEnabled","finally","markers","addUser","$root","_isAttached","_baseBufferDelay","wereChangesApplied","document:write","_offset","editor","_knownRootNames","forEach","change:range","_service","reset","start","multi-root-editor-root-attributes-no-root","compress","has","sendOperations","isOfficialPlugin","realtimecollaborationclient-sendbufferedoperations","string","cs:removeUser","Permissions","apply","pluginName","move","_decompressOperations","_handleReconnectionError","set","view","getUser","cloud-services-internal-error: Collaborative Editing Service is not connected.","_sendBufferedOperations","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","PENDING_ACTION_SENDING_DATA","lastDocumentSession","_handleExternalOperations","_disconnectService","disableReadOnlyMode","_isDisconnection","_isLoaded","realtimecollaborationclient-init-document-already-initialized","1771plWHQS","_applyOperationsSet","batch","sessionCreatedAt","locale","_handleSendingSelectionMarkers","_lastServerVersion","_ignoredOperations","88hRbcNY","version","_handleReceivedOperations","removeFromReconnectionStack","_sendBufferedOperationsDelayId","roots","add","define","change:_isPendingUpdate","_getAffectedRoot","metadata","_getOperationsFromInitData","_document","cloudServices.bundleVersion","_refreshUserSelectionMarkers","type","1947708lGbjlI","setPermissions","rtc-offline","fromJSON","disconnect","decompress","includes","error","toJSON","connected","_initThrowingOnDataSet","applyOperation","_shouldSendSelectionUpdate","stopListening","history","keys","from","isDocumentOperation","state","createUserMarkerOperations","5531388Nwwckm","_isPendingUpdate","1693894PGMuEh","createPositionFromPath","disconnected","entries","_disconnectionOperations","_lastSyncedOperationId","currentDocumentSession","setIdForTheLastOperation","then","marker","createRange","real-time-collaboration","userId","return","_currentBufferDelay","attributes","96PDfisL","_setPendingAction","requires","getDocumentDetails","_authorId","newRange","init","operationsReceived","_bufferedOperations","data","insert","filter"];return(zc=function(){return e})()}class Hc{constructor(e){const t=Uc;this[t(495)]=e,this[t(433)]=new WeakMap}[Uc(346)](e){const t=Uc;let r=e[t(324)];for(;r--;){const s=e[r];if(!this[t(495)][t(462)](s)){if(!this[t(433)][t(462)](s)){const e=(0,n.uid)()[t(432)](1,18);this[t(433)][t(474)](s,e)}return this[t(433)][t(373)](s)}}}[Uc(276)](e,t){const n=Uc;if(!t)return;let r=e[n(324)];for(;r--;){const s=e[r];this[n(495)][n(462)](s)||this[n(433)][n(474)](s,t)}}}function Fc(e,t){var n=Xc();return(Fc=function(e,t){return n[e-=481]})(e,t)}var Kc=Fc;!function(e){for(var t=Fc,n=e();;)try{if(205139===-parseInt(t(484))/1*(-parseInt(t(485))/2)+-parseInt(t(492))/3*(parseInt(t(494))/4)+parseInt(t(488))/5+-parseInt(t(495))/6+parseInt(t(486))/7+parseInt(t(489))/8*(parseInt(t(493))/9)+-parseInt(t(490))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xc);class Wc extends t.Plugin{static get[Kc(491)](){return[Gc]}static get[Kc(481)](){return Kc(487)}static get[Kc(483)](){return!0}static get[Kc(482)](){return!0}}function Xc(){var e=["isPremiumPlugin","isOfficialPlugin","1tOepth","333466yIeLPg","2471350iYszVA","RealTimeCollaborativeEditing","49285EPtKyK","231576MsScOY","1080990hhKeKD","requires","61275YarrUO","72iXjJBr","40TNnUFl","1462368qaMGDn","pluginName"];return(Xc=function(){return e})()}const $c=ed;function Qc(){const e=["catch","context","commentAdded","cloudservicescommentsadapter-disconnect-not-exist","addToReconnectionStack","message","listenTo","316488VCJmrb","addComment","Permissions","createdAt","commentThreadRemoved","update","getConnectedSessions","removeComment","removeCommentThread","collaboration.channelId","add","connect","commentThreadUpdated","updateCommentThread","pluginName","3330855IMDnwG","cloud-services-internal-error: Request timeout.","reopen","permissions","addUser","commentId","updateComment","resolve","getComment","commentThreadResolved","cloudservicescommentsadapter-connect-already-connected","config","_terminateService","destroy","CommentsService","requires","cloud-services-internal-error: Not connected.","isPremiumPlugin","24knJZfA","remove","map","isOfficialPlugin","getCommentThread","cloudservicescommentsadapter-service-not-exist","unregister","_fetchMissingUsersForThreads","authorId","startsWith","plugins","userId","getCommentThreads","commentUpdated","_services","4999KjvbTG","off","commentThreadId","resolvedBy","register","3suroBU","_setUpService","CloudServicesCommentsAdapter","adapter","commentThreadReopened","addCommentThread","commentThreadAdded","getMany","assign","404","resolvedAt","deletedAt","_getService","code","sessionAdd:","744422pEMqEU","_connectService","291185DblTie","init","CommentsRepository","content","getUser","202qxzPzW","5587923PXYext","resolveCommentThread","set","keys","mySessionId","size","2560720fVchoi","attributes","commentRemoved","from","has","setPermissions","cloud-services-internal-error: Comments Service is not connected.","60TWjWdI","get","reopenCommentThread","reconnect","delete","comments","disconnect"];return(Qc=function(){return e})()}!function(e){const t=ed,n=e();for(;;)try{if(304629===parseInt(t(382))/1*(parseInt(t(409))/2)+parseInt(t(387))/3*(parseInt(t(437))/4)+-parseInt(t(404))/5*(parseInt(t(423))/6)+parseInt(t(402))/7*(-parseInt(t(367))/8)+parseInt(t(452))/9+-parseInt(t(416))/10+parseInt(t(410))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qc);class Zc extends t.ContextPlugin{static get[$c(467)](){return[ls,$c(406),ys,ps.Users]}static get[$c(451)](){return $c(389)}static get[$c(370)](){return!0}static get[$c(469)](){return!0}constructor(e){const t=$c;super(e),this[t(381)]=new Map}async[$c(405)](){const e=$c,n=this[e(431)],r=n[e(377)][e(424)](e(406));if(n[e(377)][e(424)](ls)[e(434)](this),r[e(390)]={addCommentThread:async({channelId:t,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=e,d=await this[c(399)](t)[c(392)]({commentThreadId:n,comments:r[c(369)]((e=>function(e,t,n){const r=c;return{commentThreadId:n,commentId:e[r(457)],userId:e[r(375)],content:e[r(407)],documentId:t,createdAt:e[r(440)],attributes:e[r(417)]||{}}}(e,t,n))),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(430)](rd);return{threadId:d[c(384)],comments:d[c(428)]}},getCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(399)](t)[r(371)](n)[r(430)](rd);return s[r(398)]?null:(await this[r(374)]([s]),{threadId:s[r(384)],comments:s[r(428)][r(369)](sd),context:s[r(431)],resolvedAt:s[r(397)],resolvedBy:s[r(385)],attributes:s[r(417)]||{}})},updateCommentThread:async({channelId:t,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[e(399)](t)[e(450)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[e(430)](nd)[e(430)](rd),resolveCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(399)](t)[r(411)](n)[r(430)](nd)[r(430)](rd);return{threadId:s[r(384)],resolvedAt:s[r(397)],resolvedBy:s[r(385)]}},reopenCommentThread:async({channelId:t,threadId:n})=>this[e(399)](t)[e(425)](n)[e(430)](nd)[e(430)](rd),removeCommentThread:({channelId:t,threadId:n})=>this[e(399)](t)[e(445)](n)[e(430)](nd)[e(430)](rd),addComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(399)](t)[e(438)](n,r,s,o)[e(430)](rd),updateComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(399)](t)[e(458)](n,r,s,o)[e(430)](nd)[e(430)](rd),removeComment:({channelId:t,threadId:n,commentId:r})=>this[e(399)](t)[e(444)](n,r)[e(430)](nd)[e(430)](rd)},n instanceof t.Context){const t=n[e(463)][e(424)](e(446)),r=n[e(377)][e(424)](ys);await this[e(388)](t);const s=await this[e(381)][e(424)](t)[e(443)]();this[e(436)](r,e(401)+t,((n,{session:s})=>{const o=e;s.id===r[o(414)]&&(n[o(383)](),this[o(431)][o(377)][o(424)](o(439))[o(421)](s[o(455)],t))})),r[e(386)](t,s)}}async[$c(388)](e){const t=$c;if(this[t(381)][t(420)](e))throw new n.CKEditorError(t(462),null,{channelId:e});const r=this[t(431)][t(377)][t(424)](t(406)),s=new(Zc[t(466)])(e);this[t(381)][t(412)](e,s),this[t(436)](s,t(393),((e,n)=>{const s=t,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=n;r[s(371)](o)||r[s(392)]({threadId:o,channelId:i,comments:l?l[s(369)](sd):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})})),this[t(436)](s,t(449),((e,{commentThreadId:n,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=t;r[c(371)](n)&&r[c(450)]({threadId:n,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})})),this[t(436)](s,t(461),((e,{commentThreadId:n,resolvedBy:s,resolvedAt:o})=>{const i=t,a=r[i(371)](n);a&&a[i(459)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})})),this[t(436)](s,t(391),((e,{commentThreadId:n})=>{const s=t,o=r[s(371)](n);o&&o[s(454)]({isFromAdapter:!0})})),this[t(436)](s,t(441),((e,{commentThreadId:n})=>{const s=t,o=r[s(371)](n);o&&o[s(368)]({isFromAdapter:!0})})),this[t(436)](s,t(432),((e,n)=>{const s=t,o=n[s(384)],i=r[s(371)](o);i&&i[s(438)]({...sd(n),isFromAdapter:!0})})),this[t(436)](s,t(380),((e,{commentThreadId:n,commentId:s,content:o,attributes:i})=>{const a=t,c=r[a(371)](n);if(c){const e=c[a(460)](s);e&&e[a(442)]({content:o,attributes:i,isFromAdapter:!0})}})),this[t(436)](s,t(418),((e,{commentThreadId:n,commentId:s})=>{const o=t,i=r[o(371)](n);if(i){const e=i[o(460)](s);e&&e[o(368)]({isFromAdapter:!0})}})),await this[t(403)](e)}[$c(465)](){const e=$c;if(this[e(431)]instanceof t.Context){const t=this[e(431)][e(463)][e(424)](e(446));this[e(464)](t)}}[$c(464)](e){const t=$c;if(!this[t(381)][t(420)](e))throw new n.CKEditorError(t(433),null,{channelId:e});this[t(399)](e)[t(429)](),this[t(381)][t(427)](e)}async[$c(426)](){const e=$c;for(const t of this[e(381)][e(413)]())await this[e(403)](t);if(this[e(431)]instanceof t.Context){const t=this[e(431)][e(463)][e(424)](e(446)),n=this[e(431)][e(377)][e(424)](ys);n[e(373)](t);const r=await this[e(381)][e(424)](t)[e(443)]();n[e(386)](t,r)}}async[$c(403)](e){const t=$c,{connection:n}=this[t(431)][t(377)][t(424)](ls),r=this[t(431)][t(377)][t(424)](t(406)),s=this[t(381)][t(424)](e),o=await s[t(448)](n);await this[t(374)](o);const i=new Set(Array[t(419)](r[t(379)]({channelId:e}),(e=>e.id)));for(const e of o)e[t(398)]||i[t(427)](e[t(384)]);for(const e of i)r[t(371)](e)[t(368)]({isFromAdapter:!0});for(const n of o){let s=r[t(371)](n[t(384)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[t(392)]({channelId:e,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const p=new Set(Array[t(419)](s[t(428)],(e=>e.id)));for(const e of n[t(428)])p[t(427)](e[t(457)]);for(const e of p)s[t(460)](e)[t(368)]({isFromAdapter:!0});for(const e of n[t(428)]){const n=s[t(460)](e[t(457)]);n?n[t(407)]!==e[t(407)]&&n[t(442)]({content:e[t(407)],isFromAdapter:!0}):s[t(438)](Object[t(395)](sd(e),{isFromAdapter:!0}))}}}[$c(399)](e){const t=$c;if(!this[t(381)][t(420)](e))throw new n.CKEditorError(t(372),null,{channelId:e});return this[t(381)][t(424)](e)}async[$c(374)](e){const t=$c,n=this[t(431)][t(377)][t(424)](ps.Users),{connection:r}=this[t(431)][t(377)][t(424)](ls),s=new Set;for(const{resolvedBy:r,comments:o}of e){r&&!n[t(408)](r)&&s[t(447)](r);for(const{userId:e}of o)n[t(408)](e)||s[t(447)](e)}if(0===s[t(415)])return;const o=await S[t(394)](r,Array[t(419)](s));for(const e of o)n[t(408)](e.id)||n[t(456)](e)}}function ed(e,t){const n=Qc();return(ed=function(e,t){return n[e-=367]})(e,t)}Zc[$c(466)]=is;const td=Zc;async function nd(e){const t=$c;if(t(396)!==e[t(400)])throw e}function rd(e){const t=$c;if((n=e)[t(435)][t(376)](t(422))||n[t(435)][t(376)](t(468))||n[t(435)][t(376)](t(453)))return new Promise((()=>{}));var n;throw e}function sd(e){const t=$c;return{threadId:e[t(384)],commentId:e[t(457)],content:e[t(407)],createdAt:e[t(440)],authorId:e[t(378)],attributes:e[t(417)]||{}}}const od=ad;function id(){const e=["connection","addSuggestionData","isOfficialPlugin","values","from","config","state","_saved","24668PflsLP","1KbvmNZ","cloud-services-internal-error: Not connected.","CloudServicesTrackChangesAdapter","isConnected","attributes","1984kFAdIc","adapter","addToReconnectionStack","plugins","pluginName","update","connect","isPremiumPlugin","startsWith","reconnect","listenTo","message","delete","addUser","set","originalSuggestionId","catch","_trackChangesService","connected","find","getMany","_waitForServiceReady","add","then","type","4136160lYbBox","requires","TrackChangesEditing","size","2081838ZYISnK","editor","hasSuggestion","getSuggestion","1595960fbobxx","open","9235323RvHTUW","_bufferedRequests","suggestionUpdated","get","TrackChangesService","off","6MGizWZ","1081712btrIBG","data","cloud-services-internal-error: Request timeout.","collaboration.channelId","3556035chgeVv","_fetchMissingUsersForThreads","init","getUser"];return(id=function(){return e})()}function ad(e,t){const n=id();return(ad=function(e,t){return n[e-=397]})(e,t)}!function(e){const t=ad,n=e();for(;;)try{if(672921===parseInt(t(422))/1*(parseInt(t(405))/2)+-parseInt(t(404))/3*(parseInt(t(460))/4)+parseInt(t(409))/5+-parseInt(t(456))/6+parseInt(t(421))/7*(-parseInt(t(427))/8)+parseInt(t(398))/9+parseInt(t(452))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(id);class cd extends t.Plugin{static get[od(453)](){return[td,od(454),ls]}static get[od(431)](){return od(424)}static get[od(415)](){return!0}static get[od(434)](){return!0}constructor(e){const t=od;super(e);const n=this[t(457)][t(418)][t(401)](t(408));this[t(399)]=new Map,this[t(444)]=new(cd[t(402)])(n)}[od(411)](){const e=od,t=this[e(457)][e(430)][e(401)](ls),n=this[e(457)][e(430)][e(401)](e(454));return n[e(428)]={getSuggestion:async t=>{const n=e;await this[n(448)]();const r=await this[n(444)][n(401)](t)[n(443)](ud);return await this[n(410)]([r]),r},addSuggestion:async({id:t,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=e;await this[i(448)]();const a={id:t,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(444)][i(449)](t,n,r,s,o)[i(443)]((e=>{if(ld(e))return new Promise((e=>{const n=ad;this[n(399)][n(441)](t,{resolve:e,suggestionData:a})}));throw e}));return this[i(399)][i(439)](t),c},updateSuggestion:async(t,n)=>{const r=e;if(await this[r(448)](),r(397)!==n[r(419)])return this[r(444)][r(432)](t,n)[r(443)](ud)}},this[e(437)](this[e(444)],e(400),((t,r)=>{const s=e;n[s(458)](r.id)&&(n[s(459)](r.id)[s(426)]=r[s(426)])})),this[e(444)][e(433)](t[e(413)])[e(450)]((r=>(t[e(429)](this),this[e(410)](r)[e(450)]((()=>{const t=e;for(const e of r)n[t(414)](e)[t(420)]=!0})))))}async[od(436)](){const e=od,t=this[e(457)][e(430)][e(401)](e(454)),{connection:n}=this[e(457)][e(430)][e(401)](ls),r=await this[e(444)][e(433)](n);await this[e(410)](r);for(const{suggestionData:t,resolve:n}of this[e(399)][e(416)]()){let s=r[e(446)]((e=>e.id===t.id));s||(s=await this[e(444)][e(449)](t.id,t[e(451)],t[e(406)],t[e(442)])),n(s)}for(const n of r)t[e(458)](n.id)||t[e(414)](n)}async[od(448)](){const e=od;this[e(444)][e(425)]||await new Promise((t=>{const n=e;this[n(437)](this[n(444)],n(445),(e=>{e[n(403)](),t()}))}))}async[od(410)](e){const t=od,n=this[t(457)][t(430)][t(401)](ps.Users),{connection:r}=this[t(457)][t(430)][t(401)](ls),s=new Set;for(const{authorId:r}of e)n[t(412)](r)||s[t(449)](r);if(0===s[t(455)])return;const o=await S[t(447)](r,Array[t(417)](s));for(const e of o)n[t(412)](e.id)||n[t(440)](e)}}cd[od(402)]=Vn;const dd=cd;function ud(e){if(ld(e))return new Promise((()=>{}));throw e}function ld(e){const t=od;return e[t(438)][t(435)](t(423))||e[t(438)][t(435)](t(407))}function pd(){const e=["connected","78MWHrcG","13939740FqNwpR","config","64mVuxzU","3132780FHVbgt","CommentsRepository","11cpBtcj","880947HouXbB","data","pluginName","ready","editor","isOfficialPlugin","22520136MPmXsR","RealTimeCollaborativeComments","2804488RkFWcq","collaboration.channelId","464527cfLaIz","plugins","_terminateService","Comments","once","10iBRKTo","4rzsrpW","isPremiumPlugin","change:state","_setUpService","listenTo","switchReadOnly","requires","CommentsEditing","destroy","923834oNKINF","get","isThreadsLoadingPaused","init"];return(pd=function(){return e})()}const hd=fd;function fd(e,t){const n=pd();return(fd=function(e,t){return n[e-=393]})(e,t)}!function(e){const t=fd,n=e();for(;;)try{if(943891===-parseInt(t(398))/1*(-parseInt(t(426))/2)+parseInt(t(407))/3+parseInt(t(418))/4*(parseInt(t(425))/5)+-parseInt(t(403))/6*(parseInt(t(420))/7)+parseInt(t(406))/8*(parseInt(t(410))/9)+-parseInt(t(404))/10+-parseInt(t(409))/11*(parseInt(t(416))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pd);class md extends t.Plugin{static get[hd(395)](){return[hd(423),td,Wc,ls]}static get[hd(412)](){return hd(417)}static get[hd(415)](){return!0}static get[hd(427)](){return!0}[hd(401)](){const e=hd,t=this[e(414)][e(421)][e(399)](ls),n=this[e(414)][e(421)][e(399)](e(396)),r=this[e(414)][e(421)][e(399)](td);return this[e(414)][e(411)][e(424)](e(413),(()=>{const r=e;this[r(393)](t,r(428),((e,t,s)=>{const o=r;n[o(400)]=o(402)!==s}))})),this[e(393)](t,e(428),((t,n,r)=>{const s=e;this[s(414)][s(421)][s(399)](s(408))[s(394)](s(402)!==r)})),r[e(429)](this[e(414)][e(405)][e(399)](e(419)))}[hd(397)](){const e=hd;this[e(414)][e(421)][e(399)](td)[e(422)](this[e(414)][e(405)][e(399)](e(419))),super[e(397)]()}}function yd(){var e=["6aYxuwI","1228916HSZPaL","120rGLaGm","126204XrTwzz","21cjbHDm","isPremiumPlugin","pluginName","806bVrkPf","1267840sJtJHG","9GOHDfZ","requires","TrackChanges","115604eEhKEA","466840cJrYWg","isOfficialPlugin","1040892DMjinq","RealTimeCollaborativeTrackChanges","58640UTznXE","531MhspsP"];return(yd=function(){return e})()}var gd=bd;function bd(e,t){var n=yd();return(bd=function(e,t){return n[e-=332]})(e,t)}!function(e){for(var t=bd,n=e();;)try{if(314886===-parseInt(t(347))/1*(-parseInt(t(350))/2)+parseInt(t(338))/3*(parseInt(t(339))/4)+parseInt(t(346))/5+-parseInt(t(334))/6*(-parseInt(t(342))/7)+-parseInt(t(336))/8*(parseInt(t(337))/9)+parseInt(t(340))/10*(-parseInt(t(332))/11)+parseInt(t(341))/12*(-parseInt(t(345))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yd);class Od extends t.Plugin{static get[gd(348)](){return[md,dd,gd(349)]}static get[gd(344)](){return gd(335)}static get[gd(333)](){return!0}static get[gd(343)](){return!0}}const wd=vd;function vd(e,t){const n=Pd();return(vd=function(e,t){return n[e-=166]})(e,t)}!function(e){const t=vd,n=e();for(;;)try{if(926650===parseInt(t(197))/1*(parseInt(t(243))/2)+-parseInt(t(274))/3+-parseInt(t(190))/4+parseInt(t(167))/5*(parseInt(t(244))/6)+-parseInt(t(225))/7+parseInt(t(266))/8*(-parseInt(t(257))/9)+parseInt(t(173))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Pd);class Id extends t.Plugin{static get[wd(206)](){return[ls,Gc,wd(247),ys,ps.Users]}static get[wd(215)](){return wd(183)}static get[wd(230)](){return!0}static get[wd(175)](){return!0}constructor(e){const t=wd;super(e);const n=this[t(211)][t(250)][t(224)](t(213));this[t(204)]=null,this[t(219)]=this[t(211)][t(217)][t(224)](t(247)),this[t(264)]=new(Id[t(240)])(n)}async[wd(191)](){const e=wd,t=this[e(211)][e(217)][e(224)](Gc),r=t[e(218)],s=this[e(211)][e(217)][e(224)](ls);this[e(219)][e(267)]({history:r,getLatestVersion:()=>this[e(203)](),getCurrentRevisionId:()=>t[e(258)]});const o=this[e(211)][e(250)][e(224)](e(255))||n.version,i=await zt[e(222)](s[e(182)],o);this[e(219)][e(263)]={getRevision:async({revisionId:t})=>(await this[e(245)](),await this[e(264)][e(261)](t)),updateRevisions:async t=>{const n=e;await this[n(245)]();const r=this[n(219)][n(279)];if(i&&1===t[n(239)]&&t[0].id===r.id)return t;for(const e of t)e.id===r.id&&(e[n(241)]=e[n(189)]===e[n(192)]);return this[n(264)][n(227)](t,this[n(204)])[n(205)]((e=>(this[n(204)]=e,t)))[n(212)]((e=>{const r=n;if(kd(e)||r(179)===e[r(185)]&&void 0!==e[r(268)][r(228)]){for(const e of t)!this[r(219)][r(278)][r(261)](e.id)||this[r(219)][r(260)](e.id,e,!1);if(kd(e))throw e;return t}throw e}))}},this[e(181)](this[e(264)],e(280),((t,{revisionsData:n,requestId:r})=>{const s=e;Math[s(171)](...n[s(246)]((e=>e[s(192)])))>this[s(176)]()-1?this[s(203)]()[s(205)]((()=>{this[s(235)](n,r)})):this[s(235)](n,r)}));const{revisions:a,requestId:c}=await this[e(264)][e(200)](s[e(182)]);s[e(214)](this),this[e(204)]=c,await this[e(199)](a);for(const t of a)this[e(219)][e(254)](t);this[e(181)](t,e(233),((n,r,s)=>{const o=e;s&&(this[o(251)]=t[o(186)],n[o(223)]())})),this[e(219)][e(209)](e(236)).to(s,e(202),(t=>t===Mt[e(238)]))}async[wd(201)](){const e=wd,t=this[e(211)][e(217)][e(224)](ls),n=this[e(211)][e(217)][e(224)](Gc),r=async()=>{const r=e,s=this[r(219)][r(279)],o=s.id,i=o!==n[r(258)];if(i){const e=n[r(186)]-this[r(251)],t=this[r(176)]();if(this[r(219)][r(271)][r(210)](),s[r(192)]+e!==t){const n=s[r(189)]+e,o=this[r(211)][r(217)][r(224)](ps.Users),i=this[r(219)][r(231)]({revision:s,from:n,to:t});i.id=s.id;const a=i[r(229)][r(246)]((e=>o[r(273)](e)));s[r(237)]({...i,authors:a},!0),this[r(219)][r(260)](s.id,i,!0)}this[r(219)][r(249)]=t,s[r(192)]===s[r(189)]&&!this[r(219)][r(265)][r(226)](o)&&this[r(219)][r(278)][r(208)][r(178)](o),this[r(219)][r(221)](t)}const{revisions:a,requestId:c}=await this[r(264)][r(201)](t[r(182)],this[r(204)]);i&&a[r(239)]>0?n[r(262)]():(await this[r(199)](a),this[r(235)](a,c),this[r(219)][r(270)]())};return n[e(269)]?r():new Promise(((t,s)=>{const o=e;n[o(207)](o(233),(()=>{const e=o;r()[e(205)](t)[e(212)](s)}))}))}[wd(168)](){super[wd(168)]()}async[wd(245)](){const e=wd;this[e(264)][e(248)]||await new Promise((t=>{const n=e;this[n(181)](this[n(264)],n(272),(e=>{e[n(223)](),t()}))}))}[wd(176)](){const e=wd,t=this[e(211)][e(217)][e(224)](Gc)[e(218)][e(170)]()[e(253)]();for(const n of t)if(e(198)!==n[e(234)]||n[e(242)])return n[e(277)]+1}[wd(203)](){const e=wd,t=this[e(211)][e(217)][e(224)](Gc);return new Promise((n=>{const r=e;t[r(196)]?t[r(207)](r(169),(()=>{n(this[r(176)]())})):n(this[r(176)]())}))}[wd(235)](e,t){const n=wd,r=this[n(219)][n(278)];this[n(204)]=t;for(const t of e){const e=r[n(261)](t.id);if(e){if((t[n(189)]||t[n(192)])&&(t[n(276)]=null),e===this[n(219)][n(279)]){const r=Math[n(171)](e[n(192)],t[n(192)]),s=Math[n(171)](e[n(189)],t[n(189)]);let o;e[n(192)]===t[n(192)]&&e[n(189)]===t[n(189)]?(o=!0,this[n(232)](t)):t[n(192)]===r&&t[n(189)]===s?o=!1:(e[n(192)]===r&&e[n(189)]===s||this[n(194)]({revision:e,from:s,to:r}),o=!0),o&&(delete t[n(189)],delete t[n(192)],delete t[n(276)],delete t[n(172)],delete t[n(229)])}this[n(219)][n(184)](t),this[n(232)](t)}else this[n(219)][n(254)](t)}const s=r[n(180)]();s[n(253)]();for(let e=0;e<s[n(239)]-1;e++){const t=s[e],r=s[e+1];if(t[n(189)]<r[n(192)]){const e=r[n(192)],s=Math[n(171)](e,t[n(192)]);this[n(194)]({revision:t,from:e,to:s})}}}[wd(194)]({revision:e,from:t,to:n}={}){const r=wd,s=this[r(211)][r(217)][r(224)](ps.Users),o=this[r(219)][r(231)]({revision:e,from:t,to:n});o[r(193)]=o[r(229)][r(246)]((e=>s[r(273)](e))),e[r(237)](o)}[wd(232)](e){const t=wd,n={};n.id=e.id;for(const r of Object[t(166)](e))"id"!==r&&(n[r]=void 0);this[t(219)][t(260)](n.id,n,!0)}async[wd(199)](e){const t=wd,n=this[t(211)][t(217)][t(224)](ps.Users),{connection:r}=this[t(211)][t(217)][t(224)](ls),s=new Set;for(const n of e){for(const e of n[t(229)])i(e);n[t(252)]&&i(n[t(252)])}if(0===s[t(259)])return;const o=await S[t(188)](r,Array[t(195)](s));for(const e of o)n[t(273)](e.id)||n[t(187)](e);function i(e){const r=t;n[r(273)](e)||s[r(216)](e)}}}Id[wd(240)]=ln;const Sd=Id;function Pd(){const e=["_getLatestVersionFromServerOperations","cloud-services-internal-error: Revision History Service is not connected.","remove","400","getRevisions","listenTo","connection","CloudServicesRevisionHistoryAdapter","setRevisionData","code","_offset","addUser","getMany","fromVersion","5537308FfOkMj","init","toVersion","authors","_fixRevision","from","_isPendingUpdate","923dHZgMw","marker","_fetchMissingUsers","connect","reconnect","state","_getLatestVersion","_lastRequestId","then","requires","once","_revisions","bind","reInit","editor","catch","collaboration.channelId","addToReconnectionStack","pluginName","add","plugins","serverHistory","_revisionTracker","cloud-services-internal-error: Request timeout.","_createCurrentRevision","isBundleUploaded","off","get","4457663kVPUeQ","has","updateRevisions","wrongRequestId","authorsIds","isOfficialPlugin","buildRevisionData","_preventResendingRevisionData","change:_isConnected","type","_handleRevisionsUpdate","isEnabled","_update","CONNECTED","length","RevisionHistoryService","isEmptyCurrent","affectsData","470ZhyqoX","1314ftvxDo","_waitForServiceReady","map","RevisionTracker","isConnected","_startingVersion","config","_oldOffset","creatorId","reverse","addRevisionData","cloudServices.bundleVersion","startsWith","725787FuqevA","sessionId","size","_bufferUpdate","getRevision","_handleReconnectionError","adapter","_revisionHistoryService","_bufferedUpdates","48AsrZza","setSource","data","_isConnected","sendBufferedUpdates","_revisionDataBuilder","connected","getUser","3121218CNGmqd","cloud-services-internal-error: Not connected.","diffData","baseVersion","repository","currentRevision","revisionsUpdated","keys","16325VPqksz","destroy","change:_isPendingUpdate","getOperations","max","createdAt","35401100JRdCMe","message","isPremiumPlugin"];return(Pd=function(){return e})()}function kd(e){const t=wd;return e[t(174)][t(256)](t(177))||e[t(174)][t(256)](t(275))||e[t(174)][t(256)](t(220))}function Ad(){var e=["RevisionHistory","RealTimeCollaborativeRevisionHistory","9390NgzCer","isOfficialPlugin","2431984JdBsan","isPremiumPlugin","439886aCDumi","1108390JgMlsL","630048lRQiGn","143974EbzVoU","875ReABHE","requires","1118492laEAuH","pluginName"];return(Ad=function(){return e})()}var _d=Td;function Td(e,t){var n=Ad();return(Td=function(e,t){return n[e-=202]})(e,t)}!function(e){for(var t=Td,n=e();;)try{if(152223===parseInt(t(202))/1+parseInt(t(213))/2+-parseInt(t(215))/3+-parseInt(t(205))/4+-parseInt(t(214))/5+parseInt(t(209))/6*(parseInt(t(203))/7)+parseInt(t(211))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ad);class Cd extends t.Plugin{static get[_d(204)](){return[_d(207),Sd,Wc]}static get[_d(206)](){return _d(208)}static get[_d(210)](){return!0}static get[_d(212)](){return!0}}var jd=Function.prototype,Ed=Object.prototype,Dd=jd.toString,Rd=Ed.hasOwnProperty,xd=Dd.call(Object);const Nd=function(e){if(!oi(e)||"[object Object]"!=lo(e))return!1;var t=oa(e);if(null===t)return!0;var n=Rd.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Dd.call(n)==xd};const Vd=function(e){return oi(e)&&1===e.nodeType&&!Nd(e)};function Md(){const e=["223900jIxwEM","5neRjYX","2259952PwTifB","7nvUHCk","CONNECTED_USERS","1384PWzrHx","isHidden","56196tusPJk","ck-presence-list__counter","12062036mlRzTQ","usersCount","3172674ghRYrb","set","div","311386hgCrWH","ck-presence-list__counter--hidden","bindTemplate","812820ovmvqL","setTemplate"];return(Md=function(){return e})()}function Ud(e,t){const n=Md();return(Ud=function(e,t){return n[e-=491]})(e,t)}!function(e){const t=Ud,n=e();for(;;)try{if(940182===-parseInt(t(505))/1*(parseInt(t(497))/2)+parseInt(t(500))/3+parseInt(t(504))/4+-parseInt(t(503))/5*(-parseInt(t(494))/6)+parseInt(t(492))/7+parseInt(t(507))/8*(-parseInt(t(509))/9)+parseInt(t(502))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Md);class Bd extends r.View{constructor(e){const t=Ud;super(e);const n=this[t(499)];this[t(495)](t(493),0),this[t(495)](t(508),!0),this[t(501)]({tag:t(496),attributes:{class:["ck",t(491),n.if(t(508),t(498))]},children:[{text:n.to(t(493),(n=>xs(e,t(506),n)))}]})}}const Jd=qd;function qd(e,t){const n=Gd();return(qd=function(e,t){return n[e-=349]})(e,t)}function Gd(){const e=["listenTo","1098hAUKxS","render","3722912RaDLaf","isExpanded","change:hasPopup","list","keystrokes","element","hasPopup","915942zbDMOG","items","removeAttribute","setTemplate","div","focus","44FCuurT","Connected users list","18739468PEqpqy","2TUlfYR","bindTemplate","createCollection","12jnQgKb","fire","execute","125341MUEDdH","Collapsed connected users list (press ENTER to open it)","aria-expanded","ck-presence-list__list","302230KmcWCM","3043726SebhAe","set","setAttribute","9790AWmlGR"];return(Gd=function(){return e})()}!function(e){const t=qd,n=e();for(;;)try{if(734083===parseInt(t(374))/1*(parseInt(t(368))/2)+-parseInt(t(359))/3+-parseInt(t(365))/4*(-parseInt(t(378))/5)+-parseInt(t(371))/6*(parseInt(t(379))/7)+-parseInt(t(352))/8+parseInt(t(350))/9*(-parseInt(t(382))/10)+parseInt(t(367))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gd);class Ld extends r.View{constructor(e){const t=qd;super(e);const r=this[t(369)];this[t(360)]=this[t(370)](),this[t(356)]=new n.KeystrokeHandler,this[t(380)]({hasPopup:!1,isExpanded:!1}),this[t(362)]({tag:t(363),attributes:{"aria-haspopup":r.if(t(358)),"aria-expanded":r.to(t(353),(e=>this[t(358)]&&String(e))),"aria-label":r.to(t(358),(n=>xs(e,t(n?375:366)))),role:t(355),tabindex:r.to(t(358),(e=>!!e&&0)),class:["ck",t(377)]},children:this[t(360)],on:{click:r.to((()=>this[t(372)](t(373))))}}),this.on(t(354),((e,n,r)=>{const s=t;this[s(357)]&&(r?this[s(357)][s(381)](s(376),String(this[s(353)])):this[s(357)][s(361)](s(376)))}))}[Jd(364)](){const e=Jd;this[e(357)][e(364)]()}[Jd(351)](){const e=Jd;super[e(351)](),this[e(356)][e(349)](this[e(357)])}}var Yd=__webpack_require__(106),zd={attributes:{"data-cke":!0}};zd.setAttributes=Ps(),zd.insert=Is().bind(null,"head"),zd.domAPI=ws(),zd.insertStyleElement=As();bs()(Yd.A,zd);Yd.A&&Yd.A.locals&&Yd.A.locals;function Hd(e,t){const n=Kd();return(Hd=function(e,t){return n[e-=173]})(e,t)}!function(e){const t=Hd,n=e();for(;;)try{if(865212===-parseInt(t(197))/1+-parseInt(t(200))/2+parseInt(t(179))/3*(parseInt(t(187))/4)+parseInt(t(201))/5*(parseInt(t(199))/6)+-parseInt(t(191))/7*(-parseInt(t(186))/8)+parseInt(t(177))/9+-parseInt(t(180))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Kd);class Fd extends r.View{constructor(e){const t=Hd;super(e);const n=this[t(182)];this[t(190)](t(196),!0),this[t(192)]=new Bd(this[t(183)]),this[t(185)]=new Ld(e),this[t(185)][t(175)](t(189)).to(this,t(196)),this[t(174)](this[t(185)][t(178)],t(198),(()=>{const e=t;for(const t of this[e(185)][e(178)])t[e(181)]="s";this[e(185)][e(178)][e(193)]&&(this[e(185)][e(178)][e(193)][e(181)]="se")})),this[t(188)]({tag:t(184),attributes:{class:["ck",t(194),t(195),t(173),n.if(t(196),t(176))]},children:[this[t(192)],this[t(185)]]})}}function Kd(){const e=["inlineListView","10309496XMKAYr","1857684NOYXBY","setTemplate","hasPopup","set","7IELpLU","counterView","first","ck-presence-list","ck-reset","isCollapsed","444432fxtHnG","change","61014qroYSL","1507294LzQfuY","555EEIIEd","ck-rounded-corners","listenTo","bind","ck-presence-list--collapsed","10476666VtnYka","items","3BTnFgO","19826500jTYVOO","tooltipPosition","bindTemplate","locale","div"];return(Kd=function(){return e})()}const Wd=Xd;function Xd(e,t){const n=$d();return(Xd=function(e,t){return n[e-=116]})(e,t)}function $d(){const e=["ck-presence-list__dropdown-list","ariaLabel","max","checkIfScrollable","_isScrollable","listenTo","2594379zdTyIE","2076508uglXqm","ariaLabelledBy","window","ck-list","resize","setTemplate","4514237UDRdcM","3925330zfEspR","render","div","role","ck-reset","6KsxLko","scrollHeight","change","ck-presence-list__dropdown-list-wrapper","innerHeight","6836868kvxDMM","bindTemplate","listWrapperView","ck-presence-list__dropdown-list-wrapper_scrollable","set","24jeNtZP","application","items","element","clientHeight","2033168dnqgli","Connected users list dropdown menu","330209fbcFNu"];return($d=function(){return e})()}!function(e){const t=Xd,n=e();for(;;)try{if(591932===parseInt(t(127))/1+parseInt(t(125))/2+parseInt(t(134))/3+parseInt(t(135))/4+parseInt(t(142))/5+-parseInt(t(147))/6*(parseInt(t(141))/7)+parseInt(t(120))/8*(-parseInt(t(152))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}($d);class Qd extends r.View{constructor(e,t){const n=Xd;super(e),this[n(117)]=new Zd(e,t),this[n(140)]({tag:n(144),attributes:{tabindex:-1,role:n(121),class:["ck",n(128)],"aria-label":xs(e,n(126))},children:[this[n(117)]]})}}class Zd extends r.ListView{constructor(e,t){const r=Xd;super(e);const s=this[r(116)];this[r(119)](r(132),!1),this[r(140)]({tag:t?r(144):"ul",attributes:{class:["ck",r(146),r(138),r(150),s.if(r(132),r(118))],role:s.to(r(145)),"aria-label":s.to(r(129)),"aria-labelledby":s.to(r(136))},children:this[r(122)]}),this[r(133)](n.global[r(137)],r(139),(()=>this[r(131)]())),this[r(122)].on(r(149),(()=>this[r(131)]()))}[Wd(143)](){const e=Wd;super[e(143)](),this[e(131)]()}[Wd(131)](){const e=Wd,t=this[e(123)];t&&(this[e(132)]=Math[e(130)](t[e(148)],t[e(124)])>.8*window[e(151)])}}function eu(){const e=["16028595hrqgLL","fire","555288DUrzbH","tag","5477540YRvQum","true","2ZlacCF","202917ycqRwX","focus","ck-presence-list__dropdown-list-item","presentation","button","setTemplate","ck-user__full-name","color","execute","168UJVJPh","name","260729sjWPXS","getBackgroundColorClass","1079072ArCEia","ck-presence-list__marker","bindTemplate","userView","element","span","5217444kQhsVw"];return(eu=function(){return e})()}const tu=nu;function nu(e,t){const n=eu();return(nu=function(e,t){return n[e-=107]})(e,t)}!function(e){const t=nu,n=e();for(;;)try{if(552195===parseInt(t(119))/1*(parseInt(t(133))/2)+-parseInt(t(120))/3+parseInt(t(115))/4+parseInt(t(117))/5+parseInt(t(112))/6+-parseInt(t(131))/7*(parseInt(t(129))/8)+-parseInt(t(113))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(eu);class ru extends r.ListItemView{constructor(e,t,n){const r=nu;super(e);const s=this[r(108)];this[r(109)]=new ps.UserView(e,t);const o={tag:"li",attributes:{class:["ck",r(122)],tabindex:-1,role:r(123),"aria-label":t[r(130)]},children:[this[r(109)],{tag:r(111),attributes:{class:["ck",r(126)]},children:[{text:t[r(130)]}]},{tag:r(111),attributes:{class:["ck",r(107),t[r(127)][r(132)]()],"aria-hidden":r(118)}}]};n&&(o[r(116)]=r(124),o.on={click:s.to((()=>this[r(114)](r(128))))}),this[r(125)](o)}[tu(121)](){const e=tu;this[e(110)][e(121)]()}}function su(e,t){const n=au();return(su=function(e,t){return n[e-=215]})(e,t)}!function(e){const t=su,n=e();for(;;)try{if(598778===-parseInt(t(238))/1*(parseInt(t(218))/2)+-parseInt(t(245))/3+parseInt(t(234))/4*(parseInt(t(247))/5)+-parseInt(t(219))/6*(parseInt(t(224))/7)+parseInt(t(225))/8+-parseInt(t(233))/9+parseInt(t(216))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(au);class ou extends r.View{constructor(e,t,n){const s=su;super(e);const o=this[s(231)];this[s(237)](s(215),!1),this[s(237)](s(240),!0),this[s(237)](s(243),""),this[s(217)]=new ps.UserView(e,t),this[s(235)]=new iu(e,t);const i=new r.LabelView(e);i[s(242)][s(244)]=s(248),i[s(246)]=t[s(222)];const a={tag:s(220),attributes:{class:["ck",s(232)],role:s(241),tabindex:o.to(s(215),(e=>!!e&&0)),"aria-labelledby":i.id,"data-cke-tooltip-text":this[s(217)][s(222)],"data-cke-tooltip-position":o.to(s(243)),"data-cke-tooltip-disabled":o.to(s(240),(e=>!e)),"data-cke-tooltip-class":s(227)},children:[this[s(217)],this[s(235)],i]};n&&(a[s(244)]=s(230),a.on={click:o.to((()=>this[s(236)](s(239))))}),this[s(228)](a)}}class iu extends r.View{constructor(e,t){const n=su;super(e),this[n(228)]({tag:n(248),attributes:{class:["ck",n(223),t[n(226)][n(221)]()],"aria-hidden":n(229)}})}}function au(){const e=["29273500dWOZcy","userView","52lbznzS","6CtkiKK","div","getBackgroundColorClass","name","ck-presence-list__marker","6365702ZGzfmt","2520304yYXSIn","color","ck-presence-list__list-item__tooltip","setTemplate","true","button","bindTemplate","ck-presence-list__list-item","7571286MTwgXS","931124IfoeGZ","markerView","fire","set","9439QwDgVF","execute","hasTooltip","listitem","template","tooltipPosition","tag","3339354pQLaff","text","10qwvKXj","span","isFocusable"];return(au=function(){return e})()}const cu=du;function du(e,t){const n=uu();return(du=function(e,t){return n[e-=460]})(e,t)}function uu(){const e=["isExpanded","_handleUserAdd","balloonPanelView","appendChild","input","indexOf","view","isMe","sort","onClick","number","Enter",':not([disabled]):not([tabindex="-1"])',"displayMe","usersCount","length","pin","add","filter","Tab","class","8418320vNnqxa","unpin","155595WDXIVI","5780033mmtbXL","presenceList.container","isRendered","1023EnZgax","6610992QlGUcs","_allConnectedUsers","using","ck ck-presence-list__balloon","presencelist-missing-container","querySelectorAll","focusTracker","67548yqfrAk","isVisible","allConnectedUsers","join","Shift+Tab","execute","focus","inlineListView","element","activeElement","detachFromDom","content","isFocusable","4kHveTp","init","3sfjmby","_handleUserRemove","18chGHCb","body","requires","1136014CNaKJT","min","presenceList.displayMe","hasTooltip","presenceList","locale","render","presenceDropdownView","6eeiKQC","[tabindex]","config","context","hideDropdown","set","remove","isHidden","plugins","presencelist-collapseat-invalid-format","offsetHeight","counterView","define","items","bindTo","from","Esc","currentDisplayedUsers","button","keystrokes","attachToDom","showDropdown","textarea","tabIndex","get","isCollapsed","bind","select","destroy","[contenteditable]","checkIfScrollable","offsetWidth","change:isFocused","listenTo","reverse","_createView","presenceList.collapseAt","_bodyCollection","7755630MAkYuA","map"];return(uu=function(){return e})()}!function(e){const t=du,n=e();for(;;)try{if(995466===parseInt(t(506))/1*(parseInt(t(511))/2)+-parseInt(t(479))/3+-parseInt(t(504))/4*(parseInt(t(477))/5)+-parseInt(t(519))/6*(-parseInt(t(480))/7)+-parseInt(t(484))/8+-parseInt(t(508))/9*(-parseInt(t(557))/10)+parseInt(t(483))/11*(-parseInt(t(491))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(uu);const lu={collapseAt:6,displayMe:!0};class pu extends t.ContextPlugin{constructor(e){const t=du;super(e),this[t(556)]=null,this[t(522)][t(521)][t(531)](t(515),lu);const s=e[t(521)][t(543)](t(555));if(t(466)!=typeof s)throw new n.CKEditorError(t(528),this);if(s<1)throw new n.CKEditorError(t(528),this);this[t(485)]=this[t(522)][t(527)][t(543)](ys)[t(493)],this[t(524)](t(470),0),this[t(536)]=new n.Collection,this[t(561)]=new r.BalloonPanelView,this[t(561)][t(476)]=t(487),this[t(462)]=this[t(554)](),this[t(518)]=void 0}static get[cu(510)](){return[ys]}[cu(505)](){const e=cu;for(const t of this[e(485)])this[e(560)](t);this[e(552)](this[e(485)],e(473),((t,n)=>{this[e(560)](n)})),this[e(552)](this[e(485)],e(525),((t,n)=>{this[e(507)](n)}))}[cu(554)](){const e=cu,t=this[e(522)],s=new Fd(this[e(522)][e(516)]),o=this[e(561)];if(!Vd(t[e(521)][e(543)](e(481))))throw new n.CKEditorError(e(488),this);return s[e(530)][e(545)](e(470)).to(this),s[e(545)](e(544)).to(this,e(470),(n=>{const r=e,{collapseAt:o,displayMe:i}=t[r(521)][r(543)](r(515)),a=n>=o;return s[r(530)][r(526)]=!(1==n&&i||a),a||this[r(523)](),a})),s[e(498)][e(532)][e(533)](this[e(536)])[e(486)]((n=>{const r=e,o=t[r(521)][r(543)](r(515)),i=new ou(t[r(516)],n,!!o[r(465)]);return i[r(545)](r(514)).to(s,r(544),(e=>!e)),i[r(545)](r(503)).to(s,r(544),(e=>!e)),o[r(465)]&&this[r(552)](i,r(496),(()=>{const e=r;this[e(462)][e(544)]||o[e(465)](n,i[e(499)])})),i})),this[e(552)](s[e(498)],e(496),(()=>{const t=e;this[t(518)]?this[t(523)]():this[t(462)][t(544)]&&this[t(540)]()})),s[e(498)][e(538)][e(524)](e(467),((t,n)=>{const r=e;this[r(462)][r(544)]&&(this[r(540)](),n())})),s[e(517)](),o[e(517)](),(0,r.clickOutsideHandler)({emitter:s,activator:()=>o[e(492)],contextElements:[o[e(499)],s[e(498)][e(499)]],callback:()=>this[e(523)]()}),t[e(521)][e(543)](e(481))[e(562)](s[e(499)]),this[e(556)]=new r.BodyCollection(this[e(522)][e(516)]),this[e(556)][e(539)](),this[e(556)][e(473)](this[e(561)]),s}[cu(560)](e){const t=cu;if(!this[t(522)][t(521)][t(543)](t(513))&&e[t(463)])return;const n=this[t(522)][t(521)][t(543)](t(555))-1;this[t(470)]++,this[t(536)][t(471)]==n&&this[t(536)][t(471)]>1&&this[t(536)][t(525)](1);const r=e[t(463)]?0:this[t(536)][t(471)];this[t(536)][t(473)](e,r)}[cu(507)](e){const t=cu;if(this[t(470)]--,this[t(536)][t(543)](e.id)&&(this[t(536)][t(525)](e.id),this[t(536)][t(471)]<this[t(470)]))for(const e of Array[t(534)](this[t(485)])[t(553)]())if(!this[t(536)][t(543)](e.id))return void this[t(536)][t(473)](e,Math[t(512)](this[t(536)][t(471)],1))}[cu(540)](){const e=cu;if(this[e(518)])return;const t=this[e(522)][e(521)][e(543)](e(515));this[e(518)]=new Qd(this[e(522)][e(516)],!!t[e(465)]),this[e(462)][e(498)][e(559)]=!0;const{listWrapperView:n}=this[e(518)];n[e(532)][e(533)](this[e(485)])[e(486)]((n=>{const r=e;if(!t[r(469)]&&n[r(463)])return null;const s=new ru(this[r(522)][r(516)],n,!!t[r(465)]);return t[r(465)]&&this[r(552)](s,r(496),(()=>{const e=r;t[e(465)](n,s[e(499)])})),s})),this[e(561)][e(502)][e(473)](this[e(518)]),this[e(561)][e(472)]({target:this[e(462)][e(498)][e(499)]}),n[e(497)](),n[e(549)]();const r=(t,n)=>{const r=e;this[r(523)](),this[r(462)][r(498)][r(497)](),n()};n[e(538)][e(524)](e(535),r),n[e(538)][e(524)](e(495),r),n[e(538)][e(524)](e(475),((t,n)=>{const r=e;!function(e){const t=du,n=["a",t(537),t(460),t(546),t(541),t(520),t(548)][t(558)]((e=>e+t(468)))[t(494)](","),r=[...document[t(509)][t(489)](n)][t(474)]((e=>e===document[t(500)]||e[t(550)]+e[t(529)]>0))[t(464)](((e,n)=>(e[t(542)]||0)-(n[t(542)]||0))),s=r[t(461)](e),o=r[(s+1)%r[t(471)]];o&&o[t(497)]()}(this[r(462)][r(499)]),this[r(523)](),n()})),n[e(490)][e(473)](this[e(462)][e(499)]),n[e(490)].on(e(551),((t,n,r)=>{r||this[e(523)]()}))}[cu(523)](){const e=cu;this[e(518)]&&(this[e(462)][e(498)][e(559)]=!1,this[e(561)][e(478)](),this[e(561)][e(502)][e(525)](this[e(518)]),this[e(518)][e(547)](),this[e(518)]=void 0)}[cu(547)](){const e=cu;super[e(547)](),this[e(462)]&&this[e(462)][e(482)]&&this[e(462)][e(547)](),this[e(556)]&&(this[e(556)][e(501)](),this[e(556)][e(547)](),this[e(556)]=null)}}var hu=fu;function fu(e,t){var n=mu();return(fu=function(e,t){return n[e-=192]})(e,t)}function mu(){var e=["PresenceList","isPremiumPlugin","3126333LpvIpD","72823oJPzWY","9RxWdNo","isOfficialPlugin","12603408zdgJid","4681446yMlKfY","pluginName","11097527TafPRF","7054255oSUJXc","requires","1335818xYzmRt","2tBUsRF","170cNKrQu","4kBAJTY"];return(mu=function(){return e})()}!function(e){for(var t=fu,n=e();;)try{if(998223===parseInt(t(207))/1*(parseInt(t(201))/2)+-parseInt(t(206))/3*(-parseInt(t(203))/4)+-parseInt(t(198))/5+-parseInt(t(195))/6+parseInt(t(197))/7+-parseInt(t(194))/8*(parseInt(t(192))/9)+parseInt(t(202))/10*(parseInt(t(200))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mu);class yu extends t.ContextPlugin{static get[hu(199)](){return[ys,pu]}static get[hu(196)](){return hu(204)}static get[hu(193)](){return!0}static get[hu(205)](){return!0}}function gu(e,t){var n=bu();return(gu=function(e,t){return n[e-=111]})(e,t)}function bu(){var e=["48csopYZ","201168AXfORb","830489rJPuXk","6MvUbrp","2nTPufm","9631072hrsEaK","1181467LLjgtX","3087595RMCPXT","10GulGSr","11306394gEWUGy","278727QFClLb"];return(bu=function(){return e})()}!function(e){for(var t=gu,n=e();;)try{if(773419===parseInt(t(118))/1+parseInt(t(120))/2*(-parseInt(t(115))/3)+parseInt(t(117))/4+parseInt(t(112))/5*(parseInt(t(119))/6)+parseInt(t(111))/7*(-parseInt(t(116))/8)+-parseInt(t(114))/9*(-parseInt(t(113))/10)+-parseInt(t(121))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bu)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
5
+ */(()=>{var __webpack_modules__={310:e=>{"use strict";e.exports=function(e,t){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise((function(s,i){n[r]=function(e){if(o)if(o=!1,e)i(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];s.apply(null,t)}};try{e.apply(t||null,n)}catch(e){o&&(o=!1,i(e))}}))}},662:(e,t)=>{"use strict";var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(e,t,n){for(var s,o=null,i=[],a=0,c=0;t<n;){var d=e[t++];switch(c){case 0:i[a++]=r[d>>2],s=(3&d)<<4,c=1;break;case 1:i[a++]=r[s|d>>4],s=(15&d)<<2,c=2;break;case 2:i[a++]=r[s|d>>6],i[a++]=r[63&d],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(e,t,n){for(var r,o=n,a=0,c=0;c<e.length;){var d=e.charCodeAt(c++);if(61===d&&a>1)break;if(void 0===(d=s[d]))throw Error(i);switch(a){case 0:r=d,a=1;break;case 1:t[n++]=r<<2|(48&d)>>4,r=d,a=2;break;case 2:t[n++]=(15&r)<<4|(60&d)>>2,r=d,a=3;break;case 3:t[n++]=(3&r)<<6|d,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},707:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this}},365:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(e,r,s){t[0]=e,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?s:o,e.writeFloatBE=r?o:s,e.readFloatLE=r?i:a,e.readFloatBE=r?a:i}():function(){function t(e,t,n,r){var s=t<0?1:0;if(s&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((s<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((s<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2);e((s<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(e,t,n){var r=e(t,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}e.writeFloatLE=t.bind(null,n),e.writeFloatBE=t.bind(null,r),e.readFloatLE=i.bind(null,s),e.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(e,r,s){t[0]=e,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?s:o,e.writeDoubleBE=r?o:s,e.readDoubleLE=r?i:a,e.readDoubleBE=r?a:i}():function(){function t(e,t,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)e(0,s,o+t),e(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))e(0,s,o+t),e(2146959360,s,o+n);else if(r>17976931348623157e292)e(0,s,o+t),e((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)e((a=r/5e-324)>>>0,s,o+t),e((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+t),e((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(e,t,n,r,s){var o=e(r,s+t),i=e(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,d=4294967296*(1048575&i)+o;return 2047===c?d?NaN:a*(1/0):0===c?5e-324*a*d:a*Math.pow(2,c-1075)*(d+4503599627370496)}e.writeDoubleLE=t.bind(null,n,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=i.bind(null,s,0,4),e.readDoubleBE=i.bind(null,o,4,0)}(),e}function n(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function s(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},230:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},319:e=>{"use strict";e.exports=function(e,t,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return e(n);i+n>r&&(o=e(r),i=0);var a=t.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},742:(e,t)=>{"use strict";var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return"";for(var r,s=null,o=[],i=0;t<n;)(r=e[t++])<128?o[i++]=r:r>191&&r<224?o[i++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[i++]=55296+(r>>10),o[i++]=56320+(1023&r)):o[i++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s?(i&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))},n.write=function(e,t,n){for(var r,s,o=n,i=0;i<e.length;++i)(r=e.charCodeAt(i))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=e.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},106:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(168),s=n.n(r),o=n(433),i=n.n(o)()(s());i.push([e.id,".ck.ck-balloon-panel.ck-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;flex-direction:row;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text);margin-right:var(--ck-spacing-large)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:1px solid transparent;color:inherit;font:inherit;margin-left:var(--ck-spacing-small);outline:none;position:relative}.ck.ck-presence-list__list-item:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list__list-item:focus,.ck.ck-presence-list__list-item.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list__list-item .ck-label{height:0;overflow:hidden;width:0}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:3px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{border:1px solid transparent;min-width:calc(var(--ck-user-avatar-size)*2)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck-presence-list__list:focus{border:var(--ck-focus-ring);border-radius:0;box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck-rounded-corners .ck.ck-presence-list--collapsed .ck-presence-list__list:focus,.ck.ck-presence-list--collapsed .ck-presence-list__list.ck-rounded-corners:focus{border-radius:var(--ck-border-radius)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{border:0;margin-left:calc(var(--ck-user-avatar-size)*-1 + 7px);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(n+6){display:none}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}@media (prefers-reduced-motion:reduce){.ck.ck-presence-list__balloon{animation:none}}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper.ck-presence-list__dropdown-list-wrapper_scrollable{max-height:80vh;overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:focus{box-shadow:var(--ck-focus-outer-shadow),0 0;outline:var(--ck-focus-ring);outline-offset:-1px;position:relative;z-index:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const a=i},535:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(168),s=n.n(r),o=n(433),i=n.n(o)()(s());i.push([e.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker-tooltip{transition:none}}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@media (prefers-reduced-motion:reduce){.ck .ck-user__marker,.ck .ck-user__marker *,.ck .ck-user__marker:after{animation:none!important}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const a=i},433:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,s,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var d=0;d<e.length;d++){var u=[].concat(e[d]);r&&i[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),s&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=s):u[4]="".concat(s)),t.push(u))}},t}},168:e=>{"use strict";e.exports=function(e){return e[1]}},199:(e,t,n)=>{"use strict";e.exports=n(995)},995:(e,t,n)=>{"use strict";var r=t;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(6),r.BufferWriter=n(623),r.Reader=n(366),r.BufferReader=n(895),r.util=n(737),r.rpc=n(178),r.roots=n(156),r.configure=s,s()},366:(e,t,n)=>{"use strict";e.exports=c;var r,s=n(737),o=s.LongBits,i=s.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var d,u="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return s.Buffer?function(e){return(c.create=function(e){return s.Buffer.isBuffer(e)?new r(e):u(e)})(e)}:u};function p(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(d=4294967295,function(){if(d=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return d;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return d}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,n);if(t===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},895:(e,t,n)=>{"use strict";e.exports=o;var r=n(366);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(e){r.call(this,e)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},156:e=>{"use strict";e.exports={}},178:(e,t,n)=>{"use strict";t.Service=n(418)},418:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function e(t,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},s.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},130:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(e){if("number"==typeof e)return s.fromNumber(e);if(r.isString(e)){if(!r.Long)return s.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new s(e.low>>>0,e.high>>>0):o},s.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;s.fromHash=function(e){return e===i?o:new s((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},s.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},s.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},737:function(e,t,n){"use strict";var r=t;function s(e,t,n){for(var r=Object.keys(t),s=0;s<r.length;++s)void 0!==e[r[s]]&&n||(e[r[s]]=t[r[s]]);return e}function o(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&s(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(310),r.base64=n(662),r.EventEmitter=n(707),r.float=n(365),r.inquire=n(230),r.utf8=n(742),r.pool=n(319),r.LongBits=n(130),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=s,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},6:(e,t,n)=>{"use strict";e.exports=l;var r,s=n(737),o=s.LongBits,i=s.base64,a=s.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function d(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(d,0,0),this.tail=this.head,this.states=null}var p=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new s.Array(e)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(s.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(s.float.writeDoubleLE,8,e)};var g=s.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(s.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},623:(e,t,n)=>{"use strict";e.exports=o;var r=n(6);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(){r.call(this)}function i(e,t,n){e.length<40?s.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},o.prototype.bytes=function(e){s.isString(e)&&(e=s._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=s.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},o._configure()},553:(e,t)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,o,i=[];for(o in"string"!=typeof t&&(t="?"),e)if(n.call(e,o)){if((r=e[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?t+i.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,s={};t=n.exec(e);){var o=r(t[1]),i=r(t[2]);null===o||null===i||o in s||(s[o]=i)}return s}},696:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},673:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var o={},i=[],a=0;a<e.length;a++){var c=e[a],d=r.base?c[0]+r.base:c[0],u=o[d]||0,l="".concat(d," ").concat(u);o[d]=u+1;var p=n(l),h={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(h);else{var f=s(h,r);r.byIndex=a,t.splice(a,0,{identifier:l,updater:f,references:1})}i.push(l)}return i}function s(e,t){var n=t.domAPI(t);n.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,s){var o=r(e=e||[],s=s||{});return function(e){e=e||[];for(var i=0;i<o.length;i++){var a=n(o[i]);t[a].references--}for(var c=r(e,s),d=0;d<o.length;d++){var u=n(o[d]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=c}}},262:e=>{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},357:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},667:e=>{"use strict";e.exports=function(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}},545:e=>{"use strict";var t,n=(t=[],function(e,n){return t[e]=n,t.filter(Boolean).join("\n")});function r(e,t,r,s){var o;if(r)o="";else{o="",s.supports&&(o+="@supports (".concat(s.supports,") {")),s.media&&(o+="@media ".concat(s.media," {"));var i=void 0!==s.layer;i&&(o+="@layer".concat(s.layer.length>0?" ".concat(s.layer):""," {")),o+=s.css,i&&(o+="}"),s.media&&(o+="}"),s.supports&&(o+="}")}if(e.styleSheet)e.styleSheet.cssText=n(t,o);else{var a=document.createTextNode(o),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(a,c[t]):e.appendChild(a)}}var s={singleton:null,singletonCounter:0};e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=s.singletonCounter++,n=s.singleton||(s.singleton=e.insertStyleElement(e));return{update:function(e){r(n,t,!1,e)},remove:function(e){r(n,t,!0,e)}}}},835:(e,t,n)=>{"use strict";var r=n(696),s=n(553),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,d=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function l(e){return(e||"").toString().replace(o,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(e=e||r);if("blob:"===e.protocol)s=new g(unescape(e.pathname),{});else if("string"===o)for(t in s=new g(e,{}),h)delete s[t];else if("object"===o){for(t in e)t in h||(s[t]=e[t]);void 0===s.slashes&&(s.slashes=a.test(e.href))}return s}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function y(e,t){e=(e=l(e)).replace(i,""),t=t||{};var n,r=d.exec(e),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(t.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function g(e,t,n){if(e=(e=l(e)).replace(i,""),!(this instanceof g))return new g(e,t,n);var o,a,c,d,h,b,O=p.slice(),w=typeof t,v=this,I=0;for("object"!==w&&"string"!==w&&(n=t,t=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=y(e||"",t=f(t))).protocol&&!a.slashes,v.slashes=a.slashes||o&&t.slashes,v.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||u.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(v.protocol)))&&(O[3]=[/(.*)/,"pathname"]);I<O.length;I++)"function"!=typeof(d=O[I])?(c=d[0],b=d[1],c!=c?v[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof d[2]?(v[b]=e.slice(0,h),e=e.slice(h+d[2])):(v[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(v[b]=h[1],e=e.slice(0,h.index)),v[b]=v[b]||o&&d[3]&&t[b]||"",d[4]&&(v[b]=v[b].toLowerCase())):e=d(e,v);n&&(v.query=n(v.query)),o&&t.slashes&&"/"!==v.pathname.charAt(0)&&(""!==v.pathname||""!==t.pathname)&&(v.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(v.pathname,t.pathname)),"/"!==v.pathname.charAt(0)&&m(v.protocol)&&(v.pathname="/"+v.pathname),r(v.port,v.protocol)||(v.host=v.hostname,v.port=""),v.username=v.password="",v.auth&&(~(h=v.auth.indexOf(":"))?(v.username=v.auth.slice(0,h),v.username=encodeURIComponent(decodeURIComponent(v.username)),v.password=v.auth.slice(h+1),v.password=encodeURIComponent(decodeURIComponent(v.password))):v.username=encodeURIComponent(decodeURIComponent(v.auth)),v.auth=v.password?v.username+":"+v.password:v.username),v.origin="file:"!==v.protocol&&m(v.protocol)&&v.host?v.protocol+"//"+v.host:"null",v.href=v.toString()}g.prototype={set:function(e,t,n){var o=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||s.parse)(t)),o[e]=t;break;case"port":o[e]=t,r(t,o.protocol)?t&&(o.host=o.hostname+":"+t):(o.host=o.hostname,o[e]="");break;case"hostname":o[e]=t,o.port&&(t+=":"+o.port),o.host=t;break;case"host":o[e]=t,c.test(t)?(t=t.split(":"),o.port=t.pop(),o.hostname=t.join(":")):(o.hostname=t,o.port="");break;case"protocol":o.protocol=t.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(t){var i="pathname"===e?"/":"#";o[e]=t.charAt(0)!==i?i+t:t}else o[e]=t;break;case"username":case"password":o[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(o.username=t.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=t.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(t))}for(var d=0;d<p.length;d++){var u=p[d];u[4]&&(o[u[1]]=o[u[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(e){e&&"function"==typeof e||(e=s.stringify);var t,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=s,e.exports=g},211:(e,t,n)=>{e.exports=n(312)("./src/collaboration-core.js")},782:(e,t,n)=>{e.exports=n(237)("./src/core.js")},783:(e,t,n)=>{e.exports=n(237)("./src/engine.js")},311:(e,t,n)=>{e.exports=n(237)("./src/ui.js")},584:(e,t,n)=>{e.exports=n(237)("./src/utils.js")},312:e=>{"use strict";e.exports=CKEditor5.collaborationDll},237:e=>{"use strict";e.exports=CKEditor5.dll}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>td,CloudServicesRevisionHistoryAdapter:()=>Pd,CloudServicesTrackChangesAdapter:()=>dd,PresenceList:()=>yu,RealTimeCollaborationClient:()=>Gc,RealTimeCollaborativeComments:()=>md,RealTimeCollaborativeEditing:()=>Qc,RealTimeCollaborativeRevisionHistory:()=>Cd,RealTimeCollaborativeTrackChanges:()=>Od,Sessions:()=>ys});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>Ve,Encoder:()=>xe,PacketType:()=>Re,protocol:()=>De});var t=__webpack_require__(782),n=__webpack_require__(584),r=__webpack_require__(311),s=__webpack_require__(783);class o{constructor(...e){}}class i extends o{constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}i.TYPE="1000";const a=i;class c extends a{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new c(e.id)}}c.TYPE="21",c.READABLE_TYPE_NAME="getUser",c.DESCRIPTOR_NAME="GetUserMessage",c.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const d=c;class u extends a{constructor(e){super(),this.attributes=e}toJSON(){return{attributes:Object.keys(this.attributes).map((e=>({key:e,value:JSON.stringify(this.attributes[e])})))}}static fromJSON(e){const t=e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{});return new u(t)}}u.DESCRIPTOR_NAME="GetUserResponse",u.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};const l=u;var p=__webpack_require__(199);const h=(()=>{var e=p.Reader,t=p.Writer,n=p.util,r=p.roots.default||(p.roots.default={});return r.OperationMetadataDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.userId="",s.prototype.type="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(10).string(e.userId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(18).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(26).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.OperationMetadataDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.userId=t.string();break;case 2:o.type=t.string();break;case 3:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId)?"userId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.OperationMetadataDescriptor)return e;var t=new r.OperationMetadataDescriptor;return null!=e.userId&&(t.userId=String(e.userId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),r.CollaborativeEditingConnectMessage=function(){function s(e){if(this.buffers=[],this.types=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(18).string(e.bundleVersion),null!=e.buffers&&e.buffers.length)for(var r=0;r<e.buffers.length;++r)n.uint32(26).bytes(e.buffers[r]);if(null!=e.types&&e.types.length){for(n.uint32(34).fork(),r=0;r<e.types.length;++r)n.uint32(e.types[r]);n.ldelim()}return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(42).string(e.lastOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.bundleVersion=t.string();break;case 3:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 4:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 5:o.lastOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion))return"bundleVersion: string expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingConnectMessage)return e;var t=new r.CollaborativeEditingConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.buffers=[],r.types=[]),t.defaults&&(r.id="",r.bundleVersion="",r.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(r.bundleVersion=e.bundleVersion),e.buffers&&e.buffers.length){r.buffers=[];for(var s=0;s<e.buffers.length;++s)r.buffers[s]=t.bytes===String?n.base64.encode(e.buffers[s],0,e.buffers[s].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[s]):e.buffers[s]}if(e.types&&e.types.length)for(r.types=[],s=0;s<e.types.length;++s)r.types[s]=e.types[s];return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(r.lastOperationId=e.lastOperationId),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),r.CollaborativeEditingReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.bundleVersion="",s.prototype.lastKnowVersion=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(18).string(e.bundleVersion),null!=e.lastKnowVersion&&Object.hasOwnProperty.call(e,"lastKnowVersion")&&n.uint32(24).uint32(e.lastKnowVersion),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingReconnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.bundleVersion=t.string();break;case 3:o.lastKnowVersion=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion)?"bundleVersion: string expected":null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&!n.isInteger(e.lastKnowVersion)?"lastKnowVersion: integer expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingReconnectMessage)return e;var t=new r.CollaborativeEditingReconnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),null!=e.lastKnowVersion&&(t.lastKnowVersion=e.lastKnowVersion>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=e.lastKnowVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},s}(),r.CollaborativeEditingUpdateMessage=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.baseVersion=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.baseVersion&&Object.hasOwnProperty.call(e,"baseVersion")&&n.uint32(16).uint32(e.baseVersion),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(26).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(34).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(50).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(58).string(e.lastOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingUpdateMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.baseVersion=t.uint32();break;case 3:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 4:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 6:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 7:o.lastOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&!n.isInteger(e.baseVersion))return"baseVersion: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingUpdateMessage)return e;var t=new r.CollaborativeEditingUpdateMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.baseVersion&&(t.baseVersion=e.baseVersion>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.id="",s.baseVersion=0,s.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(s.id=e.id),null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&(s.baseVersion=e.baseVersion),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},s}(),r.GetDocumentDetailsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.environmentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.environmentId&&Object.hasOwnProperty.call(e,"environmentId")&&n.uint32(18).string(e.environmentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetDocumentDetailsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.environmentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.environmentId&&e.hasOwnProperty("environmentId")&&!n.isString(e.environmentId)?"environmentId: string expected":null},s.fromObject=function(e){if(e instanceof r.GetDocumentDetailsMessage)return e;var t=new r.GetDocumentDetailsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.environmentId&&(t.environmentId=String(e.environmentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.environmentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.environmentId&&e.hasOwnProperty("environmentId")&&(n.environmentId=e.environmentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},s}(),r.CollaborativeEditingConnectResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.offset=0,s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.initData="",s.prototype.isInitialized=!1,s.prototype.sessionId="",s.prototype.lastOperationId="",s.prototype.sessionCreatedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&n.uint32(16).uint32(e.offset),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&n.uint32(24).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(34).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(42).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(58).fork()).ldelim();return null!=e.initData&&Object.hasOwnProperty.call(e,"initData")&&n.uint32(66).string(e.initData),null!=e.isInitialized&&Object.hasOwnProperty.call(e,"isInitialized")&&n.uint32(72).bool(e.isInitialized),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&n.uint32(82).string(e.sessionId),null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(90).string(e.lastOperationId),null!=e.sessionCreatedAt&&Object.hasOwnProperty.call(e,"sessionCreatedAt")&&n.uint32(98).string(e.sessionCreatedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.offset=t.uint32();break;case 3:o.version=t.uint32();break;case 4:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 5:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 7:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 8:o.initData=t.string();break;case 9:o.isInitialized=t.bool();break;case 10:o.sessionId=t.string();break;case 11:o.lastOperationId=t.string();break;case 12:o.sessionCreatedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.offset&&e.hasOwnProperty("offset")&&!n.isInteger(e.offset))return"offset: integer expected";if(null!=e.version&&e.hasOwnProperty("version")&&!n.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.initData&&e.hasOwnProperty("initData")&&!n.isString(e.initData)?"initData: string expected":null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&"boolean"!=typeof e.isInitialized?"isInitialized: boolean expected":null!=e.sessionId&&e.hasOwnProperty("sessionId")&&!n.isString(e.sessionId)?"sessionId: string expected":null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&!n.isString(e.sessionCreatedAt)?"sessionCreatedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingConnectResponse)return e;var t=new r.CollaborativeEditingConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.offset&&(t.offset=e.offset>>>0),null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.initData&&(t.initData=String(e.initData)),null!=e.isInitialized&&(t.isInitialized=Boolean(e.isInitialized)),null!=e.sessionId&&(t.sessionId=String(e.sessionId)),null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.sessionCreatedAt&&(t.sessionCreatedAt=String(e.sessionCreatedAt)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.channel="",s.offset=0,s.version=0,s.initData="",s.isInitialized=!1,s.sessionId="",s.lastOperationId="",s.sessionCreatedAt=""),null!=e.channel&&e.hasOwnProperty("channel")&&(s.channel=e.channel),null!=e.offset&&e.hasOwnProperty("offset")&&(s.offset=e.offset),null!=e.version&&e.hasOwnProperty("version")&&(s.version=e.version),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.initData&&e.hasOwnProperty("initData")&&(s.initData=e.initData),null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&(s.isInitialized=e.isInitialized),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(s.sessionId=e.sessionId),null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&(s.sessionCreatedAt=e.sessionCreatedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},s}(),r.CollaborativeEditingResponse=function(){function s(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.version=0,s.prototype.buffers=n.emptyArray,s.prototype.types=n.emptyArray,s.prototype.metadata=n.emptyArray,s.prototype.lastOperationId="",s.prototype.lastOperationAcceptedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&n.uint32(8).uint32(e.version),null!=e.buffers&&e.buffers.length)for(var s=0;s<e.buffers.length;++s)n.uint32(18).bytes(e.buffers[s]);if(null!=e.types&&e.types.length){for(n.uint32(26).fork(),s=0;s<e.types.length;++s)n.uint32(e.types[s]);n.ldelim()}if(null!=e.metadata&&e.metadata.length)for(s=0;s<e.metadata.length;++s)r.OperationMetadataDescriptor.encode(e.metadata[s],n.uint32(42).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&n.uint32(50).string(e.lastOperationId),null!=e.lastOperationAcceptedAt&&Object.hasOwnProperty.call(e,"lastOperationAcceptedAt")&&n.uint32(58).string(e.lastOperationAcceptedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CollaborativeEditingResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.version=t.uint32();break;case 2:o.buffers&&o.buffers.length||(o.buffers=[]),o.buffers.push(t.bytes());break;case 3:if(o.types&&o.types.length||(o.types=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.types.push(t.uint32());else o.types.push(t.uint32());break;case 5:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 6:o.lastOperationId=t.string();break;case 7:o.lastOperationAcceptedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.version&&e.hasOwnProperty("version")&&!n.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(var t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||n.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(t=0;t<e.types.length;++t)if(!n.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(t=0;t<e.metadata.length;++t){var s=r.OperationMetadataDescriptor.verify(e.metadata[t]);if(s)return"metadata."+s}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!n.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&!n.isString(e.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CollaborativeEditingResponse)return e;var t=new r.CollaborativeEditingResponse;if(null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");t.buffers=[];for(var s=0;s<e.buffers.length;++s)"string"==typeof e.buffers[s]?n.base64.decode(e.buffers[s],t.buffers[s]=n.newBuffer(n.base64.length(e.buffers[s])),0):e.buffers[s].length>=0&&(t.buffers[s]=e.buffers[s])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");for(t.types=[],s=0;s<e.types.length;++s)t.types[s]=e.types[s]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");for(t.metadata=[],s=0;s<e.metadata.length;++s){if("object"!=typeof e.metadata[s])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");t.metadata[s]=r.OperationMetadataDescriptor.fromObject(e.metadata[s])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.lastOperationAcceptedAt&&(t.lastOperationAcceptedAt=String(e.lastOperationAcceptedAt)),t},s.toObject=function(e,t){t||(t={});var s={};if((t.arrays||t.defaults)&&(s.buffers=[],s.types=[],s.metadata=[]),t.defaults&&(s.version=0,s.lastOperationId="",s.lastOperationAcceptedAt=""),null!=e.version&&e.hasOwnProperty("version")&&(s.version=e.version),e.buffers&&e.buffers.length){s.buffers=[];for(var o=0;o<e.buffers.length;++o)s.buffers[o]=t.bytes===String?n.base64.encode(e.buffers[o],0,e.buffers[o].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[o]):e.buffers[o]}if(e.types&&e.types.length)for(s.types=[],o=0;o<e.types.length;++o)s.types[o]=e.types[o];if(e.metadata&&e.metadata.length)for(s.metadata=[],o=0;o<e.metadata.length;++o)s.metadata[o]=r.OperationMetadataDescriptor.toObject(e.metadata[o],t);return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(s.lastOperationId=e.lastOperationId),null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&(s.lastOperationAcceptedAt=e.lastOperationAcceptedAt),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},s}(),r.GetDocumentDetailsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.lastDocumentSessionId="",s.prototype.lastDocumentSessionOperationId="",s.prototype.currentDocumentSessionId="",s.prototype.currentDocumentSessionVersion=0,s.prototype.currentDocumentSessionOperationId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.lastDocumentSessionId&&Object.hasOwnProperty.call(e,"lastDocumentSessionId")&&n.uint32(10).string(e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"lastDocumentSessionOperationId")&&n.uint32(18).string(e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&Object.hasOwnProperty.call(e,"currentDocumentSessionId")&&n.uint32(26).string(e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&Object.hasOwnProperty.call(e,"currentDocumentSessionVersion")&&n.uint32(32).uint32(e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"currentDocumentSessionOperationId")&&n.uint32(42).string(e.currentDocumentSessionOperationId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetDocumentDetailsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.lastDocumentSessionId=t.string();break;case 2:o.lastDocumentSessionOperationId=t.string();break;case 3:o.currentDocumentSessionId=t.string();break;case 4:o.currentDocumentSessionVersion=t.uint32();break;case 5:o.currentDocumentSessionOperationId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&!n.isString(e.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&!n.isString(e.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&!n.isString(e.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&!n.isInteger(e.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&!n.isString(e.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},s.fromObject=function(e){if(e instanceof r.GetDocumentDetailsResponse)return e;var t=new r.GetDocumentDetailsResponse;return null!=e.lastDocumentSessionId&&(t.lastDocumentSessionId=String(e.lastDocumentSessionId)),null!=e.lastDocumentSessionOperationId&&(t.lastDocumentSessionOperationId=String(e.lastDocumentSessionOperationId)),null!=e.currentDocumentSessionId&&(t.currentDocumentSessionId=String(e.currentDocumentSessionId)),null!=e.currentDocumentSessionVersion&&(t.currentDocumentSessionVersion=e.currentDocumentSessionVersion>>>0),null!=e.currentDocumentSessionOperationId&&(t.currentDocumentSessionOperationId=String(e.currentDocumentSessionOperationId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=e.currentDocumentSessionOperationId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},s}(),r.CommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.commentThreadId="",s.prototype.userId="",s.prototype.content="",s.prototype.documentId="",s.prototype.createdAt="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(10).string(e.commentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(18).string(e.commentThreadId),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(26).string(e.userId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(34).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(42).string(e.documentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentId=t.string();break;case 2:o.commentThreadId=t.string();break;case 3:o.userId=t.string();break;case 4:o.content=t.string();break;case 5:o.documentId=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId)?"userId: string expected":null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content)?"content: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentDescriptor)return e;var t=new r.CommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},s}(),r.CommentsThreadDescriptor=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentDescriptor.encode(e.comments[s],n.uint32(18).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(34).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(42).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(58).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(74).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsThreadDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 3:o.resolvedAt=t.string();break;case 4:o.resolvedBy=t.string();break;case 5:o.context=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.deletedAt=t.string();break;case 8:o.attributes=t.string();break;case 9:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsThreadDescriptor)return e;var t=new r.CommentsThreadDescriptor;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");t.comments[n]=r.CommentDescriptor.fromObject(e.comments[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(e.comments[s],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},s}(),r.CommentThreadAddedCommentDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(10).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(18).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentThreadAddedCommentDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentId=t.string();break;case 2:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentThreadAddedCommentDescriptor)return e;var t=new r.CommentThreadAddedCommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentId="",n.createdAt=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},s}(),r.CommentsV2AddCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.content="",s.prototype.documentId="",s.prototype.commentId="",s.prototype.createdAt="",s.prototype.userId="",s.prototype.attributes="",s.prototype.commentThread=null,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(18).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(26).string(e.documentId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(34).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(42).string(e.createdAt),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(50).string(e.userId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&r.CommentsThreadDescriptor.encode(e.commentThread,n.uint32(66).fork()).ldelim(),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.content=t.string();break;case 3:o.documentId=t.string();break;case 4:o.commentId=t.string();break;case 5:o.createdAt=t.string();break;case 6:o.userId=t.string();break;case 7:o.attributes=t.string();break;case 8:o.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId))return"commentId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId))return"userId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=r.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentMessage)return e;var t=new r.CommentsV2AddCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");t.commentThread=r.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},s}(),r.CommentsV2AddCommentThreadMessage=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.commentThreadId="",s.prototype.context="",s.prototype.createdAt="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.attributes="",s.prototype.deletedAt="",s.prototype.comments=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(18).string(e.commentThreadId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(26).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(42).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(50).string(e.resolvedBy),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(66).string(e.deletedAt),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentDescriptor.encode(e.comments[s],n.uint32(74).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.commentThreadId=t.string();break;case 3:o.context=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.resolvedAt=t.string();break;case 6:o.resolvedBy=t.string();break;case 7:o.attributes=t.string();break;case 8:o.deletedAt=t.string();break;case 9:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context))return"context: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt))return"resolvedAt: string expected";if(null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy))return"resolvedBy: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt))return"deletedAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentThreadMessage)return e;var t=new r.CommentsV2AddCommentThreadMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");t.comments[n]=r.CommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentDescriptor.toObject(e.comments[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},s}(),r.CommentsV2ReopenCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ReopenCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ReopenCommentThreadMessage)return e;var t=new r.CommentsV2ReopenCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},s}(),r.CommentsV2ResolveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedBy="",s.prototype.resolvedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(26).string(e.resolvedBy),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(34).string(e.resolvedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ResolveCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.resolvedBy=t.string();break;case 4:o.resolvedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ResolveCommentThreadMessage)return e;var t=new r.CommentsV2ResolveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},s}(),r.CommentsV2UpdateCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.context="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(26).string(e.context),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(34).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(42).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2UpdateCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.context=t.string();break;case 4:o.attributes=t.string();break;case 5:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2UpdateCommentThreadMessage)return e;var t=new r.CommentsV2UpdateCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.context&&(t.context=String(e.context)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},s}(),r.CommentsV2ConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ConnectMessage)return e;var t=new r.CommentsV2ConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},s}(),r.CommentsV2GetCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetCommentThreadMessage)return e;var t=new r.CommentsV2GetCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},s}(),r.CommentsV2GetDocumentThreadsMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetDocumentThreadsMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetDocumentThreadsMessage)return e;var t=new r.CommentsV2GetDocumentThreadsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},s}(),r.CommentsV2RemoveCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(26).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2RemoveCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2RemoveCommentMessage)return e;var t=new r.CommentsV2RemoveCommentMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},s}(),r.CommentsV2RemoveCommentThreadMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2RemoveCommentThreadMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2RemoveCommentThreadMessage)return e;var t=new r.CommentsV2RemoveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},s}(),r.CommentsV2UpdateCommentMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.content="",s.prototype.documentId="",s.prototype.attributes="",s.prototype.isAttributesUpdated=!1,s.prototype.commentThread=null,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&n.uint32(26).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(34).string(e.documentId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(42).string(e.attributes),null!=e.isAttributesUpdated&&Object.hasOwnProperty.call(e,"isAttributesUpdated")&&n.uint32(48).bool(e.isAttributesUpdated),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&r.CommentsThreadDescriptor.encode(e.commentThread,n.uint32(58).fork()).ldelim(),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2UpdateCommentMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.content=t.string();break;case 4:o.documentId=t.string();break;case 5:o.attributes=t.string();break;case 6:o.isAttributesUpdated=t.bool();break;case 7:o.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId))return"commentId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!n.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes))return"attributes: string expected";if(null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof e.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){var t=r.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2UpdateCommentMessage)return e;var t=new r.CommentsV2UpdateCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.isAttributesUpdated&&(t.isAttributesUpdated=Boolean(e.isAttributesUpdated)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");t.commentThread=r.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=e.isAttributesUpdated),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=r.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},s}(),r.CommentsV2AddCommentResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.commentId="",s.prototype.createdAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&n.uint32(18).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(26).string(e.createdAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.commentId=t.string();break;case 3:o.createdAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!n.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentResponse)return e;var t=new r.CommentsV2AddCommentResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},s}(),r.CommentsV2AddCommentThreadResponse=function(){function s(e){if(this.comments=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.createdAt="",s.prototype.comments=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(18).string(e.createdAt),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)r.CommentThreadAddedCommentDescriptor.encode(e.comments[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2AddCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.createdAt=t.string();break;case 3:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(r.CommentThreadAddedCommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt))return"createdAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t){var s=r.CommentThreadAddedCommentDescriptor.verify(e.comments[t]);if(s)return"comments."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2AddCommentThreadResponse)return e;var t=new r.CommentsV2AddCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");t.comments[n]=r.CommentThreadAddedCommentDescriptor.fromObject(e.comments[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=r.CommentThreadAddedCommentDescriptor.toObject(e.comments[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},s}(),r.CommentsV2ResolveCommentThreadResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.documentId="",s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(34).string(e.resolvedBy),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ResolveCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.documentId=t.string();break;case 3:o.resolvedAt=t.string();break;case 4:o.resolvedBy=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2ResolveCommentThreadResponse)return e;var t=new r.CommentsV2ResolveCommentThreadResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},s}(),r.CommentsV2ConnectResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.threads&&e.threads.length)for(var s=0;s<e.threads.length;++s)n.uint32(18).string(e.threads[s]);if(null!=e.threadsV2&&e.threadsV2.length)for(s=0;s<e.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(e.threadsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2ConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.threads&&o.threads.length||(o.threads=[]),o.threads.push(t.string());break;case 3:o.threadsV2&&o.threadsV2.length||(o.threadsV2=[]),o.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!n.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var s=r.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2ConnectResponse)return e;var t=new r.CommentsV2ConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");t.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.threads&&e.threads.length){n.threads=[];for(var s=0;s<e.threads.length;++s)n.threads[s]=e.threads[s]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],s=0;s<e.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(e.threadsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},s}(),r.CommentsV2GetCommentThreadResponse=function(){function s(e){if(this.comments=[],this.commentsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.commentThreadId="",s.prototype.comments=n.emptyArray,s.prototype.commentsV2=n.emptyArray,s.prototype.resolvedAt="",s.prototype.resolvedBy="",s.prototype.context="",s.prototype.createdAt="",s.prototype.deletedAt="",s.prototype.attributes="",s.prototype.unlinkedAt="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&n.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(var s=0;s<e.comments.length;++s)n.uint32(18).string(e.comments[s]);if(null!=e.commentsV2&&e.commentsV2.length)for(s=0;s<e.commentsV2.length;++s)r.CommentDescriptor.encode(e.commentsV2[s],n.uint32(26).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&n.uint32(34).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&n.uint32(42).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&n.uint32(50).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(58).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&n.uint32(66).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(74).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&n.uint32(82).string(e.unlinkedAt),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetCommentThreadResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.commentThreadId=t.string();break;case 2:o.comments&&o.comments.length||(o.comments=[]),o.comments.push(t.string());break;case 3:o.commentsV2&&o.commentsV2.length||(o.commentsV2=[]),o.commentsV2.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 4:o.resolvedAt=t.string();break;case 5:o.resolvedBy=t.string();break;case 6:o.context=t.string();break;case 7:o.createdAt=t.string();break;case 8:o.deletedAt=t.string();break;case 9:o.attributes=t.string();break;case 10:o.unlinkedAt=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!n.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t<e.comments.length;++t)if(!n.isString(e.comments[t]))return"comments: string[] expected"}if(null!=e.commentsV2&&e.hasOwnProperty("commentsV2")){if(!Array.isArray(e.commentsV2))return"commentsV2: array expected";for(t=0;t<e.commentsV2.length;++t){var s=r.CommentDescriptor.verify(e.commentsV2[t]);if(s)return"commentsV2."+s}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!n.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!n.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!n.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!n.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!n.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetCommentThreadResponse)return e;var t=new r.CommentsV2GetCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");t.comments=[];for(var n=0;n<e.comments.length;++n)t.comments[n]=String(e.comments[n])}if(e.commentsV2){if(!Array.isArray(e.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");for(t.commentsV2=[],n=0;n<e.commentsV2.length;++n){if("object"!=typeof e.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");t.commentsV2[n]=r.CommentDescriptor.fromObject(e.commentsV2[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.comments=[],n.commentsV2=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(var s=0;s<e.comments.length;++s)n.comments[s]=e.comments[s]}if(e.commentsV2&&e.commentsV2.length)for(n.commentsV2=[],s=0;s<e.commentsV2.length;++s)n.commentsV2[s]=r.CommentDescriptor.toObject(e.commentsV2[s],t);return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},s}(),r.CommentsV2GetDocumentThreadsResponse=function(){function s(e){if(this.threads=[],this.threadsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.threads=n.emptyArray,s.prototype.threadsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.threads&&e.threads.length)for(var s=0;s<e.threads.length;++s)n.uint32(10).string(e.threads[s]);if(null!=e.threadsV2&&e.threadsV2.length)for(s=0;s<e.threadsV2.length;++s)r.CommentsThreadDescriptor.encode(e.threadsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.CommentsV2GetDocumentThreadsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.threads&&o.threads.length||(o.threads=[]),o.threads.push(t.string());break;case 2:o.threadsV2&&o.threadsV2.length||(o.threadsV2=[]),o.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(var t=0;t<e.threads.length;++t)if(!n.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(t=0;t<e.threadsV2.length;++t){var s=r.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(s)return"threadsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.CommentsV2GetDocumentThreadsResponse)return e;var t=new r.CommentsV2GetDocumentThreadsResponse;if(e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");t.threads=[];for(var n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");for(t.threadsV2=[],n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");t.threadsV2[n]=r.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),e.threads&&e.threads.length){n.threads=[];for(var s=0;s<e.threads.length;++s)n.threads[s]=e.threads[s]}if(e.threadsV2&&e.threadsV2.length)for(n.threadsV2=[],s=0;s<e.threadsV2.length;++s)n.threadsV2[s]=r.CommentsThreadDescriptor.toObject(e.threadsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},s}(),r.KeyValueDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.key="",s.prototype.value="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(10).string(e.key),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&n.uint32(18).string(e.value),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.KeyValueDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.key=t.string();break;case 2:o.value=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.value&&e.hasOwnProperty("value")&&!n.isString(e.value)?"value: string expected":null},s.fromObject=function(e){if(e instanceof r.KeyValueDescriptor)return e;var t=new r.KeyValueDescriptor;return null!=e.key&&(t.key=String(e.key)),null!=e.value&&(t.value=String(e.value)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.key="",n.value=""),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.value&&e.hasOwnProperty("value")&&(n.value=e.value),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},s}(),r.IsEditorBundleUploadedMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.bundleVersion="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&n.uint32(10).string(e.bundleVersion),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.IsEditorBundleUploadedMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.bundleVersion=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!n.isString(e.bundleVersion)?"bundleVersion: string expected":null},s.fromObject=function(e){if(e instanceof r.IsEditorBundleUploadedMessage)return e;var t=new r.IsEditorBundleUploadedMessage;return null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.bundleVersion=""),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},s}(),r.IsEditorBundleUploadedResponse=function(){function n(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return n.prototype.isUploaded=!1,n.create=function(e){return new n(e)},n.encode=function(e,n){return n||(n=t.create()),null!=e.isUploaded&&Object.hasOwnProperty.call(e,"isUploaded")&&n.uint32(8).bool(e.isUploaded),n},n.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},n.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.IsEditorBundleUploadedResponse;t.pos<s;){var i=t.uint32();i>>>3==1?o.isUploaded=t.bool():t.skipType(7&i)}return o},n.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},n.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&"boolean"!=typeof e.isUploaded?"isUploaded: boolean expected":null},n.fromObject=function(e){if(e instanceof r.IsEditorBundleUploadedResponse)return e;var t=new r.IsEditorBundleUploadedResponse;return null!=e.isUploaded&&(t.isUploaded=Boolean(e.isUploaded)),t},n.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.isUploaded=!1),null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&(n.isUploaded=e.isUploaded),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},n}(),r.RevisionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&n.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&n.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&n.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&n.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&n.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&n.uint32(80).bool(e.isEmptyCurrent),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.revisionId=t.string();break;case 2:o.name=t.string();break;case 3:o.creatorId=t.string();break;case 4:o.authorsIds=t.string();break;case 5:o.diffData=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;case 8:o.toVersion=t.uint32();break;case 9:o.fromVersion=t.uint32();break;case 10:o.isEmptyCurrent=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!n.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!n.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!n.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!n.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!n.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RevisionDescriptor)return e;var t=new r.RevisionDescriptor;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},s}(),r.RevisionHistoryConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryConnectMessage)return e;var t=new r.RevisionHistoryConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),r.RevisionHistoryGetRevisionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.revisionId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(18).string(e.revisionId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryGetRevisionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.revisionId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryGetRevisionMessage)return e;var t=new r.RevisionHistoryGetRevisionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.revisionId&&(t.revisionId=String(e.revisionId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.revisionId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},s}(),r.RevisionHistoryReconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryReconnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.requestId=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryReconnectMessage)return e;var t=new r.RevisionHistoryReconnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},s}(),r.RevisionHistoryUpdateRevisionsMessage=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var s=0;s<e.revisions.length;++s)r.RevisionDescriptor.encode(e.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryUpdateRevisionsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.documentId=t.string();break;case 2:o.requestId=t.uint32();break;case 3:o.revisions&&o.revisions.length||(o.revisions=[]),o.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId))return"documentId: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var s=r.RevisionDescriptor.verify(e.revisions[t]);if(s)return"revisions."+s}}return null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryUpdateRevisionsMessage)return e;var t=new r.RevisionHistoryUpdateRevisionsMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");t.revisions[n]=r.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var s=0;s<e.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(e.revisions[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},s}(),r.RevisionHistoryConnectResponse=function(){function s(e){if(this.revisions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.requestId=0,s.prototype.revisions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(var s=0;s<e.revisions.length;++s)r.RevisionDescriptor.encode(e.revisions[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.requestId=t.uint32();break;case 3:o.revisions&&o.revisions.length||(o.revisions=[]),o.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(var t=0;t<e.revisions.length;++t){var s=r.RevisionDescriptor.verify(e.revisions[t]);if(s)return"revisions."+s}}return null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryConnectResponse)return e;var t=new r.RevisionHistoryConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");t.revisions=[];for(var n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");t.revisions[n]=r.RevisionDescriptor.fromObject(e.revisions[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.channel="",n.requestId=0),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(var s=0;s<e.revisions.length;++s)n.revisions[s]=r.RevisionDescriptor.toObject(e.revisions[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},s}(),r.RevisionHistoryGetRevisionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.revisionId="",s.prototype.name="",s.prototype.creatorId="",s.prototype.authorsIds="",s.prototype.diffData="",s.prototype.createdAt="",s.prototype.attributes="",s.prototype.toVersion=0,s.prototype.fromVersion=0,s.prototype.isEmptyCurrent=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&n.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&n.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&n.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&n.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&n.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&n.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&n.uint32(80).bool(e.isEmptyCurrent),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryGetRevisionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.revisionId=t.string();break;case 2:o.name=t.string();break;case 3:o.creatorId=t.string();break;case 4:o.authorsIds=t.string();break;case 5:o.diffData=t.string();break;case 6:o.createdAt=t.string();break;case 7:o.attributes=t.string();break;case 8:o.toVersion=t.uint32();break;case 9:o.fromVersion=t.uint32();break;case 10:o.isEmptyCurrent=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!n.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!n.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!n.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!n.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!n.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!n.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryGetRevisionResponse)return e;var t=new r.RevisionHistoryGetRevisionResponse;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},s}(),r.RevisionHistoryUpdateRevisionsResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.requestId=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&n.uint32(8).uint32(e.requestId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RevisionHistoryUpdateRevisionsResponse;t.pos<s;){var i=t.uint32();i>>>3==1?o.requestId=t.uint32():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!n.isInteger(e.requestId)?"requestId: integer expected":null},s.fromObject=function(e){if(e instanceof r.RevisionHistoryUpdateRevisionsResponse)return e;var t=new r.RevisionHistoryUpdateRevisionsResponse;return null!=e.requestId&&(t.requestId=e.requestId>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.requestId=0),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},s}(),r.SessionsSocketDescriptor=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.session="",s.prototype.user="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.session&&Object.hasOwnProperty.call(e,"session")&&n.uint32(10).string(e.session),null!=e.user&&Object.hasOwnProperty.call(e,"user")&&n.uint32(18).string(e.user),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&n.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)n.uint32(34).string(e.permissions[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsSocketDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.session=t.string();break;case 2:o.user=t.string();break;case 3:o.role=t.string();break;case 4:o.permissions&&o.permissions.length||(o.permissions=[]),o.permissions.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.session&&e.hasOwnProperty("session")&&!n.isString(e.session))return"session: string expected";if(null!=e.user&&e.hasOwnProperty("user")&&!n.isString(e.user))return"user: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!n.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!n.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.SessionsSocketDescriptor)return e;var t=new r.SessionsSocketDescriptor;if(null!=e.session&&(t.session=String(e.session)),null!=e.user&&(t.user=String(e.user)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.session="",n.user="",n.role=""),null!=e.session&&e.hasOwnProperty("session")&&(n.session=e.session),null!=e.user&&e.hasOwnProperty("user")&&(n.user=e.user),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},s}(),r.SessionsConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.sessionType=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.sessionType&&Object.hasOwnProperty.call(e,"sessionType")&&n.uint32(16).uint32(e.sessionType),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.sessionType=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.sessionType&&e.hasOwnProperty("sessionType")&&!n.isInteger(e.sessionType)?"sessionType: integer expected":null},s.fromObject=function(e){if(e instanceof r.SessionsConnectMessage)return e;var t=new r.SessionsConnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.sessionType&&(t.sessionType=e.sessionType>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.sessionType=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.sessionType&&e.hasOwnProperty("sessionType")&&(n.sessionType=e.sessionType),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},s}(),r.SocketConnectMessage=function(){function s(e){if(this.permissions=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.userId="",s.prototype.role="",s.prototype.permissions=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&n.uint32(18).string(e.userId),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&n.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(var r=0;r<e.permissions.length;++r)n.uint32(34).string(e.permissions[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SocketConnectMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.userId=t.string();break;case 3:o.role=t.string();break;case 4:o.permissions&&o.permissions.length||(o.permissions=[]),o.permissions.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id))return"id: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!n.isString(e.userId))return"userId: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!n.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(var t=0;t<e.permissions.length;++t)if(!n.isString(e.permissions[t]))return"permissions: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.SocketConnectMessage)return e;var t=new r.SocketConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");t.permissions=[];for(var n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.id="",n.userId="",n.role=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(var r=0;r<e.permissions.length;++r)n.permissions[r]=e.permissions[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},s}(),r.SocketDisconnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SocketDisconnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.id=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof r.SocketDisconnectMessage)return e;var t=new r.SocketDisconnectMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},s}(),r.SessionsConnectResponse=function(){function s(e){if(this.sockets=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.sockets=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.sockets&&e.sockets.length)for(var s=0;s<e.sockets.length;++s)r.SessionsSocketDescriptor.encode(e.sockets[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SessionsConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.sockets&&o.sockets.length||(o.sockets=[]),o.sockets.push(r.SessionsSocketDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.sockets&&e.hasOwnProperty("sockets")){if(!Array.isArray(e.sockets))return"sockets: array expected";for(var t=0;t<e.sockets.length;++t){var s=r.SessionsSocketDescriptor.verify(e.sockets[t]);if(s)return"sockets."+s}}return null},s.fromObject=function(e){if(e instanceof r.SessionsConnectResponse)return e;var t=new r.SessionsConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.sockets){if(!Array.isArray(e.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");t.sockets=[];for(var n=0;n<e.sockets.length;++n){if("object"!=typeof e.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");t.sockets[n]=r.SessionsSocketDescriptor.fromObject(e.sockets[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.sockets=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.sockets&&e.sockets.length){n.sockets=[];for(var s=0;s<e.sockets.length;++s)n.sockets[s]=r.SessionsSocketDescriptor.toObject(e.sockets[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},s}(),r.SuggestionDescriptor=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SuggestionDescriptor;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.SuggestionDescriptor)return e;var t=new r.SuggestionDescriptor;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},s}(),r.TrackChangesAddSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.type="",s.prototype.data="",s.prototype.originalSuggestionId="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(34).string(e.data),null!=e.originalSuggestionId&&Object.hasOwnProperty.call(e,"originalSuggestionId")&&n.uint32(42).string(e.originalSuggestionId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(50).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesAddSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;case 3:o.type=t.string();break;case 4:o.data=t.string();break;case 5:o.originalSuggestionId=t.string();break;case 6:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&!n.isString(e.originalSuggestionId)?"originalSuggestionId: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesAddSuggestionMessage)return e;var t=new r.TrackChangesAddSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.type&&(t.type=String(e.type)),null!=e.data&&(t.data=String(e.data)),null!=e.originalSuggestionId&&(t.originalSuggestionId=String(e.originalSuggestionId)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=e.originalSuggestionId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},s}(),r.TrackChangesBatchUpdateSuggestionsStateMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=n.emptyArray,s.prototype.documentId="",s.prototype.state="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)n.uint32(10).string(e.ids[r]);return null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(26).string(e.state),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesBatchUpdateSuggestionsStateMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.ids&&o.ids.length||(o.ids=[]),o.ids.push(t.string());break;case 2:o.documentId=t.string();break;case 3:o.state=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!n.isString(e.ids[t]))return"ids: string[] expected"}return null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesBatchUpdateSuggestionsStateMessage)return e;var t=new r.TrackChangesBatchUpdateSuggestionsStateMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.state&&(t.state=String(e.state)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),t.defaults&&(n.documentId="",n.state=""),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},s}(),r.TrackChangesConnectMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesConnectMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesConnectMessage)return e;var t=new r.TrackChangesConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},s}(),r.TrackChangesGetAllSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(10).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetAllSuggestionMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.documentId=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetAllSuggestionMessage)return e;var t=new r.TrackChangesGetAllSuggestionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},s}(),r.TrackChangesGetSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetSuggestionMessage)return e;var t=new r.TrackChangesGetSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},s}(),r.TrackChangesUpdateSuggestionMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.documentId="",s.prototype.hasComments=!1,s.prototype.isHasCommentsModified=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&n.uint32(18).string(e.documentId),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(24).bool(e.hasComments),null!=e.isHasCommentsModified&&Object.hasOwnProperty.call(e,"isHasCommentsModified")&&n.uint32(32).bool(e.isHasCommentsModified),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(42).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(50).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesUpdateSuggestionMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.documentId=t.string();break;case 3:o.hasComments=t.bool();break;case 4:o.isHasCommentsModified=t.bool();break;case 5:o.state=t.string();break;case 6:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!n.isString(e.documentId)?"documentId: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof e.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesUpdateSuggestionMessage)return e;var t=new r.TrackChangesUpdateSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.isHasCommentsModified&&(t.isHasCommentsModified=Boolean(e.isHasCommentsModified)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=e.isHasCommentsModified),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},s}(),r.TrackChangesAddSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesAddSuggestionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesAddSuggestionResponse)return e;var t=new r.TrackChangesAddSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},s}(),r.TrackChangesConnectResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.channel="",s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&n.uint32(10).string(e.channel),null!=e.suggestions&&e.suggestions.length)for(var s=0;s<e.suggestions.length;++s)n.uint32(18).string(e.suggestions[s]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(s=0;s<e.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(e.suggestionsV2[s],n.uint32(26).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesConnectResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.channel=t.string();break;case 2:o.suggestions&&o.suggestions.length||(o.suggestions=[]),o.suggestions.push(t.string());break;case 3:o.suggestionsV2&&o.suggestionsV2.length||(o.suggestionsV2=[]),o.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!n.isString(e.channel))return"channel: string expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!n.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var s=r.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.TrackChangesConnectResponse)return e;var t=new r.TrackChangesConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");t.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var s=0;s<e.suggestions.length;++s)n.suggestions[s]=e.suggestions[s]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<e.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(e.suggestionsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},s}(),r.TrackChangesGetAllSuggestionsResponse=function(){function s(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.suggestions=n.emptyArray,s.prototype.suggestionsV2=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.suggestions&&e.suggestions.length)for(var s=0;s<e.suggestions.length;++s)n.uint32(10).string(e.suggestions[s]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(s=0;s<e.suggestionsV2.length;++s)r.SuggestionDescriptor.encode(e.suggestionsV2[s],n.uint32(18).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetAllSuggestionsResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.suggestions&&o.suggestions.length||(o.suggestions=[]),o.suggestions.push(t.string());break;case 2:o.suggestionsV2&&o.suggestionsV2.length||(o.suggestionsV2=[]),o.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(var t=0;t<e.suggestions.length;++t)if(!n.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(t=0;t<e.suggestionsV2.length;++t){var s=r.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(s)return"suggestionsV2."+s}}return null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetAllSuggestionsResponse)return e;var t=new r.TrackChangesGetAllSuggestionsResponse;if(e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");t.suggestions=[];for(var n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");for(t.suggestionsV2=[],n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");t.suggestionsV2[n]=r.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.suggestions&&e.suggestions.length){n.suggestions=[];for(var s=0;s<e.suggestions.length;++s)n.suggestions[s]=e.suggestions[s]}if(e.suggestionsV2&&e.suggestionsV2.length)for(n.suggestionsV2=[],s=0;s<e.suggestionsV2.length;++s)n.suggestionsV2[s]=r.SuggestionDescriptor.toObject(e.suggestionsV2[s],t);return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},s}(),r.TrackChangesGetSuggestionResponse=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.prototype.authorId="",s.prototype.type="",s.prototype.createdAt="",s.prototype.data="",s.prototype.hasComments=!1,s.prototype.state="",s.prototype.attributes="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&n.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&n.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&n.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&n.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&n.uint32(66).string(e.attributes),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.TrackChangesGetSuggestionResponse;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.id=t.string();break;case 2:o.authorId=t.string();break;case 3:o.type=t.string();break;case 4:o.createdAt=t.string();break;case 5:o.data=t.string();break;case 6:o.hasComments=t.bool();break;case 7:o.state=t.string();break;case 8:o.attributes=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!n.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!n.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!n.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!n.isString(e.attributes)?"attributes: string expected":null},s.fromObject=function(e){if(e instanceof r.TrackChangesGetSuggestionResponse)return e;var t=new r.TrackChangesGetSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},s}(),r.UserDescriptor=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.attributes&&e.attributes.length)for(var s=0;s<e.attributes.length;++s)r.KeyValueDescriptor.encode(e.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.UserDescriptor;t.pos<s;){var i=t.uint32();i>>>3==1?(o.attributes&&o.attributes.length||(o.attributes=[]),o.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=r.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof r.UserDescriptor)return e;var t=new r.UserDescriptor;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".UserDescriptor.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");t.attributes[n]=r.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var s=0;s<e.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(e.attributes[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},s}(),r.GetManyUsersMessage=function(){function s(e){if(this.ids=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.ids=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.ids&&e.ids.length)for(var r=0;r<e.ids.length;++r)n.uint32(10).string(e.ids[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetManyUsersMessage;t.pos<s;){var i=t.uint32();i>>>3==1?(o.ids&&o.ids.length||(o.ids=[]),o.ids.push(t.string())):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(var t=0;t<e.ids.length;++t)if(!n.isString(e.ids[t]))return"ids: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.GetManyUsersMessage)return e;var t=new r.GetManyUsersMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");t.ids=[];for(var n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.ids=[]),e.ids&&e.ids.length){n.ids=[];for(var r=0;r<e.ids.length;++r)n.ids[r]=e.ids[r]}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},s}(),r.GetUserMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.id="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(10).string(e.id),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetUserMessage;t.pos<s;){var i=t.uint32();i>>>3==1?o.id=t.string():t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isString(e.id)?"id: string expected":null},s.fromObject=function(e){if(e instanceof r.GetUserMessage)return e;var t=new r.GetUserMessage;return null!=e.id&&(t.id=String(e.id)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},s}(),r.GetManyUsersResponse=function(){function s(e){if(this.users=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.users=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.users&&e.users.length)for(var s=0;s<e.users.length;++s)r.UserDescriptor.encode(e.users[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetManyUsersResponse;t.pos<s;){var i=t.uint32();i>>>3==1?(o.users&&o.users.length||(o.users=[]),o.users.push(r.UserDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.users&&e.hasOwnProperty("users")){if(!Array.isArray(e.users))return"users: array expected";for(var t=0;t<e.users.length;++t){var n=r.UserDescriptor.verify(e.users[t]);if(n)return"users."+n}}return null},s.fromObject=function(e){if(e instanceof r.GetManyUsersResponse)return e;var t=new r.GetManyUsersResponse;if(e.users){if(!Array.isArray(e.users))throw TypeError(".GetManyUsersResponse.users: array expected");t.users=[];for(var n=0;n<e.users.length;++n){if("object"!=typeof e.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");t.users[n]=r.UserDescriptor.fromObject(e.users[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.users=[]),e.users&&e.users.length){n.users=[];for(var s=0;s<e.users.length;++s)n.users[s]=r.UserDescriptor.toObject(e.users[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},s}(),r.GetUserResponse=function(){function s(e){if(this.attributes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.attributes=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.attributes&&e.attributes.length)for(var s=0;s<e.attributes.length;++s)r.KeyValueDescriptor.encode(e.attributes[s],n.uint32(10).fork()).ldelim();return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.GetUserResponse;t.pos<s;){var i=t.uint32();i>>>3==1?(o.attributes&&o.attributes.length||(o.attributes=[]),o.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&i)}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(var t=0;t<e.attributes.length;++t){var n=r.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},s.fromObject=function(e){if(e instanceof r.GetUserResponse)return e;var t=new r.GetUserResponse;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".GetUserResponse.attributes: array expected");t.attributes=[];for(var n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");t.attributes[n]=r.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(var s=0;s<e.attributes.length;++s)n.attributes[s]=r.KeyValueDescriptor.toObject(e.attributes[s],t)}return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},s}(),r.ChannelMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.socketId="",s.prototype.data=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(8).uint32(e.type),null!=e.socketId&&Object.hasOwnProperty.call(e,"socketId")&&n.uint32(18).string(e.socketId),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(26).bytes(e.data),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ChannelMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.type=t.uint32();break;case 2:o.socketId=t.string();break;case 3:o.data=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isInteger(e.type)?"type: integer expected":null!=e.socketId&&e.hasOwnProperty("socketId")&&!n.isString(e.socketId)?"socketId: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null},s.fromObject=function(e){if(e instanceof r.ChannelMessage)return e;var t=new r.ChannelMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.socketId&&(t.socketId=String(e.socketId)),null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=0,r.socketId="",t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.socketId&&e.hasOwnProperty("socketId")&&(r.socketId=e.socketId),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},s}(),r.BytesBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=n.newBuffer([]),s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).bytes(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.BytesBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.bytes();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.BytesBytesPacketDataMessage)return e;var t=new r.BytesBytesPacketDataMessage;return null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data))),t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},s}(),r.NumberBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.NumberBytesPacketDataMessage)return e;var t=new r.NumberBytesPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data=0,t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},s}(),r.NumberNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(16).uint32(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberNumberPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof r.NumberNumberPacketDataMessage)return e;var t=new r.NumberNumberPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},s}(),r.NumberObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.NumberObjectPacketDataMessage)return e;var t=new r.NumberObjectPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},s}(),r.NumberStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data=0,s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.NumberStringPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.uint32();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.NumberStringPacketDataMessage)return e;var t=new r.NumberStringPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},s}(),r.ObjectBufferPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ObjectBufferPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.ObjectBufferPacketDataMessage)return e;var t=new r.ObjectBufferPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data="",t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},s}(),r.ObjectObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.ObjectObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.ObjectObjectPacketDataMessage)return e;var t=new r.ObjectObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},s}(),r.PacketMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.type=0,s.prototype.id=0,s.prototype.nsp="",s.prototype.data=n.newBuffer([]),s.prototype.options=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&n.uint32(8).uint32(e.type),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&n.uint32(16).uint32(e.id),null!=e.nsp&&Object.hasOwnProperty.call(e,"nsp")&&n.uint32(26).string(e.nsp),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(34).bytes(e.data),null!=e.options&&Object.hasOwnProperty.call(e,"options")&&n.uint32(42).bytes(e.options),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.PacketMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.type=t.uint32();break;case 2:o.id=t.uint32();break;case 3:o.nsp=t.string();break;case 4:o.data=t.bytes();break;case 5:o.options=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!n.isInteger(e.type)?"type: integer expected":null!=e.id&&e.hasOwnProperty("id")&&!n.isInteger(e.id)?"id: integer expected":null!=e.nsp&&e.hasOwnProperty("nsp")&&!n.isString(e.nsp)?"nsp: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||n.isString(e.data))?"data: buffer expected":null!=e.options&&e.hasOwnProperty("options")&&!(e.options&&"number"==typeof e.options.length||n.isString(e.options))?"options: buffer expected":null},s.fromObject=function(e){if(e instanceof r.PacketMessage)return e;var t=new r.PacketMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.id&&(t.id=e.id>>>0),null!=e.nsp&&(t.nsp=String(e.nsp)),null!=e.data&&("string"==typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.options&&("string"==typeof e.options?n.base64.decode(e.options,t.options=n.newBuffer(n.base64.length(e.options)),0):e.options.length>=0&&(t.options=e.options)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=0,r.id=0,r.nsp="",t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=n.newBuffer(r.data))),t.bytes===String?r.options="":(r.options=[],t.bytes!==Array&&(r.options=n.newBuffer(r.options)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nsp&&e.hasOwnProperty("nsp")&&(r.nsp=e.nsp),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.options&&e.hasOwnProperty("options")&&(r.options=t.bytes===String?n.base64.encode(e.options,0,e.options.length):t.bytes===Array?Array.prototype.slice.call(e.options):e.options),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},s}(),r.PacketOptionsMessage=function(){function s(e){if(this.rooms=[],this.except=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.flags="",s.prototype.rooms=n.emptyArray,s.prototype.except=n.emptyArray,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&n.uint32(10).string(e.flags),null!=e.rooms&&e.rooms.length)for(var r=0;r<e.rooms.length;++r)n.uint32(18).string(e.rooms[r]);if(null!=e.except&&e.except.length)for(r=0;r<e.except.length;++r)n.uint32(26).string(e.except[r]);return n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.PacketOptionsMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.flags=t.string();break;case 2:o.rooms&&o.rooms.length||(o.rooms=[]),o.rooms.push(t.string());break;case 3:o.except&&o.except.length||(o.except=[]),o.except.push(t.string());break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!n.isString(e.flags))return"flags: string expected";if(null!=e.rooms&&e.hasOwnProperty("rooms")){if(!Array.isArray(e.rooms))return"rooms: array expected";for(var t=0;t<e.rooms.length;++t)if(!n.isString(e.rooms[t]))return"rooms: string[] expected"}if(null!=e.except&&e.hasOwnProperty("except")){if(!Array.isArray(e.except))return"except: array expected";for(t=0;t<e.except.length;++t)if(!n.isString(e.except[t]))return"except: string[] expected"}return null},s.fromObject=function(e){if(e instanceof r.PacketOptionsMessage)return e;var t=new r.PacketOptionsMessage;if(null!=e.flags&&(t.flags=String(e.flags)),e.rooms){if(!Array.isArray(e.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");t.rooms=[];for(var n=0;n<e.rooms.length;++n)t.rooms[n]=String(e.rooms[n])}if(e.except){if(!Array.isArray(e.except))throw TypeError(".PacketOptionsMessage.except: array expected");for(t.except=[],n=0;n<e.except.length;++n)t.except[n]=String(e.except[n])}return t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.rooms=[],n.except=[]),t.defaults&&(n.flags=""),null!=e.flags&&e.hasOwnProperty("flags")&&(n.flags=e.flags),e.rooms&&e.rooms.length){n.rooms=[];for(var r=0;r<e.rooms.length;++r)n.rooms[r]=e.rooms[r]}if(e.except&&e.except.length)for(n.except=[],r=0;r<e.except.length;++r)n.except[r]=e.except[r];return n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},s}(),r.StringBytesPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=n.newBuffer([]),s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).bytes(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringBytesPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.bytes();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||n.isString(e.data1))?"data1: buffer expected":null},s.fromObject=function(e){if(e instanceof r.StringBytesPacketDataMessage)return e;var t=new r.StringBytesPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?n.base64.decode(e.data1,t.data1=n.newBuffer(n.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},s.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.data="",t.bytes===String?r.data1="":(r.data1=[],t.bytes!==Array&&(r.data1=n.newBuffer(r.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(r.data1=t.bytes===String?n.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),r},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},s}(),r.StringNumberPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1=0,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(16).uint32(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringNumberPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.uint32();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isInteger(e.data1)?"data1: integer expected":null},s.fromObject=function(e){if(e instanceof r.StringNumberPacketDataMessage)return e;var t=new r.StringNumberPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=e.data1>>>0),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},s}(),r.StringObjectPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringObjectPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.StringObjectPacketDataMessage)return e;var t=new r.StringObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},s}(),r.StringStringPacketDataMessage=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.data="",s.prototype.data1="",s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&n.uint32(18).string(e.data1),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.StringStringPacketDataMessage;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.data=t.string();break;case 2:o.data1=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!n.isString(e.data1)?"data1: string expected":null},s.fromObject=function(e){if(e instanceof r.StringStringPacketDataMessage)return e;var t=new r.StringStringPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},s}(),r})();class f{static decode(e,t){const n=m(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=m(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}function m(e){return h[e.DESCRIPTOR_NAME]}class y extends a{constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new y(e.ids)}}y.TYPE="22",y.READABLE_TYPE_NAME="getManyUsers",y.DESCRIPTOR_NAME="GetManyUsersMessage",y.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};const g=y;class b extends a{constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(w)}}static fromJSON(e){return new b(e.users.map(v))}}b.DESCRIPTOR_NAME="GetManyUsersResponse",b.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};const O=b;function w(e){return{attributes:Object.keys(e).map((t=>({key:t,value:JSON.stringify(e[t])})))}}function v(e){return e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{})}class I{constructor(e={}){this._attributes=new Map;for(const t of Object.keys(e))"id"!==t?(this._attributes.set(t,e[t]),Object.defineProperty(this,t,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(t)})):this.id=e.id}static fromData(e){return new I(e)}static async get(e,t){const n=new d(t);try{const t=await e._sendRequest(I._SERVICE,d.TYPE,f.encode(n)),r=f.decode(t,l);return new I(r.attributes)}catch(e){return new I({id:t})}}static async getMany(e,t){const n=new g(t);try{const t=await e._sendRequest(I._SERVICE,g.TYPE,f.encode(n));return f.decode(t,O).users.map((e=>new I(e)))}catch(e){return t.map((e=>new I({id:e})))}}}I._SERVICE=2;const S=I,P=Object.create(null);P.open="0",P.close="1",P.ping="2",P.pong="3",P.message="4",P.upgrade="5",P.noop="6";const k=Object.create(null);Object.keys(P).forEach((e=>{k[P[e]]=e}));const A={type:"error",data:"parser error"},_="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),T="function"==typeof ArrayBuffer,C=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,j=({type:e,data:t},n,r)=>_&&t instanceof Blob?n?r(t):E(t,r):T&&(t instanceof ArrayBuffer||C(t))?n?r(t):E(new Blob([t]),r):r(P[e]+(t||"")),E=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function D(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let R;const x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",N="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)N[x.charCodeAt(e)]=e;const V="function"==typeof ArrayBuffer,M=(e,t)=>{if("string"!=typeof e)return{type:"message",data:U(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:B(e.substring(1),t)};return k[n]?e.length>1?{type:k[n],data:e.substring(1)}:{type:k[n]}:A},B=(e,t)=>{if(V){const n=(e=>{let t,n,r,s,o,i=.75*e.length,a=e.length,c=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);const d=new ArrayBuffer(i),u=new Uint8Array(d);for(t=0;t<a;t+=4)n=N[e.charCodeAt(t)],r=N[e.charCodeAt(t+1)],s=N[e.charCodeAt(t+2)],o=N[e.charCodeAt(t+3)],u[c++]=n<<2|r>>4,u[c++]=(15&r)<<4|s>>2,u[c++]=(3&s)<<6|63&o;return d})(e);return U(n,t)}return{base64:!0,data:e}},U=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,J=String.fromCharCode(30);function q(){return new TransformStream({transform(e,t){!function(e,t){_&&e.data instanceof Blob?e.data.arrayBuffer().then(D).then(t):T&&(e.data instanceof ArrayBuffer||C(e.data))?t(D(e.data)):j(e,!1,(e=>{R||(R=new TextEncoder),t(R.encode(e))}))}(e,(n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const e=new DataView(s.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{s=new Uint8Array(9);const e=new DataView(s.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&"string"!=typeof e.data&&(s[0]|=128),t.enqueue(s),t.enqueue(n)}))}})}let G;function L(e){return e.reduce(((e,t)=>e+t.length),0)}function Y(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let r=0;for(let s=0;s<t;s++)n[s]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function z(e){if(e)return function(e){for(var t in z.prototype)e[t]=z.prototype[t];return e}(e)}z.prototype.on=z.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},z.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},z.prototype.off=z.prototype.removeListener=z.prototype.removeAllListeners=z.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<r.length;s++)if((n=r[s])===t||n.fn===t){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},z.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,t)}return this},z.prototype.emitReserved=z.prototype.emit,z.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},z.prototype.hasListeners=function(e){return!!this.listeners(e).length};const H="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function F(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})}const K=H.setTimeout,W=H.clearTimeout;function Q(e,t){t.useNativeTimers?(e.setTimeoutFn=K.bind(H),e.clearTimeoutFn=W.bind(H)):(e.setTimeoutFn=H.setTimeout.bind(H),e.clearTimeoutFn=H.clearTimeout.bind(H))}class Z extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class $ extends z{constructor(e){super(),this.writable=!1,Q(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new Z(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=M(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}const X="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),ee={};let te,ne=0,re=0;function se(e){let t="";do{t=X[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function oe(){const e=se(+new Date);return e!==te?(ne=0,te=e):e+"."+se(ne++)}for(;re<64;re++)ee[X[re]]=re;let ie=!1;try{ie="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const ae=ie;function ce(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||ae))return new XMLHttpRequest}catch(e){}if(!t)try{return new(H[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function de(){}const ue=null!=new ce({xdomain:!1}).responseType;class le extends z{constructor(e,t){super(),Q(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=F(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new ce(t);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&n.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{n.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var e;3===n.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(n)),4===n.readyState&&(200===n.status||1223===n.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=le.requestsCount++,le.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=de,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete le.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(le.requestsCount=0,le.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",pe);else if("function"==typeof addEventListener){addEventListener("onpagehide"in H?"pagehide":"unload",pe,!1)}function pe(){for(let e in le.requests)le.requests.hasOwnProperty(e)&&le.requests[e].abort()}const he="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),fe=H.WebSocket||H.MozWebSocket,me="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const ye={websocket:class extends ${constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=me?{}:F(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=me?new fe(e,t,n):t?new fe(e,t):new fe(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;j(n,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}r&&he((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=oe()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!fe}},webtransport:class extends ${get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=function(e,t){G||(G=new TextDecoder);const n=[];let r=0,s=-1,o=!1;return new TransformStream({transform(i,a){for(n.push(i);;){if(0===r){if(L(n)<1)break;const e=Y(n,1);o=!(128&~e[0]),s=127&e[0],r=s<126?3:126===s?1:2}else if(1===r){if(L(n)<2)break;const e=Y(n,2);s=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(2===r){if(L(n)<8)break;const e=Y(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),o=t.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(A);break}s=o*Math.pow(2,32)+t.getUint32(4),r=3}else{if(L(n)<s)break;const e=Y(n,s);a.enqueue(M(o?e:G.decode(e),t)),r=0}if(0===s||s>e){a.enqueue(A);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=q();r.readable.pipeTo(e.writable),this.writer=r.writable.getWriter();const s=()=>{n.read().then((({done:e,value:t})=>{e||(this.onPacket(t),s())})).catch((e=>{}))};s();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;this.writer.write(n).then((()=>{r&&he((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends ${constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port}const t=e&&e.forceBase64;this.supportsBinary=ue&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const n=e.split(J),r=[];for(let e=0;e<n.length;e++){const s=M(n[e],t);if(r.push(s),"error"===s.type)break}return r})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const n=e.length,r=new Array(n);let s=0;e.forEach(((e,o)=>{j(e,!1,(e=>{r[o]=e,++s===n&&t(r.join(J))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=oe()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new le(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},ge=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,be=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Oe(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),r=e.indexOf("]");-1!=n&&-1!=r&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let s=ge.exec(e||""),o={},i=14;for(;i--;)o[be[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||r.splice(0,1);"/"==t.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,r){t&&(n[t]=r)})),n}(0,o.query),o}class we extends z{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=Oe(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=Oe(t.host).host),Q(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new ye[e](n)}open(){let e;if(this.opts.rememberUpgrade&&we.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),n=!1;we.priorWebsocketSuccess=!1;const r=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!n)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;we.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{n||"closed"!==this.readyState&&(d(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function s(){n||(n=!0,d(),t.close(),t=null)}const o=e=>{const n=new Error("probe error: "+e);n.transport=t.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(e){t&&e.name!==t.name&&s()}const d=()=>{t.removeListener("open",r),t.removeListener("error",o),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",o),t.once("close",i),this.once("close",a),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{n||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",we.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let n=0;n<this.writeBuffer.length;n++){const r=this.writeBuffer[n].data;if(r&&(e+="string"==typeof(t=r)?function(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}var t;return this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){we.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const r=e.length;for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}we.protocol=4;we.protocol;const ve="function"==typeof ArrayBuffer,Ie=Object.prototype.toString,Se="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Ie.call(Blob),Pe="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Ie.call(File);function ke(e){return ve&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||Se&&e instanceof Blob||Pe&&e instanceof File}function Ae(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(Ae(e[t]))return!0;return!1}if(ke(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return Ae(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&Ae(e[t]))return!0;return!1}function _e(e){const t=[],n=e.data,r=e;return r.data=Te(n,t),r.attachments=t.length,{packet:r,buffers:t}}function Te(e,t){if(!e)return e;if(ke(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=Te(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Te(e[r],t));return n}return e}function Ce(e,t){return e.data=je(e.data,t),delete e.attachments,e}function je(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=je(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=je(e[n],t));return e}const Ee=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],De=5;var Re;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(Re||(Re={}));class xe{constructor(e){this.replacer=e}encode(e){return e.type!==Re.EVENT&&e.type!==Re.ACK||!Ae(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===Re.EVENT?Re.BINARY_EVENT:Re.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==Re.BINARY_EVENT&&e.type!==Re.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=_e(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}function Ne(e){return"[object Object]"===Object.prototype.toString.call(e)}class Ve extends z{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===Re.BINARY_EVENT;n||t.type===Re.BINARY_ACK?(t.type=n?Re.EVENT:Re.ACK,this.reconstructor=new Me(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ke(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===Re[n.type])throw new Error("unknown packet type "+n.type);if(n.type===Re.BINARY_EVENT||n.type===Re.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const s=e.substring(r,t);if(s!=Number(s)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!Ve.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case Re.CONNECT:return Ne(t);case Re.DISCONNECT:return void 0===t;case Re.CONNECT_ERROR:return"string"==typeof t||Ne(t);case Re.EVENT:case Re.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Ee.indexOf(t[0]));case Re.ACK:case Re.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class Me{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=Ce(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function Be(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const Ue=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Je extends z{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[Be(e,"open",this.onopen.bind(this)),Be(e,"packet",this.onpacket.bind(this)),Be(e,"error",this.onerror.bind(this)),Be(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(Ue.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const n={type:Re.EVENT,data:t,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[e]=t);const s=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),r);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(s),t.apply(this,[null,...e])}}emitWithAck(e,...t){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((r,s)=>{t.push(((e,t)=>n?e?s(e):r(t):r(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...r)=>{if(n!==this._queue[0])return;return null!==e?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue()})),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Re.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Re.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Re.EVENT:case Re.BINARY_EVENT:this.onevent(e);break;case Re.ACK:case Re.BINARY_ACK:this.onack(e);break;case Re.DISCONNECT:this.ondisconnect();break;case Re.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...r){n||(n=!0,t.packet({type:Re.ACK,id:e,data:r}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Re.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}function qe(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}qe.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=1&Math.floor(10*t)?e+n:e-n}return 0|Math.min(e,this.max)},qe.prototype.reset=function(){this.attempts=0},qe.prototype.setMin=function(e){this.ms=e},qe.prototype.setMax=function(e){this.max=e},qe.prototype.setJitter=function(e){this.jitter=e};class Ge extends z{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(n=t,t=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,Q(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new qe({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=t;const s=n.parser||e;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new we(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Be(t,"open",(function(){n.onopen(),e&&e()})),s=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=Be(t,"error",s);if(!1!==this._timeout){const e=this._timeout,n=this.setTimeoutFn((()=>{r(),s(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}return this.subs.push(r),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(Be(e,"ping",this.onping.bind(this)),Be(e,"data",this.ondata.bind(this)),Be(e,"error",this.onerror.bind(this)),Be(e,"close",this.onclose.bind(this)),Be(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){he((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Je(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Le={};function Ye(e,t){"object"==typeof e&&(t=e,e=void 0);const n=function(e,t="",n){let r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Oe(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+t,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=Le[s]&&o in Le[s].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||i?a=new Ge(r,t):(Le[s]||(Le[s]=new Ge(r,t)),a=Le[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ye,{Manager:Ge,Socket:Je,io:Ye,connect:Ye});var ze=__webpack_require__(835);class He extends a{constructor(e,t,n){super(),this.type=e,this.socketId=t,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(e){return new He(e.type,e.socketId,e.data)}}He.DESCRIPTOR_NAME="ChannelMessage",He.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};const Fe=He,Ke=class extends((0,n.EmitterMixin)()){constructor(e,t,n){super(),this._channelName=e,this._wsGateway=t,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(e,t=!1){let n="";return t&&(n+="all:"),n+="event",e&&(n+=":"+e),n}_subscribeToChannel(){this._socket.on(this._channelName,(e=>{const t=f.decode(e,Fe);this.fire(this.getEventName(t.type,!0),t.data,t.socketId),t.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(t.type),t.data,t.socketId)}))}};class We extends Error{constructor(e,t,n=null,r={}){super("cloud-services-internal-error: "+e),this.context=t,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(e){return new We(function(e){let t="cloud-services-error: "+e.message;return e.data&&(t+="\nError data: "+JSON.stringify(e.data)),e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}class Qe extends Error{constructor(e,t){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=e,this.code=t.code,this.traceId=t.traceId,this.data=t.data}static fromPublicError(e){return new Qe(function(e){let t="cloud-services-server-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}class Ze extends a{constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){var e,t;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(e=this.rooms)||void 0===e?void 0:e.length)?this.rooms:void 0,except:(null===(t=this.except)||void 0===t?void 0:t.length)?this.except:void 0}}static fromJSON(e){return new Ze(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}Ze.TYPE=11,Ze.DESCRIPTOR_NAME="PacketOptionsMessage",Ze.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};const $e=Ze,Xe=(()=>!("undefined"==typeof process||!process.versions||!process.versions.node))(),et=1,tt=2,nt=3,rt=4;class st{static getPacketType(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*Math.pow(10,e.length-n-1);return t}static getType(e){if(st.isBuffer(e))return et;const t=typeof e;return"string"===t?tt:"number"===t?nt:rt}static isBuffer(e){return Xe&&Buffer.isBuffer(e)||e instanceof ArrayBuffer||e instanceof Uint8Array||this._isBufferView(e)}static _isBufferView(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer}}class ot extends a{static create(e,t){throw new TypeError("Must be implemented in a child class!")}}class it extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new it(e.data,e.data1)}static create(e,t){return new it(e,t)}}it.TYPE=(()=>st.getPacketType(nt,et))(),it.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",it.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};const at=it;class ct extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ct(e.data,e.data1)}static create(e,t){return new ct(e,t)}}ct.TYPE=(()=>st.getPacketType(tt,et))(),ct.DESCRIPTOR_NAME="StringBytesPacketDataMessage",ct.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};const dt=ct;class ut extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ut(e.data,e.data1)}static create(e,t){return new ut(e,t)}}ut.TYPE=(()=>st.getPacketType(et,et))(),ut.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",ut.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};const lt=ut;class pt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new pt(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new pt(e,t)}}pt.TYPE=(()=>st.getPacketType(tt,rt))(),pt.DESCRIPTOR_NAME="StringObjectPacketDataMessage",pt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const ht=pt;class ft extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new ft(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new ft(e,t)}}ft.TYPE=(()=>st.getPacketType(nt,rt))(),ft.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",ft.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const mt=ft;class yt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new yt(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new yt(e,t)}}yt.TYPE=(()=>st.getPacketType(rt,rt))(),yt.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",yt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const gt=yt;class bt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(e){return new bt(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new bt(e,t)}}bt.TYPE=(()=>st.getPacketType(rt,et))(),bt.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",bt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};const Ot=bt;class wt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new wt(e.data,e.data1)}static create(e,t){return new wt(e,t)}}wt.TYPE=(()=>st.getPacketType(tt,tt))(),wt.DESCRIPTOR_NAME="StringStringPacketDataMessage",wt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};const vt=wt;class It extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new It(e.data,e.data1)}static create(e,t){return new It(e,t)}}It.TYPE=(()=>st.getPacketType(tt,nt))(),It.DESCRIPTOR_NAME="StringNumberPacketDataMessage",It.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};const St=It;class Pt extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new Pt(e.data,e.data1)}static create(e,t){return new Pt(e,t)}}Pt.TYPE=(()=>st.getPacketType(nt,nt))(),Pt.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",Pt.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};const kt=Pt;class At extends ot{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new At(e.data,e.data1)}static create(e,t){return new At(e,t)}}At.TYPE=(()=>st.getPacketType(nt,tt))(),At.DESCRIPTOR_NAME="NumberStringPacketDataMessage",At.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const _t=At,Tt=(()=>[at,dt,lt,ht,mt,gt,Ot,vt,St,kt,_t].reduce(((e,t)=>(e[t.TYPE]=t,e)),{}))();class Ct extends a{constructor(e,t,n,r="/",s){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=null!=s?s:new $e}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const e=f.encode(this.options),t=f.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:t,options:e}}static fromJSON(e){const t=Math.floor(e.type/10);return new Ct(e.type-10*t,f.decode(e.data,Tt[t]),e.id,e.nsp,e.options?f.decode(e.options,$e):new $e)}static create(e,t={}){var n;const r=st.getPacketType(st.getType(e.data[0]),st.getType(null!==(n=e.data[1])&&void 0!==n?n:e.data[0]));return new Ct(e.type,Tt[r].create(e.data[0],e.data[1]),e.id,e.nsp,new $e(t.flags,t.rooms,t.except))}}Ct.TYPE=10,Ct.DESCRIPTOR_NAME="PacketMessage",Ct.DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};const jt=Ct;class Et{encode(e,t,n,r="/",s={}){if(t.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:e,data:t,id:n,nsp:r};return f.encode(jt.create(o,s))}decode(e){const t=f.decode(e,jt);return{packet:{id:t.id,type:t.type,data:t.packetData,nsp:t.nsp},options:{flags:t.options.flags,rooms:t.options.rooms,except:t.options.except}}}}const Dt=(()=>[Re.EVENT,Re.ACK,Re.BINARY_ACK,Re.BINARY_EVENT])();class Rt extends xe{constructor(e){super(),this._packetParser=null!=e?e:new Et}encode(e){if(Dt.includes(e.type))try{return[this._packetParser.encode(e.type,e.data,e.id,e.nsp)]}catch(e){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:e.message}})}return super.encode(e)}}class xt extends Ve{constructor(e){super(),this._packetParser=null!=e?e:new Et}add(e){if(!st.isBuffer(e))return super.add(e);let t;try{t=this._packetParser.decode(e).packet}catch(t){return super.add(e)}super.emitReserved("decoded",t)}}class Nt{constructor(e,t){this._context=e,this._deferredPromise=function(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return{resolve:e,reject:t,promise:n}}(),this.timeout=setTimeout((()=>this.error(new We("Request timeout.",this._context))),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}class Vt{constructor(e){this._context=e,this._requests=new Set}async send(e,t=45e3){const n=this._createRequest(t);try{return e(n),await n.promise}finally{this._finishRequest(n)}}errorAll(e){for(const t of this._requests)t.error(e)}waitForAllRequests(e=45e3){return this._waitForRequests(e)}_createRequest(e){const t=new Nt(this._context,e);return this._requests.add(t),t}_finishRequest(e){this._requests.delete(e),clearTimeout(e.timeout)}async _waitForRequests(e=5e3,t=0){return!this._requests.size||t>=e/500?Promise.resolve():(await new Promise((e=>{setTimeout(e,500)})),this._waitForRequests(e,t++))}}const Mt={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class Bt extends((0,n.ObservableMixin)()){constructor(e,t,n,r,s){if(super(),this._connectionAttempt=0,this._token=t,this._options=null!=n?n:{},this._connectionProvider=null!=r?r:Ye,this._userFactory=null!=s?s:S.get,this._requestsManager=new Vt(this),this._channels=new Map,!e)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=ze(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",Mt.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(e,t,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==Bt.STATE_CONNECTED){if(n===Bt.STATE_DISCONNECTED)return this._requestsManager.errorAll(new We("Not connected.",this))}else try{this.me=await this._userFactory.call(S,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(e){}}),{priority:Bt._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((e,t)=>{this._options.onError?this._options.onError(t):console.error(t)}))}get sessionId(){return this.socketId}waitForAllRequests(e){return this._requestsManager.waitForAllRequests(e)}disconnect(){var e;this.state!==Mt.DISCONNECTED&&(null===(e=this._socket)||void 0===e||e.disconnect(),this._socket=void 0,this.state=Mt.DISCONNECTED)}async reconnect(){this._socket||this.state!==Mt.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=Ye,s=S.get){const o=new Bt(t,e,n,r,s);return await o._connect(),o}_sendRequest(e,t,n){if(!e)throw new We("`serviceName` must be provided.",this);if(this.state!==Bt.STATE_CONNECTED)throw new We("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new We("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=e,s[1]=parseInt(t),s.set(n,2),this._emit(1,s)}_getChannel(e,t){const n=""+e+t;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new Ke(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((e,t)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(t)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),e()}catch(e){t(e)}})),n.connect()}))}_getPortByProtocol(e){return["http:","ws:"].includes(e)?80:443}_setupSocket(){var e;if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",s=this._connectionProvider(n,{parser:{Encoder:Rt,Decoder:xt},path:r+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"52.6.11"},agent:null!==(e=this._options.agent)&&void 0!==e&&e,closeOnBeforeunload:!1});return this.state=Mt.CONNECTING,s.on("connect",(()=>{this._debugEvent("connect"),this.socketId=s.id})),s.on("connect_error",(e=>{this._debugEvent("connect_error",e)})),s.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),s.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),s.io.on("reconnect_attempt",(e=>{this._debugEvent("reconnect_attempt",e),this.state=Mt.CONNECTING,this._connectionAttempt=e})),s.on("unauthorized",(e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)})),s.on("authenticationRequest",(async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()})),this._socket=s,s}_emit(e,t){const n=this._socket;return this._requestsManager.send((r=>{n.emit(e,t,((e,t)=>{if(e)return r.error(Qe.fromPublicError(e));r.response(t)}))}),this._options.requestTimeout)}_addAuthData(e,t){this._socketAuth={environmentId:e,userId:t,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=Mt.CONNECTED;const e=async(e,t,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(e){}};this._token.on("change:value",e),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",e)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=Mt.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const e of this._channels.values())e.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(e,t){if(!this._isDebugModeEnabled())return;const n=void 0!==t?", data: "+t:"";console.info((new Date).toLocaleString()+" "+e+n)}_reconnectionAttemptError(e){this._connectionAttempt>=2&&(this.disconnect(),e(We.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:e}){this._removeAuthData(),this.fire("error",Qe.fromPublicError(e))}async _authenticate(e){try{this._debugEvent("authenticate:start");const t=await this._emit(2,{token:e});this._debugEvent("authenticate:success","envId: "+t.environmentId+", userId: "+t.userId),this._addAuthData(t.environmentId,t.userId)}catch(e){throw this._debugEvent("authenticate:error",e.message),this._removeAuthData(),e}}_isDebugModeEnabled(){var e;return!!n.global.window.localStorage&&"true"===(null!==(e=n.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==e?e:"false").toLowerCase()}}Bt.STATE_DISCONNECTED=(()=>Mt.DISCONNECTED)(),Bt.STATE_CONNECTING=(()=>Mt.CONNECTING)(),Bt.STATE_CONNECTED=(()=>Mt.CONNECTED)(),Bt._CHANGE_STATE_EVENT_PRIORITY=(()=>n.priorities.get("highest")+999999)();const Ut=Bt;class Jt extends a{constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new Jt(e.bundleVersion)}}Jt.TYPE="131",Jt.READABLE_TYPE_NAME="isEditorBundleUploaded",Jt.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",Jt.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};const qt=Jt;class Gt extends a{constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new Gt(e.isUploaded)}}Gt.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",Gt.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};const Lt=Gt;class Yt extends((0,n.EmitterMixin)()){static async isBundleUploaded(e,t){const n=new qt(t);if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(Yt._SERVICE,qt.TYPE,f.encode(n));return f.decode(r,Lt).isUploaded}}Yt._SERVICE=13;const zt=Yt;class Ht extends a{constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new Ht(e.documentId,e.revisionId)}}Ht.TYPE="123",Ht.READABLE_TYPE_NAME="getRevision",Ht.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",Ht.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};const Ft=Ht;class Kt extends o{static create(e){return{revisionId:e.id,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.stringify(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds}}static toJSON(e){var t;return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static fromJSON(e){return{revisionId:(e={...e}).revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.parse(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?new Date(e.createdAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static toObject(e){return function(e){for(const[t,n]of Object.entries(e))void 0===n&&delete e[t];return e}({id:e.revisionId,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.parse(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds})}}Kt.DESCRIPTOR_NAME="RevisionDescriptor",Kt.DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};const Wt=Kt;class Qt extends a{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.revisionId=e,this.name=t,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=d}toJSON(){return Wt.toJSON(this)}toObject(){return Wt.toObject(this)}static create(e){return new Qt(e.revisionId,e.name,e.creatorId,e.authorsIds,e.createdAt,e.diffData,e.attributes,e.fromVersion,e.toVersion,e.isEmptyCurrent)}static fromJSON(e){return new Qt(e.revisionId,e.name,e.creatorId,e.authorsIds?JSON.parse(e.authorsIds):void 0,e.createdAt?new Date(e.createdAt):void 0,e.diffData,e.attributes?JSON.parse(e.attributes):void 0,e.fromVersion,e.toVersion,e.isEmptyCurrent)}}Qt.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",Qt.DESCRIPTOR=Wt.DESCRIPTOR;const Zt=Qt;class $t extends a{constructor(e,t,n){super(),this.documentId=e,this.requestId=t,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Wt.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Wt.toObject)}}static create(e){return new $t(e.documentId,e.requestId,e.revisions.map(Wt.create))}static fromJSON(e){return new $t(e.documentId,e.requestId,e.revisions.map(Wt.fromJSON))}}$t.TYPE="124",$t.READABLE_TYPE_NAME="updateRevisions",$t.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",$t.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};const Xt=$t;class en extends a{constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new en(e.requestId)}}en.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",en.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};const tn=en;class nn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new nn(e.documentId)}}nn.TYPE="121",nn.READABLE_TYPE_NAME="connectToRevisionHistory",nn.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",nn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const rn=nn;class sn extends a{constructor(e,t,n){super(),this.channel=e,this.requestId=t,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Wt.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Wt.toObject)}}static fromJSON(e){return new sn(e.channel,e.requestId,e.revisions.map(Wt.fromJSON))}}sn.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",sn.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};const on=sn;class an extends a{constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new an(e.documentId,e.requestId)}}an.TYPE="122",an.READABLE_TYPE_NAME="reconnectToRevisionHistory",an.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",an.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};const cn=an;class dn extends We{constructor(e,t){super(e+" Service is not connected.",t)}}class un extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new rn(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(e,t){if(this.isConnected)throw new We("Cannot reconnect to already connected service.",e);return this._connect(e,new cn(this._documentId,t))}async updateRevisions(e,t){const n=Xt.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(Xt.TYPE,n),{requestId:s}=f.decode(r,tn);return s}async getRevision(e){const t=new Ft(this._documentId,e),n=await this._sendRequest(Ft.TYPE,t);return f.decode(n,Zt).toObject()}async _connect(e,t){if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(12,t.constructor.TYPE,f.encode(t)),{channel:r,requestId:s,revisions:o}=f.decode(n,on).toObject();return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(e,t){this._channel=e._getChannel(un._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Xt.TYPE),((e,t)=>{const{documentId:n,requestId:r,revisions:s}=f.decode(t,Xt).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})}))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Revision History",this);return this._wsGateway._sendRequest(12,e,f.encode(t))}}un._SERVICE=12;const ln=un;class pn extends a{constructor(e,t,n,r={},s=null,o=null){super(),this.id=e,this.documentId=t,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){var t;return new pn(e.id,e.documentId,e.type,JSON.parse(e.data),null!==(t=e.originalSuggestionId)&&void 0!==t?t:null,e.attributes?JSON.parse(e.attributes):null)}}pn.TYPE="101",pn.READABLE_TYPE_NAME="addSuggestion",pn.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",pn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};const hn=pn;class fn extends a{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var e;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(e=this.createdAt)||void 0===e?void 0:e.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new fn(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}fn.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",fn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};const mn=fn;class yn extends a{constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new yn(e.id,e.documentId)}}yn.TYPE="103",yn.READABLE_TYPE_NAME="getSuggestion",yn.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",yn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};const gn=yn;class bn extends a{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new bn(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}bn.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",bn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};const On=bn;class wn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new wn(e.documentId)}}wn.TYPE="102",wn.READABLE_TYPE_NAME="getAllSuggestions",wn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",wn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const vn=wn;class In extends o{static toJSON(e){var t;return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{...e,data:e.data?JSON.parse(e.data):e.data,attributes:e.attributes?JSON.parse(e.attributes):e.attributes,createdAt:e.createdAt?new Date(e.createdAt):void 0}}}In.DESCRIPTOR_NAME="SuggestionDescriptor",In.DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};const Sn=In;class Pn extends a{constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(Sn.toJSON)}}static fromJSON(e){var t,n;return new Pn(null===(t=e.suggestions)||void 0===t?void 0:t.map(An),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(Sn.fromJSON))}}Pn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",Pn.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};const kn=Pn;function An(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}class _n extends a{constructor(e,t,n,r,s,o=null){super(),this.id=e,this.documentId=t,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new _n(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}_n.TYPE="104",_n.READABLE_TYPE_NAME="updateSuggestion",_n.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",_n.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};const Tn=_n;class Cn extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Cn(e.documentId)}}Cn.TYPE="105",Cn.READABLE_TYPE_NAME="connectToSuggestions",Cn.DESCRIPTOR_NAME="TrackChangesConnectMessage",Cn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const jn=Cn;class En extends a{constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(Sn.toJSON)}}static fromJSON(e){var t,n;return new En(e.channel,null===(t=e.suggestions)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(Sn.fromJSON))}}En.DESCRIPTOR_NAME="TrackChangesConnectResponse",En.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};const Dn=En;class Rn extends a{constructor(e,t,n){super(),this.ids=e,this.documentId=t,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(e){return new Rn(e.ids,e.documentId,e.state)}}Rn.TYPE="106",Rn.READABLE_TYPE_NAME="batchUpdateSuggestionsState",Rn.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",Rn.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};const xn=Rn;class Nn extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const t=new jn(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(10,jn.TYPE,f.encode(t)),r=f.decode(n,Dn);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(e,t,n,r=null,s){const o=new hn(e,this._documentId,t,n,r,s),i=await this._sendRequest(hn.TYPE,o);return f.decode(i,mn)}async get(e,t=1){const n=new gn(e,this._documentId);try{const e=await this._sendRequest(gn.TYPE,n);return f.decode(e,On)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.get(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Qe.fromPublicError(n)}var r}async getAll(){const e=new vn(this._documentId),t=await this._sendRequest(vn.TYPE,e),{suggestions:n}=f.decode(t,kn);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:s}=t,o=void 0!==n,i=new Tn(e,this._documentId,n,o,r,s);await this._sendRequest(Tn.TYPE,i)}async batchUpdateState(e){const t=new xn(e.ids,this._documentId,e.state);await this._sendRequest(xn.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(Nn._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Tn.TYPE),((e,t)=>{const n=f.decode(t,Tn);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Track Changes",this);return this._wsGateway._sendRequest(10,e,f.encode(t))}}Nn._SERVICE=10;const Vn=Nn,Mn={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Bn;const Un=new Uint8Array(16);function Jn(){if(!Bn&&(Bn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Bn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Bn(Un)}const qn=[];for(let e=0;e<256;++e)qn.push((e+256).toString(16).slice(1));function Gn(e,t=0){return qn[e[t+0]]+qn[e[t+1]]+qn[e[t+2]]+qn[e[t+3]]+"-"+qn[e[t+4]]+qn[e[t+5]]+"-"+qn[e[t+6]]+qn[e[t+7]]+"-"+qn[e[t+8]]+qn[e[t+9]]+"-"+qn[e[t+10]]+qn[e[t+11]]+qn[e[t+12]]+qn[e[t+13]]+qn[e[t+14]]+qn[e[t+15]]}const Ln=function(e,t,n){if(Mn.randomUUID&&!t&&!e)return Mn.randomUUID();const r=(e=e||{}).random||(e.rng||Jn)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return Gn(r)};class Yn extends a{constructor(e,t=[]){super(),this.channel=e,this.sockets=t}toJSON(){return{channel:this.channel,sockets:this.sockets.map((e=>({user:e.userId,session:e.id,role:e.role,permissions:e.permissions})))}}static fromJSON(e){return new Yn(e.channel,e.sockets.map((e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions}))))}}Yn.DESCRIPTOR_NAME="SessionsConnectResponse",Yn.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};const zn=Yn;class Hn extends a{constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new Hn(e.id,e.sessionType)}}Hn.TYPE="31",Hn.READABLE_TYPE_NAME="getConnectedSockets",Hn.DESCRIPTOR_NAME="SessionsConnectMessage",Hn.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};const Fn=Hn;class Kn extends a{constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){var e,t,n;return{id:this.id,userId:null!==(e=this.userId)&&void 0!==e?e:void 0,role:null!==(t=this.role)&&void 0!==t?t:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(e){return new Kn(e.id,e.userId,e.role,e.permissions)}}Kn.TYPE="32",Kn.READABLE_TYPE_NAME="connectSocket",Kn.DESCRIPTOR_NAME="SocketConnectMessage",Kn.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};const Wn=Kn;class Qn extends a{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new Qn(e.id)}}Qn.TYPE="33",Qn.READABLE_TYPE_NAME="disconnectSocket",Qn.DESCRIPTOR_NAME="SocketDisconnectMessage",Qn.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const Zn=Qn,$n=class extends n.Collection{constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new Fn(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(3,Fn.TYPE,f.encode(t));n=f.decode(e,zn)}catch(e){n=new zn(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(e,t){const n=t.map((e=>e.userId)),r=n.length?await S.getMany(e,n):[];return t.map((e=>{const t={id:e.id,role:e.role,permissions:e.permissions};return t.user=e.userId&&r.find((t=>t.id===e.userId))||new S,t}))}(this._wsGateway,n.sockets);for(const e of r)super.add(e);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(e=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&e&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),e&&this.stopListening()}}add(e,t){throw new TypeError("The collection is read-only.")}remove(e){throw new TypeError("The collection is read-only.")}_connectToChannel(e,t,n){this._channel=e._getChannel(n,t),this._channel&&(this._addHandler(this._channel,Wn.TYPE,(async t=>{const n=f.decode(t,Wn);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await S.get(e,n.userId)),super.add(t)}})),this._addHandler(this._channel,Zn.TYPE,(e=>{const t=f.decode(e,Zn);-1!==this.getIndex(t.id)&&super.remove(t.id)})))}async _onWsGatewayStateChange(e){e===Ut.STATE_DISCONNECTED&&this.disconnect(!1),e===Ut.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let e;for(this._isRunning=!0;e=this._eventsQueue.shift();){const t=this._handlers.get(e.eventName);t&&await t(e.data)}this._isRunning=!1}_addHandler(e,t,n){const r=e.getEventName(t,!0);this.listenTo(e,r,(async(e,t)=>{const n=e.name;this._eventsQueue.push({eventName:n,data:t}),await this._runQueue()})),this._handlers.set(r,n)}};class Xn{static async getConnectedSessions(e,t,n){const r=new $n(t,n);return await r.connect(e),r}}class er extends a{constructor(e,t,n,r,s=""){super(),this.id=e,this.buffers=t,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(e){return new er(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}er.TYPE="11",er.READABLE_TYPE_NAME="connectToDocument",er.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",er.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};const tr=er;class nr{static prepareMetadataForOperations(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];let r=0;for(const s of e)if(0!==s){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];for(let r=0;r<e.length;r++)if(0!==e[r]){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r])}return n}}class rr extends o{static toJSON({createdAt:e,...t}){const n={...t};return(null==e?void 0:e.toISOString)&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}rr.DESCRIPTOR_NAME="OperationMetadataDescriptor",rr.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};const sr=rr;class or extends a{constructor(e,t,n,r,s=[],o=""){super(),this.id=e,this.buffers=t,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new or(e.id,e.buffers,e.types,e.baseVersion,nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),e.lastOperationId)}}or.TYPE="13",or.READABLE_TYPE_NAME="updateDocument",or.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",or.DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};const ir=or;class ar extends a{constructor(e,t,n){super(),this.id=e,this.lastKnowVersion=t,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(e){return new ar(e.id,e.lastKnowVersion,e.bundleVersion)}}ar.TYPE="12",ar.READABLE_TYPE_NAME="reconnectToDocument",ar.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",ar.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};const cr=ar;class dr extends a{constructor(e,t=[],n=[],r=[],s="",o=null){super(),this.version=e,this.buffers=t,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new dr(e.version,e.buffers,e.types,nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new dr(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}dr.DESCRIPTOR_NAME="CollaborativeEditingResponse",dr.DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};const ur=dr;class lr extends a{constructor(e,t,n=[],r=[],s=0,o=[],i=null,a="",c="",d=null){super(),this.channel=e,this.version=t,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=d}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)&&null===this.initData}toJSON(){var e;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:nr.removeUnnecessaryMetadata(this.types,this.metadata).map(sr.toJSON),initData:null!==(e=this.initData)&&void 0!==e?e:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new lr(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){var t;let n=null;return!0===e.isInitialized?n=null!==(t=e.initData)&&void 0!==t?t:"":"boolean"!=typeof e.isInitialized&&e.initData&&(n=e.initData),lr.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:nr.prepareMetadataForOperations(e.types,e.metadata).map(sr.fromJSON),initData:n,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}lr.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",lr.DESCRIPTOR={fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:sr.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}};const pr=lr;class hr extends a{constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}toJSON(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}static fromJSON(e){const t=e.lastDocumentSessionId?{id:e.lastDocumentSessionId,lastOperationId:e.lastDocumentSessionOperationId}:void 0,n=e.currentDocumentSessionId?{lastOperationId:e.currentDocumentSessionOperationId,version:e.currentDocumentSessionVersion,id:e.currentDocumentSessionId}:void 0;return new hr(t,n)}}hr.DESCRIPTOR_NAME="GetDocumentDetailsResponse",hr.DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};const fr=hr;class mr extends a{constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new mr(e.documentId)}}mr.TYPE="14",mr.READABLE_TYPE_NAME="getDocumentDetails",mr.DESCRIPTOR_NAME="GetDocumentDetailsMessage",mr.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};const yr=mr;class gr extends((0,n.EmitterMixin)()){constructor(e,t){if(super(),!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=t?t:Ln(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new tr(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new We("Cannot reconnect to already connected service.",e);return this._connect(e,new cr(this.getId(),t,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const e=new yr(this.getId());if(!this._wsGateway)throw new dn("Collaborative Editing",this);const t=await this._wsGateway._sendRequest(1,yr.TYPE,f.encode(e));return f.decode(t,fr)}async sendOperations(e,t,n){if(!e||!e.types||!e.types.length)throw new We("Cannot send empty update.",this._wsGateway);const r="number"==typeof t?t:parseInt(t);if(!Number.isInteger(r)||r<0)throw new We("Base version not provided.",this._wsGateway);const s=new ir(this.getId(),e.buffers,e.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new dn("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,ir.TYPE,f.encode(s));return f.decode(o,ur)}async getConnectedSessions(){if(!this._isConnected)throw new dn("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await Xn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(e,t){return Xn.getConnectedSessions(e,t,1)}async _connect(e,t){if(this.isConnected())return;if(e.state!==Ut.STATE_CONNECTED)throw new We("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(1,t.constructor.TYPE,f.encode(t)),r=f.decode(n,pr);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(e,t){this._channel=e._getChannel(1,t),this.listenTo(this._channel,this._channel.getEventName(ir.TYPE),((e,t)=>{const n=f.decode(t,ir);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(e){e===Ut.STATE_DISCONNECTED&&this.disconnect()}}gr._SERVICE=1;const br=gr;class Or extends o{static toJSON(e){var t;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null}}static fromJSON(e){return{...e,createdAt:new Date(e.createdAt),attributes:e.attributes?JSON.parse(e.attributes):null}}}Or.DESCRIPTOR_NAME="CommentDescriptor",Or.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};const wr=Or;class vr extends o{static toJSON(e){var t,n,r,s,o;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),deletedAt:null===(n=e.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=e.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:null===(s=e.comments)||void 0===s?void 0:s.map(wr.toJSON),unlinkedAt:null===(o=e.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t;return{...e,createdAt:e.createdAt?new Date(e.createdAt):void 0,deletedAt:e.deletedAt?new Date(e.deletedAt):void 0,resolvedAt:e.resolvedAt?new Date(e.resolvedAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):null,context:e.context?JSON.parse(e.context):void 0,comments:null===(t=e.comments)||void 0===t?void 0:t.map(wr.fromJSON),unlinkedAt:e.unlinkedAt?new Date(e.unlinkedAt):void 0}}}vr.DESCRIPTOR_NAME="CommentsThreadDescriptor",vr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};const Ir=vr;class Sr extends a{constructor(e,t,n,r="",s,o="",i=null,a){super(),this.documentId=e,this.commentThreadId=t,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?Ir.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Sr(e.documentId,e.commentThreadId,e.content,e.commentId?e.commentId:void 0,e.createdAt?new Date(e.createdAt):void 0,e.userId?e.userId:void 0,e.attributes?JSON.parse(e.attributes):{},e.commentThread?Ir.fromJSON(e.commentThread):void 0)}}Sr.TYPE="91",Sr.READABLE_TYPE_NAME="addComment",Sr.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",Sr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};const Pr=Sr;class kr extends a{constructor(e,t,n){super(),this.commentThreadId=e,this.commentId=t,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(e){return new kr(e.commentThreadId,e.commentId,e.createdAt)}}kr.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",kr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};const Ar=kr;class _r extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new _r(e.documentId)}}_r.TYPE="92",_r.READABLE_TYPE_NAME="connectToComment",_r.DESCRIPTOR_NAME="CommentsV2ConnectMessage",_r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const Tr=_r;class Cr extends a{constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Ir.toJSON)}}static fromJSON(e){var t,n;return new Cr(e.channel,null===(t=e.threads)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Ir.fromJSON))}}Cr.DESCRIPTOR_NAME="CommentsV2ConnectResponse",Cr.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};const jr=Cr;class Er extends a{constructor(e,t,n){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(e){return new Er(e.documentId,e.commentThreadId,e.commentId)}}Er.TYPE="95",Er.READABLE_TYPE_NAME="removeComment",Er.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",Er.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};const Dr=Er;class Rr extends a{constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Rr(e.documentId,e.commentThreadId)}}Rr.TYPE="97",Rr.READABLE_TYPE_NAME="removeCommentThread",Rr.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",Rr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const xr=Rr;class Nr extends a{constructor(e,t,n,r,s=null,o=!1,i){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?Ir.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Nr(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?Ir.fromJSON(e.commentThread):void 0)}}Nr.TYPE="96",Nr.READABLE_TYPE_NAME="updateComment",Nr.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",Nr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};const Vr=Nr;class Mr extends a{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new Mr(e.commentThreadId,e.documentId)}}Mr.TYPE="93",Mr.READABLE_TYPE_NAME="getComment",Mr.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",Mr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const Br=Mr;class Ur extends a{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.commentThreadId=e,this._comments=t,this._commentsV2=n,this.resolvedBy=s,this.comments=(null==n?void 0:n.length)?n:t,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof d?new Date(d):d,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){var e,t,n,r,s,o;return{commentThreadId:this.commentThreadId,comments:null===(e=this._comments)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),commentsV2:null===(t=this._commentsV2)||void 0===t?void 0:t.map(wr.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(s=this.resolvedAt)||void 0===s?void 0:s.toISOString(),unlinkedAt:null===(o=this.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t,n;return new Ur(e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e))),null===(n=e.commentsV2)||void 0===n?void 0:n.map(wr.fromJSON),e.attributes?JSON.parse(e.attributes):e.attributes,e.resolvedBy,e.context?JSON.parse(e.context):e.context,e.createdAt,e.deletedAt,e.resolvedAt,e.unlinkedAt)}}Ur.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",Ur.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};const Jr=Ur;class qr extends a{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new qr(e.documentId)}}qr.TYPE="94",qr.READABLE_TYPE_NAME="getDocumentThreads",qr.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",qr.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};const Gr=qr;class Lr extends a{constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Ir.toJSON)}}static fromJSON(e){var t,n;return new Lr(null===(t=e.threads)||void 0===t?void 0:t.map((e=>function(e){var t;const n=JSON.parse(e),r={...n};return n.comments&&(r.comments=null===(t=n.comments)||void 0===t?void 0:t.map((e=>({...e,createdAt:new Date(e.createdAt)})))),r}(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Ir.fromJSON))}}Lr.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",Lr.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};const Yr=Lr;class zr extends o{static toJSON(e){var t;return{commentId:e.commentId,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}zr.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",zr.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};const Hr=zr;class Fr extends a{constructor(e,t,n=[]){super(),this.commentThreadId=e,this.comments=n,this.createdAt=new Date(t)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((e=>Hr.toJSON(e)))}}static fromJSON(e){return new Fr(e.commentThreadId,e.createdAt,e.comments.map((e=>Hr.fromJSON(e))))}}Fr.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",Fr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};const Kr=Fr;class Wr extends a{constructor(e,t,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=e,this.commentThreadId=t,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var e;return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:null===(e=this.comments)||void 0===e?void 0:e.map((e=>wr.toJSON(e)))}}static fromJSON(e){var t;return new Wr(e.documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>wr.fromJSON({...t,documentId:e.documentId,commentThreadId:e.commentThreadId}))),e.context?JSON.parse(e.context):e.context,e.resolvedBy,e.createdAt?new Date(e.createdAt):void 0,e.resolvedAt?new Date(e.resolvedAt):void 0,e.deletedAt?new Date(e.deletedAt):void 0,e.attributes?JSON.parse(e.attributes):e.attributes)}}Wr.TYPE="140",Wr.READABLE_TYPE_NAME="addCommentThread",Wr.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",Wr.DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};const Qr=Wr;class Zr extends a{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var e;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(e=this.resolvedAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(e){return new Zr(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}Zr.TYPE="142",Zr.READABLE_TYPE_NAME="resolveCommentThread",Zr.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",Zr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};const $r=Zr;class Xr extends a{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Xr(e.commentThreadId,e.documentId)}}Xr.TYPE="141",Xr.READABLE_TYPE_NAME="reopenCommentThread",Xr.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",Xr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};const es=Xr;class ts extends a{constructor(e,t,n,r=null,s=null){super(),this.commentThreadId=e,this.documentId=t,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(e){return new ts(e.commentThreadId,e.documentId,e.context?JSON.parse(e.context):e.context,e.attributes?JSON.parse(e.attributes):null,e.unlinkedAt?new Date(e.unlinkedAt):null)}}ts.TYPE="143",ts.READABLE_TYPE_NAME="updateCommentThread",ts.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",ts.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};const ns=ts;class rs extends a{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(e){return new rs(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}rs.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",rs.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};const ss=rs;class os extends((0,n.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==Mt.CONNECTED)throw new We("WebSocket Gateway is not connected.",e);const t=new Tr(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(9,Tr.TYPE,f.encode(t)),{channel:r,threads:s}=f.decode(n,jr);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Ut._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(e,t,n,r){const s=new Pr(this._documentId,e,n,t,void 0,void 0,r),o=await this._sendRequest(Pr.TYPE,s);return f.decode(o,Ar)}async updateComment(e,t,n,r){const s=void 0!==r,o=new Vr(this._documentId,e,t,n,r,s);await this._sendRequest(Vr.TYPE,o)}async removeComment(e,t){const n=new Dr(this._documentId,e,t);await this._sendRequest(Dr.TYPE,n)}async removeCommentThread(e){const t=new xr(this._documentId,e);await this._sendRequest(xr.TYPE,t)}async addCommentThread(e){var t;const n=new Qr(this._documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId}))),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),r=await this._sendRequest(Qr.TYPE,n);return f.decode(r,Kr)}async resolveCommentThread(e){const t=new $r(e,this._documentId),n=await this._sendRequest($r.TYPE,t);return f.decode(n,ss)}async reopenCommentThread(e){const t=new es(e,this._documentId);await this._sendRequest(es.TYPE,t)}async updateCommentThread(e){const t=new ns(e.commentThreadId,this._documentId,e.context,e.attributes,e.unlinkedAt);await this._sendRequest(ns.TYPE,t)}async getCommentThread(e,t=1){const n=new Br(e,this._documentId);try{const e=await this._sendRequest(Br.TYPE,n),t=f.decode(e,Jr);return{commentThreadId:t.commentThreadId,comments:t.comments,attributes:t.attributes,context:t.context,resolvedAt:t.resolvedAt,resolvedBy:t.resolvedBy,deletedAt:t.deletedAt,unlinkedAt:t.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.getCommentThread(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Qe.fromPublicError(n)}var r}async getDocumentThreads(){const e=new Gr(this._documentId),t=await this._sendRequest(Gr.TYPE,e),{threads:n}=f.decode(t,Yr);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new dn("Comments",this);return this._connectedSessions||(this._connectedSessions=await Xn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(os._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Pr.TYPE),((e,t)=>{const n=f.decode(t,Pr);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(Dr.TYPE),((e,t)=>{const n=f.decode(t,Dr);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(Vr.TYPE),((e,t)=>{const n=f.decode(t,Vr);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(xr.TYPE),((e,t)=>{const n=f.decode(t,xr);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(Qr.TYPE),((e,t)=>{const n=f.decode(t,Qr);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(ns.TYPE),((e,t)=>{const n=f.decode(t,ns);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName($r.TYPE),((e,t)=>{const n=f.decode(t,$r);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(es.TYPE),((e,t)=>{const n=f.decode(t,es);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(e){e===Mt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new dn("Comments",this);return this._wsGateway._sendRequest(9,e,f.encode(t))}}os._SERVICE=9;const is=os;function as(){const e=["cloudServices.requestTimeout","real-time-collaboration","constructor","bind","disconnect","init","cloudServices.connectionTimeout","12cjIsCS","function","get","requires","_domEmitter","cloudservices-init","isPremiumPlugin","listenTo","connected","destroy","addToReconnectionStack","token","744990xcGvbx","websocketgateway-missing-token","pluginName","error","set","cloudservices-reconnection-error","connect","change:me","DISCONNECTED","8766KkrOvD","453938HMKAOE","offline","state","catch","connection","_shouldPluginsReconnect","from","initialReconnectionInterval","delete","stopListening","add","define","_reconnectionStack","all","WebSocketGateway","code","_reconnect","21MGAFys","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","CloudServices","120mEgZxh","3824448ZnCXjR","websocketgateway-invalid-plugin-interface","324085ZxXaZB","websocketgateway-plugin-already-registered","reconnect","CONNECTED","80UxvLQp","context","Connected users limit exceeded","online","webSocketUrl","config","plugins","isInReconnectionStack","create","removeFromReconnectionStack","isOfficialPlugin","websocketgateway-missing-websocket-url","749551YTWYLG","CONNECTING","limitExceeded","has","_isBrowserOffline","showWarning","148464zvynEz","then"];return(as=function(){return e})()}const cs=ds;function ds(e,t){const n=as();return(ds=function(e,t){return n[e-=444]})(e,t)}!function(e){const t=ds,n=e();for(;;)try{if(253555===parseInt(t(485))/1+parseInt(t(484))/2*(-parseInt(t(505))/3)+-parseInt(t(463))/4*(parseInt(t(508))/5)+parseInt(t(475))/6*(-parseInt(t(502))/7)+parseInt(t(506))/8+parseInt(t(454))/9*(parseInt(t(512))/10)+-parseInt(t(448))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(as);class us extends t.ContextPlugin{static get[cs(466)](){return[cs(504),r.Notification]}static get[cs(477)](){return cs(499)}static get[cs(446)](){return!0}static get[cs(469)](){return!0}constructor(e){const t=cs;super(e),this[t(479)](t(487),Mt[t(511)]),this[t(479)](t(452),!1),this[t(497)]=new Set,this[t(490)]=!1,this[t(467)]=Object[t(444)](n.DomEmitterMixin)}[cs(461)](){const e=cs,t=this[e(513)],s=t[e(518)][e(465)](e(504)),o=t[e(518)][e(465)](r.Notification);if(!s[e(474)])throw new n.CKEditorError(e(476),this);if(!s[e(516)])throw new n.CKEditorError(e(447),this);return this[e(467)][e(470)](window,e(486),(()=>this[e(452)]=!0)),this[e(467)][e(470)](window,e(515),(()=>this[e(452)]=!1)),this[e(513)][e(517)][e(496)](e(462),10),this[e(513)][e(517)][e(496)](e(456),20),us[e(499)][e(481)](s[e(474)],s[e(516)],{timeout:1e3*this[e(513)][e(517)][e(465)](e(462)),requestTimeout:1e3*this[e(513)][e(517)][e(465)](e(456))})[e(455)]((t=>{const r=e;if(this[r(489)]=t,this[r(459)](r(487)).to(t,r(487),this,r(452),((e,t)=>(r(471)!==e&&(this[r(490)]=!0),t||e!==Mt[r(511)]?Mt[r(483)]:this[r(487)]==Mt[r(483)]&&this[r(490)]?(this[r(490)]=!1,this[r(501)](),Mt[r(449)]):Mt[r(511)]))),this[r(489)].on(r(478),((e,t)=>{const s=r;if(s(450)!==t[s(500)])throw console[s(478)](t),new n.CKEditorError(s(468),null,{originalError:t});o[s(453)](s(503),{title:s(514),namespace:s(457)})})),!t.me)return new Promise((e=>t.on(r(482),e)))}))[e(488)]((t=>{const r=e;throw console[r(478)](t),new n.CKEditorError(r(468),null,{originalError:t})}))}[cs(473)](e){const t=cs;if(t(464)!=typeof e[t(510)])throw new n.CKEditorError(t(507),this);if(this[t(519)](e))throw new n.CKEditorError(t(509),this,{name:e[t(458)][t(477)]});this[t(497)][t(495)](e)}[cs(445)](e){const t=cs;this[t(497)][t(493)](e)}[cs(519)](e){const t=cs;return this[t(497)][t(451)](e)}[cs(501)](){const e=cs;return this[e(489)][e(510)]()[e(455)]((()=>Promise[e(498)](Array[e(491)](this[e(497)],(t=>t[e(510)]())))))[e(455)]((()=>this[e(487)]=Mt[e(511)]))[e(488)]((t=>{const r=e;throw console[r(478)](t),new n.CKEditorError(r(480),this[r(513)])}))}[cs(460)](){const e=cs;this[e(489)]&&this[e(489)][e(460)](),this[e(487)]=Mt[e(483)],this[e(467)][e(494)]()}[cs(472)](){const e=cs;this[e(460)](),super[e(472)]()}}us[cs(499)]=Ut,us[cs(492)]=1e3;const ls=us;var ps=__webpack_require__(211);const hs=fs;function fs(e,t){const n=ms();return(fs=function(e,t){return n[e-=465]})(e,t)}function ms(){const e=["register","sessions-register-already-registered","role","channelConnectedUsers","_uniqueUsersCount","context","15766UyqyDx","_handleSessionRemove","getUserBySessionId","1438760plhwyR","channelSessions","clear","connection","requires","connected","state","add","user","9318100kCUmhL","sessionId","addUser","assign","getUserSessions","values","forEach","set","delete","remove","403288fHVdpQ","_handleSessionAdd","pluginName","2791306xUmtfD","isOfficialPlugin","45TVKSDt","isMe","get","isPremiumPlugin","has","size","Sessions","plugins","41DnGEPH","_users","defineMe","change:state","fire","_createUser","sessionAdd:","allConnectedUsers","listenTo","getUser","_registeredSessions","mySessionId","434385QZqccE","unregister","getUserRole","393402GZmrWS","6XDWDXp","init","orderNumber","sessions-unregister-not-exist","stopListening"];return(ms=function(){return e})()}!function(e){const t=fs,n=e();for(;;)try{if(336216===parseInt(t(484))/1*(parseInt(t(511))/2)+-parseInt(t(500))/3*(-parseInt(t(471))/4)+parseInt(t(476))/5*(-parseInt(t(499))/6)+-parseInt(t(474))/7+-parseInt(t(514))/8+parseInt(t(496))/9+parseInt(t(523))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ms);class ys extends t.ContextPlugin{static get[hs(473)](){return hs(482)}static get[hs(475)](){return!0}static get[hs(479)](){return!0}static get[hs(518)](){return[ls,ps.Users]}constructor(e){const t=hs;super(e),this[t(515)]=new Map,this[t(508)]=new Map,this[t(491)]=new n.Collection,this[t(494)]=new Map,this[t(509)]=0,this[t(485)]=this[t(510)][t(483)][t(478)](ps.Users)}[hs(501)](){const e=hs,t=this[e(510)][e(483)][e(478)](ls);this[e(492)](t,e(487),((t,n,r)=>{const s=e;if(s(519)!==r)this[s(515)][s(467)]((e=>e[s(516)]())),this[s(508)][s(467)]((e=>e[s(516)]())),this[s(491)][s(516)]();else for(const[e,t]of this[s(494)])for(const n of t)this[s(472)](e,n)})),this[e(489)](t[e(517)].me,!0)}[hs(505)](e,t){const r=hs;if(this[r(494)][r(480)](e))throw new n.CKEditorError(r(506),null,{channelId:e});this[r(494)][r(468)](e,t),this[r(515)][r(468)](e,new n.Collection),this[r(508)][r(468)](e,new n.Collection),this[r(492)](t,r(521),((t,n)=>this[r(472)](e,n))),this[r(492)](t,r(470),((t,n)=>this[r(512)](e,n)));for(const n of t)this[r(472)](e,n)}[hs(497)](e){const t=hs;if(!this[t(494)][t(480)](e))throw new n.CKEditorError(t(503),null,{channelId:e});const r=this[t(494)][t(478)](e);this[t(504)](r);for(const n of r)t(519)===this[t(510)][t(483)][t(478)](ls)[t(520)]&&this[t(512)](e,n);this[t(494)][t(469)](e),this[t(515)][t(469)](e),this[t(508)][t(469)](e)}get[hs(495)](){const e=hs;return this[e(510)][e(483)][e(478)](ls)[e(517)][e(524)]}[hs(513)](e){const t=hs;for(const n of this[t(515)][t(466)]())for(const r of n)if(r.id===e)return r[t(522)]}[hs(465)](e,t){const n=hs,r=t?[this[n(515)][n(478)](t)]:this[n(515)][n(466)](),s=new Set;for(const t of r)for(const r of t)r[n(522)].id===e.id&&s[n(521)](r.id);return s}[hs(498)](e){const t=hs;for(const n of this[t(515)][t(466)]())for(const r of n)if(r[t(522)]===e)return r[t(507)]}[hs(472)](e,t){const n=hs;if(n(519)!==this[n(510)][n(483)][n(478)](ls)[n(520)])return;const r=t[n(522)],s=this[n(485)][n(493)](r.id)||this[n(489)](r),o=Object[n(526)]({},t,{user:s});this[n(515)][n(478)](e)[n(521)](o);const i=this[n(508)][n(478)](e);i[n(480)](s.id)||i[n(521)](s),this[n(491)][n(480)](s.id)||this[n(491)][n(521)](s,s[n(477)]?0:void 0),this[n(488)](n(490)+e,{channelId:e,session:o})}[hs(512)](e,t){const n=hs;if(n(519)!==this[n(510)][n(483)][n(478)](ls)[n(520)])return;const r=this[n(508)][n(478)](e),s=t[n(522)];s.id&&(this[n(515)][n(478)](e)[n(470)](t.id),r[n(480)](s.id)&&!this[n(465)](s,e)[n(481)]&&r[n(470)](s.id),this[n(491)][n(478)](s.id)&&!this[n(465)](s)[n(481)]&&this[n(491)][n(470)](s.id))}[hs(489)](e,t){const n=hs,r=this[n(485)][n(525)](e);return t&&this[n(485)][n(486)](e.id),r[n(502)]=this[n(509)]++,r}}var gs=__webpack_require__(673),bs=__webpack_require__.n(gs),Os=__webpack_require__(545),ws=__webpack_require__.n(Os),vs=__webpack_require__(262),Is=__webpack_require__.n(vs),Ss=__webpack_require__(667),Ps=__webpack_require__.n(Ss),ks=__webpack_require__(357),As=__webpack_require__.n(ks),_s=__webpack_require__(535),Ts={attributes:{"data-cke":!0}};Ts.setAttributes=Ps(),Ts.insert=Is().bind(null,"head"),Ts.domAPI=ws(),Ts.insertStyleElement=As();bs()(_s.A,Ts);_s.A&&_s.A.locals&&_s.A.locals;function Cs(e,t){const n=Rs();return(Cs=function(e,t){return n[e-=288]})(e,t)}const js=Cs;!function(e){const t=Cs,n=e();for(;;)try{if(497585===parseInt(t(397))/1*(-parseInt(t(410))/2)+-parseInt(t(335))/3+parseInt(t(416))/4+-parseInt(t(325))/5*(parseInt(t(398))/6)+parseInt(t(328))/7+-parseInt(t(290))/8+parseInt(t(391))/9*(parseInt(t(384))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Rs);class Es extends t.Plugin{constructor(){const e=Cs;super(...arguments),this[e(366)]=new((0,n.DomEmitterMixin)())}static get[js(361)](){return[ys]}static get[js(296)](){return js(313)}static get[js(403)](){return!0}static get[js(373)](){return!0}[js(370)](){const e=js,t=this[e(327)],r=t[e(291)][e(308)](ys);t[e(295)][e(395)](e(306))[e(299)]({model:e(413),view:(n,{writer:s})=>function(t,n,r,s){const o=e,i=t[o(330)][o(297)](":")[2],a=r[o(319)](i);if(!a||i===r[o(342)])return;if(!s[o(393)][o(298)][o(367)](t[o(372)][o(337)],o(304)))return;const c={class:o(362)+a[o(338)][o(394)](),"data-name":a[o(371)],"data-session-id":i},d=s[o(393)][o(318)][o(308)](t[o(330)])[o(415)](),u=d[o(312)],l=s[o(393)][o(298)];if(u&&l[o(289)](u)&&l[o(348)](u)&&!s[o(393)][o(318)][o(308)](o(408)+i)[o(354)]()[o(414)])return;const p=d[o(380)];return s[o(393)][o(298)][o(364)](p)&&!s[o(393)][o(385)](p)&&(c[o(387)]=!1),function(e,t,n){const r=o,s=e[r(349)](r(317),t);return e[r(340)](r(359),!0,s),s[r(419)]=function(e){const t=r,s=this[t(307)](e);return s[t(316)]=t(305)+n[t(371)]+t(376),s[t(378)](t(343),(()=>{const e=t;s[e(309)][e(386)](e(392))})),s[t(378)](t(420),(()=>{const e=t;s[e(309)][e(368)](e(392))})),s},s[r(388)]=function(e){const t=r;return!(!this[t(288)](t(359))||!e[t(288)](t(359))||this[t(331)](t(345))!=e[t(331)](t(345)))},s}(n,c,a)}(n,s,r,t)}),t[e(295)][e(395)](e(306))[e(382)]({model:e(369),view:t=>function(t,n){const r=e,s=t[r(330)][r(297)](":")[2];if(s===n[r(342)])return null;const o=n[r(319)](s);return o?{id:s,classes:[r(324),o[r(338)][r(412)]()],attributes:{"data-session-id":s},priority:2e3+o[r(377)]}:{id:s,classes:[]}}(t,r)}),function(t){const n=e,r=t[n(393)],o=new Map,i=t[n(291)][n(308)](ys);r[n(318)].on(n(401),((e,a,c,d)=>{const u=n;if(!d&&o[u(308)](a[u(371)]))return o[u(308)](a[u(371)])[u(322)](),void o[u(360)](a[u(371)]);const l=a[u(371)][u(297)](":")[2];if(l===i[u(342)])return;const p=u(334)+l;r[u(318)][u(417)](p)&&t[u(374)][u(381)](p),a.on(u(390),((e,t,n)=>{const i=u;if(i(326)!=t[i(409)][i(400)]&&i(326)==a[i(354)]()[i(409)][i(400)]&&!o[i(417)](a[i(371)])){const e=r[i(298)][i(389)](n[i(418)]);if(e){const t=s.LiveRange[i(399)](e);o[i(315)](a[i(371)],t),t.on(i(390),((e,n,s)=>{const c=i;if(c(326)==t[c(409)][c(400)]){const e=r[c(298)][c(389)](s[c(418)]);e?(t[c(337)]=e[c(337)],t[c(321)]=e[c(321)]):(o[c(360)](a[c(371)]),t[c(322)]())}}))}}}))})),r[n(302)].on(n(347),(()=>{const e=n;o[e(323)]>0&&r[e(336)]({isUndoable:!1},(t=>{const n=e;for(const[e,s]of o)n(326)==r[n(318)][n(308)](e)[n(354)]()[n(409)][n(400)]&&(Ds(e[n(297)](":")[2],s[n(293)](),r,t),s[n(322)]());o[n(300)]()}))}))}(t),this[e(366)][e(301)](n.global[e(302)],e(406),((n,{key:r})=>{const s=e;s(356)===r&&function(e){const t=s;e[t(374)][t(294)][t(347)]((n=>{const r=t;for(const t of e[r(393)][r(318)]){if(!t[r(371)][r(350)](r(413)))continue;const s=e[r(374)][r(396)][r(314)](t[r(371)]);if(s)for(const e of s)n[r(351)](r(392),e)}}))}(t)}),{useCapture:!0})}[js(357)](){const e=js,t=this[e(327)],n=t[e(320)][e(308)](e(365));n&&t[e(393)].on(e(411),((r,s)=>{const o=e,i=s[0];if(!i[o(383)])return;if(o(402)!=i[o(333)]||!i[o(371)][o(350)](o(303)))return;const a=i[o(379)];n[o(407)][o(417)](a)&&(i[o(329)]=i[o(292)]?t[o(393)][o(311)](i[o(292)][o(337)],i[o(292)][o(321)]):null)}),{priority:e(358)})}[js(363)](){const e=js;return this[e(366)][e(341)](),super[e(363)]()}[js(352)](){const e=js,t=this[e(327)],n=t[e(393)][e(302)],r=t[e(291)][e(308)](ys);t[e(393)][e(336)]({isUndoable:!1},(s=>{const o=e,i=o(408)+r[o(342)],a=o(334)+r[o(342)],c=t[o(393)][o(318)][o(417)](i);t[o(374)][o(294)][o(375)]?Ds(r[o(342)],n[o(310)][o(332)](),t[o(393)],s):c&&(s[o(404)](i),s[o(404)](a))}))}}function Ds(e,t,n,r){const s=js,o=s(408)+e,i=s(334)+e,a=t[s(344)]();let c=t[s(337)];a&&a.is(s(346),s(355))&&(c=function(e,t){const n=s;for(const r of e[n(405)]())if(t[n(298)][n(367)](r,n(304)))return r}(t,n),t=r[s(311)](c));const d=r[s(311)](c);n[s(318)][s(417)](o)?(r[s(339)](o,{range:t}),r[s(339)](i,{range:d})):(r[s(353)](o,{range:t,usingOperation:!0}),r[s(353)](i,{range:d,usingOperation:!0}))}function Rs(){const e=["mySessionId","mouseenter","getContainedElement","data-session-id","element","change","isInline","createUIElement","startsWith","removeClass","createUserMarkerOperations","addMarker","getRange","tableCell","Escape","afterInit","highest","userPositionMarker","delete","requires","ck-user__marker ","destroy","isLimit","undo","_domEmitter","checkChild","remove","user:range","init","name","markerRange","isPremiumPlugin","editing","hasDomSelection","</span>⁠","orderNumber","addEventListener","batch","parent","reconvertMarker","markerToHighlight","isDocumentOperation","5030yBIizn","hasContent","add","contenteditable","isSimilar","getNearestSelectionRange","change:range","43155zmeasc","ck-user__marker_hovered","model","getMarkerClass","for","mapper","863749wMUKgR","188742qwHoZv","fromRange","rootName","update:user:range","marker","isOfficialPlugin","removeMarker","getPositions","keydown","_createdBatches","user:range:","root","2YAGoSy","applyOperation","getSelectionClass","user:position","isCollapsed","getStart","2180220QSvoRc","has","deletionPosition","render","mouseleave","getCustomProperty","isObject","5229464nUAFzx","plugins","oldRange","toRange","view","conversion","pluginName","split","schema","markerToElement","clear","listenTo","document","user:","$text",'⁠<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span><span class="ck-user__marker-tooltip" contenteditable="false" spellcheck="false">',"editingDowncast","toDomElement","get","classList","selection","createRange","nodeAfter","UserMarkers","markerNameToElements","set","innerHTML","span","markers","getUserBySessionId","commands","end","detach","size","ck-user__selection","55RKbpkL","$graveyard","editor","348425TosQTR","newRange","markerName","getAttribute","getFirstRange","type","user:position:","1937013QogtiI","enqueueChange","start","color","updateMarker","setCustomProperty","stopListening"];return(Rs=function(){return e})()}function xs(e,t,n){const r=e.t,s=e.t;switch(t){case"PENDING_ACTION_SENDING_DATA":return s({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return s("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return s("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return s("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return s("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return s("Synchronization issue");case"Connected users list dropdown menu":return s("Connected users list dropdown menu");case"Collapsed connected users list (press ENTER to open it)":return s("Collapsed connected users list (press ENTER to open it)");case"Connected users list":return s("Connected users list");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return s({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}const Ns=(()=>{var e=p.Reader,t=p.Writer,n=p.util,r=p.roots.default||(p.roots.default={});return r.AttributeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.range=null,s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.range&&Object.hasOwnProperty.call(e,"range")&&r.Range.encode(e.range,n.uint32(10).fork()).ldelim(),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&n.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&n.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&n.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&n.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(56).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.AttributeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.range=r.Range.decode(t,t.uint32());break;case 2:o.key=t.string();break;case 3:o.oldValueBoolean=t.bool();break;case 4:o.oldValueJson=t.string();break;case 5:o.newValueBoolean=t.bool();break;case 6:o.newValueJson=t.string();break;case 7:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.range&&e.hasOwnProperty("range")){var t=r.Range.verify(e.range);if(t)return"range."+t}return null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!n.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!n.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.AttributeOperation)return e;var t=new r.AttributeOperation;if(null!=e.range){if("object"!=typeof e.range)throw TypeError(".AttributeOperation.range: object expected");t.range=r.Range.fromObject(e.range)}return null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.range&&e.hasOwnProperty("range")&&(n.range=r.Range.toObject(e.range,t)),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/AttributeOperation"},s}(),r.InsertOperation=function(){function s(e){if(this.nodes=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.position=null,s.prototype.nodes=n.emptyArray,s.prototype.shouldReceiveAttributes=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&r.Position.encode(e.position,n.uint32(10).fork()).ldelim(),null!=e.nodes&&e.nodes.length)for(var s=0;s<e.nodes.length;++s)r.Element.encode(e.nodes[s],n.uint32(18).fork()).ldelim();return null!=e.shouldReceiveAttributes&&Object.hasOwnProperty.call(e,"shouldReceiveAttributes")&&n.uint32(24).bool(e.shouldReceiveAttributes),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.InsertOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.position=r.Position.decode(t,t.uint32());break;case 2:o.nodes&&o.nodes.length||(o.nodes=[]),o.nodes.push(r.Element.decode(t,t.uint32()));break;case 3:o.shouldReceiveAttributes=t.bool();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")&&(n=r.Position.verify(e.position)))return"position."+n;if(null!=e.nodes&&e.hasOwnProperty("nodes")){if(!Array.isArray(e.nodes))return"nodes: array expected";for(var t=0;t<e.nodes.length;++t){var n;if(n=r.Element.verify(e.nodes[t]))return"nodes."+n}}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof e.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.InsertOperation)return e;var t=new r.InsertOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".InsertOperation.position: object expected");t.position=r.Position.fromObject(e.position)}if(e.nodes){if(!Array.isArray(e.nodes))throw TypeError(".InsertOperation.nodes: array expected");t.nodes=[];for(var n=0;n<e.nodes.length;++n){if("object"!=typeof e.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");t.nodes[n]=r.Element.fromObject(e.nodes[n])}}return null!=e.shouldReceiveAttributes&&(t.shouldReceiveAttributes=Boolean(e.shouldReceiveAttributes)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.nodes=[]),t.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=r.Position.toObject(e.position,t)),e.nodes&&e.nodes.length){n.nodes=[];for(var s=0;s<e.nodes.length;++s)n.nodes[s]=r.Element.toObject(e.nodes[s],t)}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=e.shouldReceiveAttributes),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/InsertOperation"},s}(),r.MarkerOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.name="",s.prototype.oldRange=null,s.prototype.newRange=null,s.prototype.affectsData=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(10).string(e.name),null!=e.oldRange&&Object.hasOwnProperty.call(e,"oldRange")&&r.Range.encode(e.oldRange,n.uint32(18).fork()).ldelim(),null!=e.newRange&&Object.hasOwnProperty.call(e,"newRange")&&r.Range.encode(e.newRange,n.uint32(26).fork()).ldelim(),null!=e.affectsData&&Object.hasOwnProperty.call(e,"affectsData")&&n.uint32(32).bool(e.affectsData),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MarkerOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.name=t.string();break;case 2:o.oldRange=r.Range.decode(t,t.uint32());break;case 3:o.newRange=r.Range.decode(t,t.uint32());break;case 4:o.affectsData=t.bool();break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name))return"name: string expected";var t;if(null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(t=r.Range.verify(e.oldRange)))return"oldRange."+t;if(null!=e.newRange&&e.hasOwnProperty("newRange")&&(t=r.Range.verify(e.newRange)))return"newRange."+t;return null!=e.affectsData&&e.hasOwnProperty("affectsData")&&"boolean"!=typeof e.affectsData?"affectsData: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MarkerOperation)return e;var t=new r.MarkerOperation;if(null!=e.name&&(t.name=String(e.name)),null!=e.oldRange){if("object"!=typeof e.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");t.oldRange=r.Range.fromObject(e.oldRange)}if(null!=e.newRange){if("object"!=typeof e.newRange)throw TypeError(".MarkerOperation.newRange: object expected");t.newRange=r.Range.fromObject(e.newRange)}return null!=e.affectsData&&(t.affectsData=Boolean(e.affectsData)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(n.oldRange=r.Range.toObject(e.oldRange,t)),null!=e.newRange&&e.hasOwnProperty("newRange")&&(n.newRange=r.Range.toObject(e.newRange,t)),null!=e.affectsData&&e.hasOwnProperty("affectsData")&&(n.affectsData=e.affectsData),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MarkerOperation"},s}(),r.MergeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.sourcePosition=null,s.prototype.targetPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&r.Position.encode(e.sourcePosition,n.uint32(10).fork()).ldelim(),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&r.Position.encode(e.targetPosition,n.uint32(18).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&r.Position.encode(e.graveyardPosition,n.uint32(26).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(32).uint32(e.howMany),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MergeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.sourcePosition=r.Position.decode(t,t.uint32());break;case 2:o.targetPosition=r.Position.decode(t,t.uint32());break;case 3:o.graveyardPosition=r.Position.decode(t,t.uint32());break;case 4:o.howMany=t.uint32();break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(t=r.Position.verify(e.sourcePosition)))return"sourcePosition."+t;if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(t=r.Position.verify(e.targetPosition)))return"targetPosition."+t;if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(t=r.Position.verify(e.graveyardPosition)))return"graveyardPosition."+t;return null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany)?"howMany: integer expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MergeOperation)return e;var t=new r.MergeOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");t.sourcePosition=r.Position.fromObject(e.sourcePosition)}if(null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");t.targetPosition=r.Position.fromObject(e.targetPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");t.graveyardPosition=r.Position.fromObject(e.graveyardPosition)}return null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(e.sourcePosition,t)),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(e.targetPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MergeOperation"},s}(),r.MoveOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.sourcePosition=null,s.prototype.howMany=0,s.prototype.targetPosition=null,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&r.Position.encode(e.sourcePosition,n.uint32(10).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(16).uint32(e.howMany),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&r.Position.encode(e.targetPosition,n.uint32(26).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.MoveOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.sourcePosition=r.Position.decode(t,t.uint32());break;case 2:o.howMany=t.uint32();break;case 3:o.targetPosition=r.Position.decode(t,t.uint32());break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(t=r.Position.verify(e.sourcePosition)))return"sourcePosition."+t;if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(t=r.Position.verify(e.targetPosition)))return"targetPosition."+t;return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.MoveOperation)return e;var t=new r.MoveOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");t.sourcePosition=r.Position.fromObject(e.sourcePosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");t.targetPosition=r.Position.fromObject(e.targetPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=r.Position.toObject(e.sourcePosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=r.Position.toObject(e.targetPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MoveOperation"},s}(),r.RenameOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.position=null,s.prototype.oldName="",s.prototype.newName="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&r.Position.encode(e.position,n.uint32(10).fork()).ldelim(),null!=e.oldName&&Object.hasOwnProperty.call(e,"oldName")&&n.uint32(18).string(e.oldName),null!=e.newName&&Object.hasOwnProperty.call(e,"newName")&&n.uint32(26).string(e.newName),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RenameOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.position=r.Position.decode(t,t.uint32());break;case 2:o.oldName=t.string();break;case 3:o.newName=t.string();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){var t=r.Position.verify(e.position);if(t)return"position."+t}return null!=e.oldName&&e.hasOwnProperty("oldName")&&!n.isString(e.oldName)?"oldName: string expected":null!=e.newName&&e.hasOwnProperty("newName")&&!n.isString(e.newName)?"newName: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RenameOperation)return e;var t=new r.RenameOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".RenameOperation.position: object expected");t.position=r.Position.fromObject(e.position)}return null!=e.oldName&&(t.oldName=String(e.oldName)),null!=e.newName&&(t.newName=String(e.newName)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=r.Position.toObject(e.position,t)),null!=e.oldName&&e.hasOwnProperty("oldName")&&(n.oldName=e.oldName),null!=e.newName&&e.hasOwnProperty("newName")&&(n.newName=e.newName),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RenameOperation"},s}(),r.RootAttributeOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.root="",s.prototype.key="",s.prototype.oldValueBoolean=!1,s.prototype.oldValueJson="",s.prototype.newValueBoolean=!1,s.prototype.newValueJson="",s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&n.uint32(10).string(e.root),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&n.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&n.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&n.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&n.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&n.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(56).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RootAttributeOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.root=t.string();break;case 2:o.key=t.string();break;case 3:o.oldValueBoolean=t.bool();break;case 4:o.oldValueJson=t.string();break;case 5:o.newValueBoolean=t.bool();break;case 6:o.newValueJson=t.string();break;case 7:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.root&&e.hasOwnProperty("root")&&!n.isString(e.root)?"root: string expected":null!=e.key&&e.hasOwnProperty("key")&&!n.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!n.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!n.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RootAttributeOperation)return e;var t=new r.RootAttributeOperation;return null!=e.root&&(t.root=String(e.root)),null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootAttributeOperation"},s}(),r.RootOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.rootName="",s.prototype.elementName="",s.prototype.isAdd=!1,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.rootName&&Object.hasOwnProperty.call(e,"rootName")&&n.uint32(10).string(e.rootName),null!=e.elementName&&Object.hasOwnProperty.call(e,"elementName")&&n.uint32(18).string(e.elementName),null!=e.isAdd&&Object.hasOwnProperty.call(e,"isAdd")&&n.uint32(24).bool(e.isAdd),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(32).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.RootOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.rootName=t.string();break;case 2:o.elementName=t.string();break;case 3:o.isAdd=t.bool();break;case 4:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.rootName&&e.hasOwnProperty("rootName")&&!n.isString(e.rootName)?"rootName: string expected":null!=e.elementName&&e.hasOwnProperty("elementName")&&!n.isString(e.elementName)?"elementName: string expected":null!=e.isAdd&&e.hasOwnProperty("isAdd")&&"boolean"!=typeof e.isAdd?"isAdd: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.RootOperation)return e;var t=new r.RootOperation;return null!=e.rootName&&(t.rootName=String(e.rootName)),null!=e.elementName&&(t.elementName=String(e.elementName)),null!=e.isAdd&&(t.isAdd=Boolean(e.isAdd)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=e.rootName&&e.hasOwnProperty("rootName")&&(n.rootName=e.rootName),null!=e.elementName&&e.hasOwnProperty("elementName")&&(n.elementName=e.elementName),null!=e.isAdd&&e.hasOwnProperty("isAdd")&&(n.isAdd=e.isAdd),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootOperation"},s}(),r.SplitOperation=function(){function s(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.splitPosition=null,s.prototype.graveyardPosition=null,s.prototype.howMany=0,s.prototype.insertionPosition=null,s.prototype.wasUndone=!1,s.create=function(e){return new s(e)},s.encode=function(e,n){return n||(n=t.create()),null!=e.splitPosition&&Object.hasOwnProperty.call(e,"splitPosition")&&r.Position.encode(e.splitPosition,n.uint32(10).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&r.Position.encode(e.graveyardPosition,n.uint32(18).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&n.uint32(24).uint32(e.howMany),null!=e.insertionPosition&&Object.hasOwnProperty.call(e,"insertionPosition")&&r.Position.encode(e.insertionPosition,n.uint32(34).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&n.uint32(40).bool(e.wasUndone),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.SplitOperation;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.splitPosition=r.Position.decode(t,t.uint32());break;case 2:o.graveyardPosition=r.Position.decode(t,t.uint32());break;case 3:o.howMany=t.uint32();break;case 4:o.insertionPosition=r.Position.decode(t,t.uint32());break;case 5:o.wasUndone=t.bool();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(t=r.Position.verify(e.splitPosition)))return"splitPosition."+t;if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(t=r.Position.verify(e.graveyardPosition)))return"graveyardPosition."+t;if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!n.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(t=r.Position.verify(e.insertionPosition)))return"insertionPosition."+t;return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},s.fromObject=function(e){if(e instanceof r.SplitOperation)return e;var t=new r.SplitOperation;if(null!=e.splitPosition){if("object"!=typeof e.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");t.splitPosition=r.Position.fromObject(e.splitPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");t.graveyardPosition=r.Position.fromObject(e.graveyardPosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.insertionPosition){if("object"!=typeof e.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");t.insertionPosition=r.Position.fromObject(e.insertionPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},s.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(n.splitPosition=r.Position.toObject(e.splitPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=r.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(n.insertionPosition=r.Position.toObject(e.insertionPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SplitOperation"},s}(),r.Position=function(){function s(e){if(this.path=[],e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.root="",s.prototype.rootMain=!1,s.prototype.rootGraveyard=!1,s.prototype.path=n.emptyArray,s.prototype.stickiness="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&n.uint32(10).string(e.root),null!=e.rootMain&&Object.hasOwnProperty.call(e,"rootMain")&&n.uint32(16).bool(e.rootMain),null!=e.rootGraveyard&&Object.hasOwnProperty.call(e,"rootGraveyard")&&n.uint32(24).bool(e.rootGraveyard),null!=e.path&&e.path.length){n.uint32(34).fork();for(var r=0;r<e.path.length;++r)n.uint32(e.path[r]);n.ldelim()}return null!=e.stickiness&&Object.hasOwnProperty.call(e,"stickiness")&&n.uint32(42).string(e.stickiness),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.Position;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.root=t.string();break;case 2:o.rootMain=t.bool();break;case 3:o.rootGraveyard=t.bool();break;case 4:if(o.path&&o.path.length||(o.path=[]),2==(7&i))for(var a=t.uint32()+t.pos;t.pos<a;)o.path.push(t.uint32());else o.path.push(t.uint32());break;case 5:o.stickiness=t.string();break;default:t.skipType(7&i)}}return o},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.root&&e.hasOwnProperty("root")&&!n.isString(e.root))return"root: string expected";if(null!=e.rootMain&&e.hasOwnProperty("rootMain")&&"boolean"!=typeof e.rootMain)return"rootMain: boolean expected";if(null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof e.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=e.path&&e.hasOwnProperty("path")){if(!Array.isArray(e.path))return"path: array expected";for(var t=0;t<e.path.length;++t)if(!n.isInteger(e.path[t]))return"path: integer[] expected"}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&!n.isString(e.stickiness)?"stickiness: string expected":null},s.fromObject=function(e){if(e instanceof r.Position)return e;var t=new r.Position;if(null!=e.root&&(t.root=String(e.root)),null!=e.rootMain&&(t.rootMain=Boolean(e.rootMain)),null!=e.rootGraveyard&&(t.rootGraveyard=Boolean(e.rootGraveyard)),e.path){if(!Array.isArray(e.path))throw TypeError(".Position.path: array expected");t.path=[];for(var n=0;n<e.path.length;++n)t.path[n]=e.path[n]>>>0}return null!=e.stickiness&&(t.stickiness=String(e.stickiness)),t},s.toObject=function(e,t){t||(t={});var n={};if((t.arrays||t.defaults)&&(n.path=[]),t.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.rootMain&&e.hasOwnProperty("rootMain")&&(n.rootMain=e.rootMain),null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=e.rootGraveyard),e.path&&e.path.length){n.path=[];for(var r=0;r<e.path.length;++r)n.path[r]=e.path[r]}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&(n.stickiness=e.stickiness),n},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Position"},s}(),r.Range=function(){function n(e){if(e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return n.prototype.start=null,n.prototype.end=null,n.create=function(e){return new n(e)},n.encode=function(e,n){return n||(n=t.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&r.Position.encode(e.start,n.uint32(10).fork()).ldelim(),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&r.Position.encode(e.end,n.uint32(18).fork()).ldelim(),n},n.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},n.decode=function(t,n){t instanceof e||(t=e.create(t));for(var s=void 0===n?t.len:t.pos+n,o=new r.Range;t.pos<s;){var i=t.uint32();switch(i>>>3){case 1:o.start=r.Position.decode(t,t.uint32());break;case 2:o.end=r.Position.decode(t,t.uint32());break;default:t.skipType(7&i)}}return o},n.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},n.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t;if(null!=e.start&&e.hasOwnProperty("start")&&(t=r.Position.verify(e.start)))return"start."+t;if(null!=e.end&&e.hasOwnProperty("end")&&(t=r.Position.verify(e.end)))return"end."+t;return null},n.fromObject=function(e){if(e instanceof r.Range)return e;var t=new r.Range;if(null!=e.start){if("object"!=typeof e.start)throw TypeError(".Range.start: object expected");t.start=r.Position.fromObject(e.start)}if(null!=e.end){if("object"!=typeof e.end)throw TypeError(".Range.end: object expected");t.end=r.Position.fromObject(e.end)}return t},n.toObject=function(e,t){t||(t={});var n={};return t.defaults&&(n.start=null,n.end=null),null!=e.start&&e.hasOwnProperty("start")&&(n.start=r.Position.toObject(e.start,t)),null!=e.end&&e.hasOwnProperty("end")&&(n.end=r.Position.toObject(e.end,t)),n},n.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Range"},n}(),r.Element=function(){function s(e){if(this.children=[],this.attributesBoolean={},e)for(var t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return s.prototype.name="",s.prototype.children=n.emptyArray,s.prototype.data="",s.prototype.attributesBoolean=n.emptyObject,s.prototype.attributesJson="",s.create=function(e){return new s(e)},s.encode=function(e,n){if(n||(n=t.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&n.uint32(10).string(e.name),null!=e.children&&e.children.length)for(var s=0;s<e.children.length;++s)r.Element.encode(e.children[s],n.uint32(18).fork()).ldelim();if(null!=e.data&&Object.hasOwnProperty.call(e,"data")&&n.uint32(26).string(e.data),null!=e.attributesBoolean&&Object.hasOwnProperty.call(e,"attributesBoolean")){var o=Object.keys(e.attributesBoolean);for(s=0;s<o.length;++s)n.uint32(34).fork().uint32(10).string(o[s]).uint32(16).bool(e.attributesBoolean[o[s]]).ldelim()}return null!=e.attributesJson&&Object.hasOwnProperty.call(e,"attributesJson")&&n.uint32(42).string(e.attributesJson),n},s.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},s.decode=function(t,s){t instanceof e||(t=e.create(t));for(var o,i,a=void 0===s?t.len:t.pos+s,c=new r.Element;t.pos<a;){var d=t.uint32();switch(d>>>3){case 1:c.name=t.string();break;case 2:c.children&&c.children.length||(c.children=[]),c.children.push(r.Element.decode(t,t.uint32()));break;case 3:c.data=t.string();break;case 4:c.attributesBoolean===n.emptyObject&&(c.attributesBoolean={});var u=t.uint32()+t.pos;for(o="",i=!1;t.pos<u;){var l=t.uint32();switch(l>>>3){case 1:o=t.string();break;case 2:i=t.bool();break;default:t.skipType(7&l)}}c.attributesBoolean[o]=i;break;case 5:c.attributesJson=t.string();break;default:t.skipType(7&d)}}return c},s.decodeDelimited=function(t){return t instanceof e||(t=new e(t)),this.decode(t,t.uint32())},s.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!n.isString(e.name))return"name: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(var t=0;t<e.children.length;++t){var s=r.Element.verify(e.children[t]);if(s)return"children."+s}}if(null!=e.data&&e.hasOwnProperty("data")&&!n.isString(e.data))return"data: string expected";if(null!=e.attributesBoolean&&e.hasOwnProperty("attributesBoolean")){if(!n.isObject(e.attributesBoolean))return"attributesBoolean: object expected";var o=Object.keys(e.attributesBoolean);for(t=0;t<o.length;++t)if("boolean"!=typeof e.attributesBoolean[o[t]])return"attributesBoolean: boolean{k:string} expected"}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&!n.isString(e.attributesJson)?"attributesJson: string expected":null},s.fromObject=function(e){if(e instanceof r.Element)return e;var t=new r.Element;if(null!=e.name&&(t.name=String(e.name)),e.children){if(!Array.isArray(e.children))throw TypeError(".Element.children: array expected");t.children=[];for(var n=0;n<e.children.length;++n){if("object"!=typeof e.children[n])throw TypeError(".Element.children: object expected");t.children[n]=r.Element.fromObject(e.children[n])}}if(null!=e.data&&(t.data=String(e.data)),e.attributesBoolean){if("object"!=typeof e.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");t.attributesBoolean={};var s=Object.keys(e.attributesBoolean);for(n=0;n<s.length;++n)t.attributesBoolean[s[n]]=Boolean(e.attributesBoolean[s[n]])}return null!=e.attributesJson&&(t.attributesJson=String(e.attributesJson)),t},s.toObject=function(e,t){t||(t={});var n,s={};if((t.arrays||t.defaults)&&(s.children=[]),(t.objects||t.defaults)&&(s.attributesBoolean={}),t.defaults&&(s.name="",s.data="",s.attributesJson=""),null!=e.name&&e.hasOwnProperty("name")&&(s.name=e.name),e.children&&e.children.length){s.children=[];for(var o=0;o<e.children.length;++o)s.children[o]=r.Element.toObject(e.children[o],t)}if(null!=e.data&&e.hasOwnProperty("data")&&(s.data=e.data),e.attributesBoolean&&(n=Object.keys(e.attributesBoolean)).length){s.attributesBoolean={};for(o=0;o<n.length;++o)s.attributesBoolean[n[o]]=e.attributesBoolean[n[o]]}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&(s.attributesJson=e.attributesJson),s},s.prototype.toJSON=function(){return this.constructor.toObject(this,p.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},s}(),r})();class Vs{constructor(){this._protobufRoot=Ns}getDescriptor(e){return new Ms(this._protobufRoot[e])}}class Ms{constructor(e){this._protobuf=e}compress(e){const t=this._protobuf.verify(e);if(t)throw Error(t);return this._protobuf.encode(this._protobuf.create(e)).finish()}decompress(e){return this._protobuf.toObject(this._protobuf.decode(e),{oneofs:!0})}}const Bs=function(){this.__data__=[],this.size=0};const Us=function(e,t){return e===t||e!=e&&t!=t};const Js=function(e,t){for(var n=e.length;n--;)if(Us(e[n][0],t))return n;return-1};var qs=Array.prototype.splice;const Gs=function(e){var t=this.__data__,n=Js(t,e);return!(n<0)&&(n==t.length-1?t.pop():qs.call(t,n,1),--this.size,!0)};const Ls=function(e){var t=this.__data__,n=Js(t,e);return n<0?void 0:t[n][1]};const Ys=function(e){return Js(this.__data__,e)>-1};const zs=function(e,t){var n=this.__data__,r=Js(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function Hs(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Hs.prototype.clear=Bs,Hs.prototype.delete=Gs,Hs.prototype.get=Ls,Hs.prototype.has=Ys,Hs.prototype.set=zs;const Fs=Hs;const Ks=function(){this.__data__=new Fs,this.size=0};const Ws=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const Qs=function(e){return this.__data__.get(e)};const Zs=function(e){return this.__data__.has(e)};const $s="object"==typeof global&&global&&global.Object===Object&&global;var Xs="object"==typeof self&&self&&self.Object===Object&&self;const eo=$s||Xs||Function("return this")();const to=eo.Symbol;var no=Object.prototype,ro=no.hasOwnProperty,so=no.toString,oo=to?to.toStringTag:void 0;const io=function(e){var t=ro.call(e,oo),n=e[oo];try{e[oo]=void 0;var r=!0}catch(e){}var s=so.call(e);return r&&(t?e[oo]=n:delete e[oo]),s};var ao=Object.prototype.toString;const co=function(e){return ao.call(e)};var uo=to?to.toStringTag:void 0;const lo=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":uo&&uo in Object(e)?io(e):co(e)};const po=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const ho=function(e){if(!po(e))return!1;var t=lo(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const fo=eo["__core-js_shared__"];var mo,yo=(mo=/[^.]+$/.exec(fo&&fo.keys&&fo.keys.IE_PROTO||""))?"Symbol(src)_1."+mo:"";const go=function(e){return!!yo&&yo in e};var bo=Function.prototype.toString;const Oo=function(e){if(null!=e){try{return bo.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var wo=/^\[object .+?Constructor\]$/,vo=Function.prototype,Io=Object.prototype,So=vo.toString,Po=Io.hasOwnProperty,ko=RegExp("^"+So.call(Po).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Ao=function(e){return!(!po(e)||go(e))&&(ho(e)?ko:wo).test(Oo(e))};const _o=function(e,t){return null==e?void 0:e[t]};const To=function(e,t){var n=_o(e,t);return Ao(n)?n:void 0};const Co=To(eo,"Map");const jo=To(Object,"create");const Eo=function(){this.__data__=jo?jo(null):{},this.size=0};const Do=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Ro=Object.prototype.hasOwnProperty;const xo=function(e){var t=this.__data__;if(jo){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Ro.call(t,e)?t[e]:void 0};var No=Object.prototype.hasOwnProperty;const Vo=function(e){var t=this.__data__;return jo?void 0!==t[e]:No.call(t,e)};const Mo=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=jo&&void 0===t?"__lodash_hash_undefined__":t,this};function Bo(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Bo.prototype.clear=Eo,Bo.prototype.delete=Do,Bo.prototype.get=xo,Bo.prototype.has=Vo,Bo.prototype.set=Mo;const Uo=Bo;const Jo=function(){this.size=0,this.__data__={hash:new Uo,map:new(Co||Fs),string:new Uo}};const qo=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Go=function(e,t){var n=e.__data__;return qo(t)?n["string"==typeof t?"string":"hash"]:n.map};const Lo=function(e){var t=Go(this,e).delete(e);return this.size-=t?1:0,t};const Yo=function(e){return Go(this,e).get(e)};const zo=function(e){return Go(this,e).has(e)};const Ho=function(e,t){var n=Go(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Fo(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Fo.prototype.clear=Jo,Fo.prototype.delete=Lo,Fo.prototype.get=Yo,Fo.prototype.has=zo,Fo.prototype.set=Ho;const Ko=Fo;const Wo=function(e,t){var n=this.__data__;if(n instanceof Fs){var r=n.__data__;if(!Co||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ko(r)}return n.set(e,t),this.size=n.size,this};function Qo(e){var t=this.__data__=new Fs(e);this.size=t.size}Qo.prototype.clear=Ks,Qo.prototype.delete=Ws,Qo.prototype.get=Qs,Qo.prototype.has=Zs,Qo.prototype.set=Wo;const Zo=Qo;const $o=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e};const Xo=function(){try{var e=To(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const ei=function(e,t,n){"__proto__"==t&&Xo?Xo(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var ti=Object.prototype.hasOwnProperty;const ni=function(e,t,n){var r=e[t];ti.call(e,t)&&Us(r,n)&&(void 0!==n||t in e)||ei(e,t,n)};const ri=function(e,t,n,r){var s=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var a=t[o],c=r?r(n[a],e[a],a,n,e):void 0;void 0===c&&(c=e[a]),s?ei(n,a,c):ni(n,a,c)}return n};const si=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};const oi=function(e){return null!=e&&"object"==typeof e};const ii=function(e){return oi(e)&&"[object Arguments]"==lo(e)};var ai=Object.prototype,ci=ai.hasOwnProperty,di=ai.propertyIsEnumerable,ui=ii(function(){return arguments}())?ii:function(e){return oi(e)&&ci.call(e,"callee")&&!di.call(e,"callee")};const li=ui;const pi=Array.isArray;const hi=function(){return!1};var fi="object"==typeof exports&&exports&&!exports.nodeType&&exports,mi=fi&&"object"==typeof module&&module&&!module.nodeType&&module,yi=mi&&mi.exports===fi?eo.Buffer:void 0;const gi=(yi?yi.isBuffer:void 0)||hi;var bi=/^(?:0|[1-9]\d*)$/;const Oi=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&bi.test(e))&&e>-1&&e%1==0&&e<t};const wi=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var vi={};vi["[object Float32Array]"]=vi["[object Float64Array]"]=vi["[object Int8Array]"]=vi["[object Int16Array]"]=vi["[object Int32Array]"]=vi["[object Uint8Array]"]=vi["[object Uint8ClampedArray]"]=vi["[object Uint16Array]"]=vi["[object Uint32Array]"]=!0,vi["[object Arguments]"]=vi["[object Array]"]=vi["[object ArrayBuffer]"]=vi["[object Boolean]"]=vi["[object DataView]"]=vi["[object Date]"]=vi["[object Error]"]=vi["[object Function]"]=vi["[object Map]"]=vi["[object Number]"]=vi["[object Object]"]=vi["[object RegExp]"]=vi["[object Set]"]=vi["[object String]"]=vi["[object WeakMap]"]=!1;const Ii=function(e){return oi(e)&&wi(e.length)&&!!vi[lo(e)]};const Si=function(e){return function(t){return e(t)}};var Pi="object"==typeof exports&&exports&&!exports.nodeType&&exports,ki=Pi&&"object"==typeof module&&module&&!module.nodeType&&module,Ai=ki&&ki.exports===Pi&&$s.process;const _i=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Ai&&Ai.binding&&Ai.binding("util")}catch(e){}}();var Ti=_i&&_i.isTypedArray;const Ci=Ti?Si(Ti):Ii;var ji=Object.prototype.hasOwnProperty;const Ei=function(e,t){var n=pi(e),r=!n&&li(e),s=!n&&!r&&gi(e),o=!n&&!r&&!s&&Ci(e),i=n||r||s||o,a=i?si(e.length,String):[],c=a.length;for(var d in e)!t&&!ji.call(e,d)||i&&("length"==d||s&&("offset"==d||"parent"==d)||o&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||Oi(d,c))||a.push(d);return a};var Di=Object.prototype;const Ri=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Di)};const xi=function(e,t){return function(n){return e(t(n))}};const Ni=xi(Object.keys,Object);var Vi=Object.prototype.hasOwnProperty;const Mi=function(e){if(!Ri(e))return Ni(e);var t=[];for(var n in Object(e))Vi.call(e,n)&&"constructor"!=n&&t.push(n);return t};const Bi=function(e){return null!=e&&wi(e.length)&&!ho(e)};const Ui=function(e){return Bi(e)?Ei(e):Mi(e)};const Ji=function(e,t){return e&&ri(t,Ui(t),e)};const qi=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var Gi=Object.prototype.hasOwnProperty;const Li=function(e){if(!po(e))return qi(e);var t=Ri(e),n=[];for(var r in e)("constructor"!=r||!t&&Gi.call(e,r))&&n.push(r);return n};const Yi=function(e){return Bi(e)?Ei(e,!0):Li(e)};const zi=function(e,t){return e&&ri(t,Yi(t),e)};var Hi="object"==typeof exports&&exports&&!exports.nodeType&&exports,Fi=Hi&&"object"==typeof module&&module&&!module.nodeType&&module,Ki=Fi&&Fi.exports===Hi?eo.Buffer:void 0,Wi=Ki?Ki.allocUnsafe:void 0;const Qi=function(e,t){if(t)return e.slice();var n=e.length,r=Wi?Wi(n):new e.constructor(n);return e.copy(r),r};const Zi=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};const $i=function(e,t){for(var n=-1,r=null==e?0:e.length,s=0,o=[];++n<r;){var i=e[n];t(i,n,e)&&(o[s++]=i)}return o};const Xi=function(){return[]};var ea=Object.prototype.propertyIsEnumerable,ta=Object.getOwnPropertySymbols;const na=ta?function(e){return null==e?[]:(e=Object(e),$i(ta(e),(function(t){return ea.call(e,t)})))}:Xi;const ra=function(e,t){return ri(e,na(e),t)};const sa=function(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e};const oa=xi(Object.getPrototypeOf,Object);const ia=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sa(t,na(e)),e=oa(e);return t}:Xi;const aa=function(e,t){return ri(e,ia(e),t)};const ca=function(e,t,n){var r=t(e);return pi(e)?r:sa(r,n(e))};const da=function(e){return ca(e,Ui,na)};const ua=function(e){return ca(e,Yi,ia)};const la=To(eo,"DataView");const pa=To(eo,"Promise");const ha=To(eo,"Set");const fa=To(eo,"WeakMap");var ma="[object Map]",ya="[object Promise]",ga="[object Set]",ba="[object WeakMap]",Oa="[object DataView]",wa=Oo(la),va=Oo(Co),Ia=Oo(pa),Sa=Oo(ha),Pa=Oo(fa),ka=lo;(la&&ka(new la(new ArrayBuffer(1)))!=Oa||Co&&ka(new Co)!=ma||pa&&ka(pa.resolve())!=ya||ha&&ka(new ha)!=ga||fa&&ka(new fa)!=ba)&&(ka=function(e){var t=lo(e),n="[object Object]"==t?e.constructor:void 0,r=n?Oo(n):"";if(r)switch(r){case wa:return Oa;case va:return ma;case Ia:return ya;case Sa:return ga;case Pa:return ba}return t});const Aa=ka;var _a=Object.prototype.hasOwnProperty;const Ta=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&_a.call(e,"index")&&(n.index=e.index,n.input=e.input),n};const Ca=eo.Uint8Array;const ja=function(e){var t=new e.constructor(e.byteLength);return new Ca(t).set(new Ca(e)),t};const Ea=function(e,t){var n=t?ja(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var Da=/\w*$/;const Ra=function(e){var t=new e.constructor(e.source,Da.exec(e));return t.lastIndex=e.lastIndex,t};var xa=to?to.prototype:void 0,Na=xa?xa.valueOf:void 0;const Va=function(e){return Na?Object(Na.call(e)):{}};const Ma=function(e,t){var n=t?ja(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};const Ba=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return ja(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return Ea(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Ma(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return Ra(e);case"[object Symbol]":return Va(e)}};var Ua=Object.create;const Ja=function(){function e(){}return function(t){if(!po(t))return{};if(Ua)return Ua(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const qa=function(e){return"function"!=typeof e.constructor||Ri(e)?{}:Ja(oa(e))};const Ga=function(e){return oi(e)&&"[object Map]"==Aa(e)};var La=_i&&_i.isMap;const Ya=La?Si(La):Ga;const za=function(e){return oi(e)&&"[object Set]"==Aa(e)};var Ha=_i&&_i.isSet;const Fa=Ha?Si(Ha):za;var Ka="[object Arguments]",Wa="[object Function]",Qa="[object Object]",Za={};Za[Ka]=Za["[object Array]"]=Za["[object ArrayBuffer]"]=Za["[object DataView]"]=Za["[object Boolean]"]=Za["[object Date]"]=Za["[object Float32Array]"]=Za["[object Float64Array]"]=Za["[object Int8Array]"]=Za["[object Int16Array]"]=Za["[object Int32Array]"]=Za["[object Map]"]=Za["[object Number]"]=Za[Qa]=Za["[object RegExp]"]=Za["[object Set]"]=Za["[object String]"]=Za["[object Symbol]"]=Za["[object Uint8Array]"]=Za["[object Uint8ClampedArray]"]=Za["[object Uint16Array]"]=Za["[object Uint32Array]"]=!0,Za["[object Error]"]=Za[Wa]=Za["[object WeakMap]"]=!1;const $a=function e(t,n,r,s,o,i){var a,c=1&n,d=2&n,u=4&n;if(r&&(a=o?r(t,s,o,i):r(t)),void 0!==a)return a;if(!po(t))return t;var l=pi(t);if(l){if(a=Ta(t),!c)return Zi(t,a)}else{var p=Aa(t),h=p==Wa||"[object GeneratorFunction]"==p;if(gi(t))return Qi(t,c);if(p==Qa||p==Ka||h&&!o){if(a=d||h?{}:qa(t),!c)return d?aa(t,zi(a,t)):ra(t,Ji(a,t))}else{if(!Za[p])return o?t:{};a=Ba(t,p,c)}}i||(i=new Zo);var f=i.get(t);if(f)return f;i.set(t,a),Fa(t)?t.forEach((function(s){a.add(e(s,n,r,s,t,i))})):Ya(t)&&t.forEach((function(s,o){a.set(o,e(s,n,r,o,t,i))}));var m=l?void 0:(u?d?ua:da:d?Yi:Ui)(t);return $o(m||t,(function(s,o){m&&(s=t[o=s]),ni(a,o,e(s,n,r,o,t,i))})),a};const Xa=function(e){return $a(e,5)};const ec=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const tc=function(e){return this.__data__.has(e)};function nc(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Ko;++t<n;)this.add(e[t])}nc.prototype.add=nc.prototype.push=ec,nc.prototype.has=tc;const rc=nc;const sc=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};const oc=function(e,t){return e.has(t)};const ic=function(e,t,n,r,s,o){var i=1&n,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var d=o.get(e),u=o.get(t);if(d&&u)return d==t&&u==e;var l=-1,p=!0,h=2&n?new rc:void 0;for(o.set(e,t),o.set(t,e);++l<a;){var f=e[l],m=t[l];if(r)var y=i?r(m,f,l,t,e,o):r(f,m,l,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!sc(t,(function(e,t){if(!oc(h,t)&&(f===e||s(f,e,n,r,o)))return h.push(t)}))){p=!1;break}}else if(f!==m&&!s(f,m,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p};const ac=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};const cc=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n};var dc=to?to.prototype:void 0,uc=dc?dc.valueOf:void 0;const lc=function(e,t,n,r,s,o,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new Ca(e),new Ca(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Us(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=ac;case"[object Set]":var c=1&r;if(a||(a=cc),e.size!=t.size&&!c)return!1;var d=i.get(e);if(d)return d==t;r|=2,i.set(e,t);var u=ic(a(e),a(t),r,s,o,i);return i.delete(e),u;case"[object Symbol]":if(uc)return uc.call(e)==uc.call(t)}return!1};var pc=Object.prototype.hasOwnProperty;const hc=function(e,t,n,r,s,o){var i=1&n,a=da(e),c=a.length;if(c!=da(t).length&&!i)return!1;for(var d=c;d--;){var u=a[d];if(!(i?u in t:pc.call(t,u)))return!1}var l=o.get(e),p=o.get(t);if(l&&p)return l==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var f=i;++d<c;){var m=e[u=a[d]],y=t[u];if(r)var g=i?r(y,m,u,t,e,o):r(m,y,u,e,t,o);if(!(void 0===g?m===y||s(m,y,n,r,o):g)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var b=e.constructor,O=t.constructor;b==O||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return o.delete(e),o.delete(t),h};var fc="[object Arguments]",mc="[object Array]",yc="[object Object]",gc=Object.prototype.hasOwnProperty;const bc=function(e,t,n,r,s,o){var i=pi(e),a=pi(t),c=i?mc:Aa(e),d=a?mc:Aa(t),u=(c=c==fc?yc:c)==yc,l=(d=d==fc?yc:d)==yc,p=c==d;if(p&&gi(e)){if(!gi(t))return!1;i=!0,u=!1}if(p&&!u)return o||(o=new Zo),i||Ci(e)?ic(e,t,n,r,s,o):lc(e,t,c,n,r,s,o);if(!(1&n)){var h=u&&gc.call(e,"__wrapped__"),f=l&&gc.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,y=f?t.value():t;return o||(o=new Zo),s(m,y,n,r,o)}}return!!p&&(o||(o=new Zo),hc(e,t,n,r,s,o))};const Oc=function e(t,n,r,s,o){return t===n||(null==t||null==n||!oi(t)&&!oi(n)?t!=t&&n!=n:bc(t,n,r,s,e,o))};const wc=function(e,t){return Oc(e,t)};function vc(e,t){const n=Xa(e);return n.path[n.path.length-1]+=t,n}function Ic(e,t){return e.root===t.root&&wc(e.path,t.path)}function Sc(e){kc(e,(e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e)))}function Pc(e){kc(e,(e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e)))}function kc(e,t){for(const n in e){const r=e[n];"nodes"!==n&&po(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):kc(r,t))}return e}class Ac{constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.shift();return Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.types.shift();const n=this._protobufDescriptor.decompress(t.buffers.shift());Pc(n),n.__className=this._operationName,e.push(n)}}class _c extends Ac{compress(e,t){const n=t.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",s),this._deserializeOneOf("newValue",s),Pc(s),s.__className=this._operationName,e.push(s)}_serializeOneOf(e,t){const n=t[e];"boolean"==typeof n?t[`${e}Boolean`]=n:t[`${e}Json`]=JSON.stringify(n)}_deserializeOneOf(e,t){const n=`${e}Json`;t[n]?(t[e]=JSON.parse(t[n]),delete t[n]):(t[e]=t[`${e}Boolean`],delete t[`${e}Boolean`])}}class Tc extends Ac{compress(e,t){const n=t.shift();return this._serializeNodesAttributes(n.nodes),Sc(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),s.nodes||(s.nodes=[]),this._deserializeNodesAttributes(s.nodes),Pc(s),s.__className=this._operationName,e.push(s)}_serializeNodesAttributes(e){for(const t of e){if(t.attributes){const e=t.attributes;this._areValuesBoolean(e)?t.attributesBoolean=e:t.attributesJson=JSON.stringify(e)}t.children&&this._serializeNodesAttributes(t.children)}}_deserializeNodesAttributes(e){for(const t of e)(t.attributesBoolean||t.attributesJson)&&(t.attributesBoolean?(t.attributes=t.attributesBoolean,delete t.attributesBoolean):(t.attributes=JSON.parse(t.attributesJson),delete t.attributesJson)),t.children&&this._deserializeNodesAttributes(t.children)}_areValuesBoolean(e){return Object.keys(e).every((t=>"boolean"==typeof e[t]))}}class Cc extends Ac{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class jc extends Ac{compress(e,t){return t.shift(),e.types.push(this._id),!0}decompress(e,t){t.types.shift(),e.push({__className:this._operationName})}}class Ec extends Cc{constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){return!("MarkerOperation"!=t[0].__className||!t[0].name.startsWith(this._omittedNamespace))&&(t[0].name=t[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(e,t),!0)}decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.name=this._omittedNamespace+n.name}}class Dc{constructor(e,t){this._id=e,this._context=t}compress(e,t){let n;for(;t.length>1&&this._compareOperations(t[0],t[1]);)n?(n=this._combineNext(t.shift(),n),e.types.push(0)):(n=Xa(t.shift()),e.types.push(this._id));return!!n&&(n=this._combineNext(t.shift(),n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[0];)t.types.shift(),e.push(this._splitCurrent(n));e.push(n)}}class Rc extends Dc{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=Xa(e),n=t.nodes[0],r=e.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),e.position=vc(e.position,o),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=Ic(vc(e.position,n),t.position),s=e.nodes[0],o=t.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("InsertOperation").decompress(t,e),t[0]}_checkOperation(e){return"InsertOperation"==e.__className&&1==e.nodes.length&&e.nodes[0].data&&!e.wasUndone&&1==Array.from(e.nodes[0].data).length}_compareAttributes(e,t){const n=Object.keys(e.attributes||{}),r=Object.keys(t.attributes||{});return n.length===r.length&&n.every((n=>t.attributes[n]&&t.attributes[n]===e.attributes[n]))}}class xc extends Dc{_combineNext(e,t){return t.howMany++,t.sourcePosition=Xa(e.sourcePosition),t}_splitCurrent(e){const t=Xa(e);return e.howMany--,t.howMany=1,t.sourcePosition=vc(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(Ic(vc(e.sourcePosition,-1),t.sourcePosition)&&Ic(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Nc extends Dc{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=Xa(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(Ic(e.sourcePosition,t.sourcePosition)&&Ic(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Vc extends Dc{compress(e,t){if(!this._compareOperations(t[0],t[1]))return!1;const n=t.shift();return n.oldRange=null,n.newRange&&Ic(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.shift(),e.types.push(this._id),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0}decompress(e,t){const n=this._decompressSingleOperation(t);n.newRange&&!n.newRange.end&&(n.newRange.end=Xa(n.newRange.start));const r=Xa(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Xa(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.types.shift(),e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MarkerOperation").decompress(t,e),t[0]}_compareOperations(e,t){return!(!e||!t)&&("MarkerOperation"==e.__className&&"MarkerOperation"==t.__className&&!(!e.name.startsWith("user:")||!t.name.startsWith("user:")||e.name==t.name))}}class Mc{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new Vs;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new jc(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",_c),this._registerOperationCompressor(11,"InsertOperation",Tc),this._registerOperationCompressor(12,"MarkerOperation",Cc),this._registerOperationCompressor(13,"MergeOperation",Ac),this._registerOperationCompressor(14,"MoveOperation",Ac),this._registerOperationCompressor(15,"RenameOperation",Ac),this._registerOperationCompressor(16,"RootAttributeOperation",_c),this._registerOperationCompressor(17,"SplitOperation",Ac),this._registerCompressor(18,"CommentMarkerOperation",new Ec(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Ec(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",Ac),this._registerActionCompressor(100,"TypingAction",Rc),this._registerActionCompressor(101,"DeletingAction",xc),this._registerActionCompressor(102,"ForwardDeletingAction",Nc),this._registerActionCompressor(103,"UserSelectionAction",Vc)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;e.length;)this._getCompressorByName("UserSelectionAction").compress(t,e)||this._getCompressorByName("TypingAction").compress(t,e)||this._getCompressorByName("DeletingAction").compress(t,e)||this._getCompressorByName("ForwardDeletingAction").compress(t,e)||this._getCompressorByName("CommentMarkerOperation").compress(t,e)||this._getCompressorByName("SuggestionMarkerOperation").compress(t,e)||this._getCompressorByName(e[0].__className).compress(t,e);return t}decompress(e){const t=[];for(;e.types.length;){this._compressorById.get(e.types[0]).decompress(t,e)}return t.forEach(((t,n)=>t.baseVersion=e.baseVersion+n)),t}_getCompressorByName(e){return this._compressorByName.get(e)}_registerOperationCompressor(e,t,n){const r=new n(e,t,this._protobufFactory.getDescriptor(t));this._registerCompressor(e,t,r)}_registerActionCompressor(e,t,n){const r=new n(e,this);this._registerCompressor(e,t,r)}_registerCompressor(e,t,n){this._compressorById.set(e,n),this._compressorByName.set(t,n)}}const Bc=Jc;!function(e){const t=Jc,n=e();for(;;)try{if(629428===parseInt(t(506))/1*(parseInt(t(339))/2)+-parseInt(t(500))/3+parseInt(t(380))/4+parseInt(t(337))/5+-parseInt(t(327))/6*(-parseInt(t(563))/7)+-parseInt(t(560))/8*(parseInt(t(457))/9)+parseInt(t(430))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zc);let Uc=1;function Jc(e,t){const n=zc();return(Jc=function(e,t){return n[e-=306]})(e,t)}class qc extends t.Plugin{static get[Bc(533)](){return[ls,ys,Es,t.PendingActions,ps.Users,r.Notification]}static get[Bc(505)](){return Bc(390)}static get[Bc(512)](){return!0}static get[Bc(509)](){return!0}get[Bc(515)](){const e=Bc;return this[e(405)]+this[e(441)]}get[Bc(405)](){const e=Bc;return this[e(365)][e(375)]-this[e(441)]}get[Bc(449)](){const e=Bc,t=this[e(365)][e(443)]();for(let n=t[e(421)]-1;n>=0;n--){const r=t[n];if(!this[e(537)][e(393)](r))return r[e(468)]+1-this[e(441)]}return 0}constructor(e){const t=Bc;if(super(e),this[t(441)]=0,this[t(527)]=null,this[t(365)]=new s.History,this[t(549)][t(371)][t(401)](t(471),{}),this[t(482)]=this[t(549)][t(371)][t(486)](t(534)),!this[t(482)])throw new n.CKEditorError(t(382),this);const r=e[t(371)][t(486)](t(423))||n.version;this[t(473)]=new(qc[t(551)])(r,this[t(482)]),this[t(402)]=this[t(549)][t(338)][t(442)],this[t(508)]=new Mc,this[t(452)]=[],this[t(411)]=new WeakSet,this[t(329)]=new Set,this[t(437)](t(431),!1),this[t(437)](t(432),!1),this[t(445)]=null,this[t(306)]=!1,this[t(510)]=null,this[t(394)]=300,this[t(315)]=this[t(394)],this[t(519)]=null,this[t(537)]=new WeakSet,this[t(478)]=new Hc(this[t(537)])}[Bc(415)](){const e=Bc,t=this[e(549)],n=t[e(425)][e(486)](ps.Users),r=t[e(425)][e(486)](ls);this[e(358)](n,e(424),((t,r)=>{const s=e,o=r[0];o[s(426)]&&(t[s(435)]=n[s(499)](o[s(426)]),t[s(446)]()),null===o[s(426)]&&(t[s(435)]=null,t[s(446)]())}),{priority:e(530)}),this[e(358)](t[e(338)][e(442)][e(397)],e(503),((t,n)=>{const r=e;n[r(540)]&&this[r(535)]()})),this[e(358)](t[e(357)][e(400)],e(444),(()=>{this[e(535)]()})),this[e(436)](),t[e(338)].on(e(325),((t,n)=>{const r=e,s=n[0];s[r(470)]&&(this[r(314)](s),this[r(364)]()&&this[r(542)]())})),this[e(313)](),this[e(331)](e(567)).to(r,e(558),this,e(432),((t,n)=>e(321)===t&&!n)),this.on(e(319),(()=>{const n=e;this[n(567)]?t[n(434)](n(386)):t[n(498)](n(386))})),this[e(567)]?t[e(434)](e(386)):t[e(498)](e(386)),this[e(437)](e(472),!1)}async[Bc(447)](){const e=Bc,t=this[e(549)][e(425)][e(486)](ys),n=this[e(549)][e(425)][e(486)](ls);try{this[e(431)]=!0,t[e(418)](this[e(482)]);const r=await this[e(473)][e(447)](n[e(326)],this[e(449)]);await this[e(469)](r)&&(this[e(431)]=!1,this[e(366)]());const s=await this[e(473)][e(343)]();t[e(502)](this[e(482)],s),this[e(334)](),this[e(472)]=!0}catch(t){if(function(t){const n=e;return n(497)===t[n(459)]}(t)&&this[e(527)])await this[e(368)]();else if(function(t){const n=e;return n(564)===t[n(459)]}(t)){const t=xs(this[e(549)][e(328)],e(307));this[e(536)](t)}else{if(!(t instanceof Lc))throw t;this[e(536)]()}}}[Bc(477)](){const e=Bc,t=this[e(549)][e(425)][e(486)](ls),n=this[e(549)][e(425)][e(486)](ys);this[e(549)][e(498)](e(518)),n[e(547)][e(393)](this[e(482)])&&n[e(418)](this[e(482)]),t[e(538)](this),this[e(460)](),super[e(477)]()}async[Bc(469)](e){const t=Bc;if(this[t(527)]!==e[t(527)]&&this[t(519)]!==e[t(363)])throw new Lc;return this[t(527)]=e[t(527)],this[t(413)]([],{...e,wereChangesApplied:!1,data:e[t(398)]},t(447))}async[Bc(388)](e,t=!1){const n=Bc,{connection:r}=this[n(549)][n(425)][n(486)](ls);qc[n(551)][n(343)](r,this[n(482)])[n(557)]((e=>this[n(349)](e)))[n(404)]((e=>{const t=n;this[t(348)](t(440),e)})),this[n(358)](this[n(473)],n(541),this[n(433)][n(331)](this)),this[n(358)](this[n(473)],n(524),((e,t)=>{const r=n;this[r(348)](r(367),t)})),this[n(358)](this[n(473)],n(342),(()=>{this[n(472)]=!1}));const s=this[n(478)][n(376)](e);this[n(431)]=!0;const o=await this[n(473)][n(514)](r,this[n(480)](e),s);if(this[n(527)]=o[n(527)],t){if(!o[n(456)])return void this[n(536)]();this[n(431)]=!1,this[n(366)](),this[n(365)][n(487)](),this[n(441)]=o[n(490)],this[n(365)][n(375)]=this[n(441)],await this[n(413)](e,o,n(555))}else await this[n(356)](o,e);this[n(334)](),this[n(472)]=!0}[Bc(334)](){const e=Bc,t=this[e(549)][e(425)][e(486)](ys),n=this[e(549)][e(425)][e(486)](Es),r=t[e(547)][e(486)](this[e(482)]);r&&r[e(421)]>1?n[e(539)]():this[e(358)](t,e(485)+this[e(482)],(()=>{const r=e;2===t[r(547)][r(486)](this[r(482)])[r(421)]&&n[r(539)]()}))}async[Bc(433)](e,t,n,r){const s=Bc;if(!this[s(431)]&&this[s(402)][s(375)]==t){const e=this[s(420)](n,r);await this[s(361)](e),this[s(492)](e,t,n[s(363)])||this[s(348)](s(416))}}async[Bc(368)](){const e=Bc;this[e(460)]();const{locale:t}=this[e(549)];let n;try{n=await this[e(473)][e(448)]()}catch(n){const r=xs(t,e(351));return void this[e(536)](r)}const r=n[e(377)]||n[e(378)];if(this[e(519)]===r[e(363)])await this[e(388)](this[e(549)][e(338)][e(442)][e(466)][e(443)](),!0);else{const n=xs(t,e(333));this[e(536)](n)}}[Bc(460)](){const e=Bc;this[e(473)][e(489)](),this[e(452)]=[],clearTimeout(this[e(510)]),this[e(340)](this[e(473)])}[Bc(349)](e){const t=Bc,n=this[t(549)][t(425)][t(486)](ys);this[t(358)](n,t(485)+this[t(482)],((e,{session:r})=>{const s=t;if(r.id===n[s(335)]){e[s(526)]();const t=this[s(549)][s(425)][s(393)](s(309))&&this[s(549)][s(425)][s(486)](s(309));let n=r[s(414)];t&&t[s(320)]&&(n=n[s(521)]((e=>s(362)!==e))),this[s(549)][s(425)][s(486)](s(344))[s(559)](n,this[s(482)])}})),n[t(502)](this[t(482)],e)}[Bc(436)](){const e=Bc,t=this[e(549)][e(398)][e(437)];this[e(549)][e(398)][e(437)]=(...r)=>{const s=e;if(!r[r[s(421)]-1][s(552)])throw new n.CKEditorError(s(523),this);t[s(412)](this[s(549)][s(398)],r)}}[Bc(313)](){const e=Bc;this[e(549)][e(398)].on(e(415),((t,[r])=>{const o=e;if(this[o(402)][o(375)])throw new n.CKEditorError(o(504),this);t[o(446)](),this[o(516)]();const i=this[o(549)][o(371)][o(486)](o(453)),a=this[o(350)](r,i);0==a[o(421)]&&a[o(458)](new s.NoOperation(0)),t[o(435)]=this[o(388)](a)[o(557)]((()=>{const e=o;this[e(549)][e(425)][e(486)](ls)[e(548)](this),this[e(549)][e(398)][e(355)](e(528))}))[o(404)]((e=>this[o(348)](o(479),e)))[o(417)]((()=>this[o(366)]()))}),{priority:e(530)}),this[e(549)].on(e(318),(async(t,[n,r])=>{const s=e;t[s(446)]();const o=this[s(549)][s(338)][s(442)][s(462)](n);if(!this[s(329)][s(393)](n)){const e=r&&r[s(398)]?r[s(398)]:"",t=r&&r[s(308)]?r[s(308)]:{};await this[s(476)](n,e,t)}this[s(549)][s(338)][s(522)]({isUndoable:!1},(()=>{const e=s;o[e(429)]=!0,this[e(549)][e(338)][e(442)][e(561)][e(427)](o)}))}),{priority:e(530)})}async[Bc(361)](e){const t=Bc,n=this[t(549)][t(425)][t(486)](ps.Users),{connection:r}=this[t(549)][t(425)][t(486)](ls),s=new Set;for(const r of e){const e=r[t(426)];e&&!n[t(499)](e)&&s[t(395)](e)}if(0===s[t(312)])return;const o=await S[t(493)](r,Array[t(391)](s));for(const e of o)n[t(499)](e.id)||n[t(496)](e)}[Bc(350)](e,t={}){const r=Bc,o=this[r(549)][r(338)],i=[];let a=0;const c=r(346)==typeof e?{main:e}:e;for(const e of Object[r(310)](c)){if(!this[r(402)][r(372)][r(393)](e))throw new n.CKEditorError(r(484),this);const t=this[r(549)][r(398)][r(454)](c[e]),d=this[r(402)][r(462)](e),u=new s.InsertOperation(o[r(513)](d,0),t,a++);i[r(458)](u);for(const[e,n]of t[r(562)]){const t=o[r(494)](o[r(399)](d,n[r(392)][r(422)][r(517)]()),o[r(399)](d,n[r(370)][r(422)][r(517)]())),c=new s.MarkerOperation(e,null,t,o[r(562)],!0,a++);i[r(458)](c)}}if(t)for(const[e,c]of Object[r(554)](t)){const t=o[r(442)][r(462)](e);if(!t)throw new n.CKEditorError(r(439),null);for(const[e,n]of Object[r(554)](c))if(null!==n){const o=new s.RootAttributeOperation(t,e,null,n,a++);i[r(458)](o)}}return i}async[Bc(476)](e,t,n){const r=Bc;this[r(350)]({[e]:t},{[e]:n})[r(491)](((e,t)=>{const n=r;e[n(468)]=this[n(402)][n(375)]+t,e[n(455)]=!0,this[n(314)](e)})),this[r(542)](),await this[r(543)]()}async[Bc(356)](e,t){const n=Bc;let r;this[n(441)]=e[n(490)];const s=e[n(456)]&&!e[n(374)],o=s?0:e[n(398)][n(468)];if(t[n(491)]((t=>{const r=n;t[r(455)]=!0,t[r(544)]=e[r(481)],t[r(426)]=null})),s)r=t,this[n(465)](r,s);else{if(e[n(374)]){const t=this[n(350)](e[n(374)]);this[n(402)][n(466)][n(375)]=-t[n(421)],t[n(491)]((r=>{const s=n;r[s(468)]-=t[s(421)],r[s(544)]=e[s(481)],r[s(455)]=!0,r[s(426)]=null})),this[n(465)](t,!0),this[n(365)][n(375)]=-t[n(421)]+this[n(441)],this[n(396)](t)}this[n(402)][n(466)][n(375)]=o,r=this[n(420)](e[n(398)],e[n(545)]),await this[n(361)](r),this[n(465)](r,s)}e[n(363)]&&(this[n(478)][n(332)](r,e[n(363)]),this[n(519)]=e[n(363)]),this[n(365)][n(375)]=o+this[n(441)],this[n(396)](r),t[n(521)]((e=>{const t=n,r=this[t(381)](e);return r&&!this[t(329)][t(393)](r)}))[n(491)](((e,t)=>{const r=n;e[r(468)]=this[r(402)][r(375)]+t,this[r(314)](e)})),this[n(364)]()?(this[n(315)]=0,this[n(542)](!0),await this[n(543)]()):(this[n(431)]=!1,this[n(366)]())}[Bc(348)](e,t){const r=Bc,s=t&&t[r(463)];if(s&&s[r(406)](r(311)))throw t;const o=this[r(549)][r(425)][r(486)](ls);throw this[r(431)]=!0,o[r(489)](),this[r(549)][r(498)](r(546)),new n.CKEditorError(e,this[r(549)],s?{originalError:s}:void 0)}[Bc(314)](e){const t=Bc;this[t(411)][t(393)](e)||(this[t(411)][t(395)](e),this[t(452)][t(458)](e),this[t(445)]||t(317)==e[t(488)]&&!e[t(369)]||this[t(516)]())}[Bc(542)](e=!1){const t=Bc;!e&&this[t(431)]||(this[t(431)]=!0,clearTimeout(this[t(510)]),this[t(510)]=setTimeout((()=>{const e=t;this[e(373)]()[e(557)]((t=>{const n=e;t&&(this[n(366)](),this[n(431)]=!1)}))[e(404)]((t=>{const n=e;this[n(366)](),this[n(431)]=!1,function(e){const t=n;return e[t(463)][t(406)](t(322))||e[t(463)][t(406)](t(450))||e[t(463)][t(406)](t(495))}(t)||this[n(348)](t[n(463)],t)}))}),this[t(315)]))}[Bc(543)](){return new Promise((e=>{const t=Jc;this.on(t(347),(()=>{e()}))}))}async[Bc(373)](){const e=Bc,t=this[e(549)][e(425)][e(486)](Es);if(this[e(501)]()&&(t[e(539)](),this[e(306)]=!1),!this[e(364)]())return!0;const n=[...this[e(452)]];for(const t of n)t[e(438)]=this[e(402)][e(466)][e(550)](t);const r=this[e(478)][e(376)](n),s=Uc++,o=this[e(480)](n),i=await this[e(473)][e(566)](o,o[e(468)],r);try{return await this[e(413)](n,i,s)}catch(t){return this[e(348)](e(565),t)}}async[Bc(413)](e,t,n){const r=Bc;if(r(524)in t)throw t[r(524)];let s=!1;if(t[r(456)]){t[r(363)]&&(this[r(519)]=t[r(363)]),this[r(452)]=this[r(452)][r(521)]((t=>!e[r(520)](t)));for(const n of e)n[r(544)]=r(336)in t&&t[r(336)]||void 0;Yc(e,t[r(375)]-e[r(421)]),this[r(396)](e);const n=e[r(521)]((e=>{const t=r;if(!e[t(455)])return!1;const n=this[t(381)](e);return n&&!this[t(329)][t(393)](n)}));Yc(n,this[r(402)][r(375)]),this[r(465)](n),s=!0,this[r(315)]=this[r(394)]}else{const e=this[r(420)](t[r(398)],t[r(545)])[r(521)]((e=>e[r(468)]>=this[r(405)]));e[r(491)]((e=>this[r(531)](e))),this[r(452)]=this[r(452)][r(521)]((e=>!e[r(455)]||!this[r(329)][r(393)](this[r(381)](e)))),this[r(452)][r(421)]&&Yc(this[r(452)],this[r(452)][0][r(468)]),await this[r(361)](e),s=this[r(492)](e,t[r(375)],t[r(363)]),this[r(315)]=Math[r(556)](this[r(315)]/2)}return s?!this[r(364)]()||(this[r(542)](!0),!1):this[r(348)](r(359))}[Bc(492)](e,t,n){const r=Bc;try{const o={document:this[r(402)],useRelations:!1,padWithNoOps:!0},{operationsA:i,operationsB:a,originalOperations:c}=(0,s.transformSets)(e,this[r(452)],o);Yc(i,this[r(402)][r(375)]),Yc(a,t);for(const e of i){const t=c[r(486)](e);e[r(426)]=t?t[r(426)]:null}n&&(this[r(478)][r(332)](e,n),this[r(519)]=n),this[r(452)]=[...a],this[r(465)](i),this[r(396)](e)}catch(e){return console[r(524)](e),!1}return!0}[Bc(465)](e,t=!1){const n=Bc;this[n(549)][n(338)][n(522)]({isUndoable:!1,isLocal:!1},(t=>{const r=n;for(const n of e)this[r(411)][r(395)](n),this[r(531)](n),t[r(384)][r(407)](n),this[r(549)][r(338)][r(325)](n)}))}[Bc(531)](e){const t=Bc,n=this[t(381)](e);n&&this[t(329)][t(395)](n)}[Bc(381)](e){const t=Bc;let n,r;switch(e[t(488)]){case t(467):n=e[t(461)][t(474)];break;case t(317):if(r=e[t(387)],!r)return null;n=r[t(474)];break;case t(408):n=e[t(474)];break;case t(532):n=e[t(525)];break;case t(379):n=e[t(352)][t(474)];break;default:return null}return n[t(354)]}[Bc(396)](e){const t=Bc;e[t(491)]((e=>{const n=t,r=e[n(360)]();r[n(426)]=e[n(426)],r[n(455)]=!!e[n(455)],r[n(544)]=e[n(544)],r[n(468)]+=this[n(441)],e[n(529)]&&this[n(537)][n(395)](r),this[n(365)][n(407)](r)}))}[Bc(536)](e){const t=Bc,n=this[t(549)][t(425)][t(486)](t(428)),r=this[t(549)][t(328)];e||(e=xs(r,t(389))),n[t(511)](e,{title:xs(r,t(345)),namespace:t(451)}),this[t(432)]=!0,clearTimeout(this[t(510)]),this[t(452)]=[],this[t(549)][t(425)][t(486)](ls)[t(489)]()}[Bc(516)](){const e=Bc;this[e(445)]||(this[e(445)]=this[e(549)][e(425)][e(486)](t.PendingActions)[e(395)](xs(this[e(549)][e(328)],e(324))))}[Bc(366)](){const e=Bc;this[e(445)]&&(this[e(549)][e(425)][e(486)](t.PendingActions)[e(475)](this[e(445)]),this[e(445)]=null)}[Bc(480)](e){const t=Bc,n=e[t(341)]((e=>e[t(323)]()));return this[t(508)][t(464)](n)}[Bc(420)](e,t){const n=Bc;return this[n(508)][n(403)](e)[n(341)](((e,r)=>{const o=n,i=o(415)==t[r][o(488)];if(o(316)==e[o(419)]){const t=e[o(461)][o(474)];!this[o(402)][o(462)](t)&&(this[o(402)][o(410)](o(353),t)[o(553)]=!1)}const a=s.OperationFactory[o(483)](e,this[o(402)]);return a[o(438)]=e[o(438)],a[o(455)]=i,a[o(426)]=i?null:t[r][o(507)],a[o(529)]=o(383)===t[r][o(488)],a[o(544)]=t[r][o(544)],a}))}[Bc(535)](){const e=Bc;this[e(306)]=!0,this[e(501)]()?this[e(542)]():this[e(306)]=!1}[Bc(501)](){const e=Bc,t=this[e(549)][e(425)][e(486)](ys)[e(547)][e(486)](this[e(482)]);return!this[e(549)][e(330)]&&!!t&&t[e(421)]>1&&this[e(306)]}[Bc(364)](){const e=Bc;return this[e(452)][e(421)]>0||this[e(501)]()}}qc[Bc(551)]=br;const Gc=qc;class Lc extends Error{}function Yc(e,t){const n=Bc;for(const r of e)r[n(468)]=t++}function zc(){const e=["finally","unregister","__className","_decompressOperations","length","path","cloudServices.bundleVersion","getOperationAuthor","plugins","_authorId","_bufferRootLoad","Notification","_isLoaded","744130rOJKnp","_isPendingUpdate","_hasSynchronizationProblem","_handleReceivedOperations","disableReadOnlyMode","return","_initThrowingOnDataSet","set","wasUndone","multi-root-editor-root-attributes-no-root","realtimecollaborationclient-init-session-connection-error","_offset","document","getOperations","change:hasDomSelection","_pendingAction","stop","reconnect","getDocumentDetails","lastSyncVersion","cloud-services-internal-error: Collaborative Editing Service is not connected.","real-time-collaboration","_bufferedOperations","rootsAttributes","parse","_isInit","wereChangesApplied","1593XlVaoH","push","code","_disconnectService","position","getRoot","message","compress","_applyOperationsSet","history","insert","baseVersion","_handleReconnectionResponse","isDocumentOperation","collaboration","_isConnected","_service","root","remove","_loadRoot","destroy","_operationIdentifier","realtimecollaborationclient-init-connection-failed","_compressOperations","sessionCreatedAt","_channelId","fromJSON","realtimecollaborationclient-init-non-existent-root","sessionAdd:","get","reset","type","disconnect","offset","forEach","_handleExternalOperations","getMany","createRange","cloud-services-internal-error: Request timeout.","addUser","404","enableReadOnlyMode","getUser","3463929bkRsHs","_shouldSendSelectionUpdate","register","change:range","realtimecollaborationclient-init-document-already-initialized","pluginName","983749JBYYYG","userId","_compressor","isPremiumPlugin","_sendBufferedOperationsDelayId","showWarning","isOfficialPlugin","createPositionAt","connect","cloudDocumentVersion","_setPendingAction","slice","rtc-destroyed","_lastSyncedOperationId","includes","filter","enqueueChange","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","error","affectedSelectable","off","sessionId","ready","_isDisconnection","high","_addKnownRoot","addRoot","requires","collaboration.channelId","_refreshUserSelectionMarkers","_handleReconnectionError","_disconnectionOperations","removeFromReconnectionStack","createUserMarkerOperations","directChange","operationsReceived","_sendBufferedOperationsDelayed","_waitUntilSynced","createdAt","metadata","realtimecollaborationclient-error","channelSessions","addToReconnectionStack","editor","isUndoneOperation","CollaborativeEditingService","suppressErrorInCollaboration","_isAttached","entries","reconnection: flushed session","round","then","state","setPermissions","42728heuERS","differ","markers","93107jxOnPq","409","realtimecollaborationclient-sendbufferedoperations","sendOperations","_isEditingAllowed","_hasSelectionChanged","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","attributes","CommentsOnly","keys","realtimecollaborationclient","size","_setUpDataInit","_saveOperationInBuffer","_currentBufferDelay","InsertOperation","marker","loadRoot","change:_isEditingAllowed","isEnabled","connected","cloud-services-internal-error: Not connected.","toJSON","PENDING_ACTION_SENDING_DATA","applyOperation","connection","180gikINi","locale","_knownRootNames","isReadOnly","bind","setIdForTheLastOperation","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","_handleSendingSelectionMarkers","mySessionId","lastOperationAcceptedAt","2052645HUZBGz","model","2QAsVAq","stopListening","map","disconnected","getConnectedSessions","Permissions","Synchronization issue","string","change:_isPendingUpdate","_crash","_initSessionsHandling","_getOperationsFromInitData","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","targetPosition","$root","rootName","fire","_handleInitialConnectionData","editing","listenTo","realtimecollaborationclient-handleserverresponse","clone","_fetchMissingUsers","document:write","lastOperationId","_shouldSendUpdate","serverHistory","_clearPendingAction","realtimecollaborationclient-init-service-internal-error","_connectAfterSessionHasBeenFlushed","affectsData","end","config","roots","_sendBufferedOperations","initData","version","getIdOfTheLastOperation","currentDocumentSession","lastDocumentSession","move","3446828duSVQL","_getAffectedRoot","collaboration-missing-channelid","cs:removeUser","batch","_operationToId","rtc-offline","newRange","_connectService","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","RealTimeCollaborationClient","from","start","has","_baseBufferDelay","add","_updateServerHistory","selection","data","createPositionFromPath","view","define","_document","decompress","catch","_lastServerVersion","startsWith","addOperation","addRootAttribute","_ignoredOperations","createRoot","_knownOperations","apply","_handleServerResponse","permissions","init","realtimecollaborationclient-init-service-incorrect-server-operation"];return(zc=function(){return e})()}class Hc{constructor(e){const t=Bc;this[t(409)]=e,this[t(385)]=new WeakMap}[Bc(376)](e){const t=Bc;let r=e[t(421)];for(;r--;){const s=e[r];if(!this[t(409)][t(393)](s)){if(!this[t(385)][t(393)](s)){const e=(0,n.uid)()[t(517)](1,18);this[t(385)][t(437)](s,e)}return this[t(385)][t(486)](s)}}}[Bc(332)](e,t){const n=Bc;if(!t)return;let r=e[n(421)];for(;r--;){const s=e[r];this[n(409)][n(393)](s)||this[n(385)][n(437)](s,t)}}}var Fc=Wc;function Kc(){var e=["requires","178LMnIjC","12qIhsEv","4190WnBmuE","RealTimeCollaborativeEditing","896905UVsDAx","isPremiumPlugin","pluginName","36zBXNzL","1592632pWEXFy","4qHzeBZ","9856858KAJiYn","2246390HRWnFC","1364594MoDJjB","1290174gOFFeM","isOfficialPlugin","27QnJiaz"];return(Kc=function(){return e})()}function Wc(e,t){var n=Kc();return(Wc=function(e,t){return n[e-=142]})(e,t)}!function(e){for(var t=Wc,n=e();;)try{if(458566===-parseInt(t(154))/1*(parseInt(t(152))/2)+parseInt(t(148))/3*(-parseInt(t(144))/4)+-parseInt(t(156))/5*(parseInt(t(153))/6)+-parseInt(t(147))/7+-parseInt(t(143))/8+-parseInt(t(150))/9*(parseInt(t(146))/10)+parseInt(t(145))/11*(parseInt(t(142))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Kc);class Qc extends t.Plugin{static get[Fc(151)](){return[Gc]}static get[Fc(158)](){return Fc(155)}static get[Fc(149)](){return!0}static get[Fc(157)](){return!0}}const Zc=$c;function $c(e,t){const n=Xc();return($c=function(e,t){return n[e-=175]})(e,t)}function Xc(){const e=["addComment","requires","catch","deletedAt","143YyHKdR","cloudservicescommentsadapter-service-not-exist","resolvedAt","setPermissions","plugins","removeCommentThread","cloudservicescommentsadapter-disconnect-not-exist","map","Permissions","off","config","3073cdLMoC","comments","message","CloudServicesCommentsAdapter","code","resolveCommentThread","sessionAdd:","assign","678VGAxgI","createdAt","removeComment","updateCommentThread","attributes","commentId","getMany","adapter","from","41aQsSjM","getCommentThread","commentThreadUpdated","_terminateService","delete","context","cloud-services-internal-error: Comments Service is not connected.","reopen","6409524wmIott","userId","remove","cloud-services-internal-error: Not connected.","destroy","pluginName","commentThreadReopened","unregister","permissions","10XPeOat","collaboration.channelId","authorId","commentAdded","addToReconnectionStack","getConnectedSessions","addCommentThread","commentRemoved","15094413ojQqgZ","disconnect","mySessionId","_fetchMissingUsersForThreads","has","commentThreadId","resolvedBy","CommentsRepository","79585XkWdHp","commentThreadAdded","getUser","size","CommentsService","startsWith","init","addUser","404","connect","isPremiumPlugin","keys","988306HDkoWg","4kUHrEC","register","resolve","commentThreadResolved","add","isOfficialPlugin","37130OypWgC","commentThreadRemoved","listenTo","reconnect","commentUpdated","32152SulYFk","get","cloud-services-internal-error: Request timeout.","reopenCommentThread","update","updateComment","cloudservicescommentsadapter-connect-already-connected","_connectService","_setUpService","content","getCommentThreads","3458283gkfHAr","getComment","_services","set","_getService"];return(Xc=function(){return e})()}!function(e){const t=$c,n=e();for(;;)try{if(937028===-parseInt(t(240))/1*(parseInt(t(187))/2)+-parseInt(t(203))/3*(-parseInt(t(181))/4)+parseInt(t(273))/5*(-parseInt(t(231))/6)+-parseInt(t(223))/7*(parseInt(t(192))/8)+parseInt(t(265))/9*(-parseInt(t(257))/10)+-parseInt(t(180))/11+parseInt(t(248))/12*(parseInt(t(212))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xc);class ed extends t.ContextPlugin{static get[Zc(209)](){return[ls,Zc(272),ys,ps.Users]}static get[Zc(253)](){return Zc(226)}static get[Zc(186)](){return!0}static get[Zc(178)](){return!0}constructor(e){const t=Zc;super(e),this[t(205)]=new Map}async[Zc(279)](){const e=Zc,n=this[e(245)],r=n[e(216)][e(193)](e(272));if(n[e(216)][e(193)](ls)[e(261)](this),r[e(238)]={addCommentThread:async({channelId:t,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=e,d=await this[c(207)](t)[c(263)]({commentThreadId:n,comments:r[c(219)]((e=>function(e,t,n){const r=c;return{commentThreadId:n,commentId:e[r(236)],userId:e[r(259)],content:e[r(201)],documentId:t,createdAt:e[r(232)],attributes:e[r(235)]||{}}}(e,t,n))),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(210)](rd);return{threadId:d[c(270)],comments:d[c(224)]}},getCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(207)](t)[r(241)](n)[r(210)](rd);return s[r(211)]?null:(await this[r(268)]([s]),{threadId:s[r(270)],comments:s[r(224)][r(219)](sd),context:s[r(245)],resolvedAt:s[r(214)],resolvedBy:s[r(271)],attributes:s[r(235)]||{}})},updateCommentThread:async({channelId:t,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[e(207)](t)[e(234)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[e(210)](nd)[e(210)](rd),resolveCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(207)](t)[r(228)](n)[r(210)](nd)[r(210)](rd);return{threadId:s[r(270)],resolvedAt:s[r(214)],resolvedBy:s[r(271)]}},reopenCommentThread:async({channelId:t,threadId:n})=>this[e(207)](t)[e(195)](n)[e(210)](nd)[e(210)](rd),removeCommentThread:({channelId:t,threadId:n})=>this[e(207)](t)[e(217)](n)[e(210)](nd)[e(210)](rd),addComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(207)](t)[e(208)](n,r,s,o)[e(210)](rd),updateComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(207)](t)[e(197)](n,r,s,o)[e(210)](nd)[e(210)](rd),removeComment:({channelId:t,threadId:n,commentId:r})=>this[e(207)](t)[e(233)](n,r)[e(210)](nd)[e(210)](rd)},n instanceof t.Context){const t=n[e(222)][e(193)](e(258)),r=n[e(216)][e(193)](ys);await this[e(200)](t);const s=await this[e(205)][e(193)](t)[e(262)]();this[e(189)](r,e(229)+t,((n,{session:s})=>{const o=e;s.id===r[o(267)]&&(n[o(221)](),this[o(245)][o(216)][o(193)](o(220))[o(215)](s[o(256)],t))})),r[e(182)](t,s)}}async[Zc(200)](e){const t=Zc;if(this[t(205)][t(269)](e))throw new n.CKEditorError(t(198),null,{channelId:e});const r=this[t(245)][t(216)][t(193)](t(272)),s=new(ed[t(277)])(e);this[t(205)][t(206)](e,s),this[t(189)](s,t(274),((e,n)=>{const s=t,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=n;r[s(241)](o)||r[s(263)]({threadId:o,channelId:i,comments:l?l[s(219)](sd):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})})),this[t(189)](s,t(242),((e,{commentThreadId:n,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=t;r[c(241)](n)&&r[c(234)]({threadId:n,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})})),this[t(189)](s,t(184),((e,{commentThreadId:n,resolvedBy:s,resolvedAt:o})=>{const i=t,a=r[i(241)](n);a&&a[i(183)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})})),this[t(189)](s,t(254),((e,{commentThreadId:n})=>{const s=t,o=r[s(241)](n);o&&o[s(247)]({isFromAdapter:!0})})),this[t(189)](s,t(188),((e,{commentThreadId:n})=>{const s=t,o=r[s(241)](n);o&&o[s(250)]({isFromAdapter:!0})})),this[t(189)](s,t(260),((e,n)=>{const s=t,o=n[s(270)],i=r[s(241)](o);i&&i[s(208)]({...sd(n),isFromAdapter:!0})})),this[t(189)](s,t(191),((e,{commentThreadId:n,commentId:s,content:o,attributes:i})=>{const a=t,c=r[a(241)](n);if(c){const e=c[a(204)](s);e&&e[a(196)]({content:o,attributes:i,isFromAdapter:!0})}})),this[t(189)](s,t(264),((e,{commentThreadId:n,commentId:s})=>{const o=t,i=r[o(241)](n);if(i){const e=i[o(204)](s);e&&e[o(250)]({isFromAdapter:!0})}})),await this[t(199)](e)}[Zc(252)](){const e=Zc;if(this[e(245)]instanceof t.Context){const t=this[e(245)][e(222)][e(193)](e(258));this[e(243)](t)}}[Zc(243)](e){const t=Zc;if(!this[t(205)][t(269)](e))throw new n.CKEditorError(t(218),null,{channelId:e});this[t(207)](e)[t(266)](),this[t(205)][t(244)](e)}async[Zc(190)](){const e=Zc;for(const t of this[e(205)][e(179)]())await this[e(199)](t);if(this[e(245)]instanceof t.Context){const t=this[e(245)][e(222)][e(193)](e(258)),n=this[e(245)][e(216)][e(193)](ys);n[e(255)](t);const r=await this[e(205)][e(193)](t)[e(262)]();n[e(182)](t,r)}}async[Zc(199)](e){const t=Zc,{connection:n}=this[t(245)][t(216)][t(193)](ls),r=this[t(245)][t(216)][t(193)](t(272)),s=this[t(205)][t(193)](e),o=await s[t(177)](n);await this[t(268)](o);const i=new Set(Array[t(239)](r[t(202)]({channelId:e}),(e=>e.id)));for(const e of o)e[t(211)]||i[t(244)](e[t(270)]);for(const e of i)r[t(241)](e)[t(250)]({isFromAdapter:!0});for(const n of o){let s=r[t(241)](n[t(270)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[t(263)]({channelId:e,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const p=new Set(Array[t(239)](s[t(224)],(e=>e.id)));for(const e of n[t(224)])p[t(244)](e[t(236)]);for(const e of p)s[t(204)](e)[t(250)]({isFromAdapter:!0});for(const e of n[t(224)]){const n=s[t(204)](e[t(236)]);n?n[t(201)]!==e[t(201)]&&n[t(196)]({content:e[t(201)],isFromAdapter:!0}):s[t(208)](Object[t(230)](sd(e),{isFromAdapter:!0}))}}}[Zc(207)](e){const t=Zc;if(!this[t(205)][t(269)](e))throw new n.CKEditorError(t(213),null,{channelId:e});return this[t(205)][t(193)](e)}async[Zc(268)](e){const t=Zc,n=this[t(245)][t(216)][t(193)](ps.Users),{connection:r}=this[t(245)][t(216)][t(193)](ls),s=new Set;for(const{resolvedBy:r,comments:o}of e){r&&!n[t(275)](r)&&s[t(185)](r);for(const{userId:e}of o)n[t(275)](e)||s[t(185)](e)}if(0===s[t(276)])return;const o=await S[t(237)](r,Array[t(239)](s));for(const e of o)n[t(275)](e.id)||n[t(175)](e)}}ed[Zc(277)]=is;const td=ed;async function nd(e){const t=Zc;if(t(176)!==e[t(227)])throw e}function rd(e){const t=Zc;if((n=e)[t(225)][t(278)](t(246))||n[t(225)][t(278)](t(251))||n[t(225)][t(278)](t(194)))return new Promise((()=>{}));var n;throw e}function sd(e){const t=Zc;return{threadId:e[t(270)],commentId:e[t(236)],content:e[t(201)],createdAt:e[t(232)],authorId:e[t(249)],attributes:e[t(235)]||{}}}const od=id;function id(e,t){const n=ad();return(id=function(e,t){return n[e-=433]})(e,t)}function ad(){const e=["size","CloudServicesTrackChangesAdapter","get","183339UCIBat","8021871FTnknG","connection","161692deOgOK","adapter","2125840aHXzSv","addUser","isPremiumPlugin","connected","plugins","getUser","24NCUyiB","getMany","update","requires","TrackChangesService","7rczALQ","listenTo","addSuggestionData","_bufferedRequests","editor","set","from","init","cloud-services-internal-error: Not connected.","20qwBpyt","hasSuggestion","data","_waitForServiceReady","getSuggestion","values","30ybTYkM","connect","addToReconnectionStack","catch","_trackChangesService","delete","type","suggestionUpdated","startsWith","49358oKYpcE","message","state","2259738rjbQJd","attributes","reconnect","config","_fetchMissingUsersForThreads","find","isConnected","off","_saved","open","add","pluginName","cloud-services-internal-error: Request timeout.","collaboration.channelId","originalSuggestionId","201084fxlJvT","isOfficialPlugin","then","TrackChangesEditing"];return(ad=function(){return e})()}!function(e){const t=id,n=e();for(;;)try{if(192720===-parseInt(t(444))/1+-parseInt(t(491))/2*(-parseInt(t(462))/3)+parseInt(t(454))/4*(parseInt(t(482))/5)+-parseInt(t(494))/6*(-parseInt(t(467))/7)+parseInt(t(456))/8+parseInt(t(451))/9*(parseInt(t(476))/10)+-parseInt(t(452))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ad);class cd extends t.Plugin{static get[od(465)](){return[td,od(447),ls]}static get[od(440)](){return od(449)}static get[od(445)](){return!0}static get[od(458)](){return!0}constructor(e){const t=od;super(e);const n=this[t(471)][t(497)][t(450)](t(442));this[t(470)]=new Map,this[t(486)]=new(cd[t(466)])(n)}[od(474)](){const e=od,t=this[e(471)][e(460)][e(450)](ls),n=this[e(471)][e(460)][e(450)](e(447));return n[e(455)]={getSuggestion:async t=>{const n=e;await this[n(479)]();const r=await this[n(486)][n(450)](t)[n(485)](ud);return await this[n(433)]([r]),r},addSuggestion:async({id:t,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=e;await this[i(479)]();const a={id:t,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(486)][i(439)](t,n,r,s,o)[i(485)]((e=>{if(ld(e))return new Promise((e=>{const n=id;this[n(470)][n(472)](t,{resolve:e,suggestionData:a})}));throw e}));return this[i(470)][i(487)](t),c},updateSuggestion:async(t,n)=>{const r=e;if(await this[r(479)](),r(438)!==n[r(493)])return this[r(486)][r(464)](t,n)[r(485)](ud)}},this[e(468)](this[e(486)],e(489),((t,r)=>{const s=e;n[s(477)](r.id)&&(n[s(480)](r.id)[s(495)]=r[s(495)])})),this[e(486)][e(483)](t[e(453)])[e(446)]((r=>(t[e(484)](this),this[e(433)](r)[e(446)]((()=>{const t=e;for(const e of r)n[t(469)](e)[t(437)]=!0})))))}async[od(496)](){const e=od,t=this[e(471)][e(460)][e(450)](e(447)),{connection:n}=this[e(471)][e(460)][e(450)](ls),r=await this[e(486)][e(483)](n);await this[e(433)](r);for(const{suggestionData:t,resolve:n}of this[e(470)][e(481)]()){let s=r[e(434)]((e=>e.id===t.id));s||(s=await this[e(486)][e(439)](t.id,t[e(488)],t[e(478)],t[e(443)])),n(s)}for(const n of r)t[e(477)](n.id)||t[e(469)](n)}async[od(479)](){const e=od;this[e(486)][e(435)]||await new Promise((t=>{const n=e;this[n(468)](this[n(486)],n(459),(e=>{e[n(436)](),t()}))}))}async[od(433)](e){const t=od,n=this[t(471)][t(460)][t(450)](ps.Users),{connection:r}=this[t(471)][t(460)][t(450)](ls),s=new Set;for(const{authorId:r}of e)n[t(461)](r)||s[t(439)](r);if(0===s[t(448)])return;const o=await S[t(463)](r,Array[t(473)](s));for(const e of o)n[t(461)](e.id)||n[t(457)](e)}}cd[od(466)]=Vn;const dd=cd;function ud(e){if(ld(e))return new Promise((()=>{}));throw e}function ld(e){const t=od;return e[t(492)][t(490)](t(475))||e[t(492)][t(490)](t(441))}const pd=hd;function hd(e,t){const n=fd();return(hd=function(e,t){return n[e-=180]})(e,t)}function fd(){const e=["change:state","5ygMdyx","2XZxsSB","RealTimeCollaborativeComments","pluginName","editor","connected","switchReadOnly","CommentsEditing","565190LfNLNF","collaboration.channelId","destroy","listenTo","_setUpService","437964OMzjbw","plugins","_terminateService","requires","900SEmgRa","init","isThreadsLoadingPaused","CommentsRepository","3086864zDGhKY","config","Comments","isOfficialPlugin","ready","47403YiDvsZ","4596492duZmsC","get","11fOKmZM","data","once","17817816NWJjGF","35630PWAgan","184jrXihq","isPremiumPlugin"];return(fd=function(){return e})()}!function(e){const t=hd,n=e();for(;;)try{if(407198===parseInt(t(198))/1*(parseInt(t(205))/2)+parseInt(t(210))/3+parseInt(t(181))/4+-parseInt(t(197))/5*(-parseInt(t(187))/6)+-parseInt(t(193))/7*(-parseInt(t(194))/8)+parseInt(t(186))/9*(-parseInt(t(214))/10)+-parseInt(t(189))/11*(parseInt(t(192))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fd);class md extends t.Plugin{static get[pd(213)](){return[pd(183),td,Qc,ls]}static get[pd(200)](){return pd(199)}static get[pd(184)](){return!0}static get[pd(195)](){return!0}[pd(215)](){const e=pd,t=this[e(201)][e(211)][e(188)](ls),n=this[e(201)][e(211)][e(188)](e(204)),r=this[e(201)][e(211)][e(188)](td);return this[e(201)][e(190)][e(191)](e(185),(()=>{const r=e;this[r(208)](t,r(196),((e,t,s)=>{const o=r;n[o(216)]=o(202)!==s}))})),this[e(208)](t,e(196),((t,n,r)=>{const s=e;this[s(201)][s(211)][s(188)](s(180))[s(203)](s(202)!==r)})),r[e(209)](this[e(201)][e(182)][e(188)](e(206)))}[pd(207)](){const e=pd;this[e(201)][e(211)][e(188)](td)[e(212)](this[e(201)][e(182)][e(188)](e(206))),super[e(207)]()}}var yd=bd;function gd(){var e=["TrackChanges","2700078zMNWWc","RealTimeCollaborativeTrackChanges","1RsOCAx","6cyAGHx","1811622GhqYrk","pluginName","4657795WwTfiL","isOfficialPlugin","8124SFmxUm","2483230tyAwZt","22vjTgPP","isPremiumPlugin","24zMzsqq","473543nmFNKH","requires","2337345dyPwGJ","4082RmgZSm","4IQUAiI"];return(gd=function(){return e})()}function bd(e,t){var n=gd();return(bd=function(e,t){return n[e-=241]})(e,t)}!function(e){for(var t=bd,n=e();;)try{if(630214===-parseInt(t(247))/1*(-parseInt(t(249))/2)+parseInt(t(245))/3*(-parseInt(t(243))/4)+-parseInt(t(251))/5+parseInt(t(248))/6*(parseInt(t(258))/7)+-parseInt(t(257))/8*(-parseInt(t(241))/9)+-parseInt(t(254))/10*(-parseInt(t(255))/11)+parseInt(t(253))/12*(parseInt(t(242))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(gd);class Od extends t.Plugin{static get[yd(259)](){return[md,dd,yd(244)]}static get[yd(250)](){return yd(246)}static get[yd(252)](){return!0}static get[yd(256)](){return!0}}const wd=Id;function vd(){const e=["addToReconnectionStack","CloudServicesRevisionHistoryAdapter","state","wrongRequestId","_bufferUpdate","createdAt","_createCurrentRevision","setSource","fromVersion","6JaVvcS","9zEkBov","_getLatestVersion","authors","_preventResendingRevisionData","_handleRevisionsUpdate","marker","change:_isPendingUpdate","_oldOffset","get","reconnect","1250245Cmcpoz","config","currentRevision","_handleReconnectionError","affectsData","bind","then","setRevisionData","length","getUser","_revisionTracker","isPremiumPlugin","reverse","22opdFbb","size","addUser","cloud-services-internal-error: Not connected.","editor","startsWith","_getLatestVersionFromServerOperations","authorsIds","5026364ocMpWR","requires","2139942TgfcUX","getRevision","351666ASvDOn","isOfficialPlugin","isBundleUploaded","addRevisionData","RevisionTracker","type","_isConnected","plugins","connection","cloudServices.bundleVersion","connected","cloud-services-internal-error: Revision History Service is not connected.","init","isConnected","isEmptyCurrent","_update","toVersion","has","4528188BGFvMw","_bufferedUpdates","RevisionHistoryService","listenTo","buildRevisionData","revisionsUpdated","connect","off","from","_startingVersion","baseVersion","getRevisions","30sASyZA","pluginName","_revisions","catch","once","_offset","reInit","getOperations","8996870UvZvBa","repository","11481880GcrAZJ","map","getMany","400","data","adapter","CONNECTED","_waitForServiceReady","isEnabled","destroy","diffData","creatorId","_revisionHistoryService","_revisionDataBuilder","_isPendingUpdate","sendBufferedUpdates","code","message","remove","_fixRevision","serverHistory","add","cloud-services-internal-error: Request timeout.","max","updateRevisions","_fetchMissingUsers","keys","collaboration.channelId","_lastRequestId","sessionId","change:_isConnected"];return(vd=function(){return e})()}function Id(e,t){const n=vd();return(Id=function(e,t){return n[e-=338]})(e,t)}!function(e){const t=Id,n=e();for(;;)try{if(750943===-parseInt(t(445))/1*(-parseInt(t(409))/2)+parseInt(t(443))/3+-parseInt(t(441))/4+-parseInt(t(420))/5*(-parseInt(t(359))/6)+-parseInt(t(347))/7+-parseInt(t(369))/8*(-parseInt(t(410))/9)+-parseInt(t(367))/10*(parseInt(t(433))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(vd);class Sd extends t.Plugin{static get[wd(442)](){return[ls,Gc,wd(449),ys,ps.Users]}static get[wd(360)](){return wd(401)}static get[wd(446)](){return!0}static get[wd(431)](){return!0}constructor(e){const t=wd;super(e);const n=this[t(437)][t(421)][t(418)](t(396));this[t(397)]=null,this[t(430)]=this[t(437)][t(452)][t(418)](t(449)),this[t(381)]=new(Sd[t(349)])(n)}async[wd(341)](){const e=wd,t=this[e(437)][e(452)][e(418)](Gc),r=t[e(389)],s=this[e(437)][e(452)][e(418)](ls);this[e(430)][e(407)]({history:r,getLatestVersion:()=>this[e(411)](),getCurrentRevisionId:()=>t[e(398)]});const o=this[e(437)][e(421)][e(418)](e(338))||n.version,i=await zt[e(447)](s[e(453)],o);this[e(430)][e(374)]={getRevision:async({revisionId:t})=>(await this[e(376)](),await this[e(381)][e(444)](t)),updateRevisions:async t=>{const n=e;await this[n(376)]();const r=this[n(430)][n(422)];if(i&&1===t[n(428)]&&t[0].id===r.id)return t;for(const e of t)e.id===r.id&&(e[n(343)]=e[n(408)]===e[n(345)]);return this[n(381)][n(393)](t,this[n(397)])[n(426)]((e=>(this[n(397)]=e,t)))[n(362)]((e=>{const r=n;if(kd(e)||r(372)===e[r(385)]&&void 0!==e[r(373)][r(403)]){for(const e of t)!this[r(430)][r(368)][r(444)](e.id)||this[r(430)][r(404)](e.id,e,!1);if(kd(e))throw e;return t}throw e}))}},this[e(350)](this[e(381)],e(352),((t,{revisionsData:n,requestId:r})=>{const s=e;Math[s(392)](...n[s(370)]((e=>e[s(345)])))>this[s(439)]()-1?this[s(411)]()[s(426)]((()=>{this[s(414)](n,r)})):this[s(414)](n,r)}));const{revisions:a,requestId:c}=await this[e(381)][e(353)](s[e(453)]);s[e(400)](this),this[e(397)]=c,await this[e(394)](a);for(const t of a)this[e(430)][e(448)](t);this[e(350)](t,e(399),((n,r,s)=>{const o=e;s&&(this[o(417)]=t[o(364)],n[o(354)]())})),this[e(430)][e(425)](e(377)).to(s,e(402),(t=>t===Mt[e(375)]))}async[wd(419)](){const e=wd,t=this[e(437)][e(452)][e(418)](ls),n=this[e(437)][e(452)][e(418)](Gc),r=async()=>{const r=e,s=this[r(430)][r(422)],o=s.id,i=o!==n[r(398)];if(i){const e=n[r(364)]-this[r(417)],t=this[r(439)]();if(this[r(430)][r(382)][r(365)](),s[r(345)]+e!==t){const n=s[r(408)]+e,o=this[r(437)][r(452)][r(418)](ps.Users),i=this[r(430)][r(351)]({revision:s,from:n,to:t});i.id=s.id;const a=i[r(440)][r(370)]((e=>o[r(429)](e)));s[r(344)]({...i,authors:a},!0),this[r(430)][r(404)](s.id,i,!0)}this[r(430)][r(356)]=t,s[r(345)]===s[r(408)]&&!this[r(430)][r(348)][r(346)](o)&&this[r(430)][r(368)][r(361)][r(387)](o),this[r(430)][r(406)](t)}const{revisions:a,requestId:c}=await this[r(381)][r(419)](t[r(453)],this[r(397)]);i&&a[r(428)]>0?n[r(423)]():(await this[r(394)](a),this[r(414)](a,c),this[r(430)][r(384)]())};return n[e(451)]?r():new Promise(((t,s)=>{const o=e;n[o(363)](o(399),(()=>{const e=o;r()[e(426)](t)[e(362)](s)}))}))}[wd(378)](){super[wd(378)]()}async[wd(376)](){const e=wd;this[e(381)][e(342)]||await new Promise((t=>{const n=e;this[n(350)](this[n(381)],n(339),(e=>{e[n(354)](),t()}))}))}[wd(439)](){const e=wd,t=this[e(437)][e(452)][e(418)](Gc)[e(389)][e(366)]()[e(432)]();for(const n of t)if(e(415)!==n[e(450)]||n[e(424)])return n[e(357)]+1}[wd(411)](){const e=wd,t=this[e(437)][e(452)][e(418)](Gc);return new Promise((n=>{const r=e;t[r(383)]?t[r(363)](r(416),(()=>{n(this[r(439)]())})):n(this[r(439)]())}))}[wd(414)](e,t){const n=wd,r=this[n(430)][n(368)];this[n(397)]=t;for(const t of e){const e=r[n(444)](t.id);if(e){if((t[n(408)]||t[n(345)])&&(t[n(379)]=null),e===this[n(430)][n(422)]){const r=Math[n(392)](e[n(345)],t[n(345)]),s=Math[n(392)](e[n(408)],t[n(408)]);let o;e[n(345)]===t[n(345)]&&e[n(408)]===t[n(408)]?(o=!0,this[n(413)](t)):t[n(345)]===r&&t[n(408)]===s?o=!1:(e[n(345)]===r&&e[n(408)]===s||this[n(388)]({revision:e,from:s,to:r}),o=!0),o&&(delete t[n(408)],delete t[n(345)],delete t[n(379)],delete t[n(405)],delete t[n(440)])}this[n(430)][n(427)](t),this[n(413)](t)}else this[n(430)][n(448)](t)}const s=r[n(358)]();s[n(432)]();for(let e=0;e<s[n(428)]-1;e++){const t=s[e],r=s[e+1];if(t[n(408)]<r[n(345)]){const e=r[n(345)],s=Math[n(392)](e,t[n(345)]);this[n(388)]({revision:t,from:e,to:s})}}}[wd(388)]({revision:e,from:t,to:n}={}){const r=wd,s=this[r(437)][r(452)][r(418)](ps.Users),o=this[r(430)][r(351)]({revision:e,from:t,to:n});o[r(412)]=o[r(440)][r(370)]((e=>s[r(429)](e))),e[r(344)](o)}[wd(413)](e){const t=wd,n={};n.id=e.id;for(const r of Object[t(395)](e))"id"!==r&&(n[r]=void 0);this[t(430)][t(404)](n.id,n,!0)}async[wd(394)](e){const t=wd,n=this[t(437)][t(452)][t(418)](ps.Users),{connection:r}=this[t(437)][t(452)][t(418)](ls),s=new Set;for(const n of e){for(const e of n[t(440)])i(e);n[t(380)]&&i(n[t(380)])}if(0===s[t(434)])return;const o=await S[t(371)](r,Array[t(355)](s));for(const e of o)n[t(429)](e.id)||n[t(435)](e);function i(e){const r=t;n[r(429)](e)||s[r(390)](e)}}}Sd[wd(349)]=ln;const Pd=Sd;function kd(e){const t=wd;return e[t(386)][t(438)](t(340))||e[t(386)][t(438)](t(436))||e[t(386)][t(438)](t(391))}var Ad=Td;function _d(){var e=["requires","454325lAxeBd","1422tTgMiL","44OgiAzi","isPremiumPlugin","isOfficialPlugin","2GJbMGu","RevisionHistory","8014552NwQZUv","559289lFRijW","pluginName","583SHjyzu","RealTimeCollaborativeRevisionHistory","157704SkjPQK","4837pqHzOL","313850MAlFAg","2524878dQFdht","36svIymr"];return(_d=function(){return e})()}function Td(e,t){var n=_d();return(Td=function(e,t){return n[e-=199]})(e,t)}!function(e){for(var t=Td,n=e();;)try{if(705800===parseInt(t(212))/1+-parseInt(t(209))/2*(parseInt(t(201))/3)+parseInt(t(206))/4*(-parseInt(t(204))/5)+parseInt(t(205))/6*(parseInt(t(199))/7)+parseInt(t(211))/8+-parseInt(t(202))/9*(-parseInt(t(200))/10)+parseInt(t(214))/11*(parseInt(t(216))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_d);class Cd extends t.Plugin{static get[Ad(203)](){return[Ad(210),Pd,Qc]}static get[Ad(213)](){return Ad(215)}static get[Ad(208)](){return!0}static get[Ad(207)](){return!0}}var jd=Function.prototype,Ed=Object.prototype,Dd=jd.toString,Rd=Ed.hasOwnProperty,xd=Dd.call(Object);const Nd=function(e){if(!oi(e)||"[object Object]"!=lo(e))return!1;var t=oa(e);if(null===t)return!0;var n=Rd.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Dd.call(n)==xd};const Vd=function(e){return oi(e)&&1===e.nodeType&&!Nd(e)};function Md(e,t){const n=Ud();return(Md=function(e,t){return n[e-=107]})(e,t)}!function(e){const t=Md,n=e();for(;;)try{if(269088===parseInt(t(107))/1*(-parseInt(t(114))/2)+-parseInt(t(122))/3*(-parseInt(t(124))/4)+parseInt(t(109))/5+-parseInt(t(116))/6*(-parseInt(t(125))/7)+-parseInt(t(108))/8*(parseInt(t(112))/9)+-parseInt(t(118))/10+parseInt(t(119))/11*(-parseInt(t(113))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ud);class Bd extends r.View{constructor(e){const t=Md;super(e);const n=this[t(111)];this[t(123)](t(120),0),this[t(123)](t(117),!0),this[t(126)]({tag:t(115),attributes:{class:["ck",t(110),n.if(t(117),t(127))]},children:[{text:n.to(t(120),(n=>xs(e,t(121),n)))}]})}}function Ud(){const e=["256DmTOiR","1239555pSqUnA","ck-presence-list__counter","bindTemplate","41841uWgaXO","36iSTVbn","10530CjDgTn","div","659388hlnETn","isHidden","2833930PhvOdF","197076gLDkjb","usersCount","CONNECTED_USERS","297YeYsoJ","set","18388dIToSW","7dmgZIH","setTemplate","ck-presence-list__counter--hidden","11vCzLaW"];return(Ud=function(){return e})()}const Jd=Gd;function qd(){const e=["render","1169256cESpAu","focus","element","Collapsed connected users list (press ENTER to open it)","58256tGQWKz","8gpudnN","ck-presence-list__list","listenTo","items","5510625aGbctA","hasPopup","setAttribute","bindTemplate","639KnLDYc","52444YDIvvR","111bTeeDr","change:hasPopup","aria-expanded","26300WZaBeF","isExpanded","removeAttribute","keystrokes","list","setTemplate","fire","set","8306851zbUmKF","6612860tKxfEj","createCollection","Connected users list","6EENKNp","div","execute"];return(qd=function(){return e})()}function Gd(e,t){const n=qd();return(Gd=function(e,t){return n[e-=491]})(e,t)}!function(e){const t=Gd,n=e();for(;;)try{if(703529===parseInt(t(524))/1*(-parseInt(t(515))/2)+-parseInt(t(491))/3*(parseInt(t(494))/4)+-parseInt(t(519))/5+-parseInt(t(506))/6*(-parseInt(t(502))/7)+-parseInt(t(514))/8*(-parseInt(t(523))/9)+parseInt(t(503))/10+-parseInt(t(510))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qd);class Ld extends r.View{constructor(e){const t=Gd;super(e);const r=this[t(522)];this[t(518)]=this[t(504)](),this[t(497)]=new n.KeystrokeHandler,this[t(501)]({hasPopup:!1,isExpanded:!1}),this[t(499)]({tag:t(507),attributes:{"aria-haspopup":r.if(t(520)),"aria-expanded":r.to(t(495),(e=>this[t(520)]&&String(e))),"aria-label":r.to(t(520),(n=>xs(e,t(n?513:505)))),role:t(498),tabindex:r.to(t(520),(e=>!!e&&0)),class:["ck",t(516)]},children:this[t(518)],on:{click:r.to((()=>this[t(500)](t(508))))}}),this.on(t(492),((e,n,r)=>{const s=t;this[s(512)]&&(r?this[s(512)][s(521)](s(493),String(this[s(495)])):this[s(512)][s(496)](s(493)))}))}[Jd(511)](){const e=Jd;this[e(512)][e(511)]()}[Jd(509)](){const e=Jd;super[e(509)](),this[e(497)][e(517)](this[e(512)])}}var Yd=__webpack_require__(106),zd={attributes:{"data-cke":!0}};zd.setAttributes=Ps(),zd.insert=Is().bind(null,"head"),zd.domAPI=ws(),zd.insertStyleElement=As();bs()(Yd.A,zd);Yd.A&&Yd.A.locals&&Yd.A.locals;function Hd(){const e=["div","834696qkZYMv","inlineListView","1395xSoCJK","74685LlAPNo","locale","16760WyNPZN","counterView","ck-presence-list","8229510mgDrsW","hasPopup","change","first","ck-reset","3373769jWXOuG","bindTemplate","setTemplate","ck-rounded-corners","3817992nHpkyt","2hMQLnm","tooltipPosition","ck-presence-list--collapsed","887397JbokLB","10BPsgvy","bind","isCollapsed","listenTo","items","set"];return(Hd=function(){return e})()}function Fd(e,t){const n=Hd();return(Fd=function(e,t){return n[e-=455]})(e,t)}!function(e){const t=Fd,n=e();for(;;)try{if(732263===parseInt(t(483))/1+parseInt(t(469))/2*(-parseInt(t(472))/3)+-parseInt(t(468))/4+parseInt(t(473))/5*(parseInt(t(480))/6)+parseInt(t(464))/7+parseInt(t(456))/8*(parseInt(t(482))/9)+parseInt(t(459))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hd);class Kd extends r.View{constructor(e){const t=Fd;super(e);const n=this[t(465)];this[t(478)](t(475),!0),this[t(457)]=new Bd(this[t(455)]),this[t(481)]=new Ld(e),this[t(481)][t(474)](t(460)).to(this,t(475)),this[t(476)](this[t(481)][t(477)],t(461),(()=>{const e=t;for(const t of this[e(481)][e(477)])t[e(470)]="s";this[e(481)][e(477)][e(462)]&&(this[e(481)][e(477)][e(462)][e(470)]="se")})),this[t(466)]({tag:t(479),attributes:{class:["ck",t(458),t(463),t(467),n.if(t(475),t(471))]},children:[this[t(457)],this[t(481)]]})}}function Wd(){const e=["68rgqabs","checkIfScrollable","ck-reset","items","application","scrollHeight","319554cHqjVj","set","334998SqqmWr","resize","clientHeight","role","16IWRSoQ","10666287eguKoU","Connected users list dropdown menu","ck-presence-list__dropdown-list","1148839YcIRqc","element","ariaLabel","_isScrollable","innerHeight","bindTemplate","listenTo","3886981GFGKOe","window","setTemplate","ariaLabelledBy","div","ck-presence-list__dropdown-list-wrapper","change","listWrapperView","ck-presence-list__dropdown-list-wrapper_scrollable","render","max","ck-list","342895GyYBBQ","8531166jytdGZ"];return(Wd=function(){return e})()}const Qd=$d;!function(e){const t=$d,n=e();for(;;)try{if(808733===parseInt(t(515))/1+-parseInt(t(505))/2+parseInt(t(507))/3+-parseInt(t(499))/4*(parseInt(t(497))/5)+-parseInt(t(498))/6+-parseInt(t(522))/7*(-parseInt(t(511))/8)+parseInt(t(512))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wd);class Zd extends r.View{constructor(e,t){const n=$d;super(e),this[n(492)]=new Xd(e,t),this[n(524)]({tag:n(489),attributes:{tabindex:-1,role:n(503),class:["ck",n(514)],"aria-label":xs(e,n(513))},children:[this[n(492)]]})}}function $d(e,t){const n=Wd();return($d=function(e,t){return n[e-=489]})(e,t)}class Xd extends r.ListView{constructor(e,t){const r=$d;super(e);const s=this[r(520)];this[r(506)](r(518),!1),this[r(524)]({tag:t?r(489):"ul",attributes:{class:["ck",r(501),r(496),r(490),s.if(r(518),r(493))],role:s.to(r(510)),"aria-label":s.to(r(517)),"aria-labelledby":s.to(r(525))},children:this[r(502)]}),this[r(521)](n.global[r(523)],r(508),(()=>this[r(500)]())),this[r(502)].on(r(491),(()=>this[r(500)]()))}[Qd(494)](){const e=Qd;super[e(494)](),this[e(500)]()}[Qd(500)](){const e=Qd,t=this[e(516)];t&&(this[e(518)]=Math[e(495)](t[e(504)],t[e(509)])>.8*window[e(519)])}}function eu(e,t){const n=nu();return(eu=function(e,t){return n[e-=195]})(e,t)}const tu=eu;function nu(){const e=["true","element","ck-user__full-name","span","fire","13637496ZSxNTI","name","7887pVhQdG","4440SdcZJZ","getBackgroundColorClass","presentation","execute","1786844sbAlIK","2570454pQjOfb","6183478yvhCEd","180228BNbuYT","tag","setTemplate","color","1396eSpvrz","3QEjTad","1604spkwPz","button","ck-presence-list__marker","focus","215mXtROM","bindTemplate","userView","ck-presence-list__dropdown-list-item"];return(nu=function(){return e})()}!function(e){const t=eu,n=e();for(;;)try{if(873850===-parseInt(t(218))/1*(-parseInt(t(216))/2)+parseInt(t(217))/3*(parseInt(t(209))/4)+-parseInt(t(222))/5*(-parseInt(t(212))/6)+-parseInt(t(211))/7+-parseInt(t(202))/8+parseInt(t(210))/9+parseInt(t(205))/10*(parseInt(t(204))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(nu);class ru extends r.ListItemView{constructor(e,t,n){const r=eu;super(e);const s=this[r(223)];this[r(195)]=new ps.UserView(e,t);const o={tag:"li",attributes:{class:["ck",r(196)],tabindex:-1,role:r(207),"aria-label":t[r(203)]},children:[this[r(195)],{tag:r(200),attributes:{class:["ck",r(199)]},children:[{text:t[r(203)]}]},{tag:r(200),attributes:{class:["ck",r(220),t[r(215)][r(206)]()],"aria-hidden":r(197)}}]};n&&(o[r(213)]=r(219),o.on={click:s.to((()=>this[r(201)](r(208))))}),this[r(214)](o)}[tu(221)](){const e=tu;this[e(198)][e(221)]()}}!function(e){const t=iu,n=e();for(;;)try{if(523499===parseInt(t(285))/1*(parseInt(t(272))/2)+-parseInt(t(278))/3+parseInt(t(301))/4*(-parseInt(t(286))/5)+parseInt(t(275))/6+-parseInt(t(273))/7*(parseInt(t(298))/8)+-parseInt(t(280))/9+parseInt(t(300))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(au);class su extends r.View{constructor(e,t,n){const s=iu;super(e);const o=this[s(269)];this[s(268)](s(276),!1),this[s(268)](s(284),!0),this[s(268)](s(291),""),this[s(270)]=new ps.UserView(e,t),this[s(274)]=new ou(e,t);const i=new r.LabelView(e);i[s(299)][s(292)]=s(288),i[s(297)]=t[s(279)];const a={tag:s(290),attributes:{class:["ck",s(281)],role:s(296),tabindex:o.to(s(276),(e=>!!e&&0)),"aria-labelledby":i.id,"data-cke-tooltip-text":this[s(270)][s(279)],"data-cke-tooltip-position":o.to(s(291)),"data-cke-tooltip-disabled":o.to(s(284),(e=>!e)),"data-cke-tooltip-class":s(282)},children:[this[s(270)],this[s(274)],i]};n&&(a[s(292)]=s(287),a.on={click:o.to((()=>this[s(294)](s(293))))}),this[s(289)](a)}}class ou extends r.View{constructor(e,t){const n=iu;super(e),this[n(289)]({tag:n(288),attributes:{class:["ck",n(277),t[n(271)][n(283)]()],"aria-hidden":n(295)}})}}function iu(e,t){const n=au();return(iu=function(e,t){return n[e-=268]})(e,t)}function au(){const e=["execute","fire","true","listitem","text","3784904JYiXxC","template","21349040WeBYTi","3860300IlvMwh","set","bindTemplate","userView","color","1624114dvMZiy","14RUCUXF","markerView","1465806xwfiUp","isFocusable","ck-presence-list__marker","342543SXwWNu","name","5780529KgSgTl","ck-presence-list__list-item","ck-presence-list__list-item__tooltip","getBackgroundColorClass","hasTooltip","1mHrRrP","5DuISxX","button","span","setTemplate","div","tooltipPosition","tag"];return(au=function(){return e})()}const cu=uu;function du(){const e=["presencelist-missing-container","presenceDropdownView","focus","input","define","3406337LjkZDo","Enter","length","bindTo","select",':not([disabled]):not([tabindex="-1"])',"set","sort","add","_createView","hasTooltip","2jvtmZM","keystrokes","destroy","showDropdown","Esc","init","button","render","remove","checkIfScrollable","body","offsetWidth","isFocusable","presenceList.collapseAt","change:isFocused","6192LFVfqN","_handleUserAdd","877626XHfIgX","map","min","isExpanded","7088mAXlRD","presencelist-collapseat-invalid-format","filter","isVisible","counterView","bind","view","execute","Shift+Tab","displayMe","unpin","from","10dpOnSk","202621qJVwyf","onClick","Tab","isCollapsed","currentDisplayedUsers","presenceList","16RrIMpr","appendChild","allConnectedUsers","class","tabIndex","6EwRIZp","offsetHeight","plugins","pin","reverse","hideDropdown","using","context","textarea","presenceList.container","ck ck-presence-list__balloon","1434440wYdhcb","config","_handleUserRemove","listenTo","12831QTovxb","usersCount","balloonPanelView","isHidden","[tabindex]","content","activeElement","items","29405AKPVQZ","isMe","indexOf","join","number","detachFromDom","attachToDom","querySelectorAll","_bodyCollection","_allConnectedUsers","inlineListView","presenceList.displayMe","[contenteditable]","732HxhpvQ","get","requires","isRendered","focusTracker","locale","element"];return(du=function(){return e})()}function uu(e,t){const n=du();return(uu=function(e,t){return n[e-=118]})(e,t)}!function(e){const t=uu,n=e();for(;;)try{if(336567===parseInt(t(127))/1*(-parseInt(t(197))/2)+parseInt(t(174))/3*(parseInt(t(218))/4)+parseInt(t(161))/5*(-parseInt(t(138))/6)+-parseInt(t(149))/7*(-parseInt(t(133))/8)+-parseInt(t(214))/9+parseInt(t(126))/10*(parseInt(t(186))/11)+parseInt(t(212))/12*(-parseInt(t(153))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(du);const lu={collapseAt:6,displayMe:!0};class pu extends t.ContextPlugin{constructor(e){const t=uu;super(e),this[t(169)]=null,this[t(145)][t(150)][t(185)](t(132),lu);const s=e[t(150)][t(175)](t(210));if(t(165)!=typeof s)throw new n.CKEditorError(t(219),this);if(s<1)throw new n.CKEditorError(t(219),this);this[t(170)]=this[t(145)][t(140)][t(175)](ys)[t(135)],this[t(192)](t(154),0),this[t(131)]=new n.Collection,this[t(155)]=new r.BalloonPanelView,this[t(155)][t(136)]=t(148),this[t(120)]=this[t(195)](),this[t(182)]=void 0}static get[cu(176)](){return[ys]}[cu(202)](){const e=cu;for(const t of this[e(170)])this[e(213)](t);this[e(152)](this[e(170)],e(194),((t,n)=>{this[e(213)](n)})),this[e(152)](this[e(170)],e(205),((t,n)=>{this[e(151)](n)}))}[cu(195)](){const e=cu,t=this[e(145)],s=new Kd(this[e(145)][e(179)]),o=this[e(155)];if(!Vd(t[e(150)][e(175)](e(147))))throw new n.CKEditorError(e(181),this);return s[e(118)][e(119)](e(154)).to(this),s[e(119)](e(130)).to(this,e(154),(n=>{const r=e,{collapseAt:o,displayMe:i}=t[r(150)][r(175)](r(132)),a=n>=o;return s[r(118)][r(156)]=!(1==n&&i||a),a||this[r(143)](),a})),s[e(171)][e(160)][e(189)](this[e(131)])[e(144)]((n=>{const r=e,o=t[r(150)][r(175)](r(132)),i=new su(t[r(179)],n,!!o[r(128)]);return i[r(119)](r(196)).to(s,r(130),(e=>!e)),i[r(119)](r(209)).to(s,r(130),(e=>!e)),o[r(128)]&&this[r(152)](i,r(121),(()=>{const e=r;this[e(120)][e(130)]||o[e(128)](n,i[e(180)])})),i})),this[e(152)](s[e(171)],e(121),(()=>{const t=e;this[t(182)]?this[t(143)]():this[t(120)][t(130)]&&this[t(200)]()})),s[e(171)][e(198)][e(192)](e(187),((t,n)=>{const r=e;this[r(120)][r(130)]&&(this[r(200)](),n())})),s[e(204)](),o[e(204)](),(0,r.clickOutsideHandler)({emitter:s,activator:()=>o[e(221)],contextElements:[o[e(180)],s[e(171)][e(180)]],callback:()=>this[e(143)]()}),t[e(150)][e(175)](e(147))[e(134)](s[e(180)]),this[e(169)]=new r.BodyCollection(this[e(145)][e(179)]),this[e(169)][e(167)](),this[e(169)][e(194)](this[e(155)]),s}[cu(213)](e){const t=cu;if(!this[t(145)][t(150)][t(175)](t(172))&&e[t(162)])return;const n=this[t(145)][t(150)][t(175)](t(210))-1;this[t(154)]++,this[t(131)][t(188)]==n&&this[t(131)][t(188)]>1&&this[t(131)][t(205)](1);const r=e[t(162)]?0:this[t(131)][t(188)];this[t(131)][t(194)](e,r)}[cu(151)](e){const t=cu;if(this[t(154)]--,this[t(131)][t(175)](e.id)&&(this[t(131)][t(205)](e.id),this[t(131)][t(188)]<this[t(154)]))for(const e of Array[t(125)](this[t(170)])[t(142)]())if(!this[t(131)][t(175)](e.id))return void this[t(131)][t(194)](e,Math[t(216)](this[t(131)][t(188)],1))}[cu(200)](){const e=cu;if(this[e(182)])return;const t=this[e(145)][e(150)][e(175)](e(132));this[e(182)]=new Zd(this[e(145)][e(179)],!!t[e(128)]),this[e(120)][e(171)][e(217)]=!0;const{listWrapperView:n}=this[e(182)];n[e(160)][e(189)](this[e(170)])[e(144)]((n=>{const r=e;if(!t[r(123)]&&n[r(162)])return null;const s=new ru(this[r(145)][r(179)],n,!!t[r(128)]);return t[r(128)]&&this[r(152)](s,r(121),(()=>{const e=r;t[e(128)](n,s[e(180)])})),s})),this[e(155)][e(158)][e(194)](this[e(182)]),this[e(155)][e(141)]({target:this[e(120)][e(171)][e(180)]}),n[e(183)](),n[e(206)]();const r=(t,n)=>{const r=e;this[r(143)](),this[r(120)][r(171)][r(183)](),n()};n[e(198)][e(192)](e(201),r),n[e(198)][e(192)](e(122),r),n[e(198)][e(192)](e(129),((t,n)=>{const r=e;!function(e){const t=uu,n=["a",t(203),t(184),t(190),t(146),t(157),t(173)][t(215)]((e=>e+t(191)))[t(164)](","),r=[...document[t(207)][t(168)](n)][t(220)]((e=>e===document[t(159)]||e[t(208)]+e[t(139)]>0))[t(193)](((e,n)=>(e[t(137)]||0)-(n[t(137)]||0))),s=r[t(163)](e),o=r[(s+1)%r[t(188)]];o&&o[t(183)]()}(this[r(120)][r(180)]),this[r(143)](),n()})),n[e(178)][e(194)](this[e(120)][e(180)]),n[e(178)].on(e(211),((t,n,r)=>{r||this[e(143)]()}))}[cu(143)](){const e=cu;this[e(182)]&&(this[e(120)][e(171)][e(217)]=!1,this[e(155)][e(124)](),this[e(155)][e(158)][e(205)](this[e(182)]),this[e(182)][e(199)](),this[e(182)]=void 0)}[cu(199)](){const e=cu;super[e(199)](),this[e(120)]&&this[e(120)][e(177)]&&this[e(120)][e(199)](),this[e(169)]&&(this[e(169)][e(166)](),this[e(169)][e(199)](),this[e(169)]=null)}}var hu=mu;function fu(){var e=["6043366PDKVVo","735585yQbrie","isOfficialPlugin","7750000jkmkyV","PresenceList","pluginName","356422KHgkvl","235975kyHEjf","1426904SasxzO","isPremiumPlugin","2900043ArAjaY","42RRBOps","requires"];return(fu=function(){return e})()}function mu(e,t){var n=fu();return(mu=function(e,t){return n[e-=499]})(e,t)}!function(e){for(var t=mu,n=e();;)try{if(739618===parseInt(t(504))/1+parseInt(t(509))/2+-parseInt(t(500))/3+parseInt(t(511))/4+parseInt(t(510))/5*(parseInt(t(501))/6)+-parseInt(t(503))/7+parseInt(t(506))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fu);class yu extends t.ContextPlugin{static get[hu(502)](){return[ys,pu]}static get[hu(508)](){return hu(507)}static get[hu(505)](){return!0}static get[hu(499)](){return!0}}function gu(e,t){var n=bu();return(gu=function(e,t){return n[e-=302]})(e,t)}function bu(){var e=["4231782JCSpjh","972004fELIJP","1103211UZpiKY","52avOmhC","22lTJwFD","1226652VkigKe","1NauzIq","10rvhTmW","12RJtduj","367995eooWaq","318038RZCZpj","5963352GbMyjI"];return(bu=function(){return e})()}!function(e){for(var t=gu,n=e();;)try{if(950345===parseInt(t(303))/1*(parseInt(t(310))/2)+-parseInt(t(309))/3+parseInt(t(312))/4*(parseInt(t(306))/5)+-parseInt(t(305))/6*(-parseInt(t(307))/7)+parseInt(t(308))/8+-parseInt(t(311))/9*(parseInt(t(304))/10)+parseInt(t(313))/11*(parseInt(t(302))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bu)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();