@ckeditor/ckeditor5-real-time-collaboration 47.7.0 → 47.7.1-alpha.0
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.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +15 -15
- package/src/common-translations.js +1 -1
- package/src/index.js +1 -1
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencecounterview.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/presencelist.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
- package/src/realtimecollaborativecomments.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
- package/src/realtimecollaborativeediting.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
- package/src/realtimecollaborativerevisionhistory.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
- package/src/realtimecollaborativetrackchanges.js +1 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var __webpack_modules__={188(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))}})}},4(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)}},730(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}},791(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)},706(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},338(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}}},322(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}},792(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(985),s=n.n(r),o=n(271),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:inline-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;position:relative}.ck.ck-presence-list__list:after{background:transparent;bottom:-15px;content:"";height:15px;left:0;position:absolute;width:100%}.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-medium);outline:none;padding:0;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-presence-list__list-item:first-child{margin-left: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:5px;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);padding-left:1px}.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)*-.35);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:first-child{margin-left: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 .ck-user{--ck-presence-list-avatar-border-color:var(--ck-color-base-foreground);border:2px solid var(--ck-presence-list-avatar-border-color);margin-left:0;margin-right:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item.ck-presence-list__users-counter{margin-left:0;margin-right:0}.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 ul{background-color:var(--ck-color-presence-list-dropdown-background)}.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}.ck.ck-presence-list__users-counter{--ck-presence-list-counter-border-color:var(--ck-user-avatar-background);--ck-presence-list-counter-background-color:var(--ck-user-avatar-color);align-items:center;background-color:var(--ck-presence-list-counter-background-color);border:2px solid var(--ck-presence-list-counter-border-color);border-radius:50%;box-sizing:border-box;display:flex;height:calc(var(--ck-user-avatar-size) - 4px);justify-content:center;line-height:100%;margin:4px 2px 2px;position:relative;width:calc(var(--ck-user-avatar-size) - 4px)}.ck.ck-presence-list__users-counter__text{--ck-presence-list-counter-text-color:var(--ck-user-avatar-background);color:var(--ck-presence-list-counter-text-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}',""]);const a=i},725(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(985),s=n.n(r),o=n(271),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},271(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}},985(e){"use strict";e.exports=function(e){return e[1]}},643(e,t,n){"use strict";e.exports=n(447)},447(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(114),r.BufferWriter=n(491),r.Reader=n(762),r.BufferReader=n(171),r.util=n(837),r.rpc=n(366),r.roots=n(264),r.configure=s,s()},762(e,t,n){"use strict";e.exports=c;var r,s=n(837),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)}})}},171(e,t,n){"use strict";e.exports=o;var r=n(762);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(837);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()},264(e){"use strict";e.exports={}},366(e,t,n){"use strict";t.Service=n(286)},286(e,t,n){"use strict";e.exports=s;var r=n(837);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}},926(e,t,n){"use strict";e.exports=s;var r=n(837);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}},837(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(188),r.base64=n(4),r.EventEmitter=n(730),r.float=n(791),r.inquire=n(706),r.utf8=n(322),r.pool=n(338),r.LongBits=n(926),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}},114(e,t,n){"use strict";e.exports=l;var r,s=n(837),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()}},491(e,t,n){"use strict";e.exports=o;var r=n(114);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(837);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()},682(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}},995(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}},789(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}}},298(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)}},825(e){"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},207(e){"use strict";e.exports=function(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}},437(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)}}}},337(e,t,n){"use strict";var r=n(995),s=n(682),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,I=this,v=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,I.slashes=a.slashes||o&&t.slashes,I.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(I.protocol)))&&(O[3]=[/(.*)/,"pathname"]);v<O.length;v++)"function"!=typeof(d=O[v])?(c=d[0],b=d[1],c!=c?I[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof d[2]?(I[b]=e.slice(0,h),e=e.slice(h+d[2])):(I[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(I[b]=h[1],e=e.slice(0,h.index)),I[b]=I[b]||o&&d[3]&&t[b]||"",d[4]&&(I[b]=I[b].toLowerCase())):e=d(e,I);n&&(I.query=n(I.query)),o&&t.slashes&&"/"!==I.pathname.charAt(0)&&(""!==I.pathname||""!==t.pathname)&&(I.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("/")}(I.pathname,t.pathname)),"/"!==I.pathname.charAt(0)&&m(I.protocol)&&(I.pathname="/"+I.pathname),r(I.port,I.protocol)||(I.host=I.hostname,I.port=""),I.username=I.password="",I.auth&&(~(h=I.auth.indexOf(":"))?(I.username=I.auth.slice(0,h),I.username=encodeURIComponent(decodeURIComponent(I.username)),I.password=I.auth.slice(h+1),I.password=encodeURIComponent(decodeURIComponent(I.password))):I.username=encodeURIComponent(decodeURIComponent(I.auth)),I.auth=I.password?I.username+":"+I.password:I.username),I.origin="file:"!==I.protocol&&m(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.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:()=>xs,CloudServicesRevisionHistoryAdapter:()=>eo,CloudServicesTrackChangesAdapter:()=>Js,PresenceList:()=>Lo,PresenceListUI:()=>Jo,RealTimeCollaborationClient:()=>Is,RealTimeCollaborativeComments:()=>zs,RealTimeCollaborativeEditing:()=>Cs,RealTimeCollaborativeRevisionHistory:()=>oo,RealTimeCollaborativeTrackChanges:()=>Qs,Sessions:()=>$n,WebSocketGateway:()=>zn});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>Ee,Encoder:()=>je,PacketType:()=>Ce,isPacketValid:()=>Ne,protocol:()=>_e});var t=__webpack_require__(782),n=__webpack_require__(584),r=__webpack_require__(311),s=__webpack_require__(783);class o{static DESCRIPTOR_NAME;static DESCRIPTOR;constructor(...e){}}class i extends o{static TYPE="1000";static READABLE_TYPE_NAME;constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}class a extends i{id;static TYPE="21";static READABLE_TYPE_NAME="getUser";static DESCRIPTOR_NAME="GetUserMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new a(e.id)}}class c extends i{attributes;static DESCRIPTOR_NAME="GetUserResponse";static DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};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 c(t)}}var d=__webpack_require__(643);const u=(()=>{var e=d.Reader,t=d.Writer,n=d.util,r=d.roots.default||(d.roots.default={});return 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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringStringPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringNumberPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.PacketOptionsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.flags=t.string();break;case 2:i.rooms&&i.rooms.length||(i.rooms=[]),i.rooms.push(t.string());break;case 3:i.except&&i.except.length||(i.except=[]),i.except.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.PacketMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=t.uint32();break;case 2:i.id=t.uint32();break;case 3:i.nsp=t.string();break;case 4:i.data=t.bytes();break;case 5:i.options=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ObjectObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ObjectBufferPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberStringPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberNumberPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.BytesBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.bytes();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ChannelMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=t.uint32();break;case 2:i.socketId=t.string();break;case 3:i.data=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetUserResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetManyUsersResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.users&&i.users.length||(i.users=[]),i.users.push(r.UserDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetUserMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.id=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetManyUsersMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.ids&&i.ids.length||(i.ids=[]),i.ids.push(t.string())):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.UserDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetSuggestionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetAllSuggestionsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(t.string());break;case 2:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(t.string());break;case 3:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesAddSuggestionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesUpdateSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;case 3:i.hasComments=t.bool();break;case 4:i.isHasCommentsModified=t.bool();break;case 5:i.state=t.string();break;case 6:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetAllSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesBatchUpdateSuggestionsStateMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.ids&&i.ids.length||(i.ids=[]),i.ids.push(t.string());break;case 2:i.documentId=t.string();break;case 3:i.state=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesAddSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;case 3:i.type=t.string();break;case 4:i.data=t.string();break;case 5:i.originalSuggestionId=t.string();break;case 6:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SuggestionDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.sockets&&i.sockets.length||(i.sockets=[]),i.sockets.push(r.SessionsSocketDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SocketDisconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.id=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SocketConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.userId=t.string();break;case 3:i.role=t.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.sessionType=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsSocketDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.session=t.string();break;case 2:i.user=t.string();break;case 3:i.role=t.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryUpdateRevisionsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.requestId=t.uint32():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryGetRevisionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=t.string();break;case 2:i.name=t.string();break;case 3:i.creatorId=t.string();break;case 4:i.authorsIds=t.string();break;case 5:i.diffData=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;case 8:i.toVersion=t.uint32();break;case 9:i.fromVersion=t.uint32();break;case 10:i.isEmptyCurrent=t.bool();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.requestId=t.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryUpdateRevisionsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.requestId=t.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryReconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.requestId=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryGetRevisionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.revisionId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=t.string();break;case 2:i.name=t.string();break;case 3:i.creatorId=t.string();break;case 4:i.authorsIds=t.string();break;case 5:i.diffData=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;case 8:i.toVersion=t.uint32();break;case 9:i.fromVersion=t.uint32();break;case 10:i.isEmptyCurrent=t.bool();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.IsEditorBundleUploadedResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.isUploaded=t.bool():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},n}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.IsEditorBundleUploadedMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.bundleVersion=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.KeyValueDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.key=t.string();break;case 2:i.value=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetDocumentThreadsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(t.string());break;case 2:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(t.string());break;case 3:i.commentsV2&&i.commentsV2.length||(i.commentsV2=[]),i.commentsV2.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 4:i.resolvedAt=t.string();break;case 5:i.resolvedBy=t.string();break;case 6:i.context=t.string();break;case 7:i.createdAt=t.string();break;case 8:i.deletedAt=t.string();break;case 9:i.attributes=t.string();break;case 10:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(t.string());break;case 3:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ResolveCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.resolvedAt=t.string();break;case 4:i.resolvedBy=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.createdAt=t.string();break;case 3:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentThreadAddedCommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2UpdateCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.content=t.string();break;case 4:i.documentId=t.string();break;case 5:i.attributes=t.string();break;case 6:i.isAttributesUpdated=t.bool();break;case 7:i.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2RemoveCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2RemoveCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetDocumentThreadsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.content=t.string();break;case 3:i.documentId=t.string();break;case 4:i.commentId=t.string();break;case 5:i.createdAt=t.string();break;case 6:i.userId=t.string();break;case 7:i.attributes=t.string();break;case 8:i.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2UpdateCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.context=t.string();break;case 4:i.attributes=t.string();break;case 5:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ResolveCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.resolvedBy=t.string();break;case 4:i.resolvedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ReopenCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.commentThreadId=t.string();break;case 3:i.context=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.resolvedAt=t.string();break;case 6:i.resolvedBy=t.string();break;case 7:i.attributes=t.string();break;case 8:i.deletedAt=t.string();break;case 9:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentThreadAddedCommentDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=t.string();break;case 2:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsThreadDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 3:i.resolvedAt=t.string();break;case 4:i.resolvedBy=t.string();break;case 5:i.context=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.deletedAt=t.string();break;case 8:i.attributes=t.string();break;case 9:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=t.string();break;case 2:i.commentThreadId=t.string();break;case 3:i.userId=t.string();break;case 4:i.content=t.string();break;case 5:i.documentId=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetDocumentDetailsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.lastDocumentSessionId=t.string();break;case 2:i.lastDocumentSessionOperationId=t.string();break;case 3:i.currentDocumentSessionId=t.string();break;case 4:i.currentDocumentSessionVersion=t.uint32();break;case 5:i.currentDocumentSessionOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.version=t.uint32();break;case 2:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 3:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 5:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 6:i.lastOperationId=t.string();break;case 7:i.lastOperationAcceptedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.offset=t.uint32();break;case 3:i.version=t.uint32();break;case 4:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 5:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 7:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 8:i.initData=t.string();break;case 9:i.isInitialized=t.bool();break;case 10:i.sessionId=t.string();break;case 11:i.lastOperationId=t.string();break;case 12:i.sessionCreatedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetDocumentDetailsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.environmentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingUpdateMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.baseVersion=t.uint32();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 6:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 7:i.lastOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingReconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.bundleVersion=t.string();break;case 3:i.lastKnowVersion=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.bundleVersion=t.string();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 5:i.lastOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.OperationMetadataDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.userId=t.string();break;case 2:i.type=t.string();break;case 3:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),r})();class l{static decode(e,t){const n=p(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=p(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}function p(e){return u[e.DESCRIPTOR_NAME]}class h extends i{ids;static TYPE="22";static READABLE_TYPE_NAME="getManyUsers";static DESCRIPTOR_NAME="GetManyUsersMessage";static DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new h(e.ids)}}class f extends i{users;static DESCRIPTOR_NAME="GetManyUsersResponse";static DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(m)}}static fromJSON(e){return new f(e.users.map(y))}}function m(e){return{attributes:Object.keys(e).map(t=>({key:t,value:JSON.stringify(e[t])}))}}function y(e){return e.attributes.reduce((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e),{})}class g{static _SERVICE=2;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 g(e)}static async get(e,t){const n=new a(t);try{const t=await e._sendRequest(g._SERVICE,a.TYPE,l.encode(n)),r=l.decode(t,c);return new g(r.attributes)}catch(e){return new g({id:t})}}static async getMany(e,t){const n=new h(t);try{const t=await e._sendRequest(g._SERVICE,h.TYPE,l.encode(n));return l.decode(t,f).users.map(e=>new g(e))}catch(e){return t.map(e=>new g({id:e}))}}}const b=g,O=Object.create(null);O.open="0",O.close="1",O.ping="2",O.pong="3",O.message="4",O.upgrade="5",O.noop="6";const w=Object.create(null);Object.keys(O).forEach(e=>{w[O[e]]=e});const I={type:"error",data:"parser error"},v="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),S="function"==typeof ArrayBuffer,k=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,P=({type:e,data:t},n,r)=>v&&t instanceof Blob?n?r(t):A(t,r):S&&(t instanceof ArrayBuffer||k(t))?n?r(t):A(new Blob([t]),r):r(O[e]+(t||"")),A=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function T(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let _;const C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)j[C.charCodeAt(e)]=e;const E="function"==typeof ArrayBuffer,x=(e,t)=>{if("string"!=typeof e)return{type:"message",data:R(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:D(e.substring(1),t)};return w[n]?e.length>1?{type:w[n],data:e.substring(1)}:{type:w[n]}:I},D=(e,t)=>{if(E){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=j[e.charCodeAt(t)],r=j[e.charCodeAt(t+1)],s=j[e.charCodeAt(t+2)],o=j[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 R(n,t)}return{base64:!0,data:e}},R=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,N=String.fromCharCode(30);function V(){return new TransformStream({transform(e,t){!function(e,t){v&&e.data instanceof Blob?e.data.arrayBuffer().then(T).then(t):S&&(e.data instanceof ArrayBuffer||k(e.data))?t(T(e.data)):P(e,!1,e=>{_||(_=new TextEncoder),t(_.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 M;function B(e){return e.reduce((e,t)=>e+t.length,0)}function U(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 J(e){if(e)return function(e){for(var t in J.prototype)e[t]=J.prototype[t];return e}(e)}J.prototype.on=J.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},J.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},J.prototype.off=J.prototype.removeListener=J.prototype.removeAllListeners=J.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},J.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},J.prototype.emitReserved=J.prototype.emit,J.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},J.prototype.hasListeners=function(e){return!!this.listeners(e).length};const q="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function G(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}const L=q.setTimeout,Y=q.clearTimeout;function H(e,t){t.useNativeTimers?(e.setTimeoutFn=L.bind(q),e.clearTimeoutFn=Y.bind(q)):(e.setTimeoutFn=q.setTimeout.bind(q),e.clearTimeoutFn=q.clearTimeout.bind(q))}function z(e){return"string"==typeof e?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}(e):Math.ceil(1.33*(e.byteLength||e.size))}class F extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class K extends J{constructor(e){super(),this.writable=!1,H(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new F(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=x(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 W="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Q={};let Z,$=0,X=0;function ee(e){let t="";do{t=W[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function te(){const e=ee(+new Date);return e!==Z?($=0,Z=e):e+"."+ee($++)}for(;X<64;X++)Q[W[X]]=X;let ne=!1;try{ne="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const re=ne;function se(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||re))return new XMLHttpRequest}catch(e){}if(!t)try{return new(q[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function oe(){}const ie=null!=new se({xdomain:!1}).responseType;class ae extends J{constructor(e,t){super(),H(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=G(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new se(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=ae.requestsCount++,ae.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=oe,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete ae.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(ae.requestsCount=0,ae.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",ce);else if("function"==typeof addEventListener){addEventListener("onpagehide"in q?"pagehide":"unload",ce,!1)}function ce(){for(let e in ae.requests)ae.requests.hasOwnProperty(e)&&ae.requests[e].abort()}const de="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ue=q.WebSocket||q.MozWebSocket,le="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const pe={websocket:class extends K{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=le?{}:G(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=le?new ue(e,t,n):t?new ue(e,t):new ue(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;P(n,this.supportsBinary,e=>{try{this.ws.send(e)}catch(e){}r&&de(()=>{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]=te()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!ue}},webtransport:class extends K{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){M||(M=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(B(n)<1)break;const e=U(n,1);o=!(128&~e[0]),s=127&e[0],r=s<126?3:126===s?1:2}else if(1===r){if(B(n)<2)break;const e=U(n,2);s=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(2===r){if(B(n)<8)break;const e=U(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),o=t.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(I);break}s=o*Math.pow(2,32)+t.getUint32(4),r=3}else{if(B(n)<s)break;const e=U(n,s);a.enqueue(x(o?e:M.decode(e),t)),r=0}if(0===s||s>e){a.enqueue(I);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=V();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&&de(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends K{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=ie&&!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(N),r=[];for(let e=0;e<n.length;e++){const s=x(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)=>{P(e,!1,e=>{r[o]=e,++s===n&&t(r.join(N))})})})(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]=te()),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 ae(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}}},he=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,fe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function me(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=he.exec(e||""),o={},i=14;for(;i--;)o[fe[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 ye extends J{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=me(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=me(t.host).host),H(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 pe[e](n)}open(){let e;if(this.opts.rememberUpgrade&&ye.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;ye.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;ye.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",ye.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 t=0;t<this.writeBuffer.length;t++){const n=this.writeBuffer[t].data;if(n&&(e+=z(n)),t>0&&e>this.maxPayload)return this.writeBuffer.slice(0,t);e+=2}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){ye.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}}ye.protocol=4;ye.protocol;const ge="function"==typeof ArrayBuffer,be=Object.prototype.toString,Oe="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===be.call(Blob),we="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===be.call(File);function Ie(e){return ge&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||Oe&&e instanceof Blob||we&&e instanceof File}function ve(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(ve(e[t]))return!0;return!1}if(Ie(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return ve(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&ve(e[t]))return!0;return!1}function Se(e){const t=[],n=e.data,r=e;return r.data=ke(n,t),r.attachments=t.length,{packet:r,buffers:t}}function ke(e,t){if(!e)return e;if(Ie(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]=ke(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]=ke(e[r],t));return n}return e}function Pe(e,t){return e.data=Ae(e.data,t),delete e.attachments,e}function Ae(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]=Ae(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=Ae(e[n],t));return e}const Te=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],_e=5;var Ce;!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"}(Ce||(Ce={}));class je{constructor(e){this.replacer=e}encode(e){return e.type!==Ce.EVENT&&e.type!==Ce.ACK||!ve(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===Ce.EVENT?Ce.BINARY_EVENT:Ce.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==Ce.BINARY_EVENT&&e.type!==Ce.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=Se(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}class Ee extends J{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},"function"==typeof e?{reviver:e}: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===Ce.BINARY_EVENT;n||t.type===Ce.BINARY_ACK?(t.type=n?Ce.EVENT:Ce.ACK,this.reconstructor=new xe(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!Ie(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===Ce[n.type])throw new Error("unknown packet type "+n.type);if(n.type===Ce.BINARY_EVENT||n.type===Ce.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");const o=Number(s);if(!De(o)||o<0)throw new Error("Illegal attachments");if(o>this.opts.maxAttachments)throw new Error("too many attachments");n.attachments=o}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(!Ee.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case Ce.CONNECT:return Re(t);case Ce.DISCONNECT:return void 0===t;case Ce.CONNECT_ERROR:return"string"==typeof t||Re(t);case Ce.EVENT:case Ce.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Te.indexOf(t[0]));case Ce.ACK:case Ce.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class xe{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=Pe(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const De=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};function Re(e){return"[object Object]"===Object.prototype.toString.call(e)}function Ne(e){return"string"==typeof e.nsp&&(void 0===(t=e.id)||De(t))&&function(e,t){switch(e){case Ce.CONNECT:return void 0===t||Re(t);case Ce.DISCONNECT:return void 0===t;case Ce.EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Te.indexOf(t[0]));case Ce.ACK:return Array.isArray(t);case Ce.CONNECT_ERROR:return"string"==typeof t||Re(t);default:return!1}}(e.type,e.data);var t}function Ve(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const Me=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Be extends J{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=[Ve(e,"open",this.onopen.bind(this)),Ve(e,"packet",this.onpacket.bind(this)),Ve(e,"error",this.onerror.bind(this)),Ve(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(Me.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:Ce.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:Ce.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 Ce.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 Ce.EVENT:case Ce.BINARY_EVENT:this.onevent(e);break;case Ce.ACK:case Ce.BINARY_ACK:this.onack(e);break;case Ce.DISCONNECT:this.ondisconnect();break;case Ce.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:Ce.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:Ce.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 Ue(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}Ue.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)},Ue.prototype.reset=function(){this.attempts=0},Ue.prototype.setMin=function(e){this.ms=e},Ue.prototype.setMax=function(e){this.max=e},Ue.prototype.setJitter=function(e){this.jitter=e};class Je extends J{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,H(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 Ue({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 ye(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Ve(t,"open",function(){n.onopen(),e&&e()}),s=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=Ve(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(Ve(e,"ping",this.onping.bind(this)),Ve(e,"data",this.ondata.bind(this)),Ve(e,"error",this.onerror.bind(this)),Ve(e,"close",this.onclose.bind(this)),Ve(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){de(()=>{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 Be(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 qe={};function Ge(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=me(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=qe[s]&&o in qe[s].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||i?a=new Je(r,t):(qe[s]||(qe[s]=new Je(r,t)),a=qe[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ge,{Manager:Je,Socket:Be,io:Ge,connect:Ge});var Le=__webpack_require__(337);class Ye extends i{type;socketId;data;static DESCRIPTOR_NAME="ChannelMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};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 Ye(e.type,e.socketId,e.data)}}const He=class extends((0,n.EmitterMixin)()){_channelName;_wsGateway;_socket;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=l.decode(e,Ye);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)})}};(Object.getOwnPropertyDescriptor(He,"name")||{}).writable||Object.defineProperty(He,"name",{value:"default",configurable:!0});class ze extends Error{context;code;data;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 ze(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 Fe extends Error{code;traceId;data;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 Fe(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 Ke extends i{flags;rooms;except;static TYPE=11;static DESCRIPTOR_NAME="PacketOptionsMessage";static DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:this.rooms?.length?this.rooms:void 0,except:this.except?.length?this.except:void 0}}static fromJSON(e){return new Ke(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}const We=(()=>!("undefined"==typeof process||!process.versions?.node))(),Qe=1,Ze=2,$e=3,Xe=4;class et{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(et.isBuffer(e))return Qe;const t=typeof e;return"string"===t?Ze:"number"===t?$e:Xe}static isBuffer(e){return We&&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 tt extends i{data;data1;static create(e,t){throw new TypeError("Must be implemented in a child class!")}}class nt extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,Qe))();static DESCRIPTOR_NAME="NumberBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new nt(e.data,e.data1)}static create(e,t){return new nt(e,t)}}class rt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Qe))();static DESCRIPTOR_NAME="StringBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new rt(e.data,e.data1)}static create(e,t){return new rt(e,t)}}class st extends tt{data;data1;static TYPE=(()=>et.getPacketType(Qe,Qe))();static DESCRIPTOR_NAME="BytesBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new st(e.data,e.data1)}static create(e,t){return new st(e,t)}}class ot extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Xe))();static DESCRIPTOR_NAME="StringObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};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 ot(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new ot(e,t)}}class it extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,Xe))();static DESCRIPTOR_NAME="NumberObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};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 it(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new it(e,t)}}class at extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,Xe))();static DESCRIPTOR_NAME="ObjectObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};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 at(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new at(e,t)}}class ct extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,Qe))();static DESCRIPTOR_NAME="ObjectBufferPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};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 ct(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new ct(e,t)}}class dt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Ze))();static DESCRIPTOR_NAME="StringStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new dt(e.data,e.data1)}static create(e,t){return new dt(e,t)}}class ut extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,$e))();static DESCRIPTOR_NAME="StringNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};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)}}class lt extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,$e))();static DESCRIPTOR_NAME="NumberNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new lt(e.data,e.data1)}static create(e,t){return new lt(e,t)}}class pt extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,Ze))();static DESCRIPTOR_NAME="NumberStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};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)}}const ht=(()=>[nt,rt,st,ot,it,at,ct,dt,ut,lt,pt].reduce((e,t)=>(e[t.TYPE]=t,e),{}))();class ft extends i{type;data;id;nsp;options;static TYPE=10;static DESCRIPTOR_NAME="PacketMessage";static 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}}};constructor(e,t,n,r="/",s){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=s??new Ke}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=l.encode(this.options),t=l.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 ft(e.type-10*t,l.decode(e.data,ht[t]),e.id,e.nsp,e.options?l.decode(e.options,Ke):new Ke)}static create(e,t={}){const n=et.getPacketType(et.getType(e.data[0]),et.getType(e.data[1]??e.data[0]));return new ft(e.type,ht[n].create(e.data[0],e.data[1]),e.id,e.nsp,new Ke(t.flags,t.rooms,t.except))}}class mt{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 l.encode(ft.create(o,s))}decode(e){const t=l.decode(e,ft);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 yt=(()=>[Ce.EVENT,Ce.ACK,Ce.BINARY_ACK,Ce.BINARY_EVENT])();class gt extends je{_packetParser;constructor(e){super(),this._packetParser=e??new mt}encode(e){if(yt.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 bt extends Ee{_packetParser;constructor(e){super(),this._packetParser=e??new mt}add(e){if(!et.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 Ot{_context;_deferredPromise=function(){let e,t;const n=new Promise((n,r)=>{e=n,t=r});return{resolve:e,reject:t,promise:n}}();timeout;constructor(e,t){this._context=e,this.timeout=setTimeout(()=>this.error(new ze("Request timeout.",this._context)),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}class wt{_context;_requests=new Set;constructor(e){this._context=e}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 Ot(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 It={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class vt extends((0,n.ObservableMixin)()){_requestsManager;_url;_socket;_socketAuth;_channels;_connectionAttempt=0;_token;_options;_connectionProvider;_userFactory;static STATE_DISCONNECTED=(()=>It.DISCONNECTED)();static STATE_CONNECTING=(()=>It.CONNECTING)();static STATE_CONNECTED=(()=>It.CONNECTED)();static _CHANGE_STATE_EVENT_PRIORITY=(()=>n.priorities.get("highest")+999999)();constructor(e,t,n,r,s){if(super(),this._token=t,this._options=n??{},this._connectionProvider=r??Ge,this._userFactory=s??b.get,this._requestsManager=new wt(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=Le(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",It.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",async(e,t,n)=>{if(this._debugEvent("ws-gw:change:state",n),n!==vt.STATE_CONNECTED){if(n===vt.STATE_DISCONNECTED)return this._requestsManager.errorAll(new ze("Not connected.",this))}else try{this.me=await this._userFactory.call(b,this,this._socketAuth?.userId)}catch(e){}},{priority:vt._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(){this.state!==It.DISCONNECTED&&(this._socket?.disconnect(),this._socket=void 0,this.state=It.DISCONNECTED)}async reconnect(){this._socket||this.state!==It.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=Ge,s=b.get){const o=new vt(t,e,n,r,s);return await o._connect(),o}_sendRequest(e,t,n){if(!e)throw new ze("`serviceName` must be provided.",this);if(this.state!==vt.STATE_CONNECTED)throw new ze("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new ze("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 He(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(){if(this._socket)return this._socket;const e=this._url.port||this._getPortByProtocol(this._url.protocol),t=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+e,n=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",r=this._connectionProvider(t,{parser:{Encoder:gt,Decoder:bt},path:n+"/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:"53.0.3"},agent:this._options.agent??!1,closeOnBeforeunload:!1});return this.state=It.CONNECTING,r.on("connect",()=>{this._debugEvent("connect"),this.socketId=r.id}),r.on("connect_error",e=>{this._debugEvent("connect_error",e)}),r.on("disconnect",()=>{this._debugEvent("disconnect"),this._onDisconnect()}),r.io.on("reconnect",async()=>{this._debugEvent("reconnect"),await this._onReconnect()}),r.io.on("reconnect_attempt",e=>{this._debugEvent("reconnect_attempt",e),this.state=It.CONNECTING,this._connectionAttempt=e}),r.on("unauthorized",e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)}),r.on("authenticationRequest",async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()}),this._socket=r,r}_emit(e,t){const n=this._socket;return this._requestsManager.send(r=>{n.emit(e,t,(e,t)=>{if(e)return r.error(Fe.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=It.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=It.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(ze.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",Fe.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(){return!!n.global.window.localStorage&&"true"===(n.global.window.localStorage.getItem("csClientDebugMode")??"false").toLowerCase()}}const St=vt;class kt extends i{bundleVersion;static TYPE="131";static READABLE_TYPE_NAME="isEditorBundleUploaded";static DESCRIPTOR_NAME="IsEditorBundleUploadedMessage";static DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new kt(e.bundleVersion)}}class Pt extends i{isUploaded;static DESCRIPTOR_NAME="IsEditorBundleUploadedResponse";static DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new Pt(e.isUploaded)}}class At extends((0,n.EmitterMixin)()){static _SERVICE=13;static async isBundleUploaded(e,t){const n=new kt(t);if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(At._SERVICE,kt.TYPE,l.encode(n));return l.decode(r,Pt).isUploaded}}const Tt=At;class _t extends i{documentId;revisionId;static TYPE="123";static READABLE_TYPE_NAME="getRevision";static DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new _t(e.documentId,e.revisionId)}}class Ct extends o{static DESCRIPTOR_NAME="RevisionDescriptor";static 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}}};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){return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?.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})}}class jt extends i{revisionId;name;creatorId;authorsIds;createdAt;diffData;attributes;fromVersion;toVersion;isEmptyCurrent;static DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse";static DESCRIPTOR=(()=>Ct.DESCRIPTOR)();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 Ct.toJSON(this)}toObject(){return Ct.toObject(this)}static create(e){return new jt(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 jt(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)}}class Et extends i{documentId;requestId;revisions;static TYPE="124";static READABLE_TYPE_NAME="updateRevisions";static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};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(Ct.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Ct.toObject)}}static create(e){return new Et(e.documentId,e.requestId,e.revisions.map(Ct.create))}static fromJSON(e){return new Et(e.documentId,e.requestId,e.revisions.map(Ct.fromJSON))}}class xt extends i{requestId;static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse";static DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new xt(e.requestId)}}class Dt extends i{documentId;static TYPE="121";static READABLE_TYPE_NAME="connectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Dt(e.documentId)}}class Rt extends i{channel;requestId;revisions;static DESCRIPTOR_NAME="RevisionHistoryConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};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(Ct.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Ct.toObject)}}static fromJSON(e){return new Rt(e.channel,e.requestId,e.revisions.map(Ct.fromJSON))}}class Nt extends i{documentId;requestId;static TYPE="122";static READABLE_TYPE_NAME="reconnectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryReconnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new Nt(e.documentId,e.requestId)}}class Vt extends ze{constructor(e,t){super(e+" Service is not connected.",t)}}class Mt extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=12;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new Dt(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 ze("Cannot reconnect to already connected service.",e);return this._connect(e,new Nt(this._documentId,t))}async updateRevisions(e,t){const n=Et.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(Et.TYPE,n),{requestId:s}=l.decode(r,xt);return s}async getRevision(e){const t=new _t(this._documentId,e),n=await this._sendRequest(_t.TYPE,t);return l.decode(n,jt).toObject()}async _connect(e,t){if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(12,t.constructor.TYPE,l.encode(t)),{channel:r,requestId:s,revisions:o}=l.decode(n,Rt).toObject();return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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(Mt._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Et.TYPE),(e,t)=>{const{documentId:n,requestId:r,revisions:s}=l.decode(t,Et).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})})}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Revision History",this);return this._wsGateway._sendRequest(12,e,l.encode(t))}}const Bt=Mt;class Ut extends i{id;documentId;type;data;originalSuggestionId;attributes;static TYPE="101";static READABLE_TYPE_NAME="addSuggestion";static DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage";static 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}}};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){return new Ut(e.id,e.documentId,e.type,JSON.parse(e.data),e.originalSuggestionId??null,e.attributes?JSON.parse(e.attributes):null)}}class Jt extends i{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse";static 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}}};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(){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 Jt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}class qt extends i{id;documentId;static TYPE="103";static READABLE_TYPE_NAME="getSuggestion";static DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new qt(e.id,e.documentId)}}class Gt extends i{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse";static 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}}};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 Gt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}class Lt extends i{documentId;static TYPE="102";static READABLE_TYPE_NAME="getAllSuggestions";static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Lt(e.documentId)}}class Yt extends o{static DESCRIPTOR_NAME="SuggestionDescriptor";static 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"}}};static toJSON(e){return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:e.createdAt?.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}}}class Ht extends i{_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse";static DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=t?.length?t:e}toJSON(){return{suggestions:this._suggestions?.map(e=>JSON.stringify(e)),suggestionsV2:this._suggestionsV2?.map(Yt.toJSON)}}static fromJSON(e){return new Ht(e.suggestions?.map(zt),e.suggestionsV2?.map(Yt.fromJSON))}}function zt(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}class Ft extends i{id;documentId;hasComments;isHasCommentsModified;state;attributes;static TYPE="104";static READABLE_TYPE_NAME="updateSuggestion";static DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage";static 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}}};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 Ft(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}class Kt extends i{documentId;static TYPE="105";static READABLE_TYPE_NAME="connectToSuggestions";static DESCRIPTOR_NAME="TrackChangesConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Kt(e.documentId)}}class Wt extends i{channel;_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=n?.length?n:t}toJSON(){return{channel:this.channel,suggestions:this._suggestions?.map(e=>JSON.stringify(e)),suggestionsV2:this._suggestionsV2?.map(Yt.toJSON)}}static fromJSON(e){return new Wt(e.channel,e.suggestions?.map(e=>JSON.parse(e)),e.suggestionsV2?.map(Yt.fromJSON))}}class Qt extends i{ids;documentId;state;static TYPE="106";static READABLE_TYPE_NAME="batchUpdateSuggestionsState";static DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage";static DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};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 Qt(e.ids,e.documentId,e.state)}}class Zt extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=10;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const t=new Kt(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(10,Kt.TYPE,l.encode(t)),r=l.decode(n,Wt);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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 Ut(e,this._documentId,t,n,r,s),i=await this._sendRequest(Ut.TYPE,o);return l.decode(i,Jt)}async get(e,t=1){const n=new qt(e,this._documentId);try{const e=await this._sendRequest(qt.TYPE,n);return l.decode(e,Gt)}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 Fe.fromPublicError(n)}var r}async getAll(){const e=new Lt(this._documentId),t=await this._sendRequest(Lt.TYPE,e),{suggestions:n}=l.decode(t,Ht);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:s}=t,o=void 0!==n,i=new Ft(e,this._documentId,n,o,r,s);await this._sendRequest(Ft.TYPE,i)}async batchUpdateState(e){const t=new Qt(e.ids,this._documentId,e.state);await this._sendRequest(Qt.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(Zt._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Ft.TYPE),(e,t)=>{const n=l.decode(t,Ft);this.fire("suggestionUpdated",n)})}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Track Changes",this);return this._wsGateway._sendRequest(10,e,l.encode(t))}}const $t=Zt,Xt={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let en;const tn=new Uint8Array(16);function nn(){if(!en&&(en="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!en))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return en(tn)}const rn=[];for(let e=0;e<256;++e)rn.push((e+256).toString(16).slice(1));function sn(e,t=0){return rn[e[t+0]]+rn[e[t+1]]+rn[e[t+2]]+rn[e[t+3]]+"-"+rn[e[t+4]]+rn[e[t+5]]+"-"+rn[e[t+6]]+rn[e[t+7]]+"-"+rn[e[t+8]]+rn[e[t+9]]+"-"+rn[e[t+10]]+rn[e[t+11]]+rn[e[t+12]]+rn[e[t+13]]+rn[e[t+14]]+rn[e[t+15]]}const on=function(e,t,n){if(Xt.randomUUID&&!t&&!e)return Xt.randomUUID();const r=(e=e||{}).random||(e.rng||nn)();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 sn(r)};class an extends i{channel;sockets;static DESCRIPTOR_NAME="SessionsConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};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 an(e.channel,e.sockets.map(e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions})))}}class cn extends i{id;sessionType;static TYPE="31";static READABLE_TYPE_NAME="getConnectedSockets";static DESCRIPTOR_NAME="SessionsConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new cn(e.id,e.sessionType)}}class dn extends i{id;userId;role;permissions;static TYPE="32";static READABLE_TYPE_NAME="connectSocket";static DESCRIPTOR_NAME="SocketConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){return{id:this.id,userId:this.userId??void 0,role:this.role??void 0,permissions:this.permissions??void 0}}static fromJSON(e){return new dn(e.id,e.userId,e.role,e.permissions)}}class un extends i{id;static TYPE="33";static READABLE_TYPE_NAME="disconnectSocket";static DESCRIPTOR_NAME="SocketDisconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new un(e.id)}}const ln=class extends n.Collection{_id;_sessionType;_handlers=new Map;_channel;_wsGateway;_connected;_eventsQueue=[];_isRunning=!1;constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new cn(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(3,cn.TYPE,l.encode(t));n=l.decode(e,an)}catch(e){n=new an(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 b.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 b,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:St._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,dn.TYPE,async t=>{const n=l.decode(t,dn);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await b.get(e,n.userId)),super.add(t)}}),this._addHandler(this._channel,un.TYPE,e=>{const t=l.decode(e,un);-1!==this.getIndex(t.id)&&super.remove(t.id)}))}async _onWsGatewayStateChange(e){e===St.STATE_DISCONNECTED&&this.disconnect(!1),e===St.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)}};(Object.getOwnPropertyDescriptor(ln,"name")||{}).writable||Object.defineProperty(ln,"name",{value:"default",configurable:!0});class pn{static async getConnectedSessions(e,t,n){const r=new ln(t,n);return await r.connect(e),r}}class hn extends i{id;buffers;types;bundleVersion;lastOperationId;static TYPE="11";static READABLE_TYPE_NAME="connectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingConnectMessage";static 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}}};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 hn(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}class fn{static prepareMetadataForOperations(e,t){if(!e?.length||!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?.length||!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 mn extends o{static DESCRIPTOR_NAME="OperationMetadataDescriptor";static DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};static toJSON({createdAt:e,...t}){const n={...t};return e?.toISOString&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}class yn extends i{id;buffers;types;baseVersion;metadata;lastOperationId;static TYPE="13";static READABLE_TYPE_NAME="updateDocument";static DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage";static 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}}};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:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new yn(e.id,e.buffers,e.types,e.baseVersion,fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),e.lastOperationId)}}class gn extends i{id;lastKnowVersion;bundleVersion;static TYPE="12";static READABLE_TYPE_NAME="reconnectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};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 gn(e.id,e.lastKnowVersion,e.bundleVersion)}}class bn extends i{version;buffers;types;metadata;lastOperationId;lastOperationAcceptedAt;static DESCRIPTOR_NAME="CollaborativeEditingResponse";static 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}}};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(){return!this.types?.length}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new bn(e.version,e.buffers,e.types,fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new bn(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}class On extends i{channel;version;buffers;types;offset;metadata;initData;sessionId;lastOperationId;sessionCreatedAt;static DESCRIPTOR_NAME="CollaborativeEditingConnectResponse";static 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:mn.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}}}))();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(){return!this.types?.length&&null===this.initData}toJSON(){return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),initData:this.initData??"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new On(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){let t=null;return!0===e.isInitialized?t=e.initData??"":"boolean"!=typeof e.isInitialized&&e.initData&&(t=e.initData),On.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),initData:t,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}class wn extends i{lastDocumentSession;currentDocumentSession;static DESCRIPTOR_NAME="GetDocumentDetailsResponse";static 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}}};constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}toJSON(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.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 wn(t,n)}}class In extends i{documentId;static TYPE="14";static READABLE_TYPE_NAME="getDocumentDetails";static DESCRIPTOR_NAME="GetDocumentDetailsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new In(e.documentId)}}const vn=class extends((0,n.EmitterMixin)()){static _SERVICE=1;_bundleVersion;_id;_isConnected;_wsGateway;_channel;_connectedSessions;constructor(e,t){if(super(),!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=t??on(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new hn(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new ze("Cannot reconnect to already connected service.",e);return this._connect(e,new gn(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 In(this.getId());if(!this._wsGateway)throw new Vt("Collaborative Editing",this);const t=await this._wsGateway._sendRequest(1,In.TYPE,l.encode(e));return l.decode(t,wn)}async sendOperations(e,t,n){if(!e?.types?.length)throw new ze("Cannot send empty update.",this._wsGateway);const r="number"==typeof t?t:parseInt(t);if(!Number.isInteger(r)||r<0)throw new ze("Base version not provided.",this._wsGateway);const s=new yn(this.getId(),e.buffers,e.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new Vt("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,yn.TYPE,l.encode(s));return l.decode(o,bn)}async getConnectedSessions(){if(!this._isConnected)throw new Vt("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await pn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(e,t){return pn.getConnectedSessions(e,t,1)}async _connect(e,t){if(this.isConnected())return;if(e.state!==St.STATE_CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(1,t.constructor.TYPE,l.encode(t)),r=l.decode(n,On);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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(yn.TYPE),(e,t)=>{const n=l.decode(t,yn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)})}_onWsGatewayStateChange(e){e===St.STATE_DISCONNECTED&&this.disconnect()}};(Object.getOwnPropertyDescriptor(vn,"name")||{}).writable||Object.defineProperty(vn,"name",{value:"default",configurable:!0});class Sn extends o{static DESCRIPTOR_NAME="CommentDescriptor";static 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"}}};static toJSON(e){return{...e,createdAt:e.createdAt?.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}}}class kn extends o{static DESCRIPTOR_NAME="CommentsThreadDescriptor";static 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}}};static toJSON(e){return{...e,createdAt:e.createdAt?.toISOString(),deletedAt:e.deletedAt?.toISOString(),resolvedAt:e.resolvedAt?.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:e.comments?.map(Sn.toJSON),unlinkedAt:e.unlinkedAt?.toISOString()}}static fromJSON(e){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:e.comments?.map(Sn.fromJSON),unlinkedAt:e.unlinkedAt?new Date(e.unlinkedAt):void 0}}}class Pn extends i{documentId;commentThreadId;content;commentId;userId;attributes;commentThread;createdAt;static TYPE="91";static READABLE_TYPE_NAME="addComment";static DESCRIPTOR_NAME="CommentsV2AddCommentMessage";static 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}}};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?kn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Pn(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?kn.fromJSON(e.commentThread):void 0)}}class An extends i{commentThreadId;commentId;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};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 An(e.commentThreadId,e.commentId,e.createdAt)}}class Tn extends i{documentId;static TYPE="92";static READABLE_TYPE_NAME="connectToComment";static DESCRIPTOR_NAME="CommentsV2ConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Tn(e.documentId)}}class _n extends i{channel;_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2ConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=n?.length?n:t}toJSON(){return{channel:this.channel,threads:this._threads?.map(e=>JSON.stringify(e)),threadsV2:this._threadsV2?.map(kn.toJSON)}}static fromJSON(e){return new _n(e.channel,e.threads?.map(e=>JSON.parse(e)),e.threadsV2?.map(kn.fromJSON))}}class Cn extends i{documentId;commentThreadId;commentId;static TYPE="95";static READABLE_TYPE_NAME="removeComment";static DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};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 Cn(e.documentId,e.commentThreadId,e.commentId)}}class jn extends i{documentId;commentThreadId;static TYPE="97";static READABLE_TYPE_NAME="removeCommentThread";static DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new jn(e.documentId,e.commentThreadId)}}class En extends i{documentId;commentThreadId;commentId;content;attributes;isAttributesUpdated;commentThread;static TYPE="96";static READABLE_TYPE_NAME="updateComment";static DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage";static 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}}};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?kn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new En(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?kn.fromJSON(e.commentThread):void 0)}}class xn extends i{commentThreadId;documentId;static TYPE="93";static READABLE_TYPE_NAME="getComment";static DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new xn(e.commentThreadId,e.documentId)}}class Dn extends i{commentThreadId;_comments;_commentsV2;resolvedBy;comments;createdAt;deletedAt;resolvedAt;attributes;context;unlinkedAt;static DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse";static 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}}};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=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(){return{commentThreadId:this.commentThreadId,comments:this._comments?.map(e=>JSON.stringify(e)),commentsV2:this._commentsV2?.map(Sn.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:this.createdAt?.toISOString(),deletedAt:this.deletedAt?.toISOString(),resolvedAt:this.resolvedAt?.toISOString(),unlinkedAt:this.unlinkedAt?.toISOString()}}static fromJSON(e){return new Dn(e.commentThreadId,e.comments?.map(e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e)),e.commentsV2?.map(Sn.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)}}class Rn extends i{documentId;static TYPE="94";static READABLE_TYPE_NAME="getDocumentThreads";static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Rn(e.documentId)}}class Nn extends i{_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse";static DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=t?.length?t:e}toJSON(){return{threads:this._threads?.map(e=>JSON.stringify(e)),threadsV2:this._threadsV2?.map(kn.toJSON)}}static fromJSON(e){return new Nn(e.threads?.map(e=>function(e){const t=JSON.parse(e),n={...t};return t.comments&&(n.comments=t.comments?.map(e=>({...e,createdAt:new Date(e.createdAt)}))),n}(e)),e.threadsV2?.map(kn.fromJSON))}}class Vn extends o{static DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};static toJSON(e){return{commentId:e.commentId,createdAt:e.createdAt?.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}class Mn extends i{commentThreadId;comments;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};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=>Vn.toJSON(e))}}static fromJSON(e){return new Mn(e.commentThreadId,e.createdAt,e.comments.map(e=>Vn.fromJSON(e)))}}class Bn extends i{documentId;commentThreadId;comments;context;resolvedBy;attributes;createdAt;resolvedAt;deletedAt;static TYPE="140";static READABLE_TYPE_NAME="addCommentThread";static DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage";static 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}}};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(){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:this.comments?.map(e=>Sn.toJSON(e))}}static fromJSON(e){return new Bn(e.documentId,e.commentThreadId,e.comments?.map(t=>Sn.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)}}class Un extends i{commentThreadId;documentId;resolvedBy;resolvedAt;static TYPE="142";static READABLE_TYPE_NAME="resolveCommentThread";static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt?.toISOString()}}static fromJSON(e){return new Un(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}class Jn extends i{commentThreadId;documentId;static TYPE="141";static READABLE_TYPE_NAME="reopenCommentThread";static DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Jn(e.commentThreadId,e.documentId)}}class qn extends i{commentThreadId;documentId;context;attributes;unlinkedAt;static TYPE="143";static READABLE_TYPE_NAME="updateCommentThread";static DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage";static 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}}};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 qn(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)}}class Gn extends i{commentThreadId;documentId;resolvedBy;resolvedAt;static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};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 Gn(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}class Ln extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;_connectedSessions;static _SERVICE=9;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const t=new Tn(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(9,Tn.TYPE,l.encode(t)),{channel:r,threads:s}=l.decode(n,_n);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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 Pn(this._documentId,e,n,t,void 0,void 0,r),o=await this._sendRequest(Pn.TYPE,s);return l.decode(o,An)}async updateComment(e,t,n,r){const s=void 0!==r,o=new En(this._documentId,e,t,n,r,s);await this._sendRequest(En.TYPE,o)}async removeComment(e,t){const n=new Cn(this._documentId,e,t);await this._sendRequest(Cn.TYPE,n)}async removeCommentThread(e){const t=new jn(this._documentId,e);await this._sendRequest(jn.TYPE,t)}async addCommentThread(e){const t=new Bn(this._documentId,e.commentThreadId,e.comments?.map(t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId})),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),n=await this._sendRequest(Bn.TYPE,t);return l.decode(n,Mn)}async resolveCommentThread(e){const t=new Un(e,this._documentId),n=await this._sendRequest(Un.TYPE,t);return l.decode(n,Gn)}async reopenCommentThread(e){const t=new Jn(e,this._documentId);await this._sendRequest(Jn.TYPE,t)}async updateCommentThread(e){const t=new qn(e.commentThreadId,this._documentId,e.context,e.attributes,e.unlinkedAt);await this._sendRequest(qn.TYPE,t)}async getCommentThread(e,t=1){const n=new xn(e,this._documentId);try{const e=await this._sendRequest(xn.TYPE,n),t=l.decode(e,Dn);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 Fe.fromPublicError(n)}var r}async getDocumentThreads(){const e=new Rn(this._documentId),t=await this._sendRequest(Rn.TYPE,e),{threads:n}=l.decode(t,Nn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new Vt("Comments",this);return this._connectedSessions||(this._connectedSessions=await pn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(Ln._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Pn.TYPE),(e,t)=>{const n=l.decode(t,Pn);this.fire("commentAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(Cn.TYPE),(e,t)=>{const n=l.decode(t,Cn);this.fire("commentRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(En.TYPE),(e,t)=>{const n=l.decode(t,En);this.fire("commentUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(jn.TYPE),(e,t)=>{const n=l.decode(t,jn);this.fire("commentThreadRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(Bn.TYPE),(e,t)=>{const n=l.decode(t,Bn);this.fire("commentThreadAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(qn.TYPE),(e,t)=>{const n=l.decode(t,qn);this.fire("commentThreadUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Un.TYPE),(e,t)=>{const n=l.decode(t,Un);this.fire("commentThreadResolved",n)}),this.listenTo(this._channel,this._channel.getEventName(Jn.TYPE),(e,t)=>{const n=l.decode(t,Jn);this.fire("commentThreadReopened",n)}))}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Comments",this);return this._wsGateway._sendRequest(9,e,l.encode(t))}}const Yn=Ln,Hn=Fn;!function(e){const t=Fn,n=e();for(;;)try{if(809604===parseInt(t(323))/1+parseInt(t(356))/2+-parseInt(t(320))/3+parseInt(t(382))/4+parseInt(t(362))/5*(parseInt(t(339))/6)+parseInt(t(372))/7*(parseInt(t(353))/8)+parseInt(t(355))/9*(-parseInt(t(318))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Kn);class zn extends t.ContextPlugin{static[Hn(358)]=(()=>St)();static[Hn(330)]=1e3;[Hn(316)];[Hn(314)];[Hn(371)];[Hn(337)];static get[Hn(332)](){return[Hn(369),r.Notification]}static get[Hn(361)](){return Hn(358)}static get[Hn(327)](){return!0}static get[Hn(359)](){return!0}constructor(e){const t=Hn;super(e),this[t(331)](t(370),It[t(312)]),this[t(331)](t(377),!1),this[t(314)]=new Set,this[t(371)]=!1,this[t(337)]=new((0,n.DomEmitterMixin)())}[Hn(374)](){const e=Hn,t=this[e(373)],s=t[e(376)][e(309)](e(369)),o=t[e(376)][e(309)](r.Notification);if(!s[e(380)])throw new n.CKEditorError(e(346),this);if(!s[e(333)])throw new n.CKEditorError(e(375),this);return this[e(337)][e(310)](window,e(341),()=>this[e(377)]=!0),this[e(337)][e(310)](window,e(322),()=>this[e(377)]=!1),this[e(373)][e(349)][e(338)](e(379),10),this[e(373)][e(349)][e(338)](e(351),20),zn[e(358)][e(343)](s[e(380)],s[e(333)],{timeout:1e3*this[e(373)][e(349)][e(309)](e(379)),requestTimeout:1e3*this[e(373)][e(349)][e(309)](e(351))})[e(360)](t=>{const r=e;if(this[r(316)]=t,this[r(381)](r(370)).to(t,r(370),this,r(377),(e,t)=>(r(365)!==e&&(this[r(371)]=!0),t||e!==It[r(312)]?It[r(319)]:this[r(370)]==It[r(319)]&&this[r(371)]?(this[r(371)]=!1,this[r(347)](),It[r(366)]):It[r(312)])),this[r(316)].on(r(348),(e,t)=>{const s=r;if(s(328)!==t[s(350)])throw console[s(348)](t),new n.CKEditorError(s(329),null,{originalError:t});o[s(364)](s(313),{title:s(317),namespace:s(344)})}),!t.me)return new Promise(e=>t.on(r(335),e))})[e(321)](t=>{const r=e;throw console[r(348)](t),new n.CKEditorError(r(329),null,{originalError:t})})}[Hn(334)](e){const t=Hn;if(t(357)!=typeof e[t(378)])throw new n.CKEditorError(t(340),this);if(this[t(311)](e))throw new n.CKEditorError(t(325),this,{name:e[t(367)][t(361)]});this[t(314)][t(352)](e)}[Hn(342)](e){const t=Hn;this[t(314)][t(336)](e)}[Hn(311)](e){const t=Hn;return this[t(314)][t(368)](e)}[Hn(347)](){const e=Hn;return this[e(316)][e(378)]()[e(360)](()=>Promise[e(315)](Array[e(363)](this[e(314)],t=>t[e(378)]())))[e(360)](()=>this[e(370)]=It[e(312)])[e(321)](t=>{const r=e;throw console[r(348)](t),new n.CKEditorError(r(354),this[r(373)])})}[Hn(324)](){const e=Hn;this[e(316)]&&this[e(316)][e(324)](),this[e(370)]=It[e(319)],this[e(337)][e(345)]()}[Hn(326)](){const e=Hn;this[e(324)](),super[e(326)]()}}function Fn(e,t){const n=Kn();return(Fn=function(e,t){return n[e-=309]})(e,t)}function Kn(){const e=["bind","4121528LLjhfS","get","listenTo","isInReconnectionStack","CONNECTED","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.","_reconnectionStack","all","connection","Connected users limit exceeded","28633920IsIQql","DISCONNECTED","451677bWTYqF","catch","online","390139qnKUfR","disconnect","websocketgateway-plugin-already-registered","destroy","isOfficialPlugin","limitExceeded","cloudservices-init","initialReconnectionInterval","set","requires","webSocketUrl","addToReconnectionStack","change:me","delete","_domEmitter","define","6YqCaLJ","websocketgateway-invalid-plugin-interface","offline","removeFromReconnectionStack","connect","real-time-collaboration","stopListening","websocketgateway-missing-token","_reconnect","error","config","code","cloudServices.requestTimeout","add","24HOtnnV","cloudservices-reconnection-error","9ZefnWD","1793362lvFHMf","function","WebSocketGateway","isPremiumPlugin","then","pluginName","5983210AxUhJS","from","showWarning","connected","CONNECTING","constructor","has","CloudServices","state","_shouldPluginsReconnect","722659HPCDUo","context","init","websocketgateway-missing-websocket-url","plugins","_isBrowserOffline","reconnect","cloudServices.connectionTimeout","token"];return(Kn=function(){return e})()}var Wn=__webpack_require__(211);const Qn=Zn;function Zn(e,t){const n=Xn();return(Zn=function(e,t){return n[e-=449]})(e,t)}!function(e){const t=Zn,n=e();for(;;)try{if(101336===-parseInt(t(505))/1*(parseInt(t(471))/2)+-parseInt(t(494))/3*(-parseInt(t(489))/4)+parseInt(t(503))/5+parseInt(t(510))/6+parseInt(t(484))/7+parseInt(t(492))/8*(parseInt(t(497))/9)+parseInt(t(511))/10*(-parseInt(t(480))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xn);class $n extends t.ContextPlugin{[Qn(485)];[Qn(461)];[Qn(483)];[Qn(507)];[Qn(479)];[Qn(456)];static get[Qn(477)](){return Qn(506)}static get[Qn(491)](){return!0}static get[Qn(501)](){return!0}static get[Qn(452)](){return[zn,Wn.Users]}constructor(e){const t=Qn;super(e),this[t(485)]=new Map,this[t(461)]=new Map,this[t(483)]=new n.Collection,this[t(507)]=new Map,this[t(479)]=0,this[t(456)]=this[t(509)][t(451)][t(481)](Wn.Users)}[Qn(498)](){const e=Qn,t=this[e(509)][e(451)][e(481)](zn);this[e(463)](t,e(488),(t,n,r)=>{const s=e;if(s(502)!==r)this[s(485)][s(472)](e=>e[s(459)]()),this[s(461)][s(472)](e=>e[s(459)]()),this[s(483)][s(459)]();else for(const[e,t]of this[s(507)])for(const n of t)this[s(449)](e,n)}),this[e(453)](t[e(474)].me,!0)}[Qn(462)](e,t){const r=Qn;if(this[r(507)][r(457)](e))throw new n.CKEditorError(r(476),null,{channelId:e});this[r(507)][r(470)](e,t),this[r(485)][r(470)](e,new n.Collection),this[r(461)][r(470)](e,new n.Collection),this[r(463)](t,r(504),(t,n)=>this[r(449)](e,n)),this[r(463)](t,r(499),(t,n)=>this[r(469)](e,n));for(const n of t)this[r(449)](e,n)}[Qn(460)](e){const t=Qn;if(!this[t(507)][t(457)](e))throw new n.CKEditorError(t(464),null,{channelId:e});const r=this[t(507)][t(481)](e);this[t(466)](r);for(const n of r)t(502)===this[t(509)][t(451)][t(481)](zn)[t(473)]&&this[t(469)](e,n);this[t(507)][t(465)](e),this[t(485)][t(465)](e),this[t(461)][t(465)](e)}get[Qn(478)](){const e=Qn;return this[e(509)][e(451)][e(481)](zn)[e(474)][e(450)]}[Qn(508)](e){const t=Qn;for(const n of this[t(485)][t(455)]())for(const r of n)if(r.id===e)return r[t(468)]}[Qn(475)](e,t){const n=Qn,r=t?[this[n(485)][n(481)](t)]:this[n(485)][n(455)](),s=new Set;for(const t of r)for(const r of t)r[n(468)].id===e.id&&s[n(504)](r.id);return s}[Qn(493)](e){const t=Qn;for(const n of this[t(485)][t(455)]())for(const r of n)if(r[t(468)]===e)return r[t(500)]}[Qn(449)](e,t){const n=Qn;if(n(502)!==this[n(509)][n(451)][n(481)](zn)[n(473)])return;const r=t[n(468)],s=this[n(456)][n(490)](r.id)||this[n(453)](r),o=Object[n(454)]({},t,{user:s});if(this[n(485)][n(481)](e)[n(504)](o),!r[n(458)]){const t=this[n(461)][n(481)](e);t[n(457)](s.id)||t[n(504)](s),this[n(483)][n(457)](s.id)||r[n(458)]||this[n(483)][n(504)](s,s[n(467)]?0:void 0)}this[n(495)](n(486)+e,{channelId:e,session:o})}[Qn(469)](e,t){const n=Qn;if(n(502)!==this[n(509)][n(451)][n(481)](zn)[n(473)])return;const r=this[n(461)][n(481)](e),s=t[n(468)];s.id&&(this[n(485)][n(481)](e)[n(499)](t.id),r[n(457)](s.id)&&!this[n(475)](s,e)[n(512)]&&r[n(499)](s.id),this[n(483)][n(481)](s.id)&&!this[n(475)](s)[n(512)]&&this[n(483)][n(499)](s.id))}[Qn(453)](e,t){const n=Qn,r=this[n(456)][n(482)](e);return t&&this[n(456)][n(487)](e.id),r[n(496)]=this[n(479)]++,r}}function Xn(){const e=["656859vqZhya","channelSessions","sessionAdd:","defineMe","change:state","224OFDSng","getUser","isOfficialPlugin","48424lgVQwG","getUserRole","10257ieyCXi","fire","orderNumber","18SxNlFC","init","remove","role","isPremiumPlugin","connected","153465HoCNHb","add","1lOpQYA","Sessions","_registeredSessions","getUserBySessionId","context","801234LOGQbu","2745590ZWvUib","size","_handleSessionAdd","sessionId","plugins","requires","_createUser","assign","values","_users","has","hiddenInPresenceList","clear","unregister","channelConnectedUsers","register","listenTo","sessions-unregister-not-exist","delete","stopListening","isMe","user","_handleSessionRemove","set","171488Qklmcz","forEach","state","connection","getUserSessions","sessions-register-already-registered","pluginName","mySessionId","_uniqueUsersCount","11lQxEiY","get","addUser","allConnectedUsers"];return(Xn=function(){return e})()}var er=__webpack_require__(789),tr=__webpack_require__.n(er),nr=__webpack_require__(437),rr=__webpack_require__.n(nr),sr=__webpack_require__(298),or=__webpack_require__.n(sr),ir=__webpack_require__(207),ar=__webpack_require__.n(ir),cr=__webpack_require__(825),dr=__webpack_require__.n(cr),ur=__webpack_require__(725),lr={attributes:{"data-cke":!0}};lr.setAttributes=ar(),lr.insert=or().bind(null,"head"),lr.domAPI=rr(),lr.insertStyleElement=dr();tr()(ur.A,lr);ur.A&&ur.A.locals&&ur.A.locals;const pr=hr;function hr(e,t){const n=fr();return(hr=function(e,t){return n[e-=109]})(e,t)}function fr(){const e=["3561615KyqoIy","startsWith","getPositions","getSelectionClass","plugins","orderNumber","setAttribute","getMarkerClass","getFirstRange","set","markerName","checkChild","markerToHighlight","addMarker","element","hasContent","isSimilar","delete","$text","innerHTML","userPositionMarker","clear","setCustomProperty","change","getUserBySessionId","Escape","stopListening","size","deletionPosition",'<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span>',"getAttribute","ck-user__marker-tooltip","isObject","hasDomSelection","createElement","reconvertMarker","afterInit","editing","detach","isLimit","updateMarker","for","isPremiumPlugin","textContent","span","getContainedElement","start","markerNameToElements","addEventListener","name","mapper","removeMarker","applyOperation","6168834qWyGzX","root","get","schema","370vIqqCo","_domEmitter","batch","getCustomProperty","3387erSnyG","requires","conversion","isDocumentOperation","type","isInline","mouseenter","model","classList","337238uQAVVo","500650vVmxfu","ck-user__selection","destroy","false","tableCell","keydown","getRange","ck-user__marker_hovered","spellcheck","nodeAfter","153lFCuvz","fromRange","newRange","oldRange","editingDowncast","toDomElement","user:","toRange","createUserMarkerOperations","removeClass","markers","mouseleave","init","getNearestSelectionRange","createUIElement","isCollapsed","386zGNzAL","render","has","parent","update:user:range","end","undo","highest","outerHTML","split","48KEtvXN","pluginName","_createdBatches","color","remove","markerRange","user:range:","$graveyard","document","enqueueChange","contenteditable","mySessionId","isOfficialPlugin","editor","add","getStart","7592010mhmnXx","change:range","commands","createRange","view","selection","data-session-id","ck-user__marker ","378184ZnqmYN","user:position","UserMarkers","user:range","listenTo","marker","user:position:","markerToElement","rootName"];return(fr=function(){return e})()}!function(e){const t=hr,n=e();for(;;)try{if(742228===parseInt(t(119))/1*(parseInt(t(155))/2)+-parseInt(t(198))/3+-parseInt(t(165))/4*(parseInt(t(129))/5)+parseInt(t(181))/6+parseInt(t(111))/7+parseInt(t(189))/8*(-parseInt(t(139))/9)+parseInt(t(115))/10*(parseInt(t(128))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fr);class mr extends t.Plugin{[pr(116)]=new((0,n.DomEmitterMixin)());static get[pr(120)](){return[$n]}static get[pr(166)](){return pr(191)}static get[pr(177)](){return!0}static get[pr(240)](){return!0}[pr(151)](){const e=pr,t=this[e(178)],r=t[e(202)][e(113)]($n);t[e(121)][e(239)](e(143))[e(196)]({model:e(190),view:(n,{writer:s})=>function(t,n,r,s){const o=e,i=t[o(208)][o(164)](":")[2],a=r[o(222)](i);if(!a||i===r[o(176)])return;if(!s[o(126)][o(114)][o(209)](t[o(170)][o(244)],o(216)))return;const c={class:o(188)+a[o(168)][o(205)](),"data-name":a[o(247)],"data-session-id":i},d=s[o(126)][o(149)][o(113)](t[o(208)])[o(180)](),u=d[o(138)],l=s[o(126)][o(114)];if(u&&l[o(230)](u)&&l[o(124)](u)&&!s[o(126)][o(149)][o(113)](o(171)+i)[o(135)]()[o(154)])return;const p=d[o(158)];return s[o(126)][o(114)][o(237)](p)&&!s[o(126)][o(213)](p)&&(c[o(175)]=!1),function(e,t,n){const r=o,s=e[r(153)](r(242),t);return e[r(220)](r(218),!0,s),s[r(156)]=function(e){const t=r,s=this[t(144)](e),o=document[t(232)](t(242));return o[t(127)][t(179)](t(229)),o[t(204)](t(175),t(132)),o[t(204)](t(137),t(132)),o[t(241)]=n[t(247)],s[t(217)]=t(227)+o[t(163)]+"",s[t(246)](t(125),()=>{const e=t;s[e(127)][e(179)](e(136))}),s[t(246)](t(150),()=>{const e=t;s[e(127)][e(169)](e(136))}),s},s[r(214)]=function(e){const t=r;return!(!this[t(118)](t(218))||!e[t(118)](t(218))||this[t(228)](t(187))!=e[t(228)](t(187)))},s}(n,c,a)}(n,s,r,t)}),t[e(121)][e(239)](e(143))[e(210)]({model:e(192),view:t=>function(t,n){const r=e,s=t[r(208)][r(164)](":")[2];if(s===n[r(176)])return null;const o=n[r(222)](s);return o?{id:s,classes:[r(130),o[r(168)][r(201)]()],attributes:{"data-session-id":s},priority:2e3+o[r(203)]}:{id:s,classes:[]}}(t,r)}),function(t){const n=e,r=t[n(126)],o=new Map,i=t[n(202)][n(113)]($n);r[n(149)].on(n(159),(e,a,c,d)=>{const u=n;if(!d&&o[u(113)](a[u(247)]))return o[u(113)](a[u(247)])[u(236)](),void o[u(215)](a[u(247)]);const l=a[u(247)][u(164)](":")[2];if(l===i[u(176)])return;const p=u(195)+l;r[u(149)][u(157)](p)&&t[u(235)][u(233)](p),a.on(u(182),(e,t,n)=>{const i=u;if(i(172)!=t[i(112)][i(197)]&&i(172)==a[i(135)]()[i(112)][i(197)]&&!o[i(157)](a[i(247)])){const e=r[i(114)][i(152)](n[i(226)]);if(e){const t=s.ModelLiveRange[i(140)](e);o[i(207)](a[i(247)],t),t.on(i(182),(e,n,s)=>{const c=i;if(c(172)==t[c(112)][c(197)]){const e=r[c(114)][c(152)](s[c(226)]);e?(t[c(244)]=e[c(244)],t[c(160)]=e[c(160)]):(o[c(215)](a[c(247)]),t[c(236)]())}})}}})}),r[n(173)].on(n(221),()=>{const e=n;o[e(225)]>0&&r[e(174)]({isUndoable:!1},t=>{const n=e;for(const[e,s]of o)n(172)==r[n(149)][n(113)](e)[n(135)]()[n(112)][n(197)]&&(yr(e[n(164)](":")[2],s[n(146)](),r,t),s[n(236)]());o[n(219)]()})})}(t),this[e(116)][e(193)](n.global[e(173)],e(134),(n,{key:r})=>{const s=e;s(223)===r&&function(e){const t=s;e[t(235)][t(185)][t(221)](n=>{const r=t;for(const t of e[r(126)][r(149)]){if(!t[r(247)][r(199)](r(190)))continue;const s=e[r(235)][r(248)][r(245)](t[r(247)]);if(s)for(const e of s)n[r(148)](r(136),e)}})}(t)},{useCapture:!0})}[pr(234)](){const e=pr,t=this[e(178)],n=t[e(183)][e(113)](e(161));n&&t[e(126)].on(e(110),(r,s)=>{const o=e,i=s[0];if(!i[o(122)])return;if(o(194)!=i[o(123)]||!i[o(247)][o(199)](o(145)))return;const a=i[o(117)];n[o(167)][o(157)](a)&&(i[o(141)]=i[o(142)]?t[o(126)][o(184)](i[o(142)][o(244)],i[o(142)][o(160)]):null)},{priority:e(162)})}[pr(131)](){const e=pr;return this[e(116)][e(224)](),super[e(131)]()}[pr(147)](){const e=pr,t=this[e(178)],n=t[e(126)][e(173)],r=t[e(202)][e(113)]($n);t[e(126)][e(174)]({isUndoable:!1},s=>{const o=e,i=o(171)+r[o(176)],a=o(195)+r[o(176)],c=t[o(126)][o(149)][o(157)](i);t[o(235)][o(185)][o(231)]?yr(r[o(176)],n[o(186)][o(206)](),t[o(126)],s):c&&(s[o(109)](i),s[o(109)](a))})}}function yr(e,t,n,r){const s=pr,o=s(171)+e,i=s(195)+e,a=t[s(243)]();let c=t[s(244)];if(a&&a.is(s(212),s(133))){const e=function(e,t){const n=s;for(const r of e[n(200)]())if(t[n(114)][n(209)](r,n(216)))return r}(t,n);e&&(c=e,t=r[s(184)](c))}const d=r[s(184)](c);n[s(149)][s(157)](o)?(r[s(238)](o,{range:t}),r[s(238)](i,{range:d})):(r[s(211)](o,{range:t,usingOperation:!0}),r[s(211)](i,{range:d,usingOperation:!0}))}function gr(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 br=(()=>{var e=d.Reader,t=d.Writer,n=d.util,r=d.roots.default||(d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},s}(),r})();class Or{_protobufRoot;constructor(){this._protobufRoot=br}getDescriptor(e){return new wr(this._protobufRoot[e])}}class wr{_protobuf;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})}}function Ir(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function vr(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Sr="[object RegExp]",kr="[object String]",Pr="[object Number]",Ar="[object Boolean]",Tr="[object Arguments]",_r="[object Symbol]",Cr="[object Date]",jr="[object Map]",Er="[object Set]",xr="[object Array]",Dr="[object ArrayBuffer]",Rr="[object Object]",Nr="[object DataView]",Vr="[object Uint8Array]",Mr="[object Uint8ClampedArray]",Br="[object Uint16Array]",Ur="[object Uint32Array]",Jr="[object Int8Array]",qr="[object Int16Array]",Gr="[object Int32Array]",Lr="[object Float32Array]",Yr="[object Float64Array]";function Hr(e,t,n,r=new Map,s=void 0){const o=s?.(e,t,n,r);if(null!=o)return o;if(function(e){return null==e||"object"!=typeof e&&"function"!=typeof e}(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const t=new Array(e.length);r.set(e,t);for(let o=0;o<e.length;o++)t[o]=Hr(e[o],o,n,r,s);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){const t=new Map;r.set(e,t);for(const[o,i]of e)t.set(o,Hr(i,o,n,r,s));return t}if(e instanceof Set){const t=new Set;r.set(e,t);for(const o of e)t.add(Hr(o,void 0,n,r,s));return t}if("undefined"!=typeof Buffer&&Buffer.isBuffer(e))return e.subarray();if(i=e,ArrayBuffer.isView(i)&&!(i instanceof DataView)){const t=new(Object.getPrototypeOf(e).constructor)(e.length);r.set(e,t);for(let o=0;o<e.length;o++)t[o]=Hr(e[o],o,n,r,s);return t}var i;if(e instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),zr(t,e,n,r,s),t}if("undefined"!=typeof File&&e instanceof File){const t=new File([e],e.name,{type:e.type});return r.set(e,t),zr(t,e,n,r,s),t}if(e instanceof Blob){const t=new Blob([e],{type:e.type});return r.set(e,t),zr(t,e,n,r,s),t}if(e instanceof Error){const t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,zr(t,e,n,r,s),t}if("object"==typeof e&&function(e){switch(vr(e)){case Tr:case xr:case Dr:case Nr:case Ar:case Cr:case Lr:case Yr:case Jr:case qr:case Gr:case jr:case Pr:case Rr:case Sr:case Er:case kr:case _r:case Vr:case Mr:case Br:case Ur:return!0;default:return!1}}(e)){const t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),zr(t,e,n,r,s),t}return e}function zr(e,t,n=e,r,s){const o=[...Object.keys(t),...Ir(t)];for(let i=0;i<o.length;i++){const a=o[i],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=Hr(t[a],a,n,r,s))}}function Fr(e,t){return function(e,t){return Hr(e,void 0,e,new Map,t)}(e,(n,r,s,o)=>{const i=t?.(n,r,s,o);if(null!=i)return i;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case Pr:case kr:case Ar:{const t=new e.constructor(e?.valueOf());return zr(t,e),t}case Tr:{const t={};return zr(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function Kr(e){return Fr(e)}function Wr(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function Qr(e,t,n,r,s,o,i){const a=i(e,t,n,r,s,o);if(void 0!==a)return a;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return e===t;case"number":return e===t||Object.is(e,t);case"object":return Zr(e,t,o,i)}return Zr(e,t,o,i)}function Zr(e,t,n,r){if(Object.is(e,t))return!0;let s=vr(e),o=vr(t);if(s===Tr&&(s=Rr),o===Tr&&(o=Rr),s!==o)return!1;switch(s){case kr:return e.toString()===t.toString();case Pr:return function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}(e.valueOf(),t.valueOf());case Ar:case Cr:case _r:return Object.is(e.valueOf(),t.valueOf());case Sr:return e.source===t.source&&e.flags===t.flags;case"[object Function]":return e===t}const i=(n=n??new Map).get(e),a=n.get(t);if(null!=i&&null!=a)return i===t;n.set(e,t),n.set(t,e);try{switch(s){case jr:if(e.size!==t.size)return!1;for(const[s,o]of e.entries())if(!t.has(s)||!Qr(o,t.get(s),s,e,t,n,r))return!1;return!0;case Er:{if(e.size!==t.size)return!1;const s=Array.from(e.values()),o=Array.from(t.values());for(let i=0;i<s.length;i++){const a=s[i],c=o.findIndex(s=>Qr(a,s,void 0,e,t,n,r));if(-1===c)return!1;o.splice(c,1)}return!0}case xr:case Vr:case Mr:case Br:case Ur:case"[object BigUint64Array]":case Jr:case qr:case Gr:case"[object BigInt64Array]":case Lr:case Yr:if("undefined"!=typeof Buffer&&Buffer.isBuffer(e)!==Buffer.isBuffer(t))return!1;if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!Qr(e[s],t[s],s,e,t,n,r))return!1;return!0;case Dr:return e.byteLength===t.byteLength&&Zr(new Uint8Array(e),new Uint8Array(t),n,r);case Nr:return e.byteLength===t.byteLength&&e.byteOffset===t.byteOffset&&Zr(new Uint8Array(e),new Uint8Array(t),n,r);case"[object Error]":return e.name===t.name&&e.message===t.message;case Rr:{if(!(Zr(e.constructor,t.constructor,n,r)||Wr(e)&&Wr(t)))return!1;const s=[...Object.keys(e),...Ir(e)],o=[...Object.keys(t),...Ir(t)];if(s.length!==o.length)return!1;for(let o=0;o<s.length;o++){const i=s[o],a=e[i];if(!Object.hasOwn(t,i))return!1;if(!Qr(a,t[i],i,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function $r(){}function Xr(e,t){return function(e,t,n){return Qr(e,t,void 0,void 0,void 0,void 0,n)}(e,t,$r)}function es(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function ts(e,t){const n=Kr(e);return n.path[n.path.length-1]+=t,n}function ns(e,t){return e.root===t.root&&Xr(e.path,t.path)}function rs(e){os(e,e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e))}function ss(e){os(e,e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e))}function os(e,t){for(const n in e){const r=e[n];"nodes"!==n&&es(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):os(r,t))}return e}class is{_id;_operationName;_protobufDescriptor;constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.operations[t.index++];return rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);ss(r),r.__className=this._operationName,e.push(r)}}class as extends is{compress(e,t){const n=t.operations[t.index++];return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);this._deserializeOneOf("oldValue",r),this._deserializeOneOf("newValue",r),ss(r),r.__className=this._operationName,e.push(r)}_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 cs extends is{compress(e,t){const n=t.operations[t.index++];return this._serializeNodesAttributes(n.nodes),rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);r.nodes||(r.nodes=[]),this._deserializeNodesAttributes(r.nodes),ss(r),r.__className=this._operationName,e.push(r)}_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 ds extends is{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class us extends is{compress(e,t){return t.index++,e.types.push(this._id),!0}decompress(e,t){t.typeIndex++,e.push({__className:this._operationName})}}class ls extends ds{_omittedNamespace;constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){const n=t.operations[t.index];return!("MarkerOperation"!=n.__className||!n.name.startsWith(this._omittedNamespace))&&(n.name=n.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 ps{_id;_context;constructor(e,t){this._id=e,this._context=t}compress(e,t){let n,r=t.operations[t.index],s=t.operations[t.index+1];for(;s&&this._compareOperations(r,s);)n?(n=this._combineNext(r,n),e.types.push(0)):(n=Kr(r),e.types.push(this._id)),t.index++,r=t.operations[t.index],s=t.operations[t.index+1];return!!n&&(n=this._combineNext(t.operations[t.index++],n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[t.typeIndex];)t.typeIndex++,e.push(this._splitCurrent(n));e.push(n)}}class hs extends ps{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=Kr(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=ts(e.position,o),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=ns(ts(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,{operations:[e],index:0}),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 fs extends ps{_combineNext(e,t){return t.howMany++,t.sourcePosition=Kr(e.sourcePosition),t}_splitCurrent(e){const t=Kr(e);return e.howMany--,t.howMany=1,t.sourcePosition=ts(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(ns(ts(e.sourcePosition,-1),t.sourcePosition)&&ns(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,{operations:[e],index:0}),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 ms extends ps{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=Kr(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(ns(e.sourcePosition,t.sourcePosition)&&ns(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,{operations:[e],index:0}),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 ys extends ps{compress(e,t){if(!this._compareOperations(t.operations[t.index],t.operations[t.index+1]))return!1;const n=t.operations[t.index++];return n.oldRange=null,n.newRange&&ns(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.index++,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=Kr(n.newRange.start));const r=Kr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Kr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.typeIndex++,e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,{operations:[e],index:0}),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 gs{_compressorById;_compressorByName;_protobufFactory;constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new Or;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new us(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",as),this._registerOperationCompressor(11,"InsertOperation",cs),this._registerOperationCompressor(12,"MarkerOperation",ds),this._registerOperationCompressor(13,"MergeOperation",is),this._registerOperationCompressor(14,"MoveOperation",is),this._registerOperationCompressor(15,"RenameOperation",is),this._registerOperationCompressor(16,"RootAttributeOperation",as),this._registerOperationCompressor(17,"SplitOperation",is),this._registerCompressor(18,"CommentMarkerOperation",new ls(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new ls(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",is),this._registerActionCompressor(100,"TypingAction",hs),this._registerActionCompressor(101,"DeletingAction",fs),this._registerActionCompressor(102,"ForwardDeletingAction",ms),this._registerActionCompressor(103,"UserSelectionAction",ys)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={operations:e,index:0},r={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;t.index<t.operations.length;){if(this._getCompressorByName("UserSelectionAction").compress(r,t))continue;if(this._getCompressorByName("TypingAction").compress(r,t))continue;if(this._getCompressorByName("DeletingAction").compress(r,t))continue;if(this._getCompressorByName("ForwardDeletingAction").compress(r,t))continue;if(this._getCompressorByName("CommentMarkerOperation").compress(r,t))continue;if(this._getCompressorByName("SuggestionMarkerOperation").compress(r,t))continue;const e=t.operations[t.index].__className;this._getCompressorByName(e).compress(r,t)}return r}decompress(e){const t=[],r={types:e.types,buffers:e.buffers,baseVersion:e.baseVersion,typeIndex:0,bufferIndex:0};for(;r.typeIndex<r.types.length;){const e=r.types[r.typeIndex],s=this._compressorById.get(e);if(!s)throw new n.CKEditorError("decompress-compressor-not-found",this,{type:e});s.decompress(t,r)}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 bs=Os;function Os(e,t){const n=Ss();return(Os=function(e,t){return n[e-=121]})(e,t)}!function(e){const t=Os,n=e();for(;;)try{if(422762===-parseInt(t(343))/1*(parseInt(t(123))/2)+-parseInt(t(366))/3+-parseInt(t(159))/4+-parseInt(t(273))/5*(parseInt(t(295))/6)+parseInt(t(357))/7*(parseInt(t(381))/8)+parseInt(t(222))/9+parseInt(t(257))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ss);let ws=1;class Is extends t.Plugin{static[bs(166)]=(()=>vn)();[bs(363)];[bs(284)];[bs(157)];[bs(261)];[bs(168)];[bs(364)];[bs(304)];[bs(127)];[bs(152)];[bs(311)];[bs(249)];[bs(361)];[bs(376)];[bs(237)];[bs(272)];[bs(302)];[bs(240)];[bs(144)];static get[bs(244)](){return[zn,$n,mr,t.PendingActions,Wn.Users,r.Notification]}static get[bs(234)](){return bs(342)}static get[bs(135)](){return!0}static get[bs(151)](){return!0}get[bs(253)](){const e=bs;return this[e(331)]+this[e(363)]}get[bs(331)](){const e=bs;return this[e(157)][e(129)]-this[e(363)]}get[bs(290)](){const e=bs,t=this[e(157)][e(358)]();for(let n=t[e(325)]-1;n>=0;n--){const r=t[n];if(!this[e(240)][e(332)](r))return r[e(208)]+1-this[e(363)]}return 0}constructor(e){const t=bs;if(super(e),this[t(363)]=0,this[t(284)]=null,this[t(157)]=new s.History,this[t(210)][t(294)][t(171)](t(336),{}),this[t(261)]=this[t(210)][t(294)][t(227)](t(125)),!this[t(261)])throw new n.CKEditorError(t(270),this);const r=e[t(294)][t(227)](t(377))||n.version;this[t(168)]=new(Is[t(166)])(r,this[t(261)]),this[t(364)]=this[t(210)][t(204)][t(182)],this[t(304)]=new gs,this[t(127)]=[],this[t(152)]=new WeakSet,this[t(311)]=new Set,this[t(146)](t(140),!1),this[t(146)](t(189),!1),this[t(249)]=null,this[t(361)]=!1,this[t(376)]=null,this[t(237)]=300,this[t(272)]=this[t(237)],this[t(302)]=null,this[t(240)]=new WeakSet,this[t(144)]=new Ps(this[t(240)])}[bs(271)](){const e=bs,t=this[e(210)],n=t[e(282)][e(227)](Wn.Users),r=t[e(282)][e(227)](zn);this[e(327)](n,e(306),(t,r)=>{const s=e,o=r[0];o[s(286)]&&(t[s(251)]=n[s(319)](o[s(286)]),t[s(150)]()),null===o[s(286)]&&(t[s(251)]=null,t[s(150)]())},{priority:e(173)}),this[e(327)](t[e(204)][e(182)][e(139)],e(275),(t,n)=>{const r=e;n[r(179)]&&this[r(289)]()}),this[e(327)](t[e(216)][e(324)],e(214),()=>{this[e(289)]()}),this[e(354)](),t[e(204)].on(e(169),(t,n)=>{const r=e,s=n[0];s[r(353)]&&(this[r(349)](s),this[r(371)]()&&this[r(338)]())}),this[e(335)](),this[e(215)](e(281)).to(r,e(196),this,e(189),(t,n)=>e(143)===t&&!n),this.on(e(315),()=>{const n=e;this[n(281)]?t[n(131)](n(340)):t[n(158)](n(340))}),this[e(281)]?t[e(131)](e(340)):t[e(158)](e(340)),this[e(146)](e(200),!1)}async[bs(132)](){const e=bs,t=this[e(210)][e(282)][e(227)]($n),n=this[e(210)][e(282)][e(227)](zn);try{this[e(140)]=!0,t[e(322)](this[e(261)]);const r=await this[e(168)][e(132)](n[e(187)],this[e(290)]);await this[e(154)](r)&&(this[e(140)]=!1,this[e(245)]());const s=await this[e(168)][e(317)]();t[e(242)](this[e(261)],s),this[e(156)](),this[e(200)]=!0}catch(t){if(function(t){const n=e;return n(312)===t[n(309)]}(t)&&this[e(284)])await this[e(265)]();else if(function(t){const n=e;return n(191)===t[n(309)]}(t)){const t=gr(this[e(210)][e(201)],e(323));this[e(258)](t)}else{if(!(t instanceof vs))throw t;this[e(258)]()}}}[bs(217)](){const e=bs,t=this[e(210)][e(282)][e(227)](zn),n=this[e(210)][e(282)][e(227)]($n);this[e(210)][e(158)](e(180)),n[e(321)][e(332)](this[e(261)])&&n[e(322)](this[e(261)]),t[e(164)](this),this[e(348)](),super[e(217)]()}async[bs(154)](e){const t=bs;if(this[t(284)]!==e[t(284)]&&this[t(302)]!==e[t(368)])throw new vs;return this[t(284)]=e[t(284)],this[t(352)]([],{...e,wereChangesApplied:!1,data:e[t(250)]},t(132))}async[bs(330)](e,t=!1){const n=bs,{connection:r}=this[n(210)][n(282)][n(227)](zn);Is[n(166)][n(317)](r,this[n(261)])[n(160)](e=>this[n(206)](e))[n(133)](e=>{const t=n;this[t(130)](t(362),e)}),this[n(327)](this[n(168)],n(174),this[n(218)][n(215)](this)),this[n(327)](this[n(168)],n(230),(e,t)=>{const r=n;this[r(130)](r(161),t)}),this[n(327)](this[n(168)],n(247),()=>{this[n(200)]=!1});const s=this[n(144)][n(308)](e);this[n(140)]=!0;const o=await this[n(168)][n(226)](r,this[n(147)](e),s);if(this[n(284)]=o[n(284)],t){if(!o[n(313)])return void this[n(258)]();this[n(140)]=!1,this[n(245)](),this[n(157)][n(259)](),this[n(363)]=o[n(228)],this[n(157)][n(129)]=this[n(363)],await this[n(352)](e,o,n(359))}else await this[n(372)](o,e);this[n(156)](),this[n(200)]=!0}[bs(156)](){const e=bs,t=this[e(210)][e(282)][e(227)]($n),n=this[e(210)][e(282)][e(227)](mr),r=t[e(321)][e(227)](this[e(261)]);r&&r[e(325)]>1?n[e(252)]():this[e(327)](t,e(235)+this[e(261)],()=>{const r=e;2===t[r(321)][r(227)](this[r(261)])[r(325)]&&n[r(252)]()})}async[bs(218)](e,t,n,r){const s=bs;if(!this[s(140)]&&this[s(364)][s(129)]==t){const e=this[s(373)](n,r);await this[s(318)](e),this[s(124)](e,t,n[s(368)])||this[s(130)](s(367))}}async[bs(265)](){const e=bs;this[e(348)]();const{locale:t}=this[e(210)];let n;try{n=await this[e(168)][e(137)]()}catch{const n=gr(t,e(341));return void this[e(258)](n)}const r=n[e(379)]||n[e(269)];if(this[e(302)]!==r[e(368)]){const n=gr(t,e(220));return void this[e(258)](n)}await this[e(330)](this[e(210)][e(204)][e(182)][e(121)][e(358)](),!0)}[bs(348)](){const e=bs;this[e(168)][e(219)](),this[e(127)]=[],clearTimeout(this[e(376)]),this[e(185)](this[e(168)])}[bs(206)](e){const t=bs,n=this[t(210)][t(282)][t(227)]($n);this[t(327)](n,t(235)+this[t(261)],(e,{session:r})=>{const s=t;if(r.id===n[s(267)]){e[s(236)]();const t=this[s(210)][s(282)][s(332)](s(274))&&this[s(210)][s(282)][s(227)](s(274));let n=r[s(181)];t&&t[s(231)]&&(n=n[s(296)](e=>s(186)!==e)),this[s(210)][s(282)][s(227)](s(298))[s(138)](n,this[s(261)])}}),n[t(242)](this[t(261)],e)}[bs(354)](){const e=bs,t=this[e(210)][e(250)][e(146)];this[e(210)][e(250)][e(146)]=(...r)=>{const s=e;if(!r[r[s(325)]-1][s(287)])throw new n.CKEditorError(s(176),this);t[s(207)](this[s(210)][s(250)],r)}}[bs(335)](){const e=bs;this[e(210)][e(250)].on(e(271),(t,[r])=>{const o=e;if(this[o(364)][o(129)])throw new n.CKEditorError(o(163),this);t[o(150)](),this[o(203)]();const i=this[o(210)][o(294)][o(227)](o(199)),a=this[o(380)](r,i);0==a[o(325)]&&a[o(177)](new s.NoOperation(0)),t[o(251)]=this[o(330)](a)[o(160)](()=>{const e=o;this[e(210)][e(282)][e(227)](zn)[e(263)](this),this[e(210)][e(250)][e(141)](e(360))})[o(133)](e=>this[o(130)](o(155),e))[o(291)](()=>this[o(245)]())},{priority:e(173)}),this[e(210)].on(e(288),async(t,[n,r])=>{const s=e;t[s(150)]();const o=this[s(210)][s(204)][s(182)][s(213)](n);if(!this[s(311)][s(332)](n)){const e=r&&r[s(250)]?r[s(250)]:"",t=r&&r[s(197)]?r[s(197)]:{};await this[s(162)](n,e,t)}this[s(210)][s(204)][s(266)]({isUndoable:!1},()=>{const e=s;o[e(337)]=!0,this[e(210)][e(204)][e(182)][e(278)][e(238)](o)})},{priority:e(173)})}async[bs(318)](e){const t=bs,n=this[t(210)][t(282)][t(227)](Wn.Users),{connection:r}=this[t(210)][t(282)][t(227)](zn),s=new Set;for(const r of e){const e=r[t(286)];e&&!n[t(319)](e)&&s[t(243)](e)}if(0===s[t(126)])return;const o=await b[t(369)](r,Array[t(346)](s));for(const e of o)n[t(319)](e.id)||n[t(300)](e)}[bs(380)](e,t={}){const r=bs,o=this[r(210)][r(204)],i=[];let a=0;const c=r(209)==typeof e?{main:e}:e;for(const e of Object[r(229)](c)){if(!this[r(364)][r(239)][r(332)](e))throw new n.CKEditorError(r(165),this);const t=this[r(210)][r(250)][r(310)](c[e]),d=this[r(364)][r(213)](e),u=new s.InsertOperation(o[r(198)](d,0),t,a++);i[r(177)](u);for(const[e,n]of t[r(188)]){const t=o[r(232)](o[r(262)](d,n[r(382)][r(170)][r(192)]()),o[r(262)](d,n[r(255)][r(170)][r(192)]())),c=new s.MarkerOperation(e,null,t,o[r(188)],!0,a++);i[r(177)](c)}}if(t)for(const[e,c]of Object[r(350)](t)){const t=o[r(182)][r(213)](e);if(!t)throw new n.CKEditorError(r(202),null);for(const[e,n]of Object[r(350)](c))if(null!==n){const o=new s.RootAttributeOperation(t,e,null,n,a++);i[r(177)](o)}}return i}async[bs(162)](e,t,n){const r=bs;this[r(380)]({[e]:t},{[e]:n})[r(178)]((e,t)=>{const n=r;e[n(208)]=this[n(364)][n(129)]+t,e[n(225)]=!0,this[n(349)](e)}),this[r(338)](),await this[r(344)]()}async[bs(372)](e,t){const n=bs;let r;this[n(363)]=e[n(228)];const s=e[n(313)]&&!e[n(279)],o=s?0:e[n(250)][n(208)];if(t[n(178)](t=>{const r=n;t[r(225)]=!0,t[r(339)]=e[r(145)],t[r(286)]=null}),s)r=t,this[n(365)](r,s);else{if(e[n(279)]){const t=this[n(380)](e[n(279)]);this[n(364)][n(121)][n(129)]=-t[n(325)],t[n(178)](r=>{const s=n;r[s(208)]-=t[s(325)],r[s(339)]=e[s(145)],r[s(225)]=!0,r[s(286)]=null}),this[n(365)](t,!0),this[n(157)][n(129)]=-t[n(325)]+this[n(363)],this[n(276)](t)}this[n(364)][n(121)][n(129)]=o,r=this[n(373)](e[n(250)],e[n(316)]),await this[n(318)](r),this[n(365)](r,s)}e[n(368)]&&(this[n(144)][n(194)](r,e[n(368)]),this[n(302)]=e[n(368)]),this[n(157)][n(129)]=o+this[n(363)],this[n(276)](r),t[n(296)](e=>{const t=n,r=this[t(378)](e);return r&&!this[t(311)][t(332)](r)})[n(178)]((e,t)=>{const r=n;e[r(208)]=this[r(364)][r(129)]+t,this[r(349)](e)}),this[n(371)]()?(this[n(272)]=0,this[n(338)](!0),await this[n(344)]()):(this[n(140)]=!1,this[n(245)]())}[bs(130)](e,t){const r=bs,s=t&&t[r(212)];if(s&&s[r(148)](r(134)))throw t;const o=this[r(210)][r(282)][r(227)](zn);throw this[r(140)]=!0,o[r(219)](),this[r(210)][r(158)](r(122)),new n.CKEditorError(e,this[r(210)],s?{originalError:s}:void 0)}[bs(349)](e){const t=bs;this[t(152)][t(332)](e)||(this[t(152)][t(243)](e),this[t(127)][t(177)](e),this[t(249)]||t(280)==e[t(128)]&&!e[t(260)]||this[t(203)]())}[bs(338)](e=!1){const t=bs;!e&&this[t(140)]||(this[t(140)]=!0,clearTimeout(this[t(376)]),this[t(376)]=setTimeout(()=>{const e=t;this[e(195)]()[e(160)](t=>{const n=e;t&&(this[n(245)](),this[n(140)]=!1)})[e(133)](t=>{const n=e;this[n(245)](),this[n(140)]=!1,function(e){const t=n;return e[t(212)][t(148)](t(347))||e[t(212)][t(148)](t(345))||e[t(212)][t(148)](t(314))}(t)||this[n(130)](t[n(212)],t)})},this[t(272)]))}[bs(344)](){return new Promise(e=>{const t=Os;this.on(t(248),()=>{e()})})}async[bs(195)](){const e=bs,t=this[e(210)][e(282)][e(227)](mr);if(this[e(241)]()&&(t[e(252)](),this[e(361)]=!1),!this[e(371)]())return!0;const n=[...this[e(127)]];for(const t of n)t[e(184)]=this[e(364)][e(121)][e(233)](t);const r=this[e(144)][e(308)](n),s=ws++,o=this[e(147)](n),i=await this[e(168)][e(326)](o,o[e(208)],r);try{return await this[e(352)](n,i,s)}catch(t){return this[e(130)](e(355),t)}}async[bs(352)](e,t,n){const r=bs;if(r(230)in t)throw t[r(230)];let s=!1;if(t[r(313)]){t[r(368)]&&(this[r(302)]=t[r(368)]),this[r(127)]=this[r(127)][r(296)](t=>!e[r(292)](t));for(const n of e)n[r(339)]=r(254)in t&&t[r(254)]||void 0;ks(e,t[r(129)]-e[r(325)]),this[r(276)](e);const n=e[r(296)](e=>{const t=r;if(!e[t(225)])return!1;const n=this[t(378)](e);return n&&!this[t(311)][t(332)](n)});ks(n,this[r(364)][r(129)]),this[r(365)](n),s=!0,this[r(272)]=this[r(237)]}else{const e=this[r(373)](t[r(250)],t[r(316)])[r(296)](e=>e[r(208)]>=this[r(331)]);e[r(178)](e=>this[r(285)](e)),this[r(127)]=this[r(127)][r(296)](e=>!e[r(225)]||!this[r(311)][r(332)](this[r(378)](e))),this[r(127)][r(325)]&&ks(this[r(127)],this[r(127)][0][r(208)]),await this[r(318)](e),s=this[r(124)](e,t[r(129)],t[r(368)]),this[r(272)]=Math[r(370)](this[r(272)]/2)}return s?!this[r(371)]()||(this[r(338)](!0),!1):this[r(130)](r(136))}[bs(124)](e,t,n){const r=bs;try{const o={document:this[r(364)],useRelations:!1,padWithNoOps:!0},{operationsA:i,operationsB:a,originalOperations:c}=(0,s.transformOperationSets)(e,this[r(127)],o);ks(i,this[r(364)][r(129)]),ks(a,t);for(const e of i){const t=c[r(227)](e);e[r(286)]=t?t[r(286)]:null}n&&(this[r(144)][r(194)](e,n),this[r(302)]=n),this[r(127)]=[...a],this[r(365)](i),this[r(276)](e)}catch(e){return console[r(230)](e),!1}return!0}[bs(365)](e,t=!1){const n=bs;this[n(210)][n(204)][n(266)]({isUndoable:!1,isLocal:!1},t=>{const r=n;for(const n of e)this[r(152)][r(243)](n),this[r(285)](n),t[r(328)][r(211)](n),this[r(210)][r(204)][r(169)](n)})}[bs(285)](e){const t=bs,n=this[t(378)](e);n&&this[t(311)][t(243)](n)}[bs(378)](e){const t=bs;let n,r;switch(e[t(128)]){case t(374):n=e[t(351)][t(307)];break;case t(280):if(r=e[t(283)],!r)return null;n=r[t(307)];break;case t(375):n=e[t(307)];break;case t(142):n=e[t(297)];break;case t(293):n=e[t(356)][t(307)];break;default:return null}return n[t(268)]}[bs(276)](e){const t=bs;e[t(178)](e=>{const n=t,r=e[n(183)]();r[n(286)]=e[n(286)],r[n(225)]=!!e[n(225)],r[n(339)]=e[n(339)],r[n(208)]+=this[n(363)],e[n(329)]&&this[n(240)][n(243)](r),this[n(157)][n(211)](r)})}[bs(258)](e){const t=bs,n=this[t(210)][t(282)][t(227)](t(221)),r=this[t(210)][t(201)];e||(e=gr(r,t(299))),n[t(264)](e,{title:gr(r,t(175)),namespace:t(190)}),this[t(189)]=!0,clearTimeout(this[t(376)]),this[t(127)]=[],this[t(210)][t(282)][t(227)](zn)[t(219)]()}[bs(203)](){const e=bs;this[e(249)]||(this[e(249)]=this[e(210)][e(282)][e(227)](t.PendingActions)[e(243)](gr(this[e(210)][e(201)],e(205))))}[bs(245)](){const e=bs;this[e(249)]&&(this[e(210)][e(282)][e(227)](t.PendingActions)[e(246)](this[e(249)]),this[e(249)]=null)}[bs(147)](e){const t=bs,n=e[t(303)](e=>e[t(193)]());return this[t(304)][t(334)](n)}[bs(373)](e,t){const n=bs;return this[n(304)][n(172)](e)[n(303)]((e,r)=>{const o=n,i=o(271)==t[r][o(128)];if(o(153)==e[o(167)]){const t=e[o(351)][o(307)];!this[o(364)][o(213)](t)&&(this[o(364)][o(149)](o(320),t)[o(223)]=!1)}const a=s.OperationFactory[o(277)](e,this[o(364)]);return a[o(184)]=e[o(184)],a[o(225)]=i,a[o(286)]=i?null:t[r][o(333)],a[o(329)]=o(256)===t[r][o(128)],a[o(339)]=t[r][o(339)],a})}[bs(289)](){const e=bs;this[e(361)]=!0,this[e(241)]()?this[e(338)]():this[e(361)]=!1}[bs(241)](){const e=bs,t=this[e(210)][e(282)][e(227)]($n)[e(321)][e(227)](this[e(261)]);return!this[e(210)][e(305)]&&!!t&&t[e(325)]>1&&this[e(361)]}[bs(371)](){const e=bs;return this[e(127)][e(325)]>0||this[e(241)]()}}class vs extends Error{}function Ss(){const e=["1342164LoPOuu","then","realtimecollaborationclient-init-service-internal-error","_loadRoot","realtimecollaborationclient-init-document-already-initialized","removeFromReconnectionStack","realtimecollaborationclient-init-non-existent-root","CollaborativeEditingService","__className","_service","applyOperation","path","define","decompress","high","operationsReceived","Synchronization issue","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","push","forEach","directChange","rtc-destroyed","permissions","document","clone","wasUndone","stopListening","document:write","connection","markers","_hasSynchronizationProblem","real-time-collaboration","409","slice","toJSON","setIdForTheLastOperation","_sendBufferedOperations","state","attributes","createPositionAt","rootsAttributes","_isConnected","locale","multi-root-editor-root-attributes-no-root","_setPendingAction","model","PENDING_ACTION_SENDING_DATA","_initSessionsHandling","apply","baseVersion","string","editor","addOperation","message","getRoot","change:hasDomSelection","bind","editing","destroy","_handleReceivedOperations","disconnect","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.","Notification","2752254QzlNAY","_isAttached","_ignoredOperations","_isInit","connect","get","offset","keys","error","isEnabled","createRange","isUndoneOperation","pluginName","sessionAdd:","off","_baseBufferDelay","_bufferRootLoad","roots","_disconnectionOperations","_shouldSendSelectionUpdate","register","add","requires","_clearPendingAction","remove","disconnected","change:_isPendingUpdate","_pendingAction","data","return","createUserMarkerOperations","cloudDocumentVersion","lastOperationAcceptedAt","end","cs:removeUser","17333770WGOZam","_handleReconnectionError","reset","affectsData","_channelId","createPositionFromPath","addToReconnectionStack","showWarning","_connectAfterSessionHasBeenFlushed","enqueueChange","mySessionId","rootName","lastDocumentSession","collaboration-missing-channelid","init","_currentBufferDelay","452415HzyVlL","CommentsOnly","change:range","_updateServerHistory","fromJSON","differ","initData","marker","_isEditingAllowed","plugins","newRange","sessionId","_addKnownRoot","_authorId","suppressErrorInCollaboration","loadRoot","_refreshUserSelectionMarkers","lastSyncVersion","finally","includes","move","config","12VeTEeY","filter","affectedSelectable","Permissions","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.","addUser","_operationToId","_lastSyncedOperationId","map","_compressor","isReadOnly","getOperationAuthor","root","getIdOfTheLastOperation","code","parse","_knownRootNames","404","wereChangesApplied","cloud-services-internal-error: Request timeout.","change:_isEditingAllowed","metadata","getConnectedSessions","_fetchMissingUsers","getUser","$root","channelSessions","unregister","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","view","length","sendOperations","listenTo","batch","_isDisconnection","_connectService","_lastServerVersion","has","userId","compress","_setUpDataInit","collaboration","_isLoaded","_sendBufferedOperationsDelayed","createdAt","rtc-offline","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","RealTimeCollaborationClient","183UfCWId","_waitUntilSynced","cloud-services-internal-error: Collaborative Editing Service is not connected.","from","cloud-services-internal-error: Not connected.","_disconnectService","_saveOperationInBuffer","entries","position","_handleServerResponse","isDocumentOperation","_initThrowingOnDataSet","realtimecollaborationclient-sendbufferedoperations","targetPosition","29533fcmThg","getOperations","reconnection: flushed session","ready","_hasSelectionChanged","realtimecollaborationclient-init-session-connection-error","_offset","_document","_applyOperationsSet","1485567tdVRED","realtimecollaborationclient-init-service-incorrect-server-operation","lastOperationId","getMany","round","_shouldSendUpdate","_handleInitialConnectionData","_decompressOperations","insert","addRootAttribute","_sendBufferedOperationsDelayId","cloudServices.bundleVersion","_getAffectedRoot","currentDocumentSession","_getOperationsFromInitData","72AyokKU","start","history","realtimecollaborationclient-error","7024poxrBV","_handleExternalOperations","collaboration.channelId","size","_bufferedOperations","type","version","_crash","disableReadOnlyMode","reconnect","catch","realtimecollaborationclient","isOfficialPlugin","realtimecollaborationclient-handleserverresponse","getDocumentDetails","setPermissions","selection","_isPendingUpdate","fire","addRoot","connected","_operationIdentifier","sessionCreatedAt","set","_compressOperations","startsWith","createRoot","stop","isPremiumPlugin","_knownOperations","InsertOperation","_handleReconnectionResponse","realtimecollaborationclient-init-connection-failed","_handleSendingSelectionMarkers","serverHistory","enableReadOnlyMode"];return(Ss=function(){return e})()}function ks(e,t){const n=bs;for(const r of e)r[n(208)]=t++}class Ps{[bs(224)];[bs(301)];constructor(e){const t=bs;this[t(224)]=e,this[t(301)]=new WeakMap}[bs(308)](e){const t=bs;let r=e[t(325)];for(;r--;){const s=e[r];if(!this[t(224)][t(332)](s)){if(!this[t(301)][t(332)](s)){const e=(0,n.uid)()[t(192)](1,18);this[t(301)][t(146)](s,e)}return this[t(301)][t(227)](s)}}}[bs(194)](e,t){const n=bs;if(!t)return;let r=e[n(325)];for(;r--;){const s=e[r];this[n(224)][n(332)](s)||this[n(301)][n(146)](s,t)}}}var As=_s;function Ts(){var e=["876266riiZBb","RealTimeCollaborativeEditing","745hvCSOy","11284sBedji","isPremiumPlugin","1rzlftU","1504576Mdcwkv","797751oWrsHl","8329120tyEBwg","requires","pluginName","7ouizFN","isOfficialPlugin","899472rJPGAa","1512678uQlmrO"];return(Ts=function(){return e})()}function _s(e,t){var n=Ts();return(_s=function(e,t){return n[e-=335]})(e,t)}!function(e){for(var t=_s,n=e();;)try{if(260403===-parseInt(t(344))/1*(parseInt(t(339))/2)+-parseInt(t(338))/3+-parseInt(t(342))/4*(-parseInt(t(341))/5)+-parseInt(t(337))/6+-parseInt(t(335))/7*(-parseInt(t(345))/8)+-parseInt(t(346))/9+parseInt(t(347))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ts);class Cs extends t.Plugin{static get[As(348)](){return[Is]}static get[As(349)](){return As(340)}static get[As(336)](){return!0}static get[As(343)](){return!0}}const js=Rs;function Es(){const e=["startsWith","config","reconnect","context","404","register","from","get","listenTo","commentThreadResolved","_setUpService","removeComment","Permissions","commentUpdated","update","destroy","commentThreadAdded","CommentsRepository","addToReconnectionStack","requires","149470KPYIaR","commentThreadUpdated","commentThreadRemoved","_services","isOfficialPlugin","getCommentThread","resolve","collaboration.channelId","_fetchMissingUsersForThreads","commentAdded","assign","getUser","isPremiumPlugin","cloud-services-internal-error: Not connected.","off","6pzcZjx","sessionAdd:","disconnect","cloud-services-internal-error: Comments Service is not connected.","1334PeepEx","getMany","11KNMwjF","1076120MPEswL","pluginName","cloudservicescommentsadapter-disconnect-not-exist","add","cloudservicescommentsadapter-service-not-exist","CommentsService","deletedAt","reopen","mySessionId","content","unregister","resolveCommentThread","keys","resolvedBy","cloudservicescommentsadapter-connect-already-connected","commentThreadReopened","size","updateCommentThread","setPermissions","permissions","adapter","catch","delete","commentThreadId","connect","userId","3114cNNZIY","commentRemoved","addComment","set","9KLdzdb","_terminateService","map","remove","cloud-services-internal-error: Request timeout.","message","removeCommentThread","reopenCommentThread","commentId","has","CloudServicesCommentsAdapter","getComment","_connectService","code","addCommentThread","comments","createdAt","531527xWUUeG","attributes","resolvedAt","authorId","_getService","addUser","5315751wHRtKZ","3472184WRfRGz","getCommentThreads","getConnectedSessions","init","1754465GaQgjU","plugins","updateComment"];return(Es=function(){return e})()}!function(e){const t=Rs,n=e();for(;;)try{if(552521===-parseInt(t(355))/1+-parseInt(t(408))/2*(-parseInt(t(437))/3)+-parseInt(t(362))/4+parseInt(t(366))/5*(parseInt(t(404))/6)+parseInt(t(361))/7+-parseInt(t(411))/8*(-parseInt(t(441))/9)+-parseInt(t(389))/10*(-parseInt(t(410))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Es);class xs extends t.ContextPlugin{static[js(416)]=(()=>Yn)();[js(392)];static get[js(388)](){return[zn,js(386),$n,Wn.Users]}static get[js(412)](){return js(348)}static get[js(393)](){return!0}static get[js(401)](){return!0}constructor(e){const t=js;super(e),this[t(392)]=new Map}async[js(365)](){const e=js,n=this[e(372)],r=n[e(367)][e(376)](e(386));if(n[e(367)][e(376)](zn)[e(387)](this),r[e(431)]={addCommentThread:async({channelId:t,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=e,d=await this[c(359)](t)[c(352)]({commentThreadId:n,comments:r[c(443)](e=>function(e,t,n){const r=c;return{commentThreadId:n,commentId:e[r(346)],userId:e[r(358)],content:e[r(420)],documentId:t,createdAt:e[r(354)],attributes:e[r(356)]||{}}}(e,t,n)),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(432)](Ns);return{threadId:d[c(434)],comments:d[c(353)]}},getCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(359)](t)[r(394)](n)[r(432)](Ds)[r(432)](Ns);return s?s[r(417)]?null:(await this[r(397)]([s]),{threadId:s[r(434)],comments:s[r(353)][r(443)](Vs),context:s[r(372)],resolvedAt:s[r(357)],resolvedBy:s[r(424)],attributes:s[r(356)]||{}}):null},updateCommentThread:async({channelId:t,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[e(359)](t)[e(428)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[e(432)](Ds)[e(432)](Ns),resolveCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(359)](t)[r(422)](n)[r(432)](Ds)[r(432)](Ns);return{threadId:s[r(434)],resolvedAt:s[r(357)],resolvedBy:s[r(424)]}},reopenCommentThread:async({channelId:t,threadId:n})=>this[e(359)](t)[e(448)](n)[e(432)](Ds)[e(432)](Ns),removeCommentThread:({channelId:t,threadId:n})=>this[e(359)](t)[e(447)](n)[e(432)](Ds)[e(432)](Ns),addComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(359)](t)[e(439)](n,r,s,o)[e(432)](Ns),updateComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(359)](t)[e(368)](n,r,s,o)[e(432)](Ds)[e(432)](Ns),removeComment:({channelId:t,threadId:n,commentId:r})=>this[e(359)](t)[e(380)](n,r)[e(432)](Ds)[e(432)](Ns)},n instanceof t.Context){const t=n[e(370)][e(376)](e(396)),r=n[e(367)][e(376)]($n);await this[e(379)](t);const s=await this[e(392)][e(376)](t)[e(364)]();this[e(377)](r,e(405)+t,(n,{session:s})=>{const o=e;s.id===r[o(419)]&&(n[o(403)](),this[o(372)][o(367)][o(376)](o(381))[o(429)](s[o(430)],t))}),r[e(374)](t,s)}}async[js(379)](e){const t=js;if(this[t(392)][t(347)](e))throw new n.CKEditorError(t(425),null,{channelId:e});const r=this[t(372)][t(367)][t(376)](t(386)),s=new(xs[t(416)])(e);this[t(392)][t(440)](e,s),this[t(377)](s,t(385),(e,n)=>{const s=t,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=n;r[s(394)](o)||r[s(352)]({threadId:o,channelId:i,comments:l?l[s(443)](Vs):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})}),this[t(377)](s,t(390),(e,{commentThreadId:n,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=t;r[c(394)](n)&&r[c(428)]({threadId:n,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})}),this[t(377)](s,t(378),(e,{commentThreadId:n,resolvedBy:s,resolvedAt:o})=>{const i=t,a=r[i(394)](n);a&&a[i(395)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})}),this[t(377)](s,t(426),(e,{commentThreadId:n})=>{const s=t,o=r[s(394)](n);o&&o[s(418)]({isFromAdapter:!0})}),this[t(377)](s,t(391),(e,{commentThreadId:n})=>{const s=t,o=r[s(394)](n);o&&o[s(444)]({isFromAdapter:!0})}),this[t(377)](s,t(398),(e,n)=>{const s=t,o=n[s(434)],i=r[s(394)](o);i&&i[s(439)]({...Vs(n),isFromAdapter:!0})}),this[t(377)](s,t(382),(e,{commentThreadId:n,commentId:s,content:o,attributes:i})=>{const a=t,c=r[a(394)](n);if(c){const e=c[a(349)](s);e&&e[a(383)]({content:o,attributes:i,isFromAdapter:!0})}}),this[t(377)](s,t(438),(e,{commentThreadId:n,commentId:s})=>{const o=t,i=r[o(394)](n);if(i){const e=i[o(349)](s);e&&e[o(444)]({isFromAdapter:!0})}}),await this[t(350)](e)}[js(384)](){const e=js;if(this[e(372)]instanceof t.Context){const t=this[e(372)][e(370)][e(376)](e(396));this[e(442)](t)}}[js(442)](e){const t=js;if(!this[t(392)][t(347)](e))throw new n.CKEditorError(t(413),null,{channelId:e});this[t(359)](e)[t(406)](),this[t(392)][t(433)](e)}async[js(371)](){const e=js;for(const t of this[e(392)][e(423)]())await this[e(350)](t);if(this[e(372)]instanceof t.Context){const t=this[e(372)][e(370)][e(376)](e(396)),n=this[e(372)][e(367)][e(376)]($n);n[e(421)](t);const r=await this[e(392)][e(376)](t)[e(364)]();n[e(374)](t,r)}}async[js(350)](e){const t=js,{connection:n}=this[t(372)][t(367)][t(376)](zn),r=this[t(372)][t(367)][t(376)](t(386)),s=this[t(392)][t(376)](e),o=await s[t(435)](n);await this[t(397)](o);const i=new Set(Array[t(375)](r[t(363)]({channelId:e}),e=>e.id));for(const e of o)e[t(417)]||i[t(433)](e[t(434)]);for(const e of i)r[t(394)](e)[t(444)]({isFromAdapter:!0});for(const n of o){let s=r[t(394)](n[t(434)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[t(352)]({channelId:e,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const p=new Set(Array[t(375)](s[t(353)],e=>e.id));for(const e of n[t(353)])p[t(433)](e[t(346)]);for(const e of p)s[t(349)](e)[t(444)]({isFromAdapter:!0});for(const e of n[t(353)]){const n=s[t(349)](e[t(346)]);n?n[t(420)]!==e[t(420)]&&n[t(383)]({content:e[t(420)],isFromAdapter:!0}):s[t(439)](Object[t(399)](Vs(e),{isFromAdapter:!0}))}}}[js(359)](e){const t=js;if(!this[t(392)][t(347)](e))throw new n.CKEditorError(t(415),null,{channelId:e});return this[t(392)][t(376)](e)}async[js(397)](e){const t=js,n=this[t(372)][t(367)][t(376)](Wn.Users),{connection:r}=this[t(372)][t(367)][t(376)](zn),s=new Set;for(const{resolvedBy:r,comments:o}of e){r&&!n[t(400)](r)&&s[t(414)](r);for(const{userId:e}of o)n[t(400)](e)||s[t(414)](e)}if(0===s[t(427)])return;const o=await b[t(409)](r,Array[t(375)](s));for(const e of o)n[t(400)](e.id)||n[t(360)](e)}}async function Ds(e){const t=js;if(t(373)!==e[t(351)])throw e}function Rs(e,t){const n=Es();return(Rs=function(e,t){return n[e-=346]})(e,t)}function Ns(e){const t=js;if((n=e)[t(446)][t(369)](t(407))||n[t(446)][t(369)](t(402))||n[t(446)][t(369)](t(445)))return new Promise(()=>{});var n;throw e}function Vs(e){const t=js;return{threadId:e[t(434)],commentId:e[t(346)],content:e[t(420)],createdAt:e[t(354)],authorId:e[t(436)],attributes:e[t(356)]||{}}}const Ms=Bs;function Bs(e,t){const n=Us();return(Bs=function(e,t){return n[e-=342]})(e,t)}function Us(){const e=["addSuggestionData","_saved","TrackChangesService","update","TrackChangesEditing","599940pkBWnh","2356541zYibcW","size","_fetchMissingUsersForThreads","getMany","CloudServicesTrackChangesAdapter","connected","4156072vttYGA","reconnect","config","init","collaboration.channelId","originalSuggestionId","isPremiumPlugin","adapter","catch","add","_trackChangesService","from","isConnected","addToReconnectionStack","connection","message","suggestionUpdated","values","130jXuRRw","state","get","type","addUser","data","cloud-services-internal-error: Request timeout.","7989345HDqaWR","delete","262952TtMyRU","1pORloi","then","plugins","hasSuggestion","set","off","1014330vtVpTr","requires","getUser","listenTo","connect","_bufferedRequests","pluginName","getSuggestion","find","editor","attributes","_waitForServiceReady","12BsPaHr","cloud-services-internal-error: Not connected.","3452238xsgQpn","isOfficialPlugin","startsWith","open","21BvAyIW"];return(Us=function(){return e})()}!function(e){const t=Bs,n=e();for(;;)try{if(998714===parseInt(t(363))/1*(-parseInt(t(362))/2)+parseInt(t(393))/3+-parseInt(t(381))/4*(parseInt(t(369))/5)+-parseInt(t(383))/6+-parseInt(t(387))/7*(parseInt(t(400))/8)+parseInt(t(360))/9+-parseInt(t(353))/10*(-parseInt(t(394))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Us);class Js extends t.Plugin{static[Ms(390)]=(()=>$t)();[Ms(374)];[Ms(345)];static get[Ms(370)](){return[xs,Ms(392),zn]}static get[Ms(375)](){return Ms(398)}static get[Ms(384)](){return!0}static get[Ms(406)](){return!0}constructor(e){const t=Ms;super(e);const n=this[t(378)][t(402)][t(355)](t(404));this[t(374)]=new Map,this[t(345)]=new(Js[t(390)])(n)}[Ms(403)](){const e=Ms,t=this[e(378)][e(365)][e(355)](zn),n=this[e(378)][e(365)][e(355)](e(392));return n[e(342)]={getSuggestion:async t=>{const n=e;await this[n(380)]();const r=await this[n(345)][n(355)](t)[n(343)](qs);return await this[n(396)]([r]),r},addSuggestion:async({id:t,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=e;await this[i(380)]();const a={id:t,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(345)][i(344)](t,n,r,s,o)[i(343)](e=>{if(Gs(e))return new Promise(e=>{const n=Bs;this[n(374)][n(367)](t,{resolve:e,suggestionData:a})});throw e});return this[i(374)][i(361)](t),c},updateSuggestion:async(t,n)=>{const r=e;if(await this[r(380)](),r(386)!==n[r(354)])return this[r(345)][r(391)](t,n)[r(343)](qs)}},this[e(372)](this[e(345)],e(351),(t,r)=>{const s=e;n[s(366)](r.id)&&(n[s(376)](r.id)[s(379)]=r[s(379)])}),this[e(345)][e(373)](t[e(349)])[e(364)](r=>(t[e(348)](this),this[e(396)](r)[e(364)](()=>{const t=e;for(const e of r)n[t(388)](e)[t(389)]=!0})))}async[Ms(401)](){const e=Ms,t=this[e(378)][e(365)][e(355)](e(392)),{connection:n}=this[e(378)][e(365)][e(355)](zn),r=await this[e(345)][e(373)](n);await this[e(396)](r);for(const{suggestionData:t,resolve:n}of this[e(374)][e(352)]()){let s=r[e(377)](e=>e.id===t.id);s||(s=await this[e(345)][e(344)](t.id,t[e(356)],t[e(358)],t[e(405)])),n(s)}for(const n of r)t[e(366)](n.id)||t[e(388)](n)}async[Ms(380)](){const e=Ms;this[e(345)][e(347)]||await new Promise(t=>{const n=e;this[n(372)](this[n(345)],n(399),e=>{e[n(368)](),t()})})}async[Ms(396)](e){const t=Ms,n=this[t(378)][t(365)][t(355)](Wn.Users),{connection:r}=this[t(378)][t(365)][t(355)](zn),s=new Set;for(const{authorId:r}of e)n[t(371)](r)||s[t(344)](r);if(0===s[t(395)])return;const o=await b[t(397)](r,Array[t(346)](s));for(const e of o)n[t(371)](e.id)||n[t(357)](e)}}function qs(e){if(Gs(e))return new Promise(()=>{});throw e}function Gs(e){const t=Ms;return e[t(350)][t(385)](t(382))||e[t(350)][t(385)](t(359))}function Ls(){const e=["destroy","config","Comments","5430990PyILQr","1426878sfcBsU","6RGMrZR","_terminateService","ready","once","listenTo","2271770pTdlMA","requires","13069424BmLxec","init","7BdmsAW","2897525cdlpHv","_setUpService","isOfficialPlugin","767417nGqPsj","connected","plugins","pluginName","get","985272tsYWOq","RealTimeCollaborativeComments","CommentsRepository","data","isThreadsLoadingPaused","editor","isPremiumPlugin","collaboration.channelId","switchReadOnly","change:state","9TIRWdA","CommentsEditing"];return(Ls=function(){return e})()}const Ys=Hs;function Hs(e,t){const n=Ls();return(Hs=function(e,t){return n[e-=167]})(e,t)}!function(e){const t=Hs,n=e();for(;;)try{if(930326===parseInt(t(194))/1+-parseInt(t(180))/2+-parseInt(t(179))/3+parseInt(t(199))/4+-parseInt(t(191))/5*(-parseInt(t(181))/6)+parseInt(t(190))/7*(parseInt(t(188))/8)+-parseInt(t(174))/9*(-parseInt(t(186))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ls);class zs extends t.Plugin{static get[Ys(187)](){return[Ys(178),xs,Cs,zn]}static get[Ys(197)](){return Ys(200)}static get[Ys(193)](){return!0}static get[Ys(170)](){return!0}[Ys(189)](){const e=Ys,t=this[e(169)][e(196)][e(198)](zn),n=this[e(169)][e(196)][e(198)](e(175)),r=this[e(169)][e(196)][e(198)](xs);return this[e(169)][e(167)][e(184)](e(183),()=>{const r=e;this[r(185)](t,r(173),(e,t,s)=>{const o=r;n[o(168)]=o(195)!==s})}),this[e(185)](t,e(173),(t,n,r)=>{const s=e;this[s(169)][s(196)][s(198)](s(201))[s(172)](s(195)!==r)}),r[e(192)](this[e(169)][e(177)][e(198)](e(171)))}[Ys(176)](){const e=Ys;this[e(169)][e(196)][e(198)](xs)[e(182)](this[e(169)][e(177)][e(198)](e(171))),super[e(176)]()}}function Fs(){var e=["91662apOCrx","pluginName","requires","3796692dMuZwJ","2995974qfqLFr","TrackChanges","2477960DaorKZ","2500982qXbkov","isPremiumPlugin","80SWSWiq","isOfficialPlugin","5267908OxuRMu","RealTimeCollaborativeTrackChanges","28hALDFC","38ReivMF","11803923xsvTPA","10yxkFIh"];return(Fs=function(){return e})()}var Ks=Ws;function Ws(e,t){var n=Fs();return(Ws=function(e,t){return n[e-=357]})(e,t)}!function(e){for(var t=Ws,n=e();;)try{if(900186===parseInt(t(362))/1*(parseInt(t(359))/2)+parseInt(t(366))/3+parseInt(t(373))/4+parseInt(t(361))/5*(-parseInt(t(365))/6)+-parseInt(t(358))/7*(-parseInt(t(368))/8)+-parseInt(t(360))/9+parseInt(t(371))/10*(-parseInt(t(369))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fs);class Qs extends t.Plugin{static get[Ks(364)](){return[zs,Js,Ks(367)]}static get[Ks(363)](){return Ks(357)}static get[Ks(372)](){return!0}static get[Ks(370)](){return!0}}const Zs=Xs;function $s(){const e=["authorsIds","getMany","diffData","3475345RbDkVh","_fetchMissingUsers","2076FqPagT","61434wlBOqH","_revisionTracker","bind","CloudServicesRevisionHistoryAdapter","listenTo","reverse","get","remove","affectsData","isConnected","73114AGiAsd","buildRevisionData","sendBufferedUpdates","3609680RsGuNu","createdAt","_bufferUpdate","1jatUzk","updateRevisions","_fixRevision","revisionsUpdated","addRevisionData","_isPendingUpdate","map","400","cloudServices.bundleVersion","message","_getLatestVersionFromServerOperations","toVersion","catch","_handleRevisionsUpdate","_revisionDataBuilder","setRevisionData","change:_isConnected","_preventResendingRevisionData","keys","RevisionTracker","_bufferedUpdates","addUser","change:_isPendingUpdate","editor","config","init","from","off","authors","_revisionHistoryService","_update","_isConnected","reconnect","pluginName","_createCurrentRevision","startsWith","requires","cloud-services-internal-error: Not connected.","_startingVersion","1078990aBEiII","isEnabled","4TuvPoS","isEmptyCurrent","length","RevisionHistoryService","getRevision","reInit","marker","wrongRequestId","creatorId","size","baseVersion","isPremiumPlugin","cloud-services-internal-error: Request timeout.","addToReconnectionStack","_revisions","_waitForServiceReady","destroy","then","_lastRequestId","664jQdbRw","RevisionHistory","_handleReconnectionError","max","data","connected","collaboration.channelId","currentRevision","once","connect","plugins","getUser","sessionId","type","1304490JusCke","setSource","repository","_getLatestVersion","_oldOffset","adapter","getRevisions","getOperations","CONNECTED","add","code","cloud-services-internal-error: Revision History Service is not connected.","_offset","isOfficialPlugin","connection","isBundleUploaded","fromVersion","has","serverHistory","308KxDiRH","state"];return($s=function(){return e})()}function Xs(e,t){const n=$s();return(Xs=function(e,t){return n[e-=265]})(e,t)}!function(e){const t=Xs,n=e();for(;;)try{if(620978===parseInt(t(280))/1*(parseInt(t(274))/2)+parseInt(t(354))/3+-parseInt(t(321))/4*(parseInt(t(378))/5)+-parseInt(t(380))/6*(-parseInt(t(373))/7)+-parseInt(t(340))/8*(-parseInt(t(381))/9)+parseInt(t(277))/10+-parseInt(t(319))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($s);class eo extends t.Plugin{static[Zs(324)]=(()=>Bt)();[Zs(339)];[Zs(265)];[Zs(309)];[Zs(358)];static get[Zs(316)](){return[zn,Is,Zs(341),$n,Wn.Users]}static get[Zs(313)](){return Zs(267)}static get[Zs(367)](){return!0}static get[Zs(332)](){return!0}constructor(e){const t=Zs;super(e);const n=this[t(303)][t(304)][t(270)](t(346));this[t(339)]=null,this[t(265)]=this[t(303)][t(350)][t(270)](t(299)),this[t(309)]=new(eo[t(324)])(n)}async[Zs(305)](){const e=Zs,t=this[e(303)][e(350)][e(270)](Is),r=t[e(372)],s=this[e(303)][e(350)][e(270)](zn);this[e(265)][e(355)]({history:r,getLatestVersion:()=>this[e(357)](),getCurrentRevisionId:()=>t[e(352)]});const o=this[e(303)][e(304)][e(270)](e(288))||n.version,i=await Tt[e(369)](s[e(368)],o);this[e(303)][e(350)][e(270)](e(341))[e(359)]={getRevision:async({revisionId:t})=>(await this[e(336)](),await this[e(309)][e(325)](t)),updateRevisions:async t=>{const n=e;await this[n(336)]();const r=this[n(265)][n(347)];if(i&&1===t[n(323)]&&t[0].id===r.id)return t;for(const e of t)e.id===r.id&&(e[n(322)]=e[n(370)]===e[n(291)]);return this[n(309)][n(281)](t,this[n(339)])[n(338)](e=>(this[n(339)]=e,t))[n(292)](e=>{const r=n;if(to(e)||r(287)===e[r(364)]&&void 0!==e[r(344)][r(328)]){for(const e of t)!this[r(265)][r(356)][r(325)](e.id)||this[r(265)][r(279)](e.id,e,!1);if(to(e))throw e;return t}throw e})}},this[e(268)](this[e(309)],e(283),(t,{revisionsData:n,requestId:r})=>{const s=e;Math[s(343)](...n[s(286)](e=>e[s(291)]))>this[s(290)]()-1?this[s(357)]()[s(338)](()=>{this[s(293)](n,r)}):this[s(293)](n,r)});const{revisions:a,requestId:c}=await this[e(309)][e(349)](s[e(368)]);s[e(334)](this),this[e(339)]=c,await this[e(379)](a);for(const t of a)this[e(265)][e(284)](t);this[e(268)](t,e(296),(n,r,s)=>{const o=e;s&&(this[o(358)]=t[o(366)],n[o(307)]())}),this[e(265)][e(266)](e(320)).to(s,e(374),t=>t===It[e(362)])}async[Zs(312)](){const e=Zs,t=this[e(303)][e(350)][e(270)](zn),n=this[e(303)][e(350)][e(270)](Is),r=async()=>{const r=e,s=this[r(265)][r(347)],o=s.id,i=o!==n[r(352)];if(i){const e=n[r(366)]-this[r(358)],t=this[r(290)]();if(this[r(265)][r(294)][r(326)](),s[r(291)]+e!==t){const n=s[r(370)]+e,o=this[r(303)][r(350)][r(270)](Wn.Users),i=this[r(265)][r(275)]({revision:s,from:n,to:t});i.id=s.id;const a=i[r(375)][r(286)](e=>o[r(351)](e));s[r(310)]({...i,authors:a},!0),this[r(265)][r(279)](s.id,i,!0)}this[r(265)][r(318)]=t,s[r(291)]===s[r(370)]&&!this[r(265)][r(300)][r(371)](o)&&this[r(265)][r(356)][r(335)][r(271)](o),this[r(265)][r(314)](t)}const{revisions:a,requestId:c}=await this[r(309)][r(312)](t[r(368)],this[r(339)]);i&&a[r(323)]>0?n[r(342)]():(await this[r(379)](a),this[r(293)](a,c),this[r(265)][r(276)]())};return n[e(311)]?r():new Promise((t,s)=>{const o=e;n[o(348)](o(296),()=>{const e=o;r()[e(338)](t)[e(292)](s)})})}[Zs(337)](){super[Zs(337)]()}async[Zs(336)](){const e=Zs;this[e(309)][e(273)]||await new Promise(t=>{const n=e;this[n(268)](this[n(309)],n(345),e=>{e[n(307)](),t()})})}[Zs(290)](){const e=Zs,t=this[e(303)][e(350)][e(270)](Is)[e(372)][e(361)]()[e(269)]();for(const n of t)if(e(327)!==n[e(353)]||n[e(272)])return n[e(331)]+1}[Zs(357)](){const e=Zs,t=this[e(303)][e(350)][e(270)](Is);return new Promise(n=>{const r=e;t[r(285)]?t[r(348)](r(302),()=>{n(this[r(290)]())}):n(this[r(290)]())})}[Zs(293)](e,t){const n=Zs,r=this[n(265)][n(356)];this[n(339)]=t;for(const t of e){const e=r[n(325)](t.id);if(e){if((t[n(370)]||t[n(291)])&&(t[n(377)]=null),e===this[n(265)][n(347)]){const r=Math[n(343)](e[n(291)],t[n(291)]),s=Math[n(343)](e[n(370)],t[n(370)]);let o;e[n(291)]===t[n(291)]&&e[n(370)]===t[n(370)]?(o=!0,this[n(297)](t)):t[n(291)]===r&&t[n(370)]===s?o=!1:(e[n(291)]===r&&e[n(370)]===s||this[n(282)]({revision:e,from:s,to:r}),o=!0),o&&(delete t[n(370)],delete t[n(291)],delete t[n(377)],delete t[n(278)],delete t[n(375)])}this[n(265)][n(295)](t),this[n(297)](t)}else this[n(265)][n(284)](t)}const s=r[n(360)]();s[n(269)]();for(let e=0;e<s[n(323)]-1;e++){const t=s[e],r=s[e+1];if(t[n(370)]<r[n(291)]){const e=r[n(291)],s=Math[n(343)](e,t[n(291)]);this[n(282)]({revision:t,from:e,to:s})}}}[Zs(282)]({revision:e,from:t,to:n}={}){const r=Zs,s=this[r(303)][r(350)][r(270)](Wn.Users),o=this[r(265)][r(275)]({revision:e,from:t,to:n});o[r(308)]=o[r(375)][r(286)](e=>s[r(351)](e)),e[r(310)](o)}[Zs(297)](e){const t=Zs,n={};n.id=e.id;for(const r of Object[t(298)](e))"id"!==r&&(n[r]=void 0);this[t(265)][t(279)](n.id,n,!0)}async[Zs(379)](e){const t=Zs,n=this[t(303)][t(350)][t(270)](Wn.Users),{connection:r}=this[t(303)][t(350)][t(270)](zn),s=new Set;for(const n of e){for(const e of n[t(375)])i(e);n[t(329)]&&i(n[t(329)])}if(0===s[t(330)])return;const o=await b[t(376)](r,Array[t(306)](s));for(const e of o)n[t(351)](e.id)||n[t(301)](e);function i(e){const r=t;n[r(351)](e)||s[r(363)](e)}}}function to(e){const t=Zs;return e[t(289)][t(315)](t(365))||e[t(289)][t(315)](t(317))||e[t(289)][t(315)](t(333))}var no=ro;function ro(e,t){var n=so();return(ro=function(e,t){return n[e-=224]})(e,t)}function so(){var e=["720YBffch","4363797dUPgwT","pluginName","RevisionHistory","RealTimeCollaborativeRevisionHistory","207550eeLoOq","isPremiumPlugin","11669FKKIIc","3375546IhFOLH","3216qcxBEa","1110eKVjda","2468jjrMaP","requires","2uzIaDk","20956232ZDuRVE","1507164rqUYOV","isOfficialPlugin"];return(so=function(){return e})()}!function(e){for(var t=ro,n=e();;)try{if(903604===-parseInt(t(230))/1*(-parseInt(t(232))/2)+-parseInt(t(235))/3+parseInt(t(228))/4*(-parseInt(t(227))/5)+parseInt(t(225))/6+parseInt(t(224))/7*(parseInt(t(226))/8)+parseInt(t(234))/9*(parseInt(t(239))/10)+-parseInt(t(231))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(so);class oo extends t.Plugin{static get[no(229)](){return[no(237),eo,Cs]}static get[no(236)](){return no(238)}static get[no(233)](){return!0}static get[no(240)](){return!0}}function io(e){return function(e){return"object"==typeof e&&null!==e}(e)&&1===e.nodeType&&!function(e){if("object"!=typeof e)return!1;if(null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){const t=e[Symbol.toStringTag];return null!=t&&(!!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable&&e.toString()===`[object ${t}]`)}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e)}const ao=uo;function co(){const e=["669iofQbS","180014vNyfuo","bind","listitem","ck-presence-list__list-item","usersCount","35BmyDtC","div","ck-presence-list__counter--hidden","setTemplate","toString","10085418niGnZb","6521500qYVnPJ","1FqrMdI","bindTemplate","807344IgtXWb","_collapseAt","isHidden","4908fEwZHi","10283190TzmvMj","8334144AkhZOJ","set","ck-presence-list__users-counter","ck-presence-list__users-counter__text"];return(co=function(){return e})()}function uo(e,t){const n=co();return(uo=function(e,t){return n[e-=180]})(e,t)}!function(e){const t=uo,n=e();for(;;)try{if(889906===parseInt(t(181))/1*(parseInt(t(193))/2)+-parseInt(t(192))/3*(-parseInt(t(186))/4)+parseInt(t(180))/5+parseInt(t(203))/6+-parseInt(t(198))/7*(parseInt(t(183))/8)+-parseInt(t(188))/9+-parseInt(t(187))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(co);class lo extends r.View{[ao(184)];constructor(e,t=6){const n=ao;super(e);const r=this[n(182)];this[n(189)](n(185),!0),this[n(189)](n(197),0),this[n(184)]=t,this[n(194)](n(185)).to(this,n(197),e=>e<t),this[n(201)]({tag:n(199),attributes:{class:["ck",n(196),r.if(n(185),n(200))],role:n(195)},children:[{tag:n(199),attributes:{class:["ck",n(190)]},children:[{tag:n(199),attributes:{class:["ck",n(191)]},children:[{text:r.to(n(197),e=>"+"+(e-this[n(184)]+2)[n(202)]())}]}]}]})}}function po(e,t){const n=fo();return(po=function(e,t){return n[e-=405]})(e,t)}const ho=po;function fo(){const e=["ck-presence-list__list",".ck-presence-list__dropdown-list","15763528HxLROJ","9DYpObf","1454bPMoZc","items","removeAttribute","presencelist:show","focus","contains","1337VAfgWB","40eSHcbv","11207300PRlAfW",".ck-balloon-panel_with-arrow","Connected users list","element","change:hasPopup","aria-expanded","372310vcbuVw","list","Collapsed connected users list (press ENTER to open it)","4295247IEiLgL","933DblRsQ","6966616zlHSQO","setTemplate","div","hasPopup","keystrokes","setAttribute","8394OuChJY","set","isExpanded","render","createCollection","listenTo","relatedTarget","querySelector","bindTemplate","fire","presencelist:hide"];return(fo=function(){return e})()}!function(e){const t=po,n=e();for(;;)try{if(904500===-parseInt(t(440))/1*(-parseInt(t(422))/2)+parseInt(t(439))/3+parseInt(t(429))/4*(parseInt(t(436))/5)+-parseInt(t(407))/6*(parseInt(t(428))/7)+parseInt(t(441))/8*(parseInt(t(421))/9)+-parseInt(t(430))/10+-parseInt(t(420))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fo);class mo extends r.View{[ho(423)];[ho(405)];constructor(e){const t=ho;super(e);const r=this[t(415)];this[t(423)]=this[t(411)](),this[t(405)]=new n.KeystrokeHandler,this[t(408)]({hasPopup:!1,isExpanded:!1}),this[t(442)]({tag:t(443),attributes:{"aria-haspopup":r.if(t(444)),"aria-expanded":r.to(t(409),e=>this[t(444)]&&String(e)),"aria-label":r.to(t(444),n=>gr(e,t(n?438:432))),role:t(437),tabindex:r.to(t(444),e=>!!e&&0),class:["ck",t(418)]},children:this[t(423)],on:{mouseenter:r.to(()=>this[t(416)](t(425))),mouseleave:r.to(e=>{const n=t,r=e,s=document[n(414)](n(419)),o=document[n(414)](n(431));s?.[n(427)](r[n(413)])||o?.[n(427)](r[n(413)])||this[n(416)](n(417))})}}),this.on(t(434),(e,n,r)=>{const s=t;this[s(433)]&&(r?this[s(433)][s(406)](s(435),String(this[s(409)])):this[s(433)][s(424)](s(435)))})}[ho(426)](){const e=ho;this[e(433)][e(426)]()}[ho(410)](){const e=ho;super[e(410)](),this[e(405)][e(412)](this[e(433)])}}var yo=__webpack_require__(792),go={attributes:{"data-cke":!0}};go.setAttributes=ar(),go.insert=or().bind(null,"head"),go.domAPI=rr(),go.insertStyleElement=dr();tr()(yo.A,go);yo.A&&yo.A.locals&&yo.A.locals;const bo=wo;function Oo(){const e=["counterView","ck-presence-list--collapsed","ck-presence-list","7tXHVgX","500952TuqSkW","ck-rounded-corners","setTemplate","24641883UTpRZp","listenTo","6lpGJkY","first","set","inlineListView","3389580xXXjEE","items","2775120klChhn","bind","896538vVIdgw","tooltipPosition","isCollapsed","hasPopup","locale","div","ck-reset","2921346QksRiW","2179348osUuuq","change","bindTemplate"];return(Oo=function(){return e})()}function wo(e,t){const n=Oo();return(wo=function(e,t){return n[e-=214]})(e,t)}!function(e){const t=wo,n=e();for(;;)try{if(986913===parseInt(t(237))/1+parseInt(t(216))/2+-parseInt(t(229))/3*(-parseInt(t(217))/4)+parseInt(t(233))/5+-parseInt(t(235))/6+-parseInt(t(223))/7*(-parseInt(t(224))/8)+-parseInt(t(227))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Oo);class Io extends r.View{[bo(220)];[bo(232)];constructor(e,t=6){const n=bo;super(e);const r=this[n(219)];this[n(231)](n(239),!0),this[n(220)]=new lo(this[n(241)],t),this[n(232)]=new mo(e),this[n(232)][n(236)](n(240)).to(this,n(239)),this[n(228)](this[n(232)][n(234)],n(218),()=>{const e=n;for(const t of this[e(232)][e(234)])t[e(238)]="s";this[e(232)][e(234)][e(230)]&&(this[e(232)][e(234)][e(230)][e(238)]="se")}),this[n(226)]({tag:n(214),attributes:{class:["ck",n(222),n(215),n(225),r.if(n(239),n(221))]},children:[this[n(232)]]})}}const vo=Po;function So(){const e=["role","_isScrollable","2VaLmcc","217692caoLjB","change","ck-reset","ck-presence-list__dropdown-list-wrapper","824145BVBwBm","6pxWXcF","ariaLabelledBy","resize","3056680OGxekl","items","ariaLabel","261043FqNFUi","render",".ck-presence-list__list","463204OAMelF","application","max","fire","innerHeight","ck-presence-list__dropdown-list-wrapper_scrollable","set","window","relatedTarget","contains","ck-presence-list__dropdown-list","querySelector","listenTo","468KrwDDd","checkIfScrollable","ck-list","clientHeight",".ck-balloon-panel_with-arrow","219142ZfQvZm","scrollHeight","Connected users list dropdown menu","bindTemplate","listWrapperView","div","presencelist:hide","16AtEJZw","2920776daXjFP","setTemplate","9Sponqc","element"];return(So=function(){return e})()}!function(e){const t=Po,n=e();for(;;)try{if(234063===parseInt(t(282))/1*(-parseInt(t(317))/2)+parseInt(t(318))/3*(parseInt(t(310))/4)+parseInt(t(275))/5*(parseInt(t(276))/6)+-parseInt(t(285))/7+-parseInt(t(311))/8+-parseInt(t(313))/9*(parseInt(t(279))/10)+parseInt(t(303))/11*(parseInt(t(298))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(So);class ko extends r.View{[vo(307)];constructor(e,t){const n=vo;super(e);const r=this[n(306)];this[n(307)]=new Ao(e,t),this[n(312)]({tag:n(308),attributes:{tabindex:-1,role:n(286),class:["ck",n(295)],"aria-label":gr(e,n(305))},children:[this[n(307)]],on:{mouseleave:r.to(e=>{const t=n,r=e,s=document[t(296)](t(284)),o=document[t(296)](t(302));s?.[t(294)](r[t(293)])||o?.[t(294)](r[t(293)])||this[t(288)](t(309))})}})}}function Po(e,t){const n=So();return(Po=function(e,t){return n[e-=273]})(e,t)}class Ao extends r.ListView{constructor(e,t){const r=vo;super(e);const s=this[r(306)];this[r(291)](r(316),!1),this[r(312)]({tag:t?r(308):"ul",attributes:{class:["ck",r(273),r(300),r(274),s.if(r(316),r(290))],role:s.to(r(315)),"aria-label":s.to(r(281)),"aria-labelledby":s.to(r(277))},children:this[r(280)]}),this[r(297)](n.global[r(292)],r(278),()=>this[r(299)]()),this[r(280)].on(r(319),()=>this[r(299)]())}[vo(283)](){const e=vo;super[e(283)](),this[e(299)]()}[vo(299)](){const e=vo,t=this[e(314)];t&&(this[e(316)]=Math[e(287)](t[e(304)],t[e(301)])>.8*window[e(289)])}}function To(e,t){const n=Co();return(To=function(e,t){return n[e-=188]})(e,t)}const _o=To;function Co(){const e=["name","79347BHtgaw","button","153WiwdZo","ck-user__full-name","1PUbgIk","focus","color","span","6932500tlOuip","541428RGqRkO","fire","setTemplate","true","execute","183584IaurAm","ck-presence-list__marker","tag","presentation","7328419VKhJEp","121pLlwlM","819238CHCrIO","element","4867280rGuxtJ","userView","80UMenMN","ck-presence-list__dropdown-list-item","bindTemplate","getBackgroundColorClass","6zjqCyL"];return(Co=function(){return e})()}!function(e){const t=To,n=e();for(;;)try{if(541157===-parseInt(t(212))/1*(-parseInt(t(198))/2)+-parseInt(t(208))/3*(parseInt(t(202))/4)+-parseInt(t(200))/5+parseInt(t(206))/6*(parseInt(t(196))/7)+parseInt(t(192))/8*(parseInt(t(210))/9)+parseInt(t(216))/10+parseInt(t(197))/11*(-parseInt(t(217))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Co);class jo extends r.ListItemView{[_o(201)];constructor(e,t,n){const r=_o;super(e);const s=this[r(204)];this[r(201)]=new Wn.UserView(e,t);const o={tag:"li",attributes:{class:["ck",r(203)],tabindex:-1,role:r(195),"aria-label":t[r(207)]},children:[this[r(201)],{tag:r(215),attributes:{class:["ck",r(211)]},children:[{text:t[r(207)]}]},{tag:r(215),attributes:{class:["ck",r(193),t[r(214)][r(205)]()],"aria-hidden":r(190)}}]};n&&(o[r(194)]=r(209),o.on={click:s.to(()=>this[r(188)](r(191)))}),this[r(189)](o)}[_o(213)](){const e=_o;this[e(199)][e(213)]()}}const Eo=Do;function xo(){const e=["698395EzSIMq","tag","template","126966aYuqmC","userView","bindTemplate","24517471JNJIYQ","button","ck-presence-list__marker","76512pHaDeX","1384JmpqFr","markerView","80PQoxjq","34895uXcBNt","text","1374404AyzFzY","name","color","266949mmHaks","execute","getBackgroundColorClass","setTemplate","hasTooltip","tooltipPosition","4iZLWxI","set","isFocusable","ck-presence-list__list-item","true","listitem","span","ck-presence-list__list-item__tooltip","div","6uTDATz","fire"];return(xo=function(){return e})()}function Do(e,t){const n=xo();return(Do=function(e,t){return n[e-=270]})(e,t)}!function(e){const t=Do,n=e();for(;;)try{if(476472===-parseInt(t(290))/1*(-parseInt(t(270))/2)+parseInt(t(279))/3*(-parseInt(t(296))/4)+-parseInt(t(281))/5+parseInt(t(284))/6+-parseInt(t(294))/7*(parseInt(t(291))/8)+-parseInt(t(299))/9*(parseInt(t(293))/10)+parseInt(t(287))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(xo);class Ro extends r.View{[Eo(285)];[Eo(292)];constructor(e,t,n){const s=Eo;super(e);const o=this[s(286)];this[s(271)](s(272),!1),this[s(271)](s(303),!0),this[s(271)](s(304),""),this[s(285)]=new Wn.UserView(e,t),this[s(292)]=new No(e,t);const i=new r.LabelView(e);i[s(283)][s(282)]=s(276),i[s(295)]=t[s(297)];const a={tag:s(278),attributes:{class:["ck",s(273)],role:s(275),tabindex:o.to(s(272),e=>!!e&&0),"aria-labelledby":i.id,"data-cke-tooltip-text":this[s(285)][s(297)],"data-cke-tooltip-position":o.to(s(304)),"data-cke-tooltip-disabled":o.to(s(303),e=>!e),"data-cke-tooltip-class":s(277)},children:[this[s(285)],this[s(292)],i]};n&&(a[s(282)]=s(288),a.on={click:o.to(()=>this[s(280)](s(300)))}),this[s(302)](a)}}class No extends r.View{constructor(e,t){const n=Eo;super(e),this[n(302)]({tag:n(276),attributes:{class:["ck",n(289),t[n(298)][n(301)]()],"aria-hidden":n(274)}})}}const Vo=Bo;function Mo(){const e=["keystrokes","showDropdown","allConnectedUsers","ck ck-presence-list__balloon","view","32Btluar","pin","_handleUserAdd","_bodyCollection","change:isFocused","onClick","26067aMCnXy","isCollapsed","querySelectorAll","826370RGvvij","set","_allConnectedUsers","execute","items","usersCount","remove","presencelist-missing-container","reverse","inlineListView","plugins","tabIndex","min","isFocusable","using","[contenteditable]","select","7sDeqCP","436jaztap","8551yTgXxp","PresenceListUI","length","isRendered","Tab","[tabindex]","destroy","isMe","presenceList.displayMe","pluginName","sort","isVisible","button","isExpanded","_handleUserRemove","from","number","Shift+Tab","activeElement","context","presenceList.collapseAt","balloonPanelView","checkIfScrollable","bindTo","offsetWidth","presencelist:hide","2728270JfPiyH","listenTo","presenceDropdownView","locale","input",':not([disabled]):not([tabindex="-1"])',"detachFromDom","Enter","presenceList.container","isPremiumPlugin","join","attachToDom","requires","content","offsetHeight","element","init","config","map","presenceList","hasTooltip","isOfficialPlugin","appendChild","filter","currentDisplayedUsers","presencelist:show","body","Esc","1995309YCqEPn","counterView","get","162JNOkeB","render","_createView","focusTracker","class","unpin","presencelist-collapseat-invalid-format","displayMe","indexOf","focus","hideDropdown","find","4866558qxkKnR","add","define","bind","14710168QHnXud","textarea"];return(Mo=function(){return e})()}function Bo(e,t){const n=Mo();return(Bo=function(e,t){return n[e-=298]})(e,t)}!function(e){const t=Bo,n=e();for(;;)try{if(569156===-parseInt(t(301))/1*(-parseInt(t(358))/2)+parseInt(t(387))/3*(-parseInt(t(300))/4)+parseInt(t(327))/5+-parseInt(t(370))/6*(-parseInt(t(299))/7)+-parseInt(t(381))/8*(-parseInt(t(355))/9)+-parseInt(t(390))/10+-parseInt(t(374))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Mo);const Uo={collapseAt:6,displayMe:!0};class Jo extends t.ContextPlugin{[Vo(351)];[Vo(322)];[Vo(380)];[Vo(329)];[Vo(384)]=null;static get[Vo(310)](){return Vo(302)}static get[Vo(348)](){return!0}static get[Vo(336)](){return!0}constructor(e){const t=Vo;super(e),this[t(320)][t(344)][t(372)](t(346),Uo);const s=e[t(344)][t(357)](t(321));if(t(317)!=typeof s)throw new n.CKEditorError(t(364),this);if(s<1)throw new n.CKEditorError(t(364),this);this[t(392)]=this[t(320)][t(400)][t(357)]($n)[t(378)],this[t(391)](t(395),0),this[t(351)]=new n.Collection,this[t(322)]=new r.BalloonPanelView,this[t(322)][t(362)]=t(379),this[t(380)]=this[t(360)](),this[t(329)]=void 0}static get[Vo(339)](){return[$n]}[Vo(343)](){const e=Vo;for(const t of this[e(392)])this[e(383)](t);this[e(328)](this[e(392)],e(371),(t,n)=>{this[e(383)](n)}),this[e(328)](this[e(392)],e(396),(t,n)=>{this[e(315)](n)})}[Vo(360)](){const e=Vo,t=this[e(320)],s=new Io(this[e(320)][e(330)],this[e(320)][e(344)][e(357)](e(321))),o=this[e(322)];if(!io(t[e(344)][e(357)](e(335))))throw new n.CKEditorError(e(397),this);return s[e(356)][e(373)](e(395)).to(this),s[e(373)](e(388)).to(this,e(395),n=>{const r=e,{collapseAt:o}=t[r(344)][r(357)](r(346)),i=n>=o;if(i&&!s[r(399)][r(394)][r(369)](e=>e instanceof lo)){const e=this[r(320)][r(344)][r(357)](r(321))-1;this[r(351)][r(303)]==e&&this[r(351)][r(303)]>1&&this[r(351)][r(396)](this[r(351)][r(303)]-1),s[r(399)][r(394)][r(371)](s[r(356)])}return i||this[r(368)](),i}),s[e(399)][e(394)][e(324)](this[e(351)])[e(404)](n=>{const r=e,o=t[r(344)][r(357)](r(346)),i=new Ro(t[r(330)],n,!!o[r(386)]);return i[r(373)](r(347)).to(s,r(388),e=>!e),i[r(373)](r(403)).to(s,r(388),e=>!e),o[r(386)]&&this[r(328)](i,r(393),()=>{const e=r;this[e(380)][e(388)]||o[e(386)](n,i[e(342)])}),i}),this[e(328)](s[e(399)],e(352),()=>{const t=e;this[t(380)][t(388)]&&this[t(377)]()}),this[e(328)](s[e(399)],e(326),()=>{const t=e;this[t(329)]&&this[t(368)]()}),s[e(399)][e(376)][e(391)](e(334),(t,n)=>{const r=e;this[r(380)][r(388)]&&(this[r(377)](),n())}),s[e(359)](),o[e(359)](),(0,r.clickOutsideHandler)({emitter:s,activator:()=>o[e(312)],contextElements:[o[e(342)],s[e(399)][e(342)]],callback:()=>this[e(368)]()}),t[e(344)][e(357)](e(335))[e(349)](s[e(342)]),this[e(384)]=new r.BodyCollection(this[e(320)][e(330)]),this[e(384)][e(338)](),this[e(384)][e(371)](this[e(322)]),s}[Vo(383)](e){const t=Vo;if(!this[t(320)][t(344)][t(357)](t(309))&&e[t(308)])return;const n=this[t(320)][t(344)][t(357)](t(321))-1;for(this[t(395)]++;this[t(351)][t(303)]>=n-(this[t(380)][t(388)]?1:0)&&this[t(351)][t(303)]>1;)this[t(351)][t(396)](1);const r=e[t(308)]?0:this[t(351)][t(303)];this[t(351)][t(371)](e,r)}[Vo(315)](e){const t=Vo;this[t(395)]--;const{collapseAt:n}=this[t(320)][t(344)][t(357)](t(346)),r=this[t(395)]>=n;if(this[t(351)][t(357)](e.id))this[t(351)][t(396)](e.id);else if(r&&this[t(351)][t(303)]+1===n-1)return;if(this[t(351)][t(303)]+(r?1:0)<this[t(395)])for(const e of Array[t(316)](this[t(392)])[t(398)]())if(!this[t(351)][t(357)](e.id)&&(this[t(351)][t(371)](e,Math[t(402)](this[t(351)][t(303)]-(r?1:0),1)),this[t(351)][t(303)]+(r?1:0)===n-1))return}[Vo(377)](){const e=Vo;if(this[e(329)])return;const t=this[e(320)][e(344)][e(357)](e(346));this[e(329)]=new ko(this[e(320)][e(330)],!!t[e(386)]),this[e(380)][e(399)][e(314)]=!0,this[e(328)](this[e(329)],e(326),()=>{const t=e;this[t(329)]&&this[t(368)]()});const{listWrapperView:n}=this[e(329)];n[e(394)][e(324)](this[e(392)])[e(404)](n=>{const r=e;if(!t[r(365)]&&n[r(308)])return null;const s=new jo(this[r(320)][r(330)],n,!!t[r(386)]);return t[r(386)]&&this[r(328)](s,r(393),()=>{const e=r;t[e(386)](n,s[e(342)])}),s}),this[e(322)][e(340)][e(371)](this[e(329)]),this[e(322)][e(382)]({target:this[e(380)][e(399)][e(342)]}),n[e(367)](),n[e(323)]();const r=(t,n)=>{const r=e;this[r(368)](),this[r(380)][r(399)][r(367)](),n()};n[e(376)][e(391)](e(354),r),n[e(376)][e(391)](e(318),r),n[e(376)][e(391)](e(305),(t,n)=>{const r=e;!function(e){const t=Bo,n=["a",t(313),t(331),t(298),t(375),t(306),t(405)][t(345)](e=>e+t(332))[t(337)](","),r=[...document[t(353)][t(389)](n)][t(350)](e=>e===document[t(319)]||e[t(325)]+e[t(341)]>0)[t(311)]((e,n)=>(e[t(401)]||0)-(n[t(401)]||0)),s=r[t(366)](e),o=r[(s+1)%r[t(303)]];o&&o[t(367)]()}(this[r(380)][r(342)]),this[r(368)](),n()}),n[e(361)][e(371)](this[e(380)][e(342)]),n[e(361)].on(e(385),(t,n,r)=>{r||this[e(368)]()})}[Vo(368)](){const e=Vo;this[e(329)]&&(this[e(380)][e(399)][e(314)]=!1,this[e(322)][e(363)](),this[e(322)][e(340)][e(396)](this[e(329)]),this[e(329)][e(307)](),this[e(329)]=void 0)}[Vo(307)](){const e=Vo;super[e(307)](),this[e(380)]&&this[e(380)][e(304)]&&this[e(380)][e(307)](),this[e(384)]&&(this[e(384)][e(333)](),this[e(384)][e(307)](),this[e(384)]=null)}}var qo=Go;function Go(e,t){var n=Yo();return(Go=function(e,t){return n[e-=380]})(e,t)}!function(e){for(var t=Go,n=e();;)try{if(784427===parseInt(t(390))/1*(-parseInt(t(381))/2)+parseInt(t(389))/3+-parseInt(t(387))/4*(parseInt(t(395))/5)+-parseInt(t(384))/6+parseInt(t(391))/7+-parseInt(t(392))/8*(-parseInt(t(386))/9)+parseInt(t(394))/10*(parseInt(t(382))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yo);class Lo extends t.ContextPlugin{static get[qo(393)](){return[$n,Jo]}static get[qo(385)](){return qo(383)}static get[qo(380)](){return!0}static get[qo(388)](){return!0}}function Yo(){var e=["77HfcQcs","PresenceList","8104602apHLFI","pluginName","63kczzDu","4EIiieO","isPremiumPlugin","1840962vzhAya","2rDvTGf","3006255YbkjGL","727688hfujKq","requires","2402890WQURyk","6114545EcjugR","isOfficialPlugin","3766QcdMOh"];return(Yo=function(){return e})()}function Ho(){var e=["4071720wZHYyW","1282856KNlsix","2898830pDypaU","664230VsyEUg","1804929umeDDs","1185332lMhtfb","376339bxvNpG","21wUySCa"];return(Ho=function(){return e})()}function zo(e,t){var n=Ho();return(zo=function(e,t){return n[e-=356]})(e,t)}!function(e){for(var t=zo,n=e();;)try{if(371573===parseInt(t(357))/1+-parseInt(t(360))/2+parseInt(t(363))/3+parseInt(t(356))/4+parseInt(t(361))/5+parseInt(t(362))/6*(-parseInt(t(358))/7)+-parseInt(t(359))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ho)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
|
|
5
|
+
*/(()=>{var __webpack_modules__={188(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))}})}},4(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)}},730(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}},791(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)},706(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},338(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}}},322(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}},792(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),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:inline-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;position:relative}.ck.ck-presence-list__list:after{background:transparent;bottom:-15px;content:"";height:15px;left:0;position:absolute;width:100%}.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-medium);outline:none;padding:0;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-presence-list__list-item:first-child{margin-left: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:5px;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);padding-left:1px}.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)*-.35);padding:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:first-child{margin-left: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 .ck-user{--ck-presence-list-avatar-border-color:var(--ck-color-base-foreground);border:2px solid var(--ck-presence-list-avatar-border-color);margin-left:0;margin-right:0}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item.ck-presence-list__users-counter{margin-left:0;margin-right:0}.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 ul{background-color:var(--ck-color-presence-list-dropdown-background)}.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}.ck.ck-presence-list__users-counter{--ck-presence-list-counter-border-color:var(--ck-user-avatar-background);--ck-presence-list-counter-background-color:var(--ck-user-avatar-color);align-items:center;background-color:var(--ck-presence-list-counter-background-color);border:2px solid var(--ck-presence-list-counter-border-color);border-radius:50%;box-sizing:border-box;display:flex;height:calc(var(--ck-user-avatar-size) - 4px);justify-content:center;line-height:100%;margin:4px 2px 2px;position:relative;width:calc(var(--ck-user-avatar-size) - 4px)}.ck.ck-presence-list__users-counter__text{--ck-presence-list-counter-text-color:var(--ck-user-avatar-background);color:var(--ck-presence-list-counter-text-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}',""]);const a=i},725(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(366),s=n.n(r),o=n(271),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},271(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}},366(e){"use strict";e.exports=function(e){return e[1]}},48(e,t,n){"use strict";e.exports=n(908)},908(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(107),r.BufferWriter=n(252),r.Reader=n(339),r.BufferReader=n(68),r.util=n(512),r.rpc=n(681),r.roots=n(843),r.configure=s,s()},339(e,t,n){"use strict";e.exports=c;var r,s=n(512),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)}})}},68(e,t,n){"use strict";e.exports=o;var r=n(339);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(512);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()},843(e){"use strict";e.exports={}},681(e,t,n){"use strict";t.Service=n(641)},641(e,t,n){"use strict";e.exports=s;var r=n(512);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}},393(e,t,n){"use strict";e.exports=s;var r=n(512);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}},512(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(188),r.base64=n(4),r.EventEmitter=n(730),r.float=n(791),r.inquire=n(706),r.utf8=n(322),r.pool=n(338),r.LongBits=n(393),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}},107(e,t,n){"use strict";e.exports=l;var r,s=n(512),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()}},252(e,t,n){"use strict";e.exports=o;var r=n(107);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(512);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()},682(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}},995(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}},789(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}}},298(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)}},825(e){"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},207(e){"use strict";e.exports=function(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}},437(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)}}}},337(e,t,n){"use strict";var r=n(995),s=n(682),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,I=this,v=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,I.slashes=a.slashes||o&&t.slashes,I.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(I.protocol)))&&(O[3]=[/(.*)/,"pathname"]);v<O.length;v++)"function"!=typeof(d=O[v])?(c=d[0],b=d[1],c!=c?I[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof d[2]?(I[b]=e.slice(0,h),e=e.slice(h+d[2])):(I[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(I[b]=h[1],e=e.slice(0,h.index)),I[b]=I[b]||o&&d[3]&&t[b]||"",d[4]&&(I[b]=I[b].toLowerCase())):e=d(e,I);n&&(I.query=n(I.query)),o&&t.slashes&&"/"!==I.pathname.charAt(0)&&(""!==I.pathname||""!==t.pathname)&&(I.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("/")}(I.pathname,t.pathname)),"/"!==I.pathname.charAt(0)&&m(I.protocol)&&(I.pathname="/"+I.pathname),r(I.port,I.protocol)||(I.host=I.hostname,I.port=""),I.username=I.password="",I.auth&&(~(h=I.auth.indexOf(":"))?(I.username=I.auth.slice(0,h),I.username=encodeURIComponent(decodeURIComponent(I.username)),I.password=I.auth.slice(h+1),I.password=encodeURIComponent(decodeURIComponent(I.password))):I.username=encodeURIComponent(decodeURIComponent(I.auth)),I.auth=I.password?I.username+":"+I.password:I.username),I.origin="file:"!==I.protocol&&m(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.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:()=>Ds,CloudServicesRevisionHistoryAdapter:()=>eo,CloudServicesTrackChangesAdapter:()=>Us,PresenceList:()=>Yo,PresenceListUI:()=>Jo,RealTimeCollaborationClient:()=>Is,RealTimeCollaborativeComments:()=>zs,RealTimeCollaborativeEditing:()=>_s,RealTimeCollaborativeRevisionHistory:()=>oo,RealTimeCollaborativeTrackChanges:()=>Qs,Sessions:()=>Zn,WebSocketGateway:()=>Kn});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>Ee,Encoder:()=>je,PacketType:()=>Ce,isPacketValid:()=>Ne,protocol:()=>_e});var t=__webpack_require__(782),n=__webpack_require__(584),r=__webpack_require__(311),s=__webpack_require__(783);class o{static DESCRIPTOR_NAME;static DESCRIPTOR;constructor(...e){}}class i extends o{static TYPE="1000";static READABLE_TYPE_NAME;constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}class a extends i{id;static TYPE="21";static READABLE_TYPE_NAME="getUser";static DESCRIPTOR_NAME="GetUserMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new a(e.id)}}class c extends i{attributes;static DESCRIPTOR_NAME="GetUserResponse";static DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};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 c(t)}}var d=__webpack_require__(48);const u=(()=>{var e=d.Reader,t=d.Writer,n=d.util,r=d.roots.default||(d.roots.default={});return 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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringStringPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringNumberPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.StringBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.PacketOptionsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.flags=t.string();break;case 2:i.rooms&&i.rooms.length||(i.rooms=[]),i.rooms.push(t.string());break;case 3:i.except&&i.except.length||(i.except=[]),i.except.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.PacketMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=t.uint32();break;case 2:i.id=t.uint32();break;case 3:i.nsp=t.string();break;case 4:i.data=t.bytes();break;case 5:i.options=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ObjectObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ObjectBufferPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.string();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberStringPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberObjectPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberNumberPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.NumberBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.uint32();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.BytesBytesPacketDataMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.data=t.bytes();break;case 2:i.data1=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.ChannelMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.type=t.uint32();break;case 2:i.socketId=t.string();break;case 3:i.data=t.bytes();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetUserResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetManyUsersResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.users&&i.users.length||(i.users=[]),i.users.push(r.UserDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetUserMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.id=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetManyUsersMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.ids&&i.ids.length||(i.ids=[]),i.ids.push(t.string())):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.UserDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?(i.attributes&&i.attributes.length||(i.attributes=[]),i.attributes.push(r.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetSuggestionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetAllSuggestionsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(t.string());break;case 2:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.suggestions&&i.suggestions.length||(i.suggestions=[]),i.suggestions.push(t.string());break;case 3:i.suggestionsV2&&i.suggestionsV2.length||(i.suggestionsV2=[]),i.suggestionsV2.push(r.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesAddSuggestionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesUpdateSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;case 3:i.hasComments=t.bool();break;case 4:i.isHasCommentsModified=t.bool();break;case 5:i.state=t.string();break;case 6:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesGetAllSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesBatchUpdateSuggestionsStateMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.ids&&i.ids.length||(i.ids=[]),i.ids.push(t.string());break;case 2:i.documentId=t.string();break;case 3:i.state=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.TrackChangesAddSuggestionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.documentId=t.string();break;case 3:i.type=t.string();break;case 4:i.data=t.string();break;case 5:i.originalSuggestionId=t.string();break;case 6:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SuggestionDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.authorId=t.string();break;case 3:i.type=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.data=t.string();break;case 6:i.hasComments=t.bool();break;case 7:i.state=t.string();break;case 8:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.sockets&&i.sockets.length||(i.sockets=[]),i.sockets.push(r.SessionsSocketDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SocketDisconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.id=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SocketConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.userId=t.string();break;case 3:i.role=t.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.sessionType=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.SessionsSocketDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.session=t.string();break;case 2:i.user=t.string();break;case 3:i.role=t.string();break;case 4:i.permissions&&i.permissions.length||(i.permissions=[]),i.permissions.push(t.string());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryUpdateRevisionsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.requestId=t.uint32():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryGetRevisionResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=t.string();break;case 2:i.name=t.string();break;case 3:i.creatorId=t.string();break;case 4:i.authorsIds=t.string();break;case 5:i.diffData=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;case 8:i.toVersion=t.uint32();break;case 9:i.fromVersion=t.uint32();break;case 10:i.isEmptyCurrent=t.bool();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.requestId=t.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryUpdateRevisionsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.requestId=t.uint32();break;case 3:i.revisions&&i.revisions.length||(i.revisions=[]),i.revisions.push(r.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryReconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.requestId=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryGetRevisionMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.revisionId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionHistoryConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},s}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.RevisionDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.revisionId=t.string();break;case 2:i.name=t.string();break;case 3:i.creatorId=t.string();break;case 4:i.authorsIds=t.string();break;case 5:i.diffData=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;case 8:i.toVersion=t.uint32();break;case 9:i.fromVersion=t.uint32();break;case 10:i.isEmptyCurrent=t.bool();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.IsEditorBundleUploadedResponse;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.isUploaded=t.bool():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},n.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},n}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.IsEditorBundleUploadedMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.bundleVersion=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.KeyValueDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.key=t.string();break;case 2:i.value=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetDocumentThreadsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(t.string());break;case 2:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(t.string());break;case 3:i.commentsV2&&i.commentsV2.length||(i.commentsV2=[]),i.commentsV2.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 4:i.resolvedAt=t.string();break;case 5:i.resolvedBy=t.string();break;case 6:i.context=t.string();break;case 7:i.createdAt=t.string();break;case 8:i.deletedAt=t.string();break;case 9:i.attributes=t.string();break;case 10:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.threads&&i.threads.length||(i.threads=[]),i.threads.push(t.string());break;case 3:i.threadsV2&&i.threadsV2.length||(i.threadsV2=[]),i.threadsV2.push(r.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ResolveCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.resolvedAt=t.string();break;case 4:i.resolvedBy=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentThreadResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.createdAt=t.string();break;case 3:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentThreadAddedCommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2UpdateCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.content=t.string();break;case 4:i.documentId=t.string();break;case 5:i.attributes=t.string();break;case 6:i.isAttributesUpdated=t.bool();break;case 7:i.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2RemoveCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2RemoveCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.commentId=t.string();break;case 3:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetDocumentThreadsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2GetCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;a>>>3==1?i.documentId=t.string():t.skipType(7&a)}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.content=t.string();break;case 3:i.documentId=t.string();break;case 4:i.commentId=t.string();break;case 5:i.createdAt=t.string();break;case 6:i.userId=t.string();break;case 7:i.attributes=t.string();break;case 8:i.commentThread=r.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2UpdateCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.context=t.string();break;case 4:i.attributes=t.string();break;case 5:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ResolveCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;case 3:i.resolvedBy=t.string();break;case 4:i.resolvedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2ReopenCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.documentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsV2AddCommentThreadMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.commentThreadId=t.string();break;case 3:i.context=t.string();break;case 4:i.createdAt=t.string();break;case 5:i.resolvedAt=t.string();break;case 6:i.resolvedBy=t.string();break;case 7:i.attributes=t.string();break;case 8:i.deletedAt=t.string();break;case 9:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentThreadAddedCommentDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=t.string();break;case 2:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentsThreadDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentThreadId=t.string();break;case 2:i.comments&&i.comments.length||(i.comments=[]),i.comments.push(r.CommentDescriptor.decode(t,t.uint32()));break;case 3:i.resolvedAt=t.string();break;case 4:i.resolvedBy=t.string();break;case 5:i.context=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.deletedAt=t.string();break;case 8:i.attributes=t.string();break;case 9:i.unlinkedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CommentDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.commentId=t.string();break;case 2:i.commentThreadId=t.string();break;case 3:i.userId=t.string();break;case 4:i.content=t.string();break;case 5:i.documentId=t.string();break;case 6:i.createdAt=t.string();break;case 7:i.attributes=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetDocumentDetailsResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.lastDocumentSessionId=t.string();break;case 2:i.lastDocumentSessionOperationId=t.string();break;case 3:i.currentDocumentSessionId=t.string();break;case 4:i.currentDocumentSessionVersion=t.uint32();break;case 5:i.currentDocumentSessionOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.version=t.uint32();break;case 2:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 3:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 5:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 6:i.lastOperationId=t.string();break;case 7:i.lastOperationAcceptedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingConnectResponse;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.channel=t.string();break;case 2:i.offset=t.uint32();break;case 3:i.version=t.uint32();break;case 4:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 5:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 7:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 8:i.initData=t.string();break;case 9:i.isInitialized=t.bool();break;case 10:i.sessionId=t.string();break;case 11:i.lastOperationId=t.string();break;case 12:i.sessionCreatedAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.GetDocumentDetailsMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.documentId=t.string();break;case 2:i.environmentId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingUpdateMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.baseVersion=t.uint32();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 6:i.metadata&&i.metadata.length||(i.metadata=[]),i.metadata.push(r.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 7:i.lastOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingReconnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.bundleVersion=t.string();break;case 3:i.lastKnowVersion=t.uint32();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.CollaborativeEditingConnectMessage;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.id=t.string();break;case 2:i.bundleVersion=t.string();break;case 3:i.buffers&&i.buffers.length||(i.buffers=[]),i.buffers.push(t.bytes());break;case 4:if(i.types&&i.types.length||(i.types=[]),2==(7&a))for(var c=t.uint32()+t.pos;t.pos<c;)i.types.push(t.uint32());else i.types.push(t.uint32());break;case 5:i.lastOperationId=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},s}(),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,s){t instanceof e||(t=e.create(t));for(var o=void 0===n?t.len:t.pos+n,i=new r.OperationMetadataDescriptor;t.pos<o;){var a=t.uint32();if(a===s)break;switch(a>>>3){case 1:i.userId=t.string();break;case 2:i.type=t.string();break;case 3:i.createdAt=t.string();break;default:t.skipType(7&a)}}return i},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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},s}(),r})();class l{static decode(e,t){const n=p(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=p(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}function p(e){return u[e.DESCRIPTOR_NAME]}class h extends i{ids;static TYPE="22";static READABLE_TYPE_NAME="getManyUsers";static DESCRIPTOR_NAME="GetManyUsersMessage";static DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new h(e.ids)}}class f extends i{users;static DESCRIPTOR_NAME="GetManyUsersResponse";static DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(m)}}static fromJSON(e){return new f(e.users.map(y))}}function m(e){return{attributes:Object.keys(e).map(t=>({key:t,value:JSON.stringify(e[t])}))}}function y(e){return e.attributes.reduce((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e),{})}class g{static _SERVICE=2;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 g(e)}static async get(e,t){const n=new a(t);try{const t=await e._sendRequest(g._SERVICE,a.TYPE,l.encode(n)),r=l.decode(t,c);return new g(r.attributes)}catch(e){return new g({id:t})}}static async getMany(e,t){const n=new h(t);try{const t=await e._sendRequest(g._SERVICE,h.TYPE,l.encode(n));return l.decode(t,f).users.map(e=>new g(e))}catch(e){return t.map(e=>new g({id:e}))}}}const b=g,O=Object.create(null);O.open="0",O.close="1",O.ping="2",O.pong="3",O.message="4",O.upgrade="5",O.noop="6";const w=Object.create(null);Object.keys(O).forEach(e=>{w[O[e]]=e});const I={type:"error",data:"parser error"},v="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),S="function"==typeof ArrayBuffer,k=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,P=({type:e,data:t},n,r)=>v&&t instanceof Blob?n?r(t):A(t,r):S&&(t instanceof ArrayBuffer||k(t))?n?r(t):A(new Blob([t]),r):r(O[e]+(t||"")),A=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function T(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let _;const C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)j[C.charCodeAt(e)]=e;const E="function"==typeof ArrayBuffer,D=(e,t)=>{if("string"!=typeof e)return{type:"message",data:R(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:x(e.substring(1),t)};return w[n]?e.length>1?{type:w[n],data:e.substring(1)}:{type:w[n]}:I},x=(e,t)=>{if(E){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=j[e.charCodeAt(t)],r=j[e.charCodeAt(t+1)],s=j[e.charCodeAt(t+2)],o=j[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 R(n,t)}return{base64:!0,data:e}},R=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,N=String.fromCharCode(30);function V(){return new TransformStream({transform(e,t){!function(e,t){v&&e.data instanceof Blob?e.data.arrayBuffer().then(T).then(t):S&&(e.data instanceof ArrayBuffer||k(e.data))?t(T(e.data)):P(e,!1,e=>{_||(_=new TextEncoder),t(_.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 M;function B(e){return e.reduce((e,t)=>e+t.length,0)}function U(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 J(e){if(e)return function(e){for(var t in J.prototype)e[t]=J.prototype[t];return e}(e)}J.prototype.on=J.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},J.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},J.prototype.off=J.prototype.removeListener=J.prototype.removeAllListeners=J.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},J.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},J.prototype.emitReserved=J.prototype.emit,J.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},J.prototype.hasListeners=function(e){return!!this.listeners(e).length};const q="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function G(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}const L=q.setTimeout,Y=q.clearTimeout;function H(e,t){t.useNativeTimers?(e.setTimeoutFn=L.bind(q),e.clearTimeoutFn=Y.bind(q)):(e.setTimeoutFn=q.setTimeout.bind(q),e.clearTimeoutFn=q.clearTimeout.bind(q))}function z(e){return"string"==typeof e?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}(e):Math.ceil(1.33*(e.byteLength||e.size))}class F extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class K extends J{constructor(e){super(),this.writable=!1,H(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new F(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=D(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 W="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Q={};let X,Z=0,$=0;function ee(e){let t="";do{t=W[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function te(){const e=ee(+new Date);return e!==X?(Z=0,X=e):e+"."+ee(Z++)}for(;$<64;$++)Q[W[$]]=$;let ne=!1;try{ne="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const re=ne;function se(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||re))return new XMLHttpRequest}catch(e){}if(!t)try{return new(q[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function oe(){}const ie=null!=new se({xdomain:!1}).responseType;class ae extends J{constructor(e,t){super(),H(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=G(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new se(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=ae.requestsCount++,ae.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=oe,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete ae.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(ae.requestsCount=0,ae.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",ce);else if("function"==typeof addEventListener){addEventListener("onpagehide"in q?"pagehide":"unload",ce,!1)}function ce(){for(let e in ae.requests)ae.requests.hasOwnProperty(e)&&ae.requests[e].abort()}const de="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ue=q.WebSocket||q.MozWebSocket,le="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const pe={websocket:class extends K{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=le?{}:G(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=le?new ue(e,t,n):t?new ue(e,t):new ue(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;P(n,this.supportsBinary,e=>{try{this.ws.send(e)}catch(e){}r&&de(()=>{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]=te()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!ue}},webtransport:class extends K{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){M||(M=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(B(n)<1)break;const e=U(n,1);o=!(128&~e[0]),s=127&e[0],r=s<126?3:126===s?1:2}else if(1===r){if(B(n)<2)break;const e=U(n,2);s=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(2===r){if(B(n)<8)break;const e=U(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),o=t.getUint32(0);if(o>Math.pow(2,21)-1){a.enqueue(I);break}s=o*Math.pow(2,32)+t.getUint32(4),r=3}else{if(B(n)<s)break;const e=U(n,s);a.enqueue(D(o?e:M.decode(e),t)),r=0}if(0===s||s>e){a.enqueue(I);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=V();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&&de(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends K{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=ie&&!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(N),r=[];for(let e=0;e<n.length;e++){const s=D(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)=>{P(e,!1,e=>{r[o]=e,++s===n&&t(r.join(N))})})})(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]=te()),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 ae(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}}},he=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,fe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function me(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=he.exec(e||""),o={},i=14;for(;i--;)o[fe[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 ye extends J{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=me(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=me(t.host).host),H(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 pe[e](n)}open(){let e;if(this.opts.rememberUpgrade&&ye.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;ye.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;ye.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",ye.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 t=0;t<this.writeBuffer.length;t++){const n=this.writeBuffer[t].data;if(n&&(e+=z(n)),t>0&&e>this.maxPayload)return this.writeBuffer.slice(0,t);e+=2}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){ye.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}}ye.protocol=4;ye.protocol;const ge="function"==typeof ArrayBuffer,be=Object.prototype.toString,Oe="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===be.call(Blob),we="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===be.call(File);function Ie(e){return ge&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||Oe&&e instanceof Blob||we&&e instanceof File}function ve(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(ve(e[t]))return!0;return!1}if(Ie(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return ve(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&ve(e[t]))return!0;return!1}function Se(e){const t=[],n=e.data,r=e;return r.data=ke(n,t),r.attachments=t.length,{packet:r,buffers:t}}function ke(e,t){if(!e)return e;if(Ie(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]=ke(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]=ke(e[r],t));return n}return e}function Pe(e,t){return e.data=Ae(e.data,t),delete e.attachments,e}function Ae(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]=Ae(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=Ae(e[n],t));return e}const Te=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],_e=5;var Ce;!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"}(Ce||(Ce={}));class je{constructor(e){this.replacer=e}encode(e){return e.type!==Ce.EVENT&&e.type!==Ce.ACK||!ve(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===Ce.EVENT?Ce.BINARY_EVENT:Ce.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==Ce.BINARY_EVENT&&e.type!==Ce.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=Se(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}class Ee extends J{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},"function"==typeof e?{reviver:e}: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===Ce.BINARY_EVENT;n||t.type===Ce.BINARY_ACK?(t.type=n?Ce.EVENT:Ce.ACK,this.reconstructor=new De(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!Ie(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===Ce[n.type])throw new Error("unknown packet type "+n.type);if(n.type===Ce.BINARY_EVENT||n.type===Ce.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");const o=Number(s);if(!xe(o)||o<0)throw new Error("Illegal attachments");if(o>this.opts.maxAttachments)throw new Error("too many attachments");n.attachments=o}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(!Ee.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case Ce.CONNECT:return Re(t);case Ce.DISCONNECT:return void 0===t;case Ce.CONNECT_ERROR:return"string"==typeof t||Re(t);case Ce.EVENT:case Ce.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Te.indexOf(t[0]));case Ce.ACK:case Ce.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class De{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=Pe(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const xe=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};function Re(e){return"[object Object]"===Object.prototype.toString.call(e)}function Ne(e){return"string"==typeof e.nsp&&(void 0===(t=e.id)||xe(t))&&function(e,t){switch(e){case Ce.CONNECT:return void 0===t||Re(t);case Ce.DISCONNECT:return void 0===t;case Ce.EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===Te.indexOf(t[0]));case Ce.ACK:return Array.isArray(t);case Ce.CONNECT_ERROR:return"string"==typeof t||Re(t);default:return!1}}(e.type,e.data);var t}function Ve(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const Me=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Be extends J{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=[Ve(e,"open",this.onopen.bind(this)),Ve(e,"packet",this.onpacket.bind(this)),Ve(e,"error",this.onerror.bind(this)),Ve(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(Me.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:Ce.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:Ce.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 Ce.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 Ce.EVENT:case Ce.BINARY_EVENT:this.onevent(e);break;case Ce.ACK:case Ce.BINARY_ACK:this.onack(e);break;case Ce.DISCONNECT:this.ondisconnect();break;case Ce.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:Ce.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:Ce.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 Ue(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}Ue.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)},Ue.prototype.reset=function(){this.attempts=0},Ue.prototype.setMin=function(e){this.ms=e},Ue.prototype.setMax=function(e){this.max=e},Ue.prototype.setJitter=function(e){this.jitter=e};class Je extends J{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,H(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 Ue({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 ye(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=Ve(t,"open",function(){n.onopen(),e&&e()}),s=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=Ve(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(Ve(e,"ping",this.onping.bind(this)),Ve(e,"data",this.ondata.bind(this)),Ve(e,"error",this.onerror.bind(this)),Ve(e,"close",this.onclose.bind(this)),Ve(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){de(()=>{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 Be(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 qe={};function Ge(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=me(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=qe[s]&&o in qe[s].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||i?a=new Je(r,t):(qe[s]||(qe[s]=new Je(r,t)),a=qe[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ge,{Manager:Je,Socket:Be,io:Ge,connect:Ge});var Le=__webpack_require__(337);class Ye extends i{type;socketId;data;static DESCRIPTOR_NAME="ChannelMessage";static DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};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 Ye(e.type,e.socketId,e.data)}}const He=class extends((0,n.EmitterMixin)()){_channelName;_wsGateway;_socket;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=l.decode(e,Ye);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)})}};(Object.getOwnPropertyDescriptor(He,"name")||{}).writable||Object.defineProperty(He,"name",{value:"default",configurable:!0});class ze extends Error{context;code;data;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 ze(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 Fe extends Error{code;traceId;data;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 Fe(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 Ke extends i{flags;rooms;except;static TYPE=11;static DESCRIPTOR_NAME="PacketOptionsMessage";static DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:this.rooms?.length?this.rooms:void 0,except:this.except?.length?this.except:void 0}}static fromJSON(e){return new Ke(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}const We=(()=>!("undefined"==typeof process||!process.versions?.node))(),Qe=1,Xe=2,Ze=3,$e=4;class et{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(et.isBuffer(e))return Qe;const t=typeof e;return"string"===t?Xe:"number"===t?Ze:$e}static isBuffer(e){return We&&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 tt extends i{data;data1;static create(e,t){throw new TypeError("Must be implemented in a child class!")}}class nt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Qe))();static DESCRIPTOR_NAME="NumberBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new nt(e.data,e.data1)}static create(e,t){return new nt(e,t)}}class rt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,Qe))();static DESCRIPTOR_NAME="StringBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new rt(e.data,e.data1)}static create(e,t){return new rt(e,t)}}class st extends tt{data;data1;static TYPE=(()=>et.getPacketType(Qe,Qe))();static DESCRIPTOR_NAME="BytesBytesPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new st(e.data,e.data1)}static create(e,t){return new st(e,t)}}class ot extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,$e))();static DESCRIPTOR_NAME="StringObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};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 ot(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new ot(e,t)}}class it extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,$e))();static DESCRIPTOR_NAME="NumberObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};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 it(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new it(e,t)}}class at extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,$e))();static DESCRIPTOR_NAME="ObjectObjectPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};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 at(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new at(e,t)}}class ct extends tt{data;data1;static TYPE=(()=>et.getPacketType($e,Qe))();static DESCRIPTOR_NAME="ObjectBufferPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};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 ct(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new ct(e,t)}}class dt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,Xe))();static DESCRIPTOR_NAME="StringStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new dt(e.data,e.data1)}static create(e,t){return new dt(e,t)}}class ut extends tt{data;data1;static TYPE=(()=>et.getPacketType(Xe,Ze))();static DESCRIPTOR_NAME="StringNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};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)}}class lt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Ze))();static DESCRIPTOR_NAME="NumberNumberPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new lt(e.data,e.data1)}static create(e,t){return new lt(e,t)}}class pt extends tt{data;data1;static TYPE=(()=>et.getPacketType(Ze,Xe))();static DESCRIPTOR_NAME="NumberStringPacketDataMessage";static DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};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)}}const ht=(()=>[nt,rt,st,ot,it,at,ct,dt,ut,lt,pt].reduce((e,t)=>(e[t.TYPE]=t,e),{}))();class ft extends i{type;data;id;nsp;options;static TYPE=10;static DESCRIPTOR_NAME="PacketMessage";static 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}}};constructor(e,t,n,r="/",s){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=s??new Ke}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=l.encode(this.options),t=l.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 ft(e.type-10*t,l.decode(e.data,ht[t]),e.id,e.nsp,e.options?l.decode(e.options,Ke):new Ke)}static create(e,t={}){const n=et.getPacketType(et.getType(e.data[0]),et.getType(e.data[1]??e.data[0]));return new ft(e.type,ht[n].create(e.data[0],e.data[1]),e.id,e.nsp,new Ke(t.flags,t.rooms,t.except))}}class mt{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 l.encode(ft.create(o,s))}decode(e){const t=l.decode(e,ft);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 yt=(()=>[Ce.EVENT,Ce.ACK,Ce.BINARY_ACK,Ce.BINARY_EVENT])();class gt extends je{_packetParser;constructor(e){super(),this._packetParser=e??new mt}encode(e){if(yt.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 bt extends Ee{_packetParser;constructor(e){super(),this._packetParser=e??new mt}add(e){if(!et.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 Ot{_context;_deferredPromise=function(){let e,t;const n=new Promise((n,r)=>{e=n,t=r});return{resolve:e,reject:t,promise:n}}();timeout;constructor(e,t){this._context=e,this.timeout=setTimeout(()=>this.error(new ze("Request timeout.",this._context)),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}class wt{_context;_requests=new Set;constructor(e){this._context=e}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 Ot(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 It={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected"};class vt extends((0,n.ObservableMixin)()){_requestsManager;_url;_socket;_socketAuth;_channels;_connectionAttempt=0;_token;_options;_connectionProvider;_userFactory;static STATE_DISCONNECTED=(()=>It.DISCONNECTED)();static STATE_CONNECTING=(()=>It.CONNECTING)();static STATE_CONNECTED=(()=>It.CONNECTED)();static _CHANGE_STATE_EVENT_PRIORITY=(()=>n.priorities.get("highest")+999999)();constructor(e,t,n,r,s){if(super(),this._token=t,this._options=n??{},this._connectionProvider=r??Ge,this._userFactory=s??b.get,this._requestsManager=new wt(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=Le(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",It.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",async(e,t,n)=>{if(this._debugEvent("ws-gw:change:state",n),n!==vt.STATE_CONNECTED){if(n===vt.STATE_DISCONNECTED)return this._requestsManager.errorAll(new ze("Not connected.",this))}else try{this.me=await this._userFactory.call(b,this,this._socketAuth?.userId)}catch(e){}},{priority:vt._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(){this.state!==It.DISCONNECTED&&(this._socket?.disconnect(),this._socket=void 0,this.state=It.DISCONNECTED)}async reconnect(){this._socket||this.state!==It.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=Ge,s=b.get){const o=new vt(t,e,n,r,s);return await o._connect(),o}_sendRequest(e,t,n){if(!e)throw new ze("`serviceName` must be provided.",this);if(this.state!==vt.STATE_CONNECTED)throw new ze("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new ze("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 He(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(){if(this._socket)return this._socket;const e=this._url.port||this._getPortByProtocol(this._url.protocol),t=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+e,n=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",r=this._connectionProvider(t,{parser:{Encoder:gt,Decoder:bt},path:n+"/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:"53.0.4"},agent:this._options.agent??!1,closeOnBeforeunload:!1});return this.state=It.CONNECTING,r.on("connect",()=>{this._debugEvent("connect"),this.socketId=r.id}),r.on("connect_error",e=>{this._debugEvent("connect_error",e)}),r.on("disconnect",()=>{this._debugEvent("disconnect"),this._onDisconnect()}),r.io.on("reconnect",async()=>{this._debugEvent("reconnect"),await this._onReconnect()}),r.io.on("reconnect_attempt",e=>{this._debugEvent("reconnect_attempt",e),this.state=It.CONNECTING,this._connectionAttempt=e}),r.on("unauthorized",e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)}),r.on("authenticationRequest",async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()}),this._socket=r,r}_emit(e,t){const n=this._socket;return this._requestsManager.send(r=>{n.emit(e,t,(e,t)=>{if(e)return r.error(Fe.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=It.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=It.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(ze.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",Fe.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(){return!!n.global.window.localStorage&&"true"===(n.global.window.localStorage.getItem("csClientDebugMode")??"false").toLowerCase()}}const St=vt;class kt extends i{bundleVersion;static TYPE="131";static READABLE_TYPE_NAME="isEditorBundleUploaded";static DESCRIPTOR_NAME="IsEditorBundleUploadedMessage";static DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new kt(e.bundleVersion)}}class Pt extends i{isUploaded;static DESCRIPTOR_NAME="IsEditorBundleUploadedResponse";static DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new Pt(e.isUploaded)}}class At extends((0,n.EmitterMixin)()){static _SERVICE=13;static async isBundleUploaded(e,t){const n=new kt(t);if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(At._SERVICE,kt.TYPE,l.encode(n));return l.decode(r,Pt).isUploaded}}const Tt=At;class _t extends i{documentId;revisionId;static TYPE="123";static READABLE_TYPE_NAME="getRevision";static DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new _t(e.documentId,e.revisionId)}}class Ct extends o{static DESCRIPTOR_NAME="RevisionDescriptor";static 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}}};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){return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?.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})}}class jt extends i{revisionId;name;creatorId;authorsIds;createdAt;diffData;attributes;fromVersion;toVersion;isEmptyCurrent;static DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse";static DESCRIPTOR=(()=>Ct.DESCRIPTOR)();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 Ct.toJSON(this)}toObject(){return Ct.toObject(this)}static create(e){return new jt(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 jt(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)}}class Et extends i{documentId;requestId;revisions;static TYPE="124";static READABLE_TYPE_NAME="updateRevisions";static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};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(Ct.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Ct.toObject)}}static create(e){return new Et(e.documentId,e.requestId,e.revisions.map(Ct.create))}static fromJSON(e){return new Et(e.documentId,e.requestId,e.revisions.map(Ct.fromJSON))}}class Dt extends i{requestId;static DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse";static DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new Dt(e.requestId)}}class xt extends i{documentId;static TYPE="121";static READABLE_TYPE_NAME="connectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new xt(e.documentId)}}class Rt extends i{channel;requestId;revisions;static DESCRIPTOR_NAME="RevisionHistoryConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};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(Ct.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Ct.toObject)}}static fromJSON(e){return new Rt(e.channel,e.requestId,e.revisions.map(Ct.fromJSON))}}class Nt extends i{documentId;requestId;static TYPE="122";static READABLE_TYPE_NAME="reconnectToRevisionHistory";static DESCRIPTOR_NAME="RevisionHistoryReconnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new Nt(e.documentId,e.requestId)}}class Vt extends ze{constructor(e,t){super(e+" Service is not connected.",t)}}class Mt extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=12;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new xt(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 ze("Cannot reconnect to already connected service.",e);return this._connect(e,new Nt(this._documentId,t))}async updateRevisions(e,t){const n=Et.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(Et.TYPE,n),{requestId:s}=l.decode(r,Dt);return s}async getRevision(e){const t=new _t(this._documentId,e),n=await this._sendRequest(_t.TYPE,t);return l.decode(n,jt).toObject()}async _connect(e,t){if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(12,t.constructor.TYPE,l.encode(t)),{channel:r,requestId:s,revisions:o}=l.decode(n,Rt).toObject();return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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(Mt._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Et.TYPE),(e,t)=>{const{documentId:n,requestId:r,revisions:s}=l.decode(t,Et).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})})}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Revision History",this);return this._wsGateway._sendRequest(12,e,l.encode(t))}}const Bt=Mt;class Ut extends i{id;documentId;type;data;originalSuggestionId;attributes;static TYPE="101";static READABLE_TYPE_NAME="addSuggestion";static DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage";static 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}}};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){return new Ut(e.id,e.documentId,e.type,JSON.parse(e.data),e.originalSuggestionId??null,e.attributes?JSON.parse(e.attributes):null)}}class Jt extends i{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse";static 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}}};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(){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 Jt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}class qt extends i{id;documentId;static TYPE="103";static READABLE_TYPE_NAME="getSuggestion";static DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new qt(e.id,e.documentId)}}class Gt extends i{id;authorId;type;hasComments;state;data;attributes;createdAt;static DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse";static 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}}};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 Gt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}class Lt extends i{documentId;static TYPE="102";static READABLE_TYPE_NAME="getAllSuggestions";static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Lt(e.documentId)}}class Yt extends o{static DESCRIPTOR_NAME="SuggestionDescriptor";static 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"}}};static toJSON(e){return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:e.createdAt?.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}}}class Ht extends i{_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse";static DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=t?.length?t:e}toJSON(){return{suggestions:this._suggestions?.map(e=>JSON.stringify(e)),suggestionsV2:this._suggestionsV2?.map(Yt.toJSON)}}static fromJSON(e){return new Ht(e.suggestions?.map(zt),e.suggestionsV2?.map(Yt.fromJSON))}}function zt(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}class Ft extends i{id;documentId;hasComments;isHasCommentsModified;state;attributes;static TYPE="104";static READABLE_TYPE_NAME="updateSuggestion";static DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage";static 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}}};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 Ft(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}class Kt extends i{documentId;static TYPE="105";static READABLE_TYPE_NAME="connectToSuggestions";static DESCRIPTOR_NAME="TrackChangesConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Kt(e.documentId)}}class Wt extends i{channel;_suggestions;_suggestionsV2;suggestions;static DESCRIPTOR_NAME="TrackChangesConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=n?.length?n:t}toJSON(){return{channel:this.channel,suggestions:this._suggestions?.map(e=>JSON.stringify(e)),suggestionsV2:this._suggestionsV2?.map(Yt.toJSON)}}static fromJSON(e){return new Wt(e.channel,e.suggestions?.map(e=>JSON.parse(e)),e.suggestionsV2?.map(Yt.fromJSON))}}class Qt extends i{ids;documentId;state;static TYPE="106";static READABLE_TYPE_NAME="batchUpdateSuggestionsState";static DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage";static DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};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 Qt(e.ids,e.documentId,e.state)}}class Xt extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;static _SERVICE=10;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const t=new Kt(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(10,Kt.TYPE,l.encode(t)),r=l.decode(n,Wt);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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 Ut(e,this._documentId,t,n,r,s),i=await this._sendRequest(Ut.TYPE,o);return l.decode(i,Jt)}async get(e,t=1){const n=new qt(e,this._documentId);try{const e=await this._sendRequest(qt.TYPE,n);return l.decode(e,Gt)}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 Fe.fromPublicError(n)}var r}async getAll(){const e=new Lt(this._documentId),t=await this._sendRequest(Lt.TYPE,e),{suggestions:n}=l.decode(t,Ht);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:s}=t,o=void 0!==n,i=new Ft(e,this._documentId,n,o,r,s);await this._sendRequest(Ft.TYPE,i)}async batchUpdateState(e){const t=new Qt(e.ids,this._documentId,e.state);await this._sendRequest(Qt.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(Xt._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Ft.TYPE),(e,t)=>{const n=l.decode(t,Ft);this.fire("suggestionUpdated",n)})}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Track Changes",this);return this._wsGateway._sendRequest(10,e,l.encode(t))}}const Zt=Xt,$t={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let en;const tn=new Uint8Array(16);function nn(){if(!en&&(en="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!en))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return en(tn)}const rn=[];for(let e=0;e<256;++e)rn.push((e+256).toString(16).slice(1));function sn(e,t=0){return rn[e[t+0]]+rn[e[t+1]]+rn[e[t+2]]+rn[e[t+3]]+"-"+rn[e[t+4]]+rn[e[t+5]]+"-"+rn[e[t+6]]+rn[e[t+7]]+"-"+rn[e[t+8]]+rn[e[t+9]]+"-"+rn[e[t+10]]+rn[e[t+11]]+rn[e[t+12]]+rn[e[t+13]]+rn[e[t+14]]+rn[e[t+15]]}const on=function(e,t,n){if($t.randomUUID&&!t&&!e)return $t.randomUUID();const r=(e=e||{}).random||(e.rng||nn)();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 sn(r)};class an extends i{channel;sockets;static DESCRIPTOR_NAME="SessionsConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};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 an(e.channel,e.sockets.map(e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions})))}}class cn extends i{id;sessionType;static TYPE="31";static READABLE_TYPE_NAME="getConnectedSockets";static DESCRIPTOR_NAME="SessionsConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new cn(e.id,e.sessionType)}}class dn extends i{id;userId;role;permissions;static TYPE="32";static READABLE_TYPE_NAME="connectSocket";static DESCRIPTOR_NAME="SocketConnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){return{id:this.id,userId:this.userId??void 0,role:this.role??void 0,permissions:this.permissions??void 0}}static fromJSON(e){return new dn(e.id,e.userId,e.role,e.permissions)}}class un extends i{id;static TYPE="33";static READABLE_TYPE_NAME="disconnectSocket";static DESCRIPTOR_NAME="SocketDisconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1}}};constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new un(e.id)}}const ln=class extends n.Collection{_id;_sessionType;_handlers=new Map;_channel;_wsGateway;_connected;_eventsQueue=[];_isRunning=!1;constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new cn(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(3,cn.TYPE,l.encode(t));n=l.decode(e,an)}catch(e){n=new an(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 b.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 b,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:St._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,dn.TYPE,async t=>{const n=l.decode(t,dn);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await b.get(e,n.userId)),super.add(t)}}),this._addHandler(this._channel,un.TYPE,e=>{const t=l.decode(e,un);-1!==this.getIndex(t.id)&&super.remove(t.id)}))}async _onWsGatewayStateChange(e){e===St.STATE_DISCONNECTED&&this.disconnect(!1),e===St.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)}};(Object.getOwnPropertyDescriptor(ln,"name")||{}).writable||Object.defineProperty(ln,"name",{value:"default",configurable:!0});class pn{static async getConnectedSessions(e,t,n){const r=new ln(t,n);return await r.connect(e),r}}class hn extends i{id;buffers;types;bundleVersion;lastOperationId;static TYPE="11";static READABLE_TYPE_NAME="connectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingConnectMessage";static 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}}};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 hn(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}class fn{static prepareMetadataForOperations(e,t){if(!e?.length||!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?.length||!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 mn extends o{static DESCRIPTOR_NAME="OperationMetadataDescriptor";static DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};static toJSON({createdAt:e,...t}){const n={...t};return e?.toISOString&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}class yn extends i{id;buffers;types;baseVersion;metadata;lastOperationId;static TYPE="13";static READABLE_TYPE_NAME="updateDocument";static DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage";static 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}}};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:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new yn(e.id,e.buffers,e.types,e.baseVersion,fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),e.lastOperationId)}}class gn extends i{id;lastKnowVersion;bundleVersion;static TYPE="12";static READABLE_TYPE_NAME="reconnectToDocument";static DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage";static DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};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 gn(e.id,e.lastKnowVersion,e.bundleVersion)}}class bn extends i{version;buffers;types;metadata;lastOperationId;lastOperationAcceptedAt;static DESCRIPTOR_NAME="CollaborativeEditingResponse";static 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}}};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(){return!this.types?.length}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new bn(e.version,e.buffers,e.types,fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new bn(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}class On extends i{channel;version;buffers;types;offset;metadata;initData;sessionId;lastOperationId;sessionCreatedAt;static DESCRIPTOR_NAME="CollaborativeEditingConnectResponse";static 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:mn.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}}}))();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(){return!this.types?.length&&null===this.initData}toJSON(){return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:fn.removeUnnecessaryMetadata(this.types,this.metadata).map(mn.toJSON),initData:this.initData??"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new On(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){let t=null;return!0===e.isInitialized?t=e.initData??"":"boolean"!=typeof e.isInitialized&&e.initData&&(t=e.initData),On.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:fn.prepareMetadataForOperations(e.types,e.metadata).map(mn.fromJSON),initData:t,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}class wn extends i{lastDocumentSession;currentDocumentSession;static DESCRIPTOR_NAME="GetDocumentDetailsResponse";static 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}}};constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.lastOperationId}}toJSON(){return{lastDocumentSessionId:this.lastDocumentSession?.id,lastDocumentSessionOperationId:this.lastDocumentSession?.lastOperationId,currentDocumentSessionId:this.currentDocumentSession?.id,currentDocumentSessionVersion:this.currentDocumentSession?.version,currentDocumentSessionOperationId:this.currentDocumentSession?.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 wn(t,n)}}class In extends i{documentId;static TYPE="14";static READABLE_TYPE_NAME="getDocumentDetails";static DESCRIPTOR_NAME="GetDocumentDetailsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new In(e.documentId)}}const vn=class extends((0,n.EmitterMixin)()){static _SERVICE=1;_bundleVersion;_id;_isConnected;_wsGateway;_channel;_connectedSessions;constructor(e,t){if(super(),!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=t??on(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new hn(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new ze("Cannot reconnect to already connected service.",e);return this._connect(e,new gn(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 In(this.getId());if(!this._wsGateway)throw new Vt("Collaborative Editing",this);const t=await this._wsGateway._sendRequest(1,In.TYPE,l.encode(e));return l.decode(t,wn)}async sendOperations(e,t,n){if(!e?.types?.length)throw new ze("Cannot send empty update.",this._wsGateway);const r="number"==typeof t?t:parseInt(t);if(!Number.isInteger(r)||r<0)throw new ze("Base version not provided.",this._wsGateway);const s=new yn(this.getId(),e.buffers,e.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new Vt("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,yn.TYPE,l.encode(s));return l.decode(o,bn)}async getConnectedSessions(){if(!this._isConnected)throw new Vt("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await pn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(e,t){return pn.getConnectedSessions(e,t,1)}async _connect(e,t){if(this.isConnected())return;if(e.state!==St.STATE_CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(1,t.constructor.TYPE,l.encode(t)),r=l.decode(n,On);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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(yn.TYPE),(e,t)=>{const n=l.decode(t,yn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)})}_onWsGatewayStateChange(e){e===St.STATE_DISCONNECTED&&this.disconnect()}};(Object.getOwnPropertyDescriptor(vn,"name")||{}).writable||Object.defineProperty(vn,"name",{value:"default",configurable:!0});class Sn extends o{static DESCRIPTOR_NAME="CommentDescriptor";static 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"}}};static toJSON(e){return{...e,createdAt:e.createdAt?.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}}}class kn extends o{static DESCRIPTOR_NAME="CommentsThreadDescriptor";static 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}}};static toJSON(e){return{...e,createdAt:e.createdAt?.toISOString(),deletedAt:e.deletedAt?.toISOString(),resolvedAt:e.resolvedAt?.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:e.comments?.map(Sn.toJSON),unlinkedAt:e.unlinkedAt?.toISOString()}}static fromJSON(e){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:e.comments?.map(Sn.fromJSON),unlinkedAt:e.unlinkedAt?new Date(e.unlinkedAt):void 0}}}class Pn extends i{documentId;commentThreadId;content;commentId;userId;attributes;commentThread;createdAt;static TYPE="91";static READABLE_TYPE_NAME="addComment";static DESCRIPTOR_NAME="CommentsV2AddCommentMessage";static 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}}};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?kn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Pn(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?kn.fromJSON(e.commentThread):void 0)}}class An extends i{commentThreadId;commentId;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};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 An(e.commentThreadId,e.commentId,e.createdAt)}}class Tn extends i{documentId;static TYPE="92";static READABLE_TYPE_NAME="connectToComment";static DESCRIPTOR_NAME="CommentsV2ConnectMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Tn(e.documentId)}}class _n extends i{channel;_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2ConnectResponse";static DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=n?.length?n:t}toJSON(){return{channel:this.channel,threads:this._threads?.map(e=>JSON.stringify(e)),threadsV2:this._threadsV2?.map(kn.toJSON)}}static fromJSON(e){return new _n(e.channel,e.threads?.map(e=>JSON.parse(e)),e.threadsV2?.map(kn.fromJSON))}}class Cn extends i{documentId;commentThreadId;commentId;static TYPE="95";static READABLE_TYPE_NAME="removeComment";static DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};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 Cn(e.documentId,e.commentThreadId,e.commentId)}}class jn extends i{documentId;commentThreadId;static TYPE="97";static READABLE_TYPE_NAME="removeCommentThread";static DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new jn(e.documentId,e.commentThreadId)}}class En extends i{documentId;commentThreadId;commentId;content;attributes;isAttributesUpdated;commentThread;static TYPE="96";static READABLE_TYPE_NAME="updateComment";static DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage";static 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}}};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?kn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new En(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?kn.fromJSON(e.commentThread):void 0)}}class Dn extends i{commentThreadId;documentId;static TYPE="93";static READABLE_TYPE_NAME="getComment";static DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new Dn(e.commentThreadId,e.documentId)}}class xn extends i{commentThreadId;_comments;_commentsV2;resolvedBy;comments;createdAt;deletedAt;resolvedAt;attributes;context;unlinkedAt;static DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse";static 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}}};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=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(){return{commentThreadId:this.commentThreadId,comments:this._comments?.map(e=>JSON.stringify(e)),commentsV2:this._commentsV2?.map(Sn.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:this.createdAt?.toISOString(),deletedAt:this.deletedAt?.toISOString(),resolvedAt:this.resolvedAt?.toISOString(),unlinkedAt:this.unlinkedAt?.toISOString()}}static fromJSON(e){return new xn(e.commentThreadId,e.comments?.map(e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e)),e.commentsV2?.map(Sn.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)}}class Rn extends i{documentId;static TYPE="94";static READABLE_TYPE_NAME="getDocumentThreads";static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage";static DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Rn(e.documentId)}}class Nn extends i{_threads;_threadsV2;threads;static DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse";static DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=t?.length?t:e}toJSON(){return{threads:this._threads?.map(e=>JSON.stringify(e)),threadsV2:this._threadsV2?.map(kn.toJSON)}}static fromJSON(e){return new Nn(e.threads?.map(e=>function(e){const t=JSON.parse(e),n={...t};return t.comments&&(n.comments=t.comments?.map(e=>({...e,createdAt:new Date(e.createdAt)}))),n}(e)),e.threadsV2?.map(kn.fromJSON))}}class Vn extends o{static DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor";static DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};static toJSON(e){return{commentId:e.commentId,createdAt:e.createdAt?.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}class Mn extends i{commentThreadId;comments;createdAt;static DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};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=>Vn.toJSON(e))}}static fromJSON(e){return new Mn(e.commentThreadId,e.createdAt,e.comments.map(e=>Vn.fromJSON(e)))}}class Bn extends i{documentId;commentThreadId;comments;context;resolvedBy;attributes;createdAt;resolvedAt;deletedAt;static TYPE="140";static READABLE_TYPE_NAME="addCommentThread";static DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage";static 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}}};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(){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:this.comments?.map(e=>Sn.toJSON(e))}}static fromJSON(e){return new Bn(e.documentId,e.commentThreadId,e.comments?.map(t=>Sn.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)}}class Un extends i{commentThreadId;documentId;resolvedBy;resolvedAt;static TYPE="142";static READABLE_TYPE_NAME="resolveCommentThread";static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt?.toISOString()}}static fromJSON(e){return new Un(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}class Jn extends i{commentThreadId;documentId;static TYPE="141";static READABLE_TYPE_NAME="reopenCommentThread";static DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Jn(e.commentThreadId,e.documentId)}}class qn extends i{commentThreadId;documentId;context;attributes;unlinkedAt;static TYPE="143";static READABLE_TYPE_NAME="updateCommentThread";static DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage";static 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}}};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 qn(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)}}class Gn extends i{commentThreadId;documentId;resolvedBy;resolvedAt;static DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse";static DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};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 Gn(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}class Ln extends((0,n.EmitterMixin)()){_documentId;_isConnected=!1;_wsGateway;_channel;_connectedSessions;static _SERVICE=9;constructor(e){super(),this._documentId=e}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==It.CONNECTED)throw new ze("WebSocket Gateway is not connected.",e);const t=new Tn(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(9,Tn.TYPE,l.encode(t)),{channel:r,threads:s}=l.decode(n,_n);return this.listenTo(e,"change:state",(e,t,n)=>this._onWsGatewayStateChange(n),{priority:St._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 Pn(this._documentId,e,n,t,void 0,void 0,r),o=await this._sendRequest(Pn.TYPE,s);return l.decode(o,An)}async updateComment(e,t,n,r){const s=void 0!==r,o=new En(this._documentId,e,t,n,r,s);await this._sendRequest(En.TYPE,o)}async removeComment(e,t){const n=new Cn(this._documentId,e,t);await this._sendRequest(Cn.TYPE,n)}async removeCommentThread(e){const t=new jn(this._documentId,e);await this._sendRequest(jn.TYPE,t)}async addCommentThread(e){const t=new Bn(this._documentId,e.commentThreadId,e.comments?.map(t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId})),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),n=await this._sendRequest(Bn.TYPE,t);return l.decode(n,Mn)}async resolveCommentThread(e){const t=new Un(e,this._documentId),n=await this._sendRequest(Un.TYPE,t);return l.decode(n,Gn)}async reopenCommentThread(e){const t=new Jn(e,this._documentId);await this._sendRequest(Jn.TYPE,t)}async updateCommentThread(e){const t=new qn(e.commentThreadId,this._documentId,e.context,e.attributes,e.unlinkedAt);await this._sendRequest(qn.TYPE,t)}async getCommentThread(e,t=1){const n=new Dn(e,this._documentId);try{const e=await this._sendRequest(Dn.TYPE,n),t=l.decode(e,xn);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 Fe.fromPublicError(n)}var r}async getDocumentThreads(){const e=new Rn(this._documentId),t=await this._sendRequest(Rn.TYPE,e),{threads:n}=l.decode(t,Nn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new Vt("Comments",this);return this._connectedSessions||(this._connectedSessions=await pn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(Ln._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Pn.TYPE),(e,t)=>{const n=l.decode(t,Pn);this.fire("commentAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(Cn.TYPE),(e,t)=>{const n=l.decode(t,Cn);this.fire("commentRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(En.TYPE),(e,t)=>{const n=l.decode(t,En);this.fire("commentUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(jn.TYPE),(e,t)=>{const n=l.decode(t,jn);this.fire("commentThreadRemoved",n)}),this.listenTo(this._channel,this._channel.getEventName(Bn.TYPE),(e,t)=>{const n=l.decode(t,Bn);this.fire("commentThreadAdded",n)}),this.listenTo(this._channel,this._channel.getEventName(qn.TYPE),(e,t)=>{const n=l.decode(t,qn);this.fire("commentThreadUpdated",n)}),this.listenTo(this._channel,this._channel.getEventName(Un.TYPE),(e,t)=>{const n=l.decode(t,Un);this.fire("commentThreadResolved",n)}),this.listenTo(this._channel,this._channel.getEventName(Jn.TYPE),(e,t)=>{const n=l.decode(t,Jn);this.fire("commentThreadReopened",n)}))}_onWsGatewayStateChange(e){e===It.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Vt("Comments",this);return this._wsGateway._sendRequest(9,e,l.encode(t))}}const Yn=Ln,Hn=zn;function zn(e,t){const n=Fn();return(zn=function(e,t){return n[e-=340]})(e,t)}function Fn(){const e=["webSocketUrl","then","6PKXGIC","WebSocketGateway","connect","pluginName","_domEmitter","websocketgateway-missing-token","limitExceeded","216424GZeagD","6193088cKVIPM","9LceDki","websocketgateway-plugin-already-registered","cloudServices.requestTimeout","isOfficialPlugin","CONNECTED","init","3oQAwvf","context","has","constructor","_reconnect","reconnect","45WzDplI","connection","state","CONNECTING","91126YFaDST","showWarning","real-time-collaboration","initialReconnectionInterval","offline","737950WsTfan","connected","removeFromReconnectionStack","1275056mcIeia","addToReconnectionStack","change:me","plugins","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.","DISCONNECTED","delete","error","config","cloudservices-init","websocketgateway-invalid-plugin-interface","from","_shouldPluginsReconnect","get","define","bind","12902TByjBY","set","cloudServices.connectionTimeout","stopListening","websocketgateway-missing-websocket-url","isInReconnectionStack","add","listenTo","token","all","disconnect","code","_isBrowserOffline","online","cloudservices-reconnection-error","CloudServices","Connected users limit exceeded","catch","_reconnectionStack","function","132522dlPXBb","isPremiumPlugin","requires","destroy"];return(Fn=function(){return e})()}!function(e){const t=zn,n=e();for(;;)try{if(102630===parseInt(t(374))/1*(parseInt(t(400))/2)+-parseInt(t(340))/3*(parseInt(t(407))/4)+-parseInt(t(346))/5*(parseInt(t(394))/6)+-parseInt(t(350))/7+parseInt(t(358))/8*(-parseInt(t(409))/9)+-parseInt(t(355))/10+parseInt(t(408))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fn);class Kn extends t.ContextPlugin{static[Hn(401)]=(()=>St)();static[Hn(353)]=1e3;[Hn(347)];[Hn(392)];[Hn(370)];[Hn(404)];static get[Hn(396)](){return[Hn(389),r.Notification]}static get[Hn(403)](){return Hn(401)}static get[Hn(412)](){return!0}static get[Hn(395)](){return!0}constructor(e){const t=Hn;super(e),this[t(375)](t(348),It[t(413)]),this[t(375)](t(386),!1),this[t(392)]=new Set,this[t(370)]=!1,this[t(404)]=new((0,n.DomEmitterMixin)())}[Hn(414)](){const e=Hn,t=this[e(341)],s=t[e(361)][e(371)](e(389)),o=t[e(361)][e(371)](r.Notification);if(!s[e(382)])throw new n.CKEditorError(e(405),this);if(!s[e(398)])throw new n.CKEditorError(e(378),this);return this[e(404)][e(381)](window,e(354),()=>this[e(386)]=!0),this[e(404)][e(381)](window,e(387),()=>this[e(386)]=!1),this[e(341)][e(366)][e(372)](e(376),10),this[e(341)][e(366)][e(372)](e(411),20),Kn[e(401)][e(402)](s[e(382)],s[e(398)],{timeout:1e3*this[e(341)][e(366)][e(371)](e(376)),requestTimeout:1e3*this[e(341)][e(366)][e(371)](e(411))})[e(399)](t=>{const r=e;if(this[r(347)]=t,this[r(373)](r(348)).to(t,r(348),this,r(386),(e,t)=>(r(356)!==e&&(this[r(370)]=!0),t||e!==It[r(413)]?It[r(363)]:this[r(348)]==It[r(363)]&&this[r(370)]?(this[r(370)]=!1,this[r(344)](),It[r(349)]):It[r(413)])),this[r(347)].on(r(365),(e,t)=>{const s=r;if(s(406)!==t[s(385)])throw console[s(365)](t),new n.CKEditorError(s(367),null,{originalError:t});o[s(351)](s(362),{title:s(390),namespace:s(352)})}),!t.me)return new Promise(e=>t.on(r(360),e))})[e(391)](t=>{const r=e;throw console[r(365)](t),new n.CKEditorError(r(367),null,{originalError:t})})}[Hn(359)](e){const t=Hn;if(t(393)!=typeof e[t(345)])throw new n.CKEditorError(t(368),this);if(this[t(379)](e))throw new n.CKEditorError(t(410),this,{name:e[t(343)][t(403)]});this[t(392)][t(380)](e)}[Hn(357)](e){const t=Hn;this[t(392)][t(364)](e)}[Hn(379)](e){const t=Hn;return this[t(392)][t(342)](e)}[Hn(344)](){const e=Hn;return this[e(347)][e(345)]()[e(399)](()=>Promise[e(383)](Array[e(369)](this[e(392)],t=>t[e(345)]())))[e(399)](()=>this[e(348)]=It[e(413)])[e(391)](t=>{const r=e;throw console[r(365)](t),new n.CKEditorError(r(388),this[r(341)])})}[Hn(384)](){const e=Hn;this[e(347)]&&this[e(347)][e(384)](),this[e(348)]=It[e(363)],this[e(404)][e(377)]()}[Hn(397)](){const e=Hn;this[e(384)](),super[e(397)]()}}var Wn=__webpack_require__(211);const Qn=Xn;function Xn(e,t){const n=$n();return(Xn=function(e,t){return n[e-=134]})(e,t)}!function(e){const t=Xn,n=e();for(;;)try{if(827851===-parseInt(t(177))/1*(parseInt(t(144))/2)+parseInt(t(175))/3+-parseInt(t(173))/4+-parseInt(t(149))/5*(parseInt(t(136))/6)+-parseInt(t(192))/7*(parseInt(t(169))/8)+-parseInt(t(183))/9*(-parseInt(t(168))/10)+parseInt(t(197))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($n);class Zn extends t.ContextPlugin{[Qn(148)];[Qn(195)];[Qn(150)];[Qn(180)];[Qn(161)];[Qn(189)];static get[Qn(171)](){return Qn(188)}static get[Qn(190)](){return!0}static get[Qn(158)](){return!0}static get[Qn(164)](){return[Kn,Wn.Users]}constructor(e){const t=Qn;super(e),this[t(148)]=new Map,this[t(195)]=new Map,this[t(150)]=new n.Collection,this[t(180)]=new Map,this[t(161)]=0,this[t(189)]=this[t(141)][t(178)][t(146)](Wn.Users)}[Qn(174)](){const e=Qn,t=this[e(141)][e(178)][e(146)](Kn);this[e(194)](t,e(172),(t,n,r)=>{const s=e;if(s(163)!==r)this[s(148)][s(152)](e=>e[s(167)]()),this[s(195)][s(152)](e=>e[s(167)]()),this[s(150)][s(167)]();else for(const[e,t]of this[s(180)])for(const n of t)this[s(162)](e,n)}),this[e(191)](t[e(176)].me,!0)}[Qn(134)](e,t){const r=Qn;if(this[r(180)][r(153)](e))throw new n.CKEditorError(r(182),null,{channelId:e});this[r(180)][r(143)](e,t),this[r(148)][r(143)](e,new n.Collection),this[r(195)][r(143)](e,new n.Collection),this[r(194)](t,r(166),(t,n)=>this[r(162)](e,n)),this[r(194)](t,r(157),(t,n)=>this[r(139)](e,n));for(const n of t)this[r(162)](e,n)}[Qn(193)](e){const t=Qn;if(!this[t(180)][t(153)](e))throw new n.CKEditorError(t(147),null,{channelId:e});const r=this[t(180)][t(146)](e);this[t(160)](r);for(const n of r)t(163)===this[t(141)][t(178)][t(146)](Kn)[t(145)]&&this[t(139)](e,n);this[t(180)][t(170)](e),this[t(148)][t(170)](e),this[t(195)][t(170)](e)}get[Qn(155)](){const e=Qn;return this[e(141)][e(178)][e(146)](Kn)[e(176)][e(135)]}[Qn(165)](e){const t=Qn;for(const n of this[t(148)][t(181)]())for(const r of n)if(r.id===e)return r[t(179)]}[Qn(187)](e,t){const n=Qn,r=t?[this[n(148)][n(146)](t)]:this[n(148)][n(181)](),s=new Set;for(const t of r)for(const r of t)r[n(179)].id===e.id&&s[n(166)](r.id);return s}[Qn(156)](e){const t=Qn;for(const n of this[t(148)][t(181)]())for(const r of n)if(r[t(179)]===e)return r[t(138)]}[Qn(162)](e,t){const n=Qn;if(n(163)!==this[n(141)][n(178)][n(146)](Kn)[n(145)])return;const r=t[n(179)],s=this[n(189)][n(159)](r.id)||this[n(191)](r),o=Object[n(196)]({},t,{user:s});if(this[n(148)][n(146)](e)[n(166)](o),!r[n(185)]){const t=this[n(195)][n(146)](e);t[n(153)](s.id)||t[n(166)](s),this[n(150)][n(153)](s.id)||r[n(185)]||this[n(150)][n(166)](s,s[n(186)]?0:void 0)}this[n(151)](n(154)+e,{channelId:e,session:o})}[Qn(139)](e,t){const n=Qn;if(n(163)!==this[n(141)][n(178)][n(146)](Kn)[n(145)])return;const r=this[n(195)][n(146)](e),s=t[n(179)];s.id&&(this[n(148)][n(146)](e)[n(157)](t.id),r[n(153)](s.id)&&!this[n(187)](s,e)[n(137)]&&r[n(157)](s.id),this[n(150)][n(146)](s.id)&&!this[n(187)](s)[n(137)]&&this[n(150)][n(157)](s.id))}[Qn(191)](e,t){const n=Qn,r=this[n(189)][n(140)](e);return t&&this[n(189)][n(142)](e.id),r[n(184)]=this[n(161)]++,r}}function $n(){const e=["has","sessionAdd:","mySessionId","getUserRole","remove","isPremiumPlugin","getUser","stopListening","_uniqueUsersCount","_handleSessionAdd","connected","requires","getUserBySessionId","add","clear","4784660FjepdD","32sUiwyT","delete","pluginName","change:state","2836924tYdiDs","init","4064994pnXJBa","connection","16493haLeuT","plugins","user","_registeredSessions","values","sessions-register-already-registered","27YXyWhp","orderNumber","hiddenInPresenceList","isMe","getUserSessions","Sessions","_users","isOfficialPlugin","_createUser","2346064QLKpoK","unregister","listenTo","channelConnectedUsers","assign","27216530XLYiXs","register","sessionId","12rPPPHl","size","role","_handleSessionRemove","addUser","context","defineMe","set","196VpJXrs","state","get","sessions-unregister-not-exist","channelSessions","1926555aoQjXt","allConnectedUsers","fire","forEach"];return($n=function(){return e})()}var er=__webpack_require__(789),tr=__webpack_require__.n(er),nr=__webpack_require__(437),rr=__webpack_require__.n(nr),sr=__webpack_require__(298),or=__webpack_require__.n(sr),ir=__webpack_require__(207),ar=__webpack_require__.n(ir),cr=__webpack_require__(825),dr=__webpack_require__.n(cr),ur=__webpack_require__(725),lr={attributes:{"data-cke":!0}};lr.setAttributes=ar(),lr.insert=or().bind(null,"head"),lr.domAPI=rr(),lr.insertStyleElement=dr();tr()(ur.A,lr);ur.A&&ur.A.locals&&ur.A.locals;const pr=hr;function hr(e,t){const n=fr();return(hr=function(e,t){return n[e-=192]})(e,t)}function fr(){const e=["update:user:range","detach","toRange","getFirstRange","set","reconvertMarker","type","addEventListener","parent","createUserMarkerOperations","getAttribute","isCollapsed","span","markerName","user:range","Escape","batch","selection","change:range","destroy","user:position","orderNumber","removeClass","editingDowncast","root","innerHTML","344692PMlTeL","tableCell","markerToHighlight","hasContent","$graveyard","listenTo","rootName","setAttribute","spellcheck","isDocumentOperation","deletionPosition","createUIElement","oldRange","isPremiumPlugin","getSelectionClass","1358298QSGXtQ","startsWith","outerHTML","_domEmitter","52220fPeudo","updateMarker","get","$text","name","isSimilar","getNearestSelectionRange","keydown","schema","render","mySessionId","ck-user__selection","ck-user__marker-tooltip","setCustomProperty","user:position:","getPositions","_createdBatches","for","createElement","createRange","removeMarker","mouseleave","getMarkerClass","clear","getContainedElement","editing","commands","10DkOqjX","view","7245738uLibFy","stopListening","add","toDomElement","checkChild","data-session-id","element","start","nodeAfter","document","model","markerToElement","undo","delete",'<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span>',"markerRange","fromRange","getCustomProperty","afterInit","isInline","UserMarkers","marker","editor","mouseenter","user:range:","highest","455412lzbPwC","isLimit","88UjKwFV","39670DttWls","textContent","classList","size","change","user:","enqueueChange","hasDomSelection","isObject","ck-user__marker_hovered","conversion","applyOperation","end","markerNameToElements","ck-user__marker ","remove","markers","pluginName","newRange","getRange","plugins","false","split","mapper","474nnBWAO","requires","userPositionMarker","getUserBySessionId","getStart","isOfficialPlugin","1586232sncxdh","color","addMarker","init","has","contenteditable"];return(fr=function(){return e})()}!function(e){const t=hr,n=e();for(;;)try{if(475314===parseInt(t(289))/1+parseInt(t(215))/2+-parseInt(t(230))/3+parseInt(t(322))/4+parseInt(t(292))/5*(parseInt(t(316))/6)+parseInt(t(234))/7*(parseInt(t(291))/8)+-parseInt(t(263))/9*(parseInt(t(261))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fr);class mr extends t.Plugin{[pr(233)]=new((0,n.DomEmitterMixin)());static get[pr(317)](){return[Zn]}static get[pr(309)](){return pr(283)}static get[pr(321)](){return!0}static get[pr(228)](){return!0}[pr(325)](){const e=pr,t=this[e(285)],r=t[e(312)][e(236)](Zn);t[e(302)][e(251)](e(212))[e(274)]({model:e(209),view:(n,{writer:s})=>function(t,n,r,s){const o=e,i=t[o(202)][o(314)](":")[2],a=r[o(319)](i);if(!a||i===r[o(244)])return;if(!s[o(273)][o(242)][o(267)](t[o(278)][o(270)],o(237)))return;const c={class:o(306)+a[o(323)][o(256)](),"data-name":a[o(238)],"data-session-id":i},d=s[o(273)][o(308)][o(236)](t[o(202)])[o(320)](),u=d[o(271)],l=s[o(273)][o(242)];if(u&&l[o(300)](u)&&l[o(282)](u)&&!s[o(273)][o(308)][o(236)](o(287)+i)[o(311)]()[o(200)])return;const p=d[o(197)];return s[o(273)][o(242)][o(290)](p)&&!s[o(273)][o(218)](p)&&(c[o(327)]=!1),function(e,t,n){const r=o,s=e[r(226)](r(201),t);return e[r(247)](r(318),!0,s),s[r(243)]=function(e){const t=r,s=this[t(266)](e),o=document[t(252)](t(201));return o[t(294)][t(265)](t(246)),o[t(222)](t(327),t(313)),o[t(222)](t(223),t(313)),o[t(293)]=n[t(238)],s[t(214)]=t(277)+o[t(232)]+"",s[t(196)](t(286),()=>{const e=t;s[e(294)][e(265)](e(301))}),s[t(196)](t(255),()=>{const e=t;s[e(294)][e(307)](e(301))}),s},s[r(239)]=function(e){const t=r;return!(!this[t(280)](t(318))||!e[t(280)](t(318))||this[t(199)](t(268))!=e[t(199)](t(268)))},s}(n,c,a)}(n,s,r,t)}),t[e(302)][e(251)](e(212))[e(217)]({model:e(203),view:t=>function(t,n){const r=e,s=t[r(202)][r(314)](":")[2];if(s===n[r(244)])return null;const o=n[r(319)](s);return o?{id:s,classes:[r(245),o[r(323)][r(229)]()],attributes:{"data-session-id":s},priority:2e3+o[r(210)]}:{id:s,classes:[]}}(t,r)}),function(t){const n=e,r=t[n(273)],o=new Map,i=t[n(312)][n(236)](Zn);r[n(308)].on(n(328),(e,a,c,d)=>{const u=n;if(!d&&o[u(236)](a[u(238)]))return o[u(236)](a[u(238)])[u(329)](),void o[u(276)](a[u(238)]);const l=a[u(238)][u(314)](":")[2];if(l===i[u(244)])return;const p=u(248)+l;r[u(308)][u(326)](p)&&t[u(259)][u(194)](p),a.on(u(207),(e,t,n)=>{const i=u;if(i(219)!=t[i(213)][i(221)]&&i(219)==a[i(311)]()[i(213)][i(221)]&&!o[i(326)](a[i(238)])){const e=r[i(242)][i(240)](n[i(225)]);if(e){const t=s.ModelLiveRange[i(279)](e);o[i(193)](a[i(238)],t),t.on(i(207),(e,n,s)=>{const c=i;if(c(219)==t[c(213)][c(221)]){const e=r[c(242)][c(240)](s[c(225)]);e?(t[c(270)]=e[c(270)],t[c(304)]=e[c(304)]):(o[c(276)](a[c(238)]),t[c(329)]())}})}}})}),r[n(272)].on(n(296),()=>{const e=n;o[e(295)]>0&&r[e(298)]({isUndoable:!1},t=>{const n=e;for(const[e,s]of o)n(219)==r[n(308)][n(236)](e)[n(311)]()[n(213)][n(221)]&&(yr(e[n(314)](":")[2],s[n(330)](),r,t),s[n(329)]());o[n(257)]()})})}(t),this[e(233)][e(220)](n.global[e(272)],e(241),(n,{key:r})=>{const s=e;s(204)===r&&function(e){const t=s;e[t(259)][t(262)][t(296)](n=>{const r=t;for(const t of e[r(273)][r(308)]){if(!t[r(238)][r(231)](r(209)))continue;const s=e[r(259)][r(315)][r(305)](t[r(238)]);if(s)for(const e of s)n[r(211)](r(301),e)}})}(t)},{useCapture:!0})}[pr(281)](){const e=pr,t=this[e(285)],n=t[e(260)][e(236)](e(275));n&&t[e(273)].on(e(303),(r,s)=>{const o=e,i=s[0];if(!i[o(224)])return;if(o(284)!=i[o(195)]||!i[o(238)][o(231)](o(297)))return;const a=i[o(205)];n[o(250)][o(326)](a)&&(i[o(310)]=i[o(227)]?t[o(273)][o(253)](i[o(227)][o(270)],i[o(227)][o(304)]):null)},{priority:e(288)})}[pr(208)](){const e=pr;return this[e(233)][e(264)](),super[e(208)]()}[pr(198)](){const e=pr,t=this[e(285)],n=t[e(273)][e(272)],r=t[e(312)][e(236)](Zn);t[e(273)][e(298)]({isUndoable:!1},s=>{const o=e,i=o(287)+r[o(244)],a=o(248)+r[o(244)],c=t[o(273)][o(308)][o(326)](i);t[o(259)][o(262)][o(299)]?yr(r[o(244)],n[o(206)][o(192)](),t[o(273)],s):c&&(s[o(254)](i),s[o(254)](a))})}}function yr(e,t,n,r){const s=pr,o=s(287)+e,i=s(248)+e,a=t[s(258)]();let c=t[s(270)];if(a&&a.is(s(269),s(216))){const e=function(e,t){const n=s;for(const r of e[n(249)]())if(t[n(242)][n(267)](r,n(237)))return r}(t,n);e&&(c=e,t=r[s(253)](c))}const d=r[s(253)](c);n[s(308)][s(326)](o)?(r[s(235)](o,{range:t}),r[s(235)](i,{range:d})):(r[s(324)](o,{range:t,usingOperation:!0}),r[s(324)](i,{range:d,usingOperation:!0}))}function gr(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 br=(()=>{var e=d.Reader,t=d.Writer,n=d.util,r=d.roots.default||(d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.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,d.util.toJSONOptions)},s.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},s}(),r})();class Or{_protobufRoot;constructor(){this._protobufRoot=br}getDescriptor(e){return new wr(this._protobufRoot[e])}}class wr{_protobuf;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})}}function Ir(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function vr(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Sr="[object RegExp]",kr="[object String]",Pr="[object Number]",Ar="[object Boolean]",Tr="[object Arguments]",_r="[object Symbol]",Cr="[object Date]",jr="[object Map]",Er="[object Set]",Dr="[object Array]",xr="[object ArrayBuffer]",Rr="[object Object]",Nr="[object DataView]",Vr="[object Uint8Array]",Mr="[object Uint8ClampedArray]",Br="[object Uint16Array]",Ur="[object Uint32Array]",Jr="[object Int8Array]",qr="[object Int16Array]",Gr="[object Int32Array]",Lr="[object Float32Array]",Yr="[object Float64Array]";function Hr(e,t,n,r=new Map,s=void 0){const o=s?.(e,t,n,r);if(null!=o)return o;if(function(e){return null==e||"object"!=typeof e&&"function"!=typeof e}(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const t=new Array(e.length);r.set(e,t);for(let o=0;o<e.length;o++)t[o]=Hr(e[o],o,n,r,s);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){const t=new Map;r.set(e,t);for(const[o,i]of e)t.set(o,Hr(i,o,n,r,s));return t}if(e instanceof Set){const t=new Set;r.set(e,t);for(const o of e)t.add(Hr(o,void 0,n,r,s));return t}if("undefined"!=typeof Buffer&&Buffer.isBuffer(e))return e.subarray();if(i=e,ArrayBuffer.isView(i)&&!(i instanceof DataView)){const t=new(Object.getPrototypeOf(e).constructor)(e.length);r.set(e,t);for(let o=0;o<e.length;o++)t[o]=Hr(e[o],o,n,r,s);return t}var i;if(e instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),zr(t,e,n,r,s),t}if("undefined"!=typeof File&&e instanceof File){const t=new File([e],e.name,{type:e.type});return r.set(e,t),zr(t,e,n,r,s),t}if(e instanceof Blob){const t=new Blob([e],{type:e.type});return r.set(e,t),zr(t,e,n,r,s),t}if(e instanceof Error){const t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,zr(t,e,n,r,s),t}if("object"==typeof e&&function(e){switch(vr(e)){case Tr:case Dr:case xr:case Nr:case Ar:case Cr:case Lr:case Yr:case Jr:case qr:case Gr:case jr:case Pr:case Rr:case Sr:case Er:case kr:case _r:case Vr:case Mr:case Br:case Ur:return!0;default:return!1}}(e)){const t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),zr(t,e,n,r,s),t}return e}function zr(e,t,n=e,r,s){const o=[...Object.keys(t),...Ir(t)];for(let i=0;i<o.length;i++){const a=o[i],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=Hr(t[a],a,n,r,s))}}function Fr(e,t){return function(e,t){return Hr(e,void 0,e,new Map,t)}(e,(n,r,s,o)=>{const i=t?.(n,r,s,o);if(null!=i)return i;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case Pr:case kr:case Ar:{const t=new e.constructor(e?.valueOf());return zr(t,e),t}case Tr:{const t={};return zr(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function Kr(e){return Fr(e)}function Wr(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function Qr(e,t,n,r,s,o,i){const a=i(e,t,n,r,s,o);if(void 0!==a)return a;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return e===t;case"number":return e===t||Object.is(e,t);case"object":return Xr(e,t,o,i)}return Xr(e,t,o,i)}function Xr(e,t,n,r){if(Object.is(e,t))return!0;let s=vr(e),o=vr(t);if(s===Tr&&(s=Rr),o===Tr&&(o=Rr),s!==o)return!1;switch(s){case kr:return e.toString()===t.toString();case Pr:return function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}(e.valueOf(),t.valueOf());case Ar:case Cr:case _r:return Object.is(e.valueOf(),t.valueOf());case Sr:return e.source===t.source&&e.flags===t.flags;case"[object Function]":return e===t}const i=(n=n??new Map).get(e),a=n.get(t);if(null!=i&&null!=a)return i===t;n.set(e,t),n.set(t,e);try{switch(s){case jr:if(e.size!==t.size)return!1;for(const[s,o]of e.entries())if(!t.has(s)||!Qr(o,t.get(s),s,e,t,n,r))return!1;return!0;case Er:{if(e.size!==t.size)return!1;const s=Array.from(e.values()),o=Array.from(t.values());for(let i=0;i<s.length;i++){const a=s[i],c=o.findIndex(s=>Qr(a,s,void 0,e,t,n,r));if(-1===c)return!1;o.splice(c,1)}return!0}case Dr:case Vr:case Mr:case Br:case Ur:case"[object BigUint64Array]":case Jr:case qr:case Gr:case"[object BigInt64Array]":case Lr:case Yr:if("undefined"!=typeof Buffer&&Buffer.isBuffer(e)!==Buffer.isBuffer(t))return!1;if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!Qr(e[s],t[s],s,e,t,n,r))return!1;return!0;case xr:return e.byteLength===t.byteLength&&Xr(new Uint8Array(e),new Uint8Array(t),n,r);case Nr:return e.byteLength===t.byteLength&&e.byteOffset===t.byteOffset&&Xr(new Uint8Array(e),new Uint8Array(t),n,r);case"[object Error]":return e.name===t.name&&e.message===t.message;case Rr:{if(!(Xr(e.constructor,t.constructor,n,r)||Wr(e)&&Wr(t)))return!1;const s=[...Object.keys(e),...Ir(e)],o=[...Object.keys(t),...Ir(t)];if(s.length!==o.length)return!1;for(let o=0;o<s.length;o++){const i=s[o],a=e[i];if(!Object.hasOwn(t,i))return!1;if(!Qr(a,t[i],i,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function Zr(){}function $r(e,t){return function(e,t,n){return Qr(e,t,void 0,void 0,void 0,void 0,n)}(e,t,Zr)}function es(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function ts(e,t){const n=Kr(e);return n.path[n.path.length-1]+=t,n}function ns(e,t){return e.root===t.root&&$r(e.path,t.path)}function rs(e){os(e,e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e))}function ss(e){os(e,e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e))}function os(e,t){for(const n in e){const r=e[n];"nodes"!==n&&es(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):os(r,t))}return e}class is{_id;_operationName;_protobufDescriptor;constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.operations[t.index++];return rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);ss(r),r.__className=this._operationName,e.push(r)}}class as extends is{compress(e,t){const n=t.operations[t.index++];return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);this._deserializeOneOf("oldValue",r),this._deserializeOneOf("newValue",r),ss(r),r.__className=this._operationName,e.push(r)}_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 cs extends is{compress(e,t){const n=t.operations[t.index++];return this._serializeNodesAttributes(n.nodes),rs(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.typeIndex++;const n=t.buffers[t.bufferIndex++],r=this._protobufDescriptor.decompress(n);r.nodes||(r.nodes=[]),this._deserializeNodesAttributes(r.nodes),ss(r),r.__className=this._operationName,e.push(r)}_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 ds extends is{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class us extends is{compress(e,t){return t.index++,e.types.push(this._id),!0}decompress(e,t){t.typeIndex++,e.push({__className:this._operationName})}}class ls extends ds{_omittedNamespace;constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){const n=t.operations[t.index];return!("MarkerOperation"!=n.__className||!n.name.startsWith(this._omittedNamespace))&&(n.name=n.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 ps{_id;_context;constructor(e,t){this._id=e,this._context=t}compress(e,t){let n,r=t.operations[t.index],s=t.operations[t.index+1];for(;s&&this._compareOperations(r,s);)n?(n=this._combineNext(r,n),e.types.push(0)):(n=Kr(r),e.types.push(this._id)),t.index++,r=t.operations[t.index],s=t.operations[t.index+1];return!!n&&(n=this._combineNext(t.operations[t.index++],n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[t.typeIndex];)t.typeIndex++,e.push(this._splitCurrent(n));e.push(n)}}class hs extends ps{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=Kr(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=ts(e.position,o),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=ns(ts(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,{operations:[e],index:0}),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 fs extends ps{_combineNext(e,t){return t.howMany++,t.sourcePosition=Kr(e.sourcePosition),t}_splitCurrent(e){const t=Kr(e);return e.howMany--,t.howMany=1,t.sourcePosition=ts(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(ns(ts(e.sourcePosition,-1),t.sourcePosition)&&ns(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,{operations:[e],index:0}),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 ms extends ps{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=Kr(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(ns(e.sourcePosition,t.sourcePosition)&&ns(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,{operations:[e],index:0}),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 ys extends ps{compress(e,t){if(!this._compareOperations(t.operations[t.index],t.operations[t.index+1]))return!1;const n=t.operations[t.index++];return n.oldRange=null,n.newRange&&ns(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.index++,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=Kr(n.newRange.start));const r=Kr(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=Kr(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.typeIndex++,e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,{operations:[e],index:0}),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 gs{_compressorById;_compressorByName;_protobufFactory;constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new Or;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new us(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",as),this._registerOperationCompressor(11,"InsertOperation",cs),this._registerOperationCompressor(12,"MarkerOperation",ds),this._registerOperationCompressor(13,"MergeOperation",is),this._registerOperationCompressor(14,"MoveOperation",is),this._registerOperationCompressor(15,"RenameOperation",is),this._registerOperationCompressor(16,"RootAttributeOperation",as),this._registerOperationCompressor(17,"SplitOperation",is),this._registerCompressor(18,"CommentMarkerOperation",new ls(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new ls(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",is),this._registerActionCompressor(100,"TypingAction",hs),this._registerActionCompressor(101,"DeletingAction",fs),this._registerActionCompressor(102,"ForwardDeletingAction",ms),this._registerActionCompressor(103,"UserSelectionAction",ys)}compress(e){if(!e||!e[0])throw new n.CKEditorError("no-operations-provided",this);const t={operations:e,index:0},r={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;t.index<t.operations.length;){if(this._getCompressorByName("UserSelectionAction").compress(r,t))continue;if(this._getCompressorByName("TypingAction").compress(r,t))continue;if(this._getCompressorByName("DeletingAction").compress(r,t))continue;if(this._getCompressorByName("ForwardDeletingAction").compress(r,t))continue;if(this._getCompressorByName("CommentMarkerOperation").compress(r,t))continue;if(this._getCompressorByName("SuggestionMarkerOperation").compress(r,t))continue;const e=t.operations[t.index].__className;this._getCompressorByName(e).compress(r,t)}return r}decompress(e){const t=[],r={types:e.types,buffers:e.buffers,baseVersion:e.baseVersion,typeIndex:0,bufferIndex:0};for(;r.typeIndex<r.types.length;){const e=r.types[r.typeIndex],s=this._compressorById.get(e);if(!s)throw new n.CKEditorError("decompress-compressor-not-found",this,{type:e});s.decompress(t,r)}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 bs=Os;function Os(e,t){const n=Ps();return(Os=function(e,t){return n[e-=302]})(e,t)}!function(e){const t=Os,n=e();for(;;)try{if(497680===parseInt(t(379))/1*(parseInt(t(556))/2)+-parseInt(t(536))/3+parseInt(t(397))/4*(-parseInt(t(469))/5)+-parseInt(t(336))/6*(-parseInt(t(367))/7)+parseInt(t(527))/8+-parseInt(t(525))/9*(parseInt(t(407))/10)+parseInt(t(417))/11*(-parseInt(t(553))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ps);let ws=1;class Is extends t.Plugin{static[bs(555)]=(()=>vn)();[bs(376)];[bs(543)];[bs(506)];[bs(382)];[bs(528)];[bs(560)];[bs(409)];[bs(481)];[bs(540)];[bs(431)];[bs(534)];[bs(372)];[bs(403)];[bs(423)];[bs(358)];[bs(435)];[bs(441)];[bs(487)];static get[bs(507)](){return[Kn,Zn,mr,t.PendingActions,Wn.Users,r.Notification]}static get[bs(363)](){return bs(550)}static get[bs(485)](){return!0}static get[bs(516)](){return!0}get[bs(484)](){const e=bs;return this[e(312)]+this[e(376)]}get[bs(312)](){const e=bs;return this[e(506)][e(436)]-this[e(376)]}get[bs(324)](){const e=bs,t=this[e(506)][e(362)]();for(let n=t[e(394)]-1;n>=0;n--){const r=t[n];if(!this[e(441)][e(405)](r))return r[e(389)]+1-this[e(376)]}return 0}constructor(e){const t=bs;if(super(e),this[t(376)]=0,this[t(543)]=null,this[t(506)]=new s.History,this[t(554)][t(437)][t(307)](t(470),{}),this[t(382)]=this[t(554)][t(437)][t(414)](t(380)),!this[t(382)])throw new n.CKEditorError(t(547),this);const r=e[t(437)][t(414)](t(538))||n.version;this[t(528)]=new(Is[t(555)])(r,this[t(382)]),this[t(560)]=this[t(554)][t(529)][t(401)],this[t(409)]=new gs,this[t(481)]=[],this[t(540)]=new WeakSet,this[t(431)]=new Set,this[t(498)](t(322),!1),this[t(498)](t(477),!1),this[t(534)]=null,this[t(372)]=!1,this[t(403)]=null,this[t(423)]=300,this[t(358)]=this[t(423)],this[t(435)]=null,this[t(441)]=new WeakSet,this[t(487)]=new ks(this[t(441)])}[bs(564)](){const e=bs,t=this[e(554)],n=t[e(368)][e(414)](Wn.Users),r=t[e(368)][e(414)](Kn);this[e(459)](n,e(447),(t,r)=>{const s=e,o=r[0];o[s(387)]&&(t[s(559)]=n[s(377)](o[s(387)]),t[s(561)]()),null===o[s(387)]&&(t[s(559)]=null,t[s(561)]())},{priority:e(366)}),this[e(459)](t[e(529)][e(401)][e(325)],e(343),(t,n)=>{const r=e;n[r(390)]&&this[r(375)]()}),this[e(459)](t[e(351)][e(451)],e(508),()=>{this[e(375)]()}),this[e(337)](),t[e(529)].on(e(501),(t,n)=>{const r=e,s=n[0];s[r(310)]&&(this[r(467)](s),this[r(537)]()&&this[r(557)]())}),this[e(392)](),this[e(413)](e(354)).to(r,e(334),this,e(477),(t,n)=>e(418)===t&&!n),this.on(e(370),()=>{const n=e;this[n(354)]?t[n(320)](n(544)):t[n(350)](n(544))}),this[e(354)]?t[e(320)](e(544)):t[e(350)](e(544)),this[e(498)](e(530),!1)}async[bs(468)](){const e=bs,t=this[e(554)][e(368)][e(414)](Zn),n=this[e(554)][e(368)][e(414)](Kn);try{this[e(322)]=!0,t[e(364)](this[e(382)]);const r=await this[e(528)][e(468)](n[e(331)],this[e(324)]);await this[e(321)](r)&&(this[e(322)]=!1,this[e(523)]());const s=await this[e(528)][e(309)]();t[e(455)](this[e(382)],s),this[e(410)](),this[e(530)]=!0}catch(t){if(function(t){const n=e;return n(552)===t[n(430)]}(t)&&this[e(543)])await this[e(515)]();else if(function(t){const n=e;return n(539)===t[n(430)]}(t)){const t=gr(this[e(554)][e(338)],e(332));this[e(531)](t)}else{if(!(t instanceof vs))throw t;this[e(531)]()}}}[bs(500)](){const e=bs,t=this[e(554)][e(368)][e(414)](Kn),n=this[e(554)][e(368)][e(414)](Zn);this[e(554)][e(350)](e(444)),n[e(328)][e(405)](this[e(382)])&&n[e(364)](this[e(382)]),t[e(483)](this),this[e(541)](),super[e(500)]()}async[bs(321)](e){const t=bs;if(this[t(543)]!==e[t(543)]&&this[t(435)]!==e[t(495)])throw new vs;return this[t(543)]=e[t(543)],this[t(522)]([],{...e,wereChangesApplied:!1,data:e[t(313)]},t(468))}async[bs(428)](e,t=!1){const n=bs,{connection:r}=this[n(554)][n(368)][n(414)](Kn);Is[n(555)][n(309)](r,this[n(382)])[n(466)](e=>this[n(318)](e))[n(425)](e=>{const t=n;this[t(303)](t(374),e)}),this[n(459)](this[n(528)],n(440),this[n(480)][n(413)](this)),this[n(459)](this[n(528)],n(446),(e,t)=>{const r=n;this[r(303)](r(526),t)}),this[n(459)](this[n(528)],n(519),()=>{this[n(530)]=!1});const s=this[n(487)][n(496)](e);this[n(322)]=!0;const o=await this[n(528)][n(505)](r,this[n(361)](e),s);if(this[n(543)]=o[n(543)],t){if(!o[n(378)])return void this[n(531)]();this[n(322)]=!1,this[n(523)](),this[n(506)][n(461)](),this[n(376)]=o[n(511)],this[n(506)][n(436)]=this[n(376)],await this[n(522)](e,o,n(463))}else await this[n(551)](o,e);this[n(410)](),this[n(530)]=!0}[bs(410)](){const e=bs,t=this[e(554)][e(368)][e(414)](Zn),n=this[e(554)][e(368)][e(414)](mr),r=t[e(328)][e(414)](this[e(382)]);r&&r[e(394)]>1?n[e(432)]():this[e(459)](t,e(492)+this[e(382)],()=>{const r=e;2===t[r(328)][r(414)](this[r(382)])[r(394)]&&n[r(432)]()})}async[bs(480)](e,t,n,r){const s=bs;if(!this[s(322)]&&this[s(560)][s(436)]==t){const e=this[s(493)](n,r);await this[s(454)](e),this[s(421)](e,t,n[s(495)])||this[s(303)](s(385))}}async[bs(515)](){const e=bs;this[e(541)]();const{locale:t}=this[e(554)];let n;try{n=await this[e(528)][e(563)]()}catch{const n=gr(t,e(381));return void this[e(531)](n)}const r=n[e(319)]||n[e(308)];if(this[e(435)]!==r[e(495)]){const n=gr(t,e(304));return void this[e(531)](n)}await this[e(428)](this[e(554)][e(529)][e(401)][e(488)][e(362)](),!0)}[bs(541)](){const e=bs;this[e(528)][e(460)](),this[e(481)]=[],clearTimeout(this[e(403)]),this[e(517)](this[e(528)])}[bs(318)](e){const t=bs,n=this[t(554)][t(368)][t(414)](Zn);this[t(459)](n,t(492)+this[t(382)],(e,{session:r})=>{const s=t;if(r.id===n[s(439)]){e[s(398)]();const t=this[s(554)][s(368)][s(405)](s(521))&&this[s(554)][s(368)][s(414)](s(521));let n=r[s(476)];t&&t[s(393)]&&(n=n[s(548)](e=>s(305)!==e)),this[s(554)][s(368)][s(414)](s(341))[s(475)](n,this[s(382)])}}),n[t(455)](this[t(382)],e)}[bs(337)](){const e=bs,t=this[e(554)][e(313)][e(498)];this[e(554)][e(313)][e(498)]=(...r)=>{const s=e;if(!r[r[s(394)]-1][s(486)])throw new n.CKEditorError(s(510),this);t[s(404)](this[s(554)][s(313)],r)}}[bs(392)](){const e=bs;this[e(554)][e(313)].on(e(564),(t,[r])=>{const o=e;if(this[o(560)][o(436)])throw new n.CKEditorError(o(518),this);t[o(561)](),this[o(429)]();const i=this[o(554)][o(437)][o(414)](o(419)),a=this[o(426)](r,i);0==a[o(394)]&&a[o(504)](new s.NoOperation(0)),t[o(559)]=this[o(428)](a)[o(466)](()=>{const e=o;this[e(554)][e(368)][e(414)](Kn)[e(353)](this),this[e(554)][e(313)][e(349)](e(445))})[o(425)](e=>this[o(303)](o(532),e))[o(424)](()=>this[o(523)]())},{priority:e(366)}),this[e(554)].on(e(348),async(t,[n,r])=>{const s=e;t[s(561)]();const o=this[s(554)][s(529)][s(401)][s(388)](n);if(!this[s(431)][s(405)](n)){const e=r&&r[s(313)]?r[s(313)]:"",t=r&&r[s(415)]?r[s(415)]:{};await this[s(453)](n,e,t)}this[s(554)][s(529)][s(489)]({isUndoable:!1},()=>{const e=s;o[e(512)]=!0,this[e(554)][e(529)][e(401)][e(509)][e(306)](o)})},{priority:e(366)})}async[bs(454)](e){const t=bs,n=this[t(554)][t(368)][t(414)](Wn.Users),{connection:r}=this[t(554)][t(368)][t(414)](Kn),s=new Set;for(const r of e){const e=r[t(387)];e&&!n[t(377)](e)&&s[t(562)](e)}if(0===s[t(545)])return;const o=await b[t(408)](r,Array[t(395)](s));for(const e of o)n[t(377)](e.id)||n[t(340)](e)}[bs(426)](e,t={}){const r=bs,o=this[r(554)][r(529)],i=[];let a=0;const c=r(433)==typeof e?{main:e}:e;for(const e of Object[r(457)](c)){if(!this[r(560)][r(533)][r(405)](e))throw new n.CKEditorError(r(391),this);const t=this[r(554)][r(313)][r(479)](c[e]),d=this[r(560)][r(388)](e),u=new s.InsertOperation(o[r(520)](d,0),t,a++);i[r(504)](u);for(const[e,n]of t[r(326)]){const t=o[r(400)](o[r(491)](d,n[r(373)][r(542)][r(333)]()),o[r(491)](d,n[r(464)][r(542)][r(333)]())),c=new s.MarkerOperation(e,null,t,o[r(326)],!0,a++);i[r(504)](c)}}if(t)for(const[e,c]of Object[r(449)](t)){const t=o[r(401)][r(388)](e);if(!t)throw new n.CKEditorError(r(360),null);for(const[e,n]of Object[r(449)](c))if(null!==n){const o=new s.RootAttributeOperation(t,e,null,n,a++);i[r(504)](o)}}return i}async[bs(453)](e,t,n){const r=bs;this[r(426)]({[e]:t},{[e]:n})[r(471)]((e,t)=>{const n=r;e[n(389)]=this[n(560)][n(436)]+t,e[n(347)]=!0,this[n(467)](e)}),this[r(557)](),await this[r(402)]()}async[bs(551)](e,t){const n=bs;let r;this[n(376)]=e[n(511)];const s=e[n(378)]&&!e[n(443)],o=s?0:e[n(313)][n(389)];if(t[n(471)](t=>{const r=n;t[r(347)]=!0,t[r(411)]=e[r(427)],t[r(387)]=null}),s)r=t,this[n(473)](r,s);else{if(e[n(443)]){const t=this[n(426)](e[n(443)]);this[n(560)][n(488)][n(436)]=-t[n(394)],t[n(471)](r=>{const s=n;r[s(389)]-=t[s(394)],r[s(411)]=e[s(427)],r[s(347)]=!0,r[s(387)]=null}),this[n(473)](t,!0),this[n(506)][n(436)]=-t[n(394)]+this[n(376)],this[n(399)](t)}this[n(560)][n(488)][n(436)]=o,r=this[n(493)](e[n(313)],e[n(357)]),await this[n(454)](r),this[n(473)](r,s)}e[n(495)]&&(this[n(487)][n(452)](r,e[n(495)]),this[n(435)]=e[n(495)]),this[n(506)][n(436)]=o+this[n(376)],this[n(399)](r),t[n(548)](e=>{const t=n,r=this[t(514)](e);return r&&!this[t(431)][t(405)](r)})[n(471)]((e,t)=>{const r=n;e[r(389)]=this[r(560)][r(436)]+t,this[r(467)](e)}),this[n(537)]()?(this[n(358)]=0,this[n(557)](!0),await this[n(402)]()):(this[n(322)]=!1,this[n(523)]())}[bs(303)](e,t){const r=bs,s=t&&t[r(503)];if(s&&s[r(482)](r(434)))throw t;const o=this[r(554)][r(368)][r(414)](Kn);throw this[r(322)]=!0,o[r(460)](),this[r(554)][r(350)](r(314)),new n.CKEditorError(e,this[r(554)],s?{originalError:s}:void 0)}[bs(467)](e){const t=bs;this[t(540)][t(405)](e)||(this[t(540)][t(562)](e),this[t(481)][t(504)](e),this[t(534)]||t(346)==e[t(420)]&&!e[t(352)]||this[t(429)]())}[bs(557)](e=!1){const t=bs;!e&&this[t(322)]||(this[t(322)]=!0,clearTimeout(this[t(403)]),this[t(403)]=setTimeout(()=>{const e=t;this[e(478)]()[e(466)](t=>{const n=e;t&&(this[n(523)](),this[n(322)]=!1)})[e(425)](t=>{const n=e;this[n(523)](),this[n(322)]=!1,function(e){const t=n;return e[t(503)][t(482)](t(386))||e[t(503)][t(482)](t(438))||e[t(503)][t(482)](t(442))}(t)||this[n(303)](t[n(503)],t)})},this[t(358)]))}[bs(402)](){return new Promise(e=>{const t=Os;this.on(t(465),()=>{e()})})}async[bs(478)](){const e=bs,t=this[e(554)][e(368)][e(414)](mr);if(this[e(369)]()&&(t[e(432)](),this[e(372)]=!1),!this[e(537)]())return!0;const n=[...this[e(481)]];for(const t of n)t[e(456)]=this[e(560)][e(488)][e(356)](t);const r=this[e(487)][e(496)](n),s=ws++,o=this[e(361)](n),i=await this[e(528)][e(497)](o,o[e(389)],r);try{return await this[e(522)](n,i,s)}catch(t){return this[e(303)](e(524),t)}}async[bs(522)](e,t,n){const r=bs;if(r(446)in t)throw t[r(446)];let s=!1;if(t[r(378)]){t[r(495)]&&(this[r(435)]=t[r(495)]),this[r(481)]=this[r(481)][r(548)](t=>!e[r(339)](t));for(const n of e)n[r(411)]=r(416)in t&&t[r(416)]||void 0;Ss(e,t[r(436)]-e[r(394)]),this[r(399)](e);const n=e[r(548)](e=>{const t=r;if(!e[t(347)])return!1;const n=this[t(514)](e);return n&&!this[t(431)][t(405)](n)});Ss(n,this[r(560)][r(436)]),this[r(473)](n),s=!0,this[r(358)]=this[r(423)]}else{const e=this[r(493)](t[r(313)],t[r(357)])[r(548)](e=>e[r(389)]>=this[r(312)]);e[r(471)](e=>this[r(535)](e)),this[r(481)]=this[r(481)][r(548)](e=>!e[r(347)]||!this[r(431)][r(405)](this[r(514)](e))),this[r(481)][r(394)]&&Ss(this[r(481)],this[r(481)][0][r(389)]),await this[r(454)](e),s=this[r(421)](e,t[r(436)],t[r(495)]),this[r(358)]=Math[r(315)](this[r(358)]/2)}return s?!this[r(537)]()||(this[r(557)](!0),!1):this[r(303)](r(448))}[bs(421)](e,t,n){const r=bs;try{const o={document:this[r(560)],useRelations:!1,padWithNoOps:!0},{operationsA:i,operationsB:a,originalOperations:c}=(0,s.transformOperationSets)(e,this[r(481)],o);Ss(i,this[r(560)][r(436)]),Ss(a,t);for(const e of i){const t=c[r(414)](e);e[r(387)]=t?t[r(387)]:null}n&&(this[r(487)][r(452)](e,n),this[r(435)]=n),this[r(481)]=[...a],this[r(473)](i),this[r(399)](e)}catch(e){return console[r(446)](e),!1}return!0}[bs(473)](e,t=!1){const n=bs;this[n(554)][n(529)][n(489)]({isUndoable:!1,isLocal:!1},t=>{const r=n;for(const n of e)this[r(540)][r(562)](n),this[r(535)](n),t[r(513)][r(330)](n),this[r(554)][r(529)][r(501)](n)})}[bs(535)](e){const t=bs,n=this[t(514)](e);n&&this[t(431)][t(562)](n)}[bs(514)](e){const t=bs;let n,r;switch(e[t(420)]){case t(355):n=e[t(327)][t(317)];break;case t(346):if(r=e[t(383)],!r)return null;n=r[t(317)];break;case t(345):n=e[t(317)];break;case t(549):n=e[t(494)];break;case t(329):n=e[t(422)][t(317)];break;default:return null}return n[t(316)]}[bs(399)](e){const t=bs;e[t(471)](e=>{const n=t,r=e[n(458)]();r[n(387)]=e[n(387)],r[n(347)]=!!e[n(347)],r[n(411)]=e[n(411)],r[n(389)]+=this[n(376)],e[n(502)]&&this[n(441)][n(562)](r),this[n(506)][n(330)](r)})}[bs(531)](e){const t=bs,n=this[t(554)][t(368)][t(414)](t(546)),r=this[t(554)][t(338)];e||(e=gr(r,t(462))),n[t(558)](e,{title:gr(r,t(472)),namespace:t(311)}),this[t(477)]=!0,clearTimeout(this[t(403)]),this[t(481)]=[],this[t(554)][t(368)][t(414)](Kn)[t(460)]()}[bs(429)](){const e=bs;this[e(534)]||(this[e(534)]=this[e(554)][e(368)][e(414)](t.PendingActions)[e(562)](gr(this[e(554)][e(338)],e(450))))}[bs(523)](){const e=bs;this[e(534)]&&(this[e(554)][e(368)][e(414)](t.PendingActions)[e(396)](this[e(534)]),this[e(534)]=null)}[bs(361)](e){const t=bs,n=e[t(406)](e=>e[t(359)]());return this[t(409)][t(499)](n)}[bs(493)](e,t){const n=bs;return this[n(409)][n(365)](e)[n(406)]((e,r)=>{const o=n,i=o(564)==t[r][o(420)];if(o(474)==e[o(490)]){const t=e[o(327)][o(317)];!this[o(560)][o(388)](t)&&(this[o(560)][o(323)](o(412),t)[o(371)]=!1)}const a=s.OperationFactory[o(342)](e,this[o(560)]);return a[o(456)]=e[o(456)],a[o(347)]=i,a[o(387)]=i?null:t[r][o(384)],a[o(502)]=o(302)===t[r][o(420)],a[o(411)]=t[r][o(411)],a})}[bs(375)](){const e=bs;this[e(372)]=!0,this[e(369)]()?this[e(557)]():this[e(372)]=!1}[bs(369)](){const e=bs,t=this[e(554)][e(368)][e(414)](Zn)[e(328)][e(414)](this[e(382)]);return!this[e(554)][e(565)]&&!!t&&t[e(394)]>1&&this[e(372)]}[bs(537)](){const e=bs;return this[e(481)][e(394)]>0||this[e(369)]()}}class vs extends Error{}function Ss(e,t){const n=bs;for(const r of e)r[n(389)]=t++}class ks{[bs(335)];[bs(344)];constructor(e){const t=bs;this[t(335)]=e,this[t(344)]=new WeakMap}[bs(496)](e){const t=bs;let r=e[t(394)];for(;r--;){const s=e[r];if(!this[t(335)][t(405)](s)){if(!this[t(344)][t(405)](s)){const e=(0,n.uid)()[t(333)](1,18);this[t(344)][t(498)](s,e)}return this[t(344)][t(414)](s)}}}[bs(452)](e,t){const n=bs;if(!t)return;let r=e[n(394)];for(;r--;){const s=e[r];this[n(335)][n(405)](s)||this[n(344)][n(498)](s,t)}}}function Ps(){const e=["permissions","_hasSynchronizationProblem","_sendBufferedOperations","parse","_handleReceivedOperations","_bufferedOperations","startsWith","removeFromReconnectionStack","cloudDocumentVersion","isOfficialPlugin","suppressErrorInCollaboration","_operationIdentifier","history","enqueueChange","__className","createPositionFromPath","sessionAdd:","_decompressOperations","affectedSelectable","lastOperationId","getIdOfTheLastOperation","sendOperations","set","compress","destroy","applyOperation","_isDisconnection","message","push","connect","serverHistory","requires","change:hasDomSelection","differ","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","offset","_isLoaded","batch","_getAffectedRoot","_connectAfterSessionHasBeenFlushed","isPremiumPlugin","stopListening","realtimecollaborationclient-init-document-already-initialized","disconnected","createPositionAt","CommentsOnly","_handleServerResponse","_clearPendingAction","realtimecollaborationclient-sendbufferedoperations","117poLvgA","realtimecollaborationclient-init-service-internal-error","3726464RSQeRx","_service","model","_isConnected","_handleReconnectionError","realtimecollaborationclient-init-connection-failed","roots","_pendingAction","_addKnownRoot","2771493jzqncq","_shouldSendUpdate","cloudServices.bundleVersion","409","_knownOperations","_disconnectService","path","sessionId","rtc-offline","size","Notification","collaboration-missing-channelid","filter","addRoot","RealTimeCollaborationClient","_handleInitialConnectionData","404","336DVkCam","editor","CollaborativeEditingService","430vQOrHM","_sendBufferedOperationsDelayed","showWarning","return","_document","stop","add","getDocumentDetails","init","isReadOnly","cs:removeUser","_crash","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.","document:write","_bufferRootLoad","define","lastDocumentSession","getConnectedSessions","isDocumentOperation","real-time-collaboration","_lastServerVersion","data","realtimecollaborationclient-error","round","rootName","root","_initSessionsHandling","currentDocumentSession","disableReadOnlyMode","_handleReconnectionResponse","_isPendingUpdate","createRoot","lastSyncVersion","selection","markers","position","channelSessions","move","addOperation","connection","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","slice","state","_ignoredOperations","6IZJBrt","_initThrowingOnDataSet","locale","includes","addUser","Permissions","fromJSON","change:range","_operationToId","addRootAttribute","marker","_isInit","loadRoot","fire","enableReadOnlyMode","editing","affectsData","addToReconnectionStack","_isEditingAllowed","insert","isUndoneOperation","metadata","_currentBufferDelay","toJSON","multi-root-editor-root-attributes-no-root","_compressOperations","getOperations","pluginName","unregister","decompress","high","4743956QJgOkO","plugins","_shouldSendSelectionUpdate","change:_isEditingAllowed","_isAttached","_hasSelectionChanged","start","realtimecollaborationclient-init-session-connection-error","_refreshUserSelectionMarkers","_offset","getUser","wereChangesApplied","3023pwDFQf","collaboration.channelId","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","_channelId","newRange","userId","realtimecollaborationclient-init-service-incorrect-server-operation","cloud-services-internal-error: Not connected.","_authorId","getRoot","baseVersion","directChange","realtimecollaborationclient-init-non-existent-root","_setUpDataInit","isEnabled","length","from","remove","4XiHuUS","off","_updateServerHistory","createRange","document","_waitUntilSynced","_sendBufferedOperationsDelayId","apply","has","map","80650wpeHYK","getMany","_compressor","_handleSendingSelectionMarkers","createdAt","$root","bind","get","attributes","lastOperationAcceptedAt","93643bUXTds","connected","rootsAttributes","type","_handleExternalOperations","targetPosition","_baseBufferDelay","finally","catch","_getOperationsFromInitData","sessionCreatedAt","_connectService","_setPendingAction","code","_knownRootNames","createUserMarkerOperations","string","realtimecollaborationclient","_lastSyncedOperationId","version","config","cloud-services-internal-error: Collaborative Editing Service is not connected.","mySessionId","operationsReceived","_disconnectionOperations","cloud-services-internal-error: Request timeout.","initData","rtc-destroyed","ready","error","getOperationAuthor","realtimecollaborationclient-handleserverresponse","entries","PENDING_ACTION_SENDING_DATA","view","setIdForTheLastOperation","_loadRoot","_fetchMissingUsers","register","wasUndone","keys","clone","listenTo","disconnect","reset","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.","reconnection: flushed session","end","change:_isPendingUpdate","then","_saveOperationInBuffer","reconnect","143705YJqygz","collaboration","forEach","Synchronization issue","_applyOperationsSet","InsertOperation","setPermissions"];return(Ps=function(){return e})()}var As=Ts;function Ts(e,t){var n=Cs();return(Ts=function(e,t){return n[e-=182]})(e,t)}!function(e){for(var t=Ts,n=e();;)try{if(506557===parseInt(t(191))/1+-parseInt(t(182))/2+parseInt(t(189))/3+-parseInt(t(194))/4*(-parseInt(t(187))/5)+-parseInt(t(190))/6*(-parseInt(t(195))/7)+-parseInt(t(193))/8+-parseInt(t(183))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Cs);class _s extends t.Plugin{static get[As(184)](){return[Is]}static get[As(186)](){return As(188)}static get[As(192)](){return!0}static get[As(185)](){return!0}}function Cs(){var e=["6583024xObbKm","563282orvEzG","2523600LDTKNB","requires","isPremiumPlugin","pluginName","1553945VZsvnV","RealTimeCollaborativeEditing","210357HtQACx","6yfAMFw","51514zJaVFe","isOfficialPlugin","2434048rjPupf","4bkVmhj"];return(Cs=function(){return e})()}function js(e,t){const n=Vs();return(js=function(e,t){return n[e-=225]})(e,t)}const Es=js;!function(e){const t=js,n=e();for(;;)try{if(593724===-parseInt(t(253))/1*(-parseInt(t(324))/2)+-parseInt(t(228))/3*(-parseInt(t(301))/4)+parseInt(t(256))/5+-parseInt(t(236))/6+parseInt(t(309))/7+-parseInt(t(322))/8+-parseInt(t(235))/9*(parseInt(t(252))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vs);class Ds extends t.ContextPlugin{static[Es(286)]=(()=>Yn)();[Es(226)];static get[Es(297)](){return[Kn,Es(307),Zn,Wn.Users]}static get[Es(318)](){return Es(303)}static get[Es(229)](){return!0}static get[Es(265)](){return!0}constructor(e){const t=Es;super(e),this[t(226)]=new Map}async[Es(262)](){const e=Es,n=this[e(250)],r=n[e(313)][e(279)](e(307));if(n[e(313)][e(279)](Kn)[e(291)](this),r[e(257)]={addCommentThread:async({channelId:t,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=e,d=await this[c(260)](t)[c(305)]({commentThreadId:n,comments:r[c(267)](e=>function(e,t,n){const r=c;return{commentThreadId:n,commentId:e[r(317)],userId:e[r(240)],content:e[r(263)],documentId:t,createdAt:e[r(237)],attributes:e[r(231)]||{}}}(e,t,n)),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(272)](Rs);return{threadId:d[c(292)],comments:d[c(276)]}},getCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(260)](t)[r(316)](n)[r(272)](xs)[r(272)](Rs);return s?s[r(243)]?null:(await this[r(308)]([s]),{threadId:s[r(292)],comments:s[r(276)][r(267)](Ns),context:s[r(250)],resolvedAt:s[r(280)],resolvedBy:s[r(249)],attributes:s[r(231)]||{}}):null},updateCommentThread:async({channelId:t,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[e(260)](t)[e(310)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[e(272)](xs)[e(272)](Rs),resolveCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(260)](t)[r(326)](n)[r(272)](xs)[r(272)](Rs);return{threadId:s[r(292)],resolvedAt:s[r(280)],resolvedBy:s[r(249)]}},reopenCommentThread:async({channelId:t,threadId:n})=>this[e(260)](t)[e(241)](n)[e(272)](xs)[e(272)](Rs),removeCommentThread:({channelId:t,threadId:n})=>this[e(260)](t)[e(230)](n)[e(272)](xs)[e(272)](Rs),addComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(260)](t)[e(273)](n,r,s,o)[e(272)](Rs),updateComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(260)](t)[e(251)](n,r,s,o)[e(272)](xs)[e(272)](Rs),removeComment:({channelId:t,threadId:n,commentId:r})=>this[e(260)](t)[e(248)](n,r)[e(272)](xs)[e(272)](Rs)},n instanceof t.Context){const t=n[e(298)][e(279)](e(304)),r=n[e(313)][e(279)](Zn);await this[e(233)](t);const s=await this[e(226)][e(279)](t)[e(244)]();this[e(321)](r,e(271)+t,(n,{session:s})=>{const o=e;s.id===r[o(312)]&&(n[o(246)](),this[o(250)][o(313)][o(279)](o(277))[o(289)](s[o(264)],t))}),r[e(302)](t,s)}}async[Es(233)](e){const t=Es;if(this[t(226)][t(319)](e))throw new n.CKEditorError(t(247),null,{channelId:e});const r=this[t(250)][t(313)][t(279)](t(307)),s=new(Ds[t(286)])(e);this[t(226)][t(238)](e,s),this[t(321)](s,t(268),(e,n)=>{const s=t,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=n;r[s(316)](o)||r[s(305)]({threadId:o,channelId:i,comments:l?l[s(267)](Ns):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})}),this[t(321)](s,t(274),(e,{commentThreadId:n,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=t;r[c(316)](n)&&r[c(310)]({threadId:n,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})}),this[t(321)](s,t(288),(e,{commentThreadId:n,resolvedBy:s,resolvedAt:o})=>{const i=t,a=r[i(316)](n);a&&a[i(254)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})}),this[t(321)](s,t(239),(e,{commentThreadId:n})=>{const s=t,o=r[s(316)](n);o&&o[s(266)]({isFromAdapter:!0})}),this[t(321)](s,t(323),(e,{commentThreadId:n})=>{const s=t,o=r[s(316)](n);o&&o[s(282)]({isFromAdapter:!0})}),this[t(321)](s,t(294),(e,n)=>{const s=t,o=n[s(292)],i=r[s(316)](o);i&&i[s(273)]({...Ns(n),isFromAdapter:!0})}),this[t(321)](s,t(295),(e,{commentThreadId:n,commentId:s,content:o,attributes:i})=>{const a=t,c=r[a(316)](n);if(c){const e=c[a(232)](s);e&&e[a(259)]({content:o,attributes:i,isFromAdapter:!0})}}),this[t(321)](s,t(285),(e,{commentThreadId:n,commentId:s})=>{const o=t,i=r[o(316)](n);if(i){const e=i[o(232)](s);e&&e[o(282)]({isFromAdapter:!0})}}),await this[t(283)](e)}[Es(300)](){const e=Es;if(this[e(250)]instanceof t.Context){const t=this[e(250)][e(298)][e(279)](e(304));this[e(255)](t)}}[Es(255)](e){const t=Es;if(!this[t(226)][t(319)](e))throw new n.CKEditorError(t(296),null,{channelId:e});this[t(260)](e)[t(299)](),this[t(226)][t(258)](e)}async[Es(269)](){const e=Es;for(const t of this[e(226)][e(320)]())await this[e(283)](t);if(this[e(250)]instanceof t.Context){const t=this[e(250)][e(298)][e(279)](e(304)),n=this[e(250)][e(313)][e(279)](Zn);n[e(245)](t);const r=await this[e(226)][e(279)](t)[e(244)]();n[e(302)](t,r)}}async[Es(283)](e){const t=Es,{connection:n}=this[t(250)][t(313)][t(279)](Kn),r=this[t(250)][t(313)][t(279)](t(307)),s=this[t(226)][t(279)](e),o=await s[t(275)](n);await this[t(308)](o);const i=new Set(Array[t(315)](r[t(225)]({channelId:e}),e=>e.id));for(const e of o)e[t(243)]||i[t(258)](e[t(292)]);for(const e of i)r[t(316)](e)[t(282)]({isFromAdapter:!0});for(const n of o){let s=r[t(316)](n[t(292)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[t(305)]({channelId:e,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const p=new Set(Array[t(315)](s[t(276)],e=>e.id));for(const e of n[t(276)])p[t(258)](e[t(317)]);for(const e of p)s[t(232)](e)[t(282)]({isFromAdapter:!0});for(const e of n[t(276)]){const n=s[t(232)](e[t(317)]);n?n[t(263)]!==e[t(263)]&&n[t(259)]({content:e[t(263)],isFromAdapter:!0}):s[t(273)](Object[t(293)](Ns(e),{isFromAdapter:!0}))}}}[Es(260)](e){const t=Es;if(!this[t(226)][t(319)](e))throw new n.CKEditorError(t(261),null,{channelId:e});return this[t(226)][t(279)](e)}async[Es(308)](e){const t=Es,n=this[t(250)][t(313)][t(279)](Wn.Users),{connection:r}=this[t(250)][t(313)][t(279)](Kn),s=new Set;for(const{resolvedBy:r,comments:o}of e){r&&!n[t(325)](r)&&s[t(314)](r);for(const{userId:e}of o)n[t(325)](e)||s[t(314)](e)}if(0===s[t(281)])return;const o=await b[t(311)](r,Array[t(315)](s));for(const e of o)n[t(325)](e.id)||n[t(290)](e)}}async function xs(e){const t=Es;if(t(278)!==e[t(234)])throw e}function Rs(e){const t=Es;if((n=e)[t(227)][t(306)](t(270))||n[t(227)][t(306)](t(284))||n[t(227)][t(306)](t(242)))return new Promise(()=>{});var n;throw e}function Ns(e){const t=Es;return{threadId:e[t(292)],commentId:e[t(317)],content:e[t(263)],createdAt:e[t(237)],authorId:e[t(287)],attributes:e[t(231)]||{}}}function Vs(){const e=["CloudServicesCommentsAdapter","collaboration.channelId","addCommentThread","startsWith","CommentsRepository","_fetchMissingUsersForThreads","5272071ZynmIw","updateCommentThread","getMany","mySessionId","plugins","add","from","getCommentThread","commentId","pluginName","has","keys","listenTo","6344720IGnSfu","commentThreadRemoved","2041532xodIrB","getUser","resolveCommentThread","getCommentThreads","_services","message","3uOtEzg","isOfficialPlugin","removeCommentThread","attributes","getComment","_setUpService","code","153ntCSpp","2507622AzrPQl","createdAt","set","commentThreadReopened","authorId","reopenCommentThread","cloud-services-internal-error: Request timeout.","deletedAt","getConnectedSessions","unregister","off","cloudservicescommentsadapter-connect-already-connected","removeComment","resolvedBy","context","updateComment","937700mTGWAi","1jjcAFE","resolve","_terminateService","4216350tKSrfz","adapter","delete","update","_getService","cloudservicescommentsadapter-service-not-exist","init","content","permissions","isPremiumPlugin","reopen","map","commentThreadAdded","reconnect","cloud-services-internal-error: Comments Service is not connected.","sessionAdd:","catch","addComment","commentThreadUpdated","connect","comments","Permissions","404","get","resolvedAt","size","remove","_connectService","cloud-services-internal-error: Not connected.","commentRemoved","CommentsService","userId","commentThreadResolved","setPermissions","addUser","addToReconnectionStack","commentThreadId","assign","commentAdded","commentUpdated","cloudservicescommentsadapter-disconnect-not-exist","requires","config","disconnect","destroy","3126608fUUmEe","register"];return(Vs=function(){return e})()}const Ms=Bs;function Bs(e,t){const n=Gs();return(Bs=function(e,t){return n[e-=191]})(e,t)}!function(e){const t=Bs,n=e();for(;;)try{if(912517===-parseInt(t(200))/1+parseInt(t(251))/2*(parseInt(t(242))/3)+-parseInt(t(233))/4*(parseInt(t(203))/5)+-parseInt(t(194))/6*(-parseInt(t(219))/7)+parseInt(t(197))/8*(parseInt(t(232))/9)+-parseInt(t(210))/10*(parseInt(t(211))/11)+-parseInt(t(253))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gs);class Us extends t.Plugin{static[Ms(214)]=(()=>Zt)();[Ms(256)];[Ms(236)];static get[Ms(204)](){return[Ds,Ms(196),Kn]}static get[Ms(202)](){return Ms(220)}static get[Ms(212)](){return!0}static get[Ms(216)](){return!0}constructor(e){const t=Ms;super(e);const n=this[t(205)][t(213)][t(218)](t(234));this[t(256)]=new Map,this[t(236)]=new(Us[t(214)])(n)}[Ms(239)](){const e=Ms,t=this[e(205)][e(229)][e(218)](Kn),n=this[e(205)][e(229)][e(218)](e(196));return n[e(252)]={getSuggestion:async t=>{const n=e;await this[n(235)]();const r=await this[n(236)][n(218)](t)[n(227)](Js);return await this[n(226)]([r]),r},addSuggestion:async({id:t,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=e;await this[i(235)]();const a={id:t,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(236)][i(241)](t,n,r,s,o)[i(227)](e=>{if(qs(e))return new Promise(e=>{const n=Bs;this[n(256)][n(224)](t,{resolve:e,suggestionData:a})});throw e});return this[i(256)][i(225)](t),c},updateSuggestion:async(t,n)=>{const r=e;if(await this[r(235)](),r(209)!==n[r(248)])return this[r(236)][r(207)](t,n)[r(227)](Js)}},this[e(206)](this[e(236)],e(201),(t,r)=>{const s=e;n[s(221)](r.id)&&(n[s(230)](r.id)[s(228)]=r[s(228)])}),this[e(236)][e(237)](t[e(223)])[e(191)](r=>(t[e(255)](this),this[e(226)](r)[e(191)](()=>{const t=e;for(const e of r)n[t(246)](e)[t(215)]=!0})))}async[Ms(199)](){const e=Ms,t=this[e(205)][e(229)][e(218)](e(196)),{connection:n}=this[e(205)][e(229)][e(218)](Kn),r=await this[e(236)][e(237)](n);await this[e(226)](r);for(const{suggestionData:t,resolve:n}of this[e(256)][e(195)]()){let s=r[e(222)](e=>e.id===t.id);s||(s=await this[e(236)][e(241)](t.id,t[e(193)],t[e(244)],t[e(231)])),n(s)}for(const n of r)t[e(221)](n.id)||t[e(246)](n)}async[Ms(235)](){const e=Ms;this[e(236)][e(192)]||await new Promise(t=>{const n=e;this[n(206)](this[n(236)],n(238),e=>{e[n(240)](),t()})})}async[Ms(226)](e){const t=Ms,n=this[t(205)][t(229)][t(218)](Wn.Users),{connection:r}=this[t(205)][t(229)][t(218)](Kn),s=new Set;for(const{authorId:r}of e)n[t(249)](r)||s[t(241)](r);if(0===s[t(250)])return;const o=await b[t(217)](r,Array[t(247)](s));for(const e of o)n[t(249)](e.id)||n[t(198)](e)}}function Js(e){if(qs(e))return new Promise(()=>{});throw e}function qs(e){const t=Ms;return e[t(245)][t(254)](t(243))||e[t(245)][t(254)](t(208))}function Gs(){const e=["from","state","getUser","size","2526674rgPMGO","adapter","13092492BwoLnO","startsWith","addToReconnectionStack","_bufferedRequests","then","isConnected","type","822SEHuFx","values","TrackChangesEditing","8bCeYyG","addUser","reconnect","67512ljVxFV","suggestionUpdated","pluginName","477030fquZYn","requires","editor","listenTo","update","cloud-services-internal-error: Request timeout.","open","394640leNYUv","374wYfhcO","isOfficialPlugin","config","TrackChangesService","_saved","isPremiumPlugin","getMany","get","25739OomDhq","CloudServicesTrackChangesAdapter","hasSuggestion","find","connection","set","delete","_fetchMissingUsersForThreads","catch","attributes","plugins","getSuggestion","originalSuggestionId","15670494TikBSj","4RXqTeR","collaboration.channelId","_waitForServiceReady","_trackChangesService","connect","connected","init","off","add","3qEFuKz","cloud-services-internal-error: Not connected.","data","message","addSuggestionData"];return(Gs=function(){return e})()}const Ls=Ys;function Ys(e,t){const n=Hs();return(Ys=function(e,t){return n[e-=262]})(e,t)}function Hs(){const e=["Comments","collaboration.channelId","177214CiFyXb","isThreadsLoadingPaused","63935TDkyyG","listenTo","data","14346XSlmiO","plugins","config","446880ZOTkix","CommentsRepository","CommentsEditing","3628zRlKzF","get","8BLbfFb","243xjapVr","RealTimeCollaborativeComments","isPremiumPlugin","editor","destroy","switchReadOnly","change:state","once","pluginName","connected","ready","5489670kjAxfM","_setUpService","830490gkDlfE","init","requires","2DaWTqz","isOfficialPlugin","_terminateService"];return(Hs=function(){return e})()}!function(e){const t=Ys,n=e();for(;;)try{if(110412===-parseInt(t(293))/1*(parseInt(t(263))/2)+-parseInt(t(277))/3*(parseInt(t(274))/4)+parseInt(t(265))/5+-parseInt(t(290))/6+-parseInt(t(271))/7+parseInt(t(276))/8*(parseInt(t(268))/9)+parseInt(t(288))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hs);class zs extends t.Plugin{static get[Ls(292)](){return[Ls(296),Ds,_s,Kn]}static get[Ls(285)](){return Ls(278)}static get[Ls(294)](){return!0}static get[Ls(279)](){return!0}[Ls(291)](){const e=Ls,t=this[e(280)][e(269)][e(275)](Kn),n=this[e(280)][e(269)][e(275)](e(273)),r=this[e(280)][e(269)][e(275)](Ds);return this[e(280)][e(267)][e(284)](e(287),()=>{const r=e;this[r(266)](t,r(283),(e,t,s)=>{const o=r;n[o(264)]=o(286)!==s})}),this[e(266)](t,e(283),(t,n,r)=>{const s=e;this[s(280)][s(269)][s(275)](s(272))[s(282)](s(286)!==r)}),r[e(289)](this[e(280)][e(270)][e(275)](e(262)))}[Ls(281)](){const e=Ls;this[e(280)][e(269)][e(275)](Ds)[e(295)](this[e(280)][e(270)][e(275)](e(262))),super[e(281)]()}}var Fs=Ks;function Ks(e,t){var n=Ws();return(Ks=function(e,t){return n[e-=325]})(e,t)}function Ws(){var e=["75ZxaOAl","5ZSKwAs","5305790NfukbK","14590560ykhKlS","RealTimeCollaborativeTrackChanges","150882DnOaXh","7263333oNIkpM","isOfficialPlugin","requires","5129214tZRJst","pluginName","isPremiumPlugin","9jJfEor","TrackChanges","213240EWzGWO","17nQihlj","7755154MjPPuy"];return(Ws=function(){return e})()}!function(e){for(var t=Ks,n=e();;)try{if(926626===-parseInt(t(335))/1*(parseInt(t(325))/2)+parseInt(t(337))/3*(-parseInt(t(334))/4)+parseInt(t(338))/5*(parseInt(t(329))/6)+parseInt(t(326))/7+parseInt(t(340))/8+-parseInt(t(332))/9*(-parseInt(t(339))/10)+-parseInt(t(336))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ws);class Qs extends t.Plugin{static get[Fs(328)](){return[zs,Us,Fs(333)]}static get[Fs(330)](){return Fs(341)}static get[Fs(327)](){return!0}static get[Fs(331)](){return!0}}const Xs=$s;function Zs(){const e=["collaboration.channelId","_getLatestVersion","_createCurrentRevision","updateRevisions","diffData","isPremiumPlugin","isConnected","max","setRevisionData","_revisionTracker","8763240WxuInY","_bufferedUpdates","_waitForServiceReady","keys","CloudServicesRevisionHistoryAdapter","startsWith","_isPendingUpdate","_offset","cloud-services-internal-error: Not connected.","sessionId","getMany","getUser","_update","_preventResendingRevisionData","revisionsUpdated","24ORvhgy","129JGhftg","remove","listenTo","_oldOffset","isEnabled","_fetchMissingUsers","wrongRequestId","RevisionHistoryService","createdAt","reInit","sendBufferedUpdates","then","creatorId","adapter","connected","400","state","authors","_handleRevisionsUpdate","reconnect","add","editor","addUser","serverHistory","pluginName","data","3202577rwiBzp","isOfficialPlugin","RevisionTracker","affectsData","isEmptyCurrent","plugins","reverse","cloud-services-internal-error: Request timeout.","map","cloudServices.bundleVersion","bind","connect","change:_isPendingUpdate","_revisionDataBuilder","code","_fixRevision","length","17357319JxRelC","init","isBundleUploaded","message","get","repository","requires","_handleReconnectionError","cloud-services-internal-error: Revision History Service is not connected.","_lastRequestId","setSource","off","currentRevision","change:_isConnected","has","addRevisionData","toVersion","getOperations","2149114VXjOwP","from","addToReconnectionStack","_startingVersion","once","authorsIds","destroy","_isConnected","marker","RevisionHistory","_revisions","593952KeJAhQ","type","5xMEUPT","getRevisions","63264sJwXBJ","config","51860720peCvfI","_revisionHistoryService","_getLatestVersionFromServerOperations","CONNECTED","getRevision","connection","catch","fromVersion","baseVersion","buildRevisionData","_bufferUpdate","size"];return(Zs=function(){return e})()}function $s(e,t){const n=Zs();return($s=function(e,t){return n[e-=173]})(e,t)}!function(e){const t=$s,n=e();for(;;)try{if(996891===-parseInt(t(199))/1+-parseInt(t(188))/2+-parseInt(t(243))/3*(parseInt(t(203))/4)+-parseInt(t(201))/5*(-parseInt(t(227))/6)+parseInt(t(269))/7*(-parseInt(t(242))/8)+-parseInt(t(286))/9+parseInt(t(205))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zs);class eo extends t.Plugin{static[Xs(250)]=(()=>Bt)();[Xs(179)];[Xs(226)];[Xs(206)];[Xs(246)];static get[Xs(176)](){return[Kn,Is,Xs(197),Zn,Wn.Users]}static get[Xs(267)](){return Xs(231)}static get[Xs(270)](){return!0}static get[Xs(222)](){return!0}constructor(e){const t=Xs;super(e);const n=this[t(264)][t(204)][t(174)](t(217));this[t(179)]=null,this[t(226)]=this[t(264)][t(274)][t(174)](t(271)),this[t(206)]=new(eo[t(250)])(n)}async[Xs(287)](){const e=Xs,t=this[e(264)][e(274)][e(174)](Is),r=t[e(266)],s=this[e(264)][e(274)][e(174)](Kn);this[e(226)][e(180)]({history:r,getLatestVersion:()=>this[e(218)](),getCurrentRevisionId:()=>t[e(236)]});const o=this[e(264)][e(204)][e(174)](e(278))||n.version,i=await Tt[e(288)](s[e(210)],o);this[e(264)][e(274)][e(174)](e(197))[e(256)]={getRevision:async({revisionId:t})=>(await this[e(229)](),await this[e(206)][e(209)](t)),updateRevisions:async t=>{const n=e;await this[n(229)]();const r=this[n(226)][n(182)];if(i&&1===t[n(285)]&&t[0].id===r.id)return t;for(const e of t)e.id===r.id&&(e[n(273)]=e[n(212)]===e[n(186)]);return this[n(206)][n(220)](t,this[n(179)])[n(254)](e=>(this[n(179)]=e,t))[n(211)](e=>{const r=n;if(to(e)||r(258)===e[r(283)]&&void 0!==e[r(268)][r(249)]){for(const e of t)!this[r(226)][r(175)][r(209)](e.id)||this[r(226)][r(215)](e.id,e,!1);if(to(e))throw e;return t}throw e})}},this[e(245)](this[e(206)],e(241),(t,{revisionsData:n,requestId:r})=>{const s=e;Math[s(224)](...n[s(277)](e=>e[s(186)]))>this[s(207)]()-1?this[s(218)]()[s(254)](()=>{this[s(261)](n,r)}):this[s(261)](n,r)});const{revisions:a,requestId:c}=await this[e(206)][e(280)](s[e(210)]);s[e(190)](this),this[e(179)]=c,await this[e(248)](a);for(const t of a)this[e(226)][e(185)](t);this[e(245)](t,e(183),(n,r,s)=>{const o=e;s&&(this[o(246)]=t[o(234)],n[o(181)]())}),this[e(226)][e(279)](e(247)).to(s,e(259),t=>t===It[e(208)])}async[Xs(262)](){const e=Xs,t=this[e(264)][e(274)][e(174)](Kn),n=this[e(264)][e(274)][e(174)](Is),r=async()=>{const r=e,s=this[r(226)][r(182)],o=s.id,i=o!==n[r(236)];if(i){const e=n[r(234)]-this[r(246)],t=this[r(207)]();if(this[r(226)][r(282)][r(252)](),s[r(186)]+e!==t){const n=s[r(212)]+e,o=this[r(264)][r(274)][r(174)](Wn.Users),i=this[r(226)][r(214)]({revision:s,from:n,to:t});i.id=s.id;const a=i[r(193)][r(277)](e=>o[r(238)](e));s[r(239)]({...i,authors:a},!0),this[r(226)][r(215)](s.id,i,!0)}this[r(226)][r(191)]=t,s[r(186)]===s[r(212)]&&!this[r(226)][r(228)][r(184)](o)&&this[r(226)][r(175)][r(198)][r(244)](o),this[r(226)][r(219)](t)}const{revisions:a,requestId:c}=await this[r(206)][r(262)](t[r(210)],this[r(179)]);i&&a[r(285)]>0?n[r(177)]():(await this[r(248)](a),this[r(261)](a,c),this[r(226)][r(253)]())};return n[e(195)]?r():new Promise((t,s)=>{const o=e;n[o(192)](o(183),()=>{const e=o;r()[e(254)](t)[e(211)](s)})})}[Xs(194)](){super[Xs(194)]()}async[Xs(229)](){const e=Xs;this[e(206)][e(223)]||await new Promise(t=>{const n=e;this[n(245)](this[n(206)],n(257),e=>{e[n(181)](),t()})})}[Xs(207)](){const e=Xs,t=this[e(264)][e(274)][e(174)](Is)[e(266)][e(187)]()[e(275)]();for(const n of t)if(e(196)!==n[e(200)]||n[e(272)])return n[e(213)]+1}[Xs(218)](){const e=Xs,t=this[e(264)][e(274)][e(174)](Is);return new Promise(n=>{const r=e;t[r(233)]?t[r(192)](r(281),()=>{n(this[r(207)]())}):n(this[r(207)]())})}[Xs(261)](e,t){const n=Xs,r=this[n(226)][n(175)];this[n(179)]=t;for(const t of e){const e=r[n(209)](t.id);if(e){if((t[n(212)]||t[n(186)])&&(t[n(221)]=null),e===this[n(226)][n(182)]){const r=Math[n(224)](e[n(186)],t[n(186)]),s=Math[n(224)](e[n(212)],t[n(212)]);let o;e[n(186)]===t[n(186)]&&e[n(212)]===t[n(212)]?(o=!0,this[n(240)](t)):t[n(186)]===r&&t[n(212)]===s?o=!1:(e[n(186)]===r&&e[n(212)]===s||this[n(284)]({revision:e,from:s,to:r}),o=!0),o&&(delete t[n(212)],delete t[n(186)],delete t[n(221)],delete t[n(251)],delete t[n(193)])}this[n(226)][n(225)](t),this[n(240)](t)}else this[n(226)][n(185)](t)}const s=r[n(202)]();s[n(275)]();for(let e=0;e<s[n(285)]-1;e++){const t=s[e],r=s[e+1];if(t[n(212)]<r[n(186)]){const e=r[n(186)],s=Math[n(224)](e,t[n(186)]);this[n(284)]({revision:t,from:e,to:s})}}}[Xs(284)]({revision:e,from:t,to:n}={}){const r=Xs,s=this[r(264)][r(274)][r(174)](Wn.Users),o=this[r(226)][r(214)]({revision:e,from:t,to:n});o[r(260)]=o[r(193)][r(277)](e=>s[r(238)](e)),e[r(239)](o)}[Xs(240)](e){const t=Xs,n={};n.id=e.id;for(const r of Object[t(230)](e))"id"!==r&&(n[r]=void 0);this[t(226)][t(215)](n.id,n,!0)}async[Xs(248)](e){const t=Xs,n=this[t(264)][t(274)][t(174)](Wn.Users),{connection:r}=this[t(264)][t(274)][t(174)](Kn),s=new Set;for(const n of e){for(const e of n[t(193)])i(e);n[t(255)]&&i(n[t(255)])}if(0===s[t(216)])return;const o=await b[t(237)](r,Array[t(189)](s));for(const e of o)n[t(238)](e.id)||n[t(265)](e);function i(e){const r=t;n[r(238)](e)||s[r(263)](e)}}}function to(e){const t=Xs;return e[t(173)][t(232)](t(178))||e[t(173)][t(232)](t(235))||e[t(173)][t(232)](t(276))}var no=ro;function ro(e,t){var n=so();return(ro=function(e,t){return n[e-=498]})(e,t)}function so(){var e=["RevisionHistory","5DymGXA","54040xDpaZg","2985563UQzAus","545008tkxCTU","isOfficialPlugin","1693071hQKMAU","207tCmTDh","requires","2219256sFONAH","536638CBgQyd","pluginName","1791644aIeqSQ","isPremiumPlugin","RealTimeCollaborativeRevisionHistory"];return(so=function(){return e})()}!function(e){for(var t=ro,n=e();;)try{if(288753===parseInt(t(499))/1+parseInt(t(505))/2+parseInt(t(501))/3+parseInt(t(507))/4*(-parseInt(t(511))/5)+-parseInt(t(504))/6+-parseInt(t(498))/7+-parseInt(t(512))/8*(-parseInt(t(502))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(so);class oo extends t.Plugin{static get[no(503)](){return[no(510),eo,_s]}static get[no(506)](){return no(509)}static get[no(500)](){return!0}static get[no(508)](){return!0}}function io(e){return function(e){return"object"==typeof e&&null!==e}(e)&&1===e.nodeType&&!function(e){if("object"!=typeof e)return!1;if(null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){const t=e[Symbol.toStringTag];return null!=t&&(!!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable&&e.toString()===`[object ${t}]`)}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e)}function ao(){const e=["293107qnNPXH","8816640xIPjje","div","5mGtDVE","ck-presence-list__list-item","400VuJkiY","ck-presence-list__users-counter__text","toString","listitem","setTemplate","356355MvaQFO","set","2680116lBHjsh","_collapseAt","26kzKMtC","bindTemplate","bind","ck-presence-list__counter--hidden","181791BDtyuQ","usersCount","isHidden","336cJiBYA","5271196apCfLl","22BlHEbO","ck-presence-list__users-counter","90622JbRbsg"];return(ao=function(){return e})()}const co=uo;function uo(e,t){const n=ao();return(uo=function(e,t){return n[e-=109]})(e,t)}!function(e){const t=uo,n=e();for(;;)try{if(884449===parseInt(t(118))/1+parseInt(t(132))/2*(parseInt(t(110))/3)+parseInt(t(114))/4*(parseInt(t(121))/5)+parseInt(t(113))/6*(parseInt(t(117))/7)+-parseInt(t(119))/8+parseInt(t(128))/9*(-parseInt(t(123))/10)+-parseInt(t(115))/11*(-parseInt(t(130))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ao);class lo extends r.View{[co(131)];constructor(e,t=6){const n=co;super(e);const r=this[n(133)];this[n(129)](n(112),!0),this[n(129)](n(111),0),this[n(131)]=t,this[n(134)](n(112)).to(this,n(111),e=>e<t),this[n(127)]({tag:n(120),attributes:{class:["ck",n(122),r.if(n(112),n(109))],role:n(126)},children:[{tag:n(120),attributes:{class:["ck",n(116)]},children:[{tag:n(120),attributes:{class:["ck",n(124)]},children:[{text:r.to(n(111),e=>"+"+(e-this[n(131)]+2)[n(125)]())}]}]}]})}}const po=fo;function ho(){const e=["4pVEtgt","2061180MSKBQD","117158qNbDfl","312RyqtNN","setTemplate","6125waBVsG","ck-presence-list__list","contains","bindTemplate","element","9OBCflx","3689MiXtPh","1974759eaghts","Connected users list","fire","items","presencelist:show","change:hasPopup","listenTo",".ck-presence-list__dropdown-list","531609sppTdf","setAttribute","6976ZBIUgo","1416TbAnVF","querySelector","2233746AVJsRw","presencelist:hide","removeAttribute","isExpanded","focus",".ck-balloon-panel_with-arrow","keystrokes","hasPopup","set","relatedTarget","createCollection","aria-expanded","render","list","Collapsed connected users list (press ENTER to open it)","10STZuMq","div"];return(ho=function(){return e})()}function fo(e,t){const n=ho();return(fo=function(e,t){return n[e-=135]})(e,t)}!function(e){const t=fo,n=e();for(;;)try{if(435316===parseInt(t(162))/1*(parseInt(t(154))/2)+-parseInt(t(164))/3*(-parseInt(t(152))/4)+parseInt(t(157))/5*(parseInt(t(175))/6)+parseInt(t(163))/7*(parseInt(t(174))/8)+-parseInt(t(135))/9*(parseInt(t(150))/10)+-parseInt(t(153))/11+parseInt(t(155))/12*(-parseInt(t(172))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ho);class mo extends r.View{[po(167)];[po(141)];constructor(e){const t=po;super(e);const r=this[t(160)];this[t(167)]=this[t(145)](),this[t(141)]=new n.KeystrokeHandler,this[t(143)]({hasPopup:!1,isExpanded:!1}),this[t(156)]({tag:t(151),attributes:{"aria-haspopup":r.if(t(142)),"aria-expanded":r.to(t(138),e=>this[t(142)]&&String(e)),"aria-label":r.to(t(142),n=>gr(e,t(n?149:165))),role:t(148),tabindex:r.to(t(142),e=>!!e&&0),class:["ck",t(158)]},children:this[t(167)],on:{mouseenter:r.to(()=>this[t(166)](t(168))),mouseleave:r.to(e=>{const n=t,r=e,s=document[n(176)](n(171)),o=document[n(176)](n(140));s?.[n(159)](r[n(144)])||o?.[n(159)](r[n(144)])||this[n(166)](n(136))})}}),this.on(t(169),(e,n,r)=>{const s=t;this[s(161)]&&(r?this[s(161)][s(173)](s(146),String(this[s(138)])):this[s(161)][s(137)](s(146)))})}[po(139)](){const e=po;this[e(161)][e(139)]()}[po(147)](){const e=po;super[e(147)](),this[e(141)][e(170)](this[e(161)])}}var yo=__webpack_require__(792),go={attributes:{"data-cke":!0}};go.setAttributes=ar(),go.insert=or().bind(null,"head"),go.domAPI=rr(),go.insertStyleElement=dr();tr()(yo.A,go);yo.A&&yo.A.locals&&yo.A.locals;const bo=wo;function Oo(){const e=["431668OjQXKR","63TgZKzy","listenTo","isCollapsed","ck-presence-list--collapsed","div","hasPopup","items","change","10wcQhJu","11445800zXRQag","6BdjJOA","ck-reset","inlineListView","tooltipPosition","set","ck-presence-list","first","10124521QNZuPy","1465630kdMKDP","counterView","bind","setTemplate","5312069cLvjPl","ck-rounded-corners","bindTemplate","locale","36LUeqGb","15EyMcrL","536396oxEojD","791160bHpKDW"];return(Oo=function(){return e})()}function wo(e,t){const n=Oo();return(wo=function(e,t){return n[e-=199]})(e,t)}!function(e){const t=wo,n=e();for(;;)try{if(750402===parseInt(t(223))/1+parseInt(t(222))/2*(parseInt(t(221))/3)+parseInt(t(224))/4*(parseInt(t(202))/5)+-parseInt(t(204))/6*(-parseInt(t(216))/7)+parseInt(t(203))/8+parseInt(t(225))/9*(-parseInt(t(212))/10)+parseInt(t(211))/11*(-parseInt(t(220))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Oo);class Io extends r.View{[bo(213)];[bo(206)];constructor(e,t=6){const n=bo;super(e);const r=this[n(218)];this[n(208)](n(227),!0),this[n(213)]=new lo(this[n(219)],t),this[n(206)]=new mo(e),this[n(206)][n(214)](n(199)).to(this,n(227)),this[n(226)](this[n(206)][n(200)],n(201),()=>{const e=n;for(const t of this[e(206)][e(200)])t[e(207)]="s";this[e(206)][e(200)][e(210)]&&(this[e(206)][e(200)][e(210)][e(207)]="se")}),this[n(215)]({tag:n(229),attributes:{class:["ck",n(209),n(205),n(217),r.if(n(227),n(228))]},children:[this[n(206)]]})}}const vo=So;function So(e,t){const n=Po();return(So=function(e,t){return n[e-=383]})(e,t)}!function(e){const t=So,n=e();for(;;)try{if(337057===-parseInt(t(387))/1+-parseInt(t(407))/2*(parseInt(t(420))/3)+parseInt(t(426))/4+-parseInt(t(412))/5*(parseInt(t(385))/6)+parseInt(t(398))/7+parseInt(t(405))/8+parseInt(t(397))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Po);class ko extends r.View{[vo(395)];constructor(e,t){const n=vo;super(e);const r=this[n(399)];this[n(395)]=new Ao(e,t),this[n(401)]({tag:n(406),attributes:{tabindex:-1,role:n(414),class:["ck",n(418)],"aria-label":gr(e,n(423))},children:[this[n(395)]],on:{mouseleave:r.to(e=>{const t=n,r=e,s=document[t(415)](t(416)),o=document[t(415)](t(425));s?.[t(400)](r[t(421)])||o?.[t(400)](r[t(421)])||this[t(391)](t(388))})}})}}function Po(){const e=["resize","render","listWrapperView","max","5519097zbRzoR","3390380NLsVaA","bindTemplate","contains","setTemplate","scrollHeight","ck-presence-list__dropdown-list-wrapper","set","209056bIVEcj","div","34jkMFmy","window","listenTo","clientHeight","items","328145iZITws","ariaLabelledBy","application","querySelector",".ck-presence-list__list","ck-reset","ck-presence-list__dropdown-list","ariaLabel","85101DXnRFu","relatedTarget","ck-list","Connected users list dropdown menu","checkIfScrollable",".ck-balloon-panel_with-arrow","641044rCciUl","innerHeight","change","30TxZnIP","ck-presence-list__dropdown-list-wrapper_scrollable","136525dweQtG","presencelist:hide","_isScrollable","element","fire","role"];return(Po=function(){return e})()}class Ao extends r.ListView{constructor(e,t){const r=vo;super(e);const s=this[r(399)];this[r(404)](r(389),!1),this[r(401)]({tag:t?r(406):"ul",attributes:{class:["ck",r(417),r(422),r(403),s.if(r(389),r(386))],role:s.to(r(392)),"aria-label":s.to(r(419)),"aria-labelledby":s.to(r(413))},children:this[r(411)]}),this[r(409)](n.global[r(408)],r(393),()=>this[r(424)]()),this[r(411)].on(r(384),()=>this[r(424)]())}[vo(394)](){const e=vo;super[e(394)](),this[e(424)]()}[vo(424)](){const e=vo,t=this[e(390)];t&&(this[e(389)]=Math[e(396)](t[e(402)],t[e(410)])>.8*window[e(383)])}}const To=_o;function _o(e,t){const n=Co();return(_o=function(e,t){return n[e-=302]})(e,t)}function Co(){const e=["8wcEJUy","ck-presence-list__marker","span","160803LlZedf","204GNUAwb","bindTemplate","ck-presence-list__dropdown-list-item","ck-user__full-name","focus","22dsbbfL","userView","12520fFKMbs","2373114EoamJM","tag","14iAkxjg","button","fire","getBackgroundColorClass","9472720hFAMxx","1544939YVWqVF","1007187epuIFE","presentation","1795MQxaID","setTemplate","836685aMZWyL","element","execute","name","true","color"];return(Co=function(){return e})()}!function(e){const t=_o,n=e();for(;;)try{if(597188===-parseInt(t(310))/1+-parseInt(t(329))/2*(-parseInt(t(323))/3)+parseInt(t(331))/4*(-parseInt(t(312))/5)+parseInt(t(302))/6*(parseInt(t(304))/7)+-parseInt(t(320))/8*(parseInt(t(314))/9)+-parseInt(t(308))/10+parseInt(t(309))/11*(parseInt(t(324))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Co);class jo extends r.ListItemView{[To(330)];constructor(e,t,n){const r=To;super(e);const s=this[r(325)];this[r(330)]=new Wn.UserView(e,t);const o={tag:"li",attributes:{class:["ck",r(326)],tabindex:-1,role:r(311),"aria-label":t[r(317)]},children:[this[r(330)],{tag:r(322),attributes:{class:["ck",r(327)]},children:[{text:t[r(317)]}]},{tag:r(322),attributes:{class:["ck",r(321),t[r(319)][r(307)]()],"aria-hidden":r(318)}}]};n&&(o[r(303)]=r(305),o.on={click:s.to(()=>this[r(306)](r(316)))}),this[r(313)](o)}[To(328)](){const e=To;this[e(315)][e(328)]()}}const Eo=Do;function Do(e,t){const n=No();return(Do=function(e,t){return n[e-=285]})(e,t)}!function(e){const t=Do,n=e();for(;;)try{if(770262===-parseInt(t(306))/1+-parseInt(t(310))/2*(-parseInt(t(290))/3)+parseInt(t(293))/4*(parseInt(t(301))/5)+parseInt(t(287))/6*(-parseInt(t(307))/7)+parseInt(t(321))/8*(-parseInt(t(318))/9)+-parseInt(t(296))/10*(-parseInt(t(285))/11)+-parseInt(t(309))/12*(-parseInt(t(320))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(No);class xo extends r.View{[Eo(313)];[Eo(298)];constructor(e,t,n){const s=Eo;super(e);const o=this[s(316)];this[s(286)](s(297),!1),this[s(286)](s(300),!0),this[s(286)](s(311),""),this[s(313)]=new Wn.UserView(e,t),this[s(298)]=new Ro(e,t);const i=new r.LabelView(e);i[s(314)][s(319)]=s(295),i[s(305)]=t[s(303)];const a={tag:s(291),attributes:{class:["ck",s(315)],role:s(292),tabindex:o.to(s(297),e=>!!e&&0),"aria-labelledby":i.id,"data-cke-tooltip-text":this[s(313)][s(303)],"data-cke-tooltip-position":o.to(s(311)),"data-cke-tooltip-disabled":o.to(s(300),e=>!e),"data-cke-tooltip-class":s(299)},children:[this[s(313)],this[s(298)],i]};n&&(a[s(319)]=s(304),a.on={click:o.to(()=>this[s(302)](s(294)))}),this[s(308)](a)}}class Ro extends r.View{constructor(e,t){const n=Eo;super(e),this[n(308)]({tag:n(295),attributes:{class:["ck",n(312),t[n(288)][n(317)]()],"aria-hidden":n(289)}})}}function No(){const e=["ck-presence-list__list-item","bindTemplate","getBackgroundColorClass","261XylMWj","tag","13237913RVleDS","24536WPvEcZ","121sZrqIz","set","12qHsEKf","color","true","57OuErnn","div","listitem","70588UEKfnb","execute","span","93320UNRWOQ","isFocusable","markerView","ck-presence-list__list-item__tooltip","hasTooltip","55DZOLsw","fire","name","button","text","681228vcYhPP","2989693pDwbrM","setTemplate","12IKbbeX","113638unigEP","tooltipPosition","ck-presence-list__marker","userView","template"];return(No=function(){return e})()}const Vo=Mo;function Mo(e,t){const n=Bo();return(Mo=function(e,t){return n[e-=482]})(e,t)}function Bo(){const e=["PresenceListUI","reverse","select","input","attachToDom","1563CMEjpo","usersCount","isPremiumPlugin","presenceList","presenceList.displayMe","362ZoycNl","displayMe","context","checkIfScrollable","allConnectedUsers","40059BJNbYp","offsetWidth","destroy","appendChild","counterView","presencelist-missing-container","isMe","_bodyCollection","min","bindTo","plugins","detachFromDom","number","6064515qvEJhD","isRendered","presencelist:hide","pluginName","requires","presencelist:show","presencelist-collapseat-invalid-format","[tabindex]","showDropdown","config","activeElement","currentDisplayedUsers","length","sort","pin","18050952loZZOp","_createView","init","isCollapsed","_allConnectedUsers","filter","find","using","focus","querySelectorAll","remove","_handleUserAdd","unpin","button","presenceDropdownView","62579rQxryb","add","items","isFocusable","map","Shift+Tab","isOfficialPlugin","join","1900wNYFBZ","1709EDVexr","presenceList.container","Esc","8RqkJdb","balloonPanelView",':not([disabled]):not([tabindex="-1"])',"element","ck ck-presence-list__balloon","from","listenTo","hasTooltip","2013116wLZcEl","locale","content","body","18whaEzB","render","focusTracker","class","view","_handleUserRemove","offsetHeight","textarea","tabIndex","change:isFocused","isVisible","execute","hideDropdown","Enter","get","indexOf","keystrokes","set","presenceList.collapseAt","isExpanded","8092KScJnZ","Tab","inlineListView","[contenteditable]","onClick","bind","define"];return(Bo=function(){return e})()}!function(e){const t=Mo,n=e();for(;;)try{if(675908===parseInt(t(513))/1*(-parseInt(t(565))/2)+-parseInt(t(560))/3*(-parseInt(t(548))/4)+parseInt(t(583))/5+parseInt(t(528))/6*(-parseInt(t(524))/7)+parseInt(t(516))/8*(parseInt(t(570))/9)+-parseInt(t(512))/10*(-parseInt(t(504))/11)+-parseInt(t(489))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Bo);const Uo={collapseAt:6,displayMe:!0};class Jo extends t.ContextPlugin{[Vo(485)];[Vo(517)];[Vo(532)];[Vo(503)];[Vo(577)]=null;static get[Vo(586)](){return Vo(555)}static get[Vo(510)](){return!0}static get[Vo(562)](){return!0}constructor(e){const t=Vo;super(e),this[t(567)][t(483)][t(554)](t(563),Uo);const s=e[t(483)][t(542)](t(546));if(t(582)!=typeof s)throw new n.CKEditorError(t(589),this);if(s<1)throw new n.CKEditorError(t(589),this);this[t(493)]=this[t(567)][t(580)][t(542)](Zn)[t(569)],this[t(545)](t(561),0),this[t(485)]=new n.Collection,this[t(517)]=new r.BalloonPanelView,this[t(517)][t(531)]=t(520),this[t(532)]=this[t(490)](),this[t(503)]=void 0}static get[Vo(587)](){return[Zn]}[Vo(491)](){const e=Vo;for(const t of this[e(493)])this[e(500)](t);this[e(522)](this[e(493)],e(505),(t,n)=>{this[e(500)](n)}),this[e(522)](this[e(493)],e(499),(t,n)=>{this[e(533)](n)})}[Vo(490)](){const e=Vo,t=this[e(567)],s=new Io(this[e(567)][e(525)],this[e(567)][e(483)][e(542)](e(546))),o=this[e(517)];if(!io(t[e(483)][e(542)](e(514))))throw new n.CKEditorError(e(575),this);return s[e(574)][e(553)](e(561)).to(this),s[e(553)](e(492)).to(this,e(561),n=>{const r=e,{collapseAt:o}=t[r(483)][r(542)](r(563)),i=n>=o;if(i&&!s[r(550)][r(506)][r(495)](e=>e instanceof lo)){const e=this[r(567)][r(483)][r(542)](r(546))-1;this[r(485)][r(486)]==e&&this[r(485)][r(486)]>1&&this[r(485)][r(499)](this[r(485)][r(486)]-1),s[r(550)][r(506)][r(505)](s[r(574)])}return i||this[r(540)](),i}),s[e(550)][e(506)][e(579)](this[e(485)])[e(496)](n=>{const r=e,o=t[r(483)][r(542)](r(563)),i=new xo(t[r(525)],n,!!o[r(552)]);return i[r(553)](r(523)).to(s,r(492),e=>!e),i[r(553)](r(507)).to(s,r(492),e=>!e),o[r(552)]&&this[r(522)](i,r(539),()=>{const e=r;this[e(532)][e(492)]||o[e(552)](n,i[e(519)])}),i}),this[e(522)](s[e(550)],e(588),()=>{const t=e;this[t(532)][t(492)]&&this[t(482)]()}),this[e(522)](s[e(550)],e(585),()=>{const t=e;this[t(503)]&&this[t(540)]()}),s[e(550)][e(544)][e(545)](e(541),(t,n)=>{const r=e;this[r(532)][r(492)]&&(this[r(482)](),n())}),s[e(529)](),o[e(529)](),(0,r.clickOutsideHandler)({emitter:s,activator:()=>o[e(538)],contextElements:[o[e(519)],s[e(550)][e(519)]],callback:()=>this[e(540)]()}),t[e(483)][e(542)](e(514))[e(573)](s[e(519)]),this[e(577)]=new r.BodyCollection(this[e(567)][e(525)]),this[e(577)][e(559)](),this[e(577)][e(505)](this[e(517)]),s}[Vo(500)](e){const t=Vo;if(!this[t(567)][t(483)][t(542)](t(564))&&e[t(576)])return;const n=this[t(567)][t(483)][t(542)](t(546))-1;for(this[t(561)]++;this[t(485)][t(486)]>=n-(this[t(532)][t(492)]?1:0)&&this[t(485)][t(486)]>1;)this[t(485)][t(499)](1);const r=e[t(576)]?0:this[t(485)][t(486)];this[t(485)][t(505)](e,r)}[Vo(533)](e){const t=Vo;this[t(561)]--;const{collapseAt:n}=this[t(567)][t(483)][t(542)](t(563)),r=this[t(561)]>=n;if(this[t(485)][t(542)](e.id))this[t(485)][t(499)](e.id);else if(r&&this[t(485)][t(486)]+1===n-1)return;if(this[t(485)][t(486)]+(r?1:0)<this[t(561)])for(const e of Array[t(521)](this[t(493)])[t(556)]())if(!this[t(485)][t(542)](e.id)&&(this[t(485)][t(505)](e,Math[t(578)](this[t(485)][t(486)]-(r?1:0),1)),this[t(485)][t(486)]+(r?1:0)===n-1))return}[Vo(482)](){const e=Vo;if(this[e(503)])return;const t=this[e(567)][e(483)][e(542)](e(563));this[e(503)]=new ko(this[e(567)][e(525)],!!t[e(552)]),this[e(532)][e(550)][e(547)]=!0,this[e(522)](this[e(503)],e(585),()=>{const t=e;this[t(503)]&&this[t(540)]()});const{listWrapperView:n}=this[e(503)];n[e(506)][e(579)](this[e(493)])[e(496)](n=>{const r=e;if(!t[r(566)]&&n[r(576)])return null;const s=new jo(this[r(567)][r(525)],n,!!t[r(552)]);return t[r(552)]&&this[r(522)](s,r(539),()=>{const e=r;t[e(552)](n,s[e(519)])}),s}),this[e(517)][e(526)][e(505)](this[e(503)]),this[e(517)][e(488)]({target:this[e(532)][e(550)][e(519)]}),n[e(497)](),n[e(568)]();const r=(t,n)=>{const r=e;this[r(540)](),this[r(532)][r(550)][r(497)](),n()};n[e(544)][e(545)](e(515),r),n[e(544)][e(545)](e(509),r),n[e(544)][e(545)](e(549),(t,n)=>{const r=e;!function(e){const t=Mo,n=["a",t(502),t(558),t(557),t(535),t(590),t(551)][t(508)](e=>e+t(518))[t(511)](","),r=[...document[t(527)][t(498)](n)][t(494)](e=>e===document[t(484)]||e[t(571)]+e[t(534)]>0)[t(487)]((e,n)=>(e[t(536)]||0)-(n[t(536)]||0)),s=r[t(543)](e),o=r[(s+1)%r[t(486)]];o&&o[t(497)]()}(this[r(532)][r(519)]),this[r(540)](),n()}),n[e(530)][e(505)](this[e(532)][e(519)]),n[e(530)].on(e(537),(t,n,r)=>{r||this[e(540)]()})}[Vo(540)](){const e=Vo;this[e(503)]&&(this[e(532)][e(550)][e(547)]=!1,this[e(517)][e(501)](),this[e(517)][e(526)][e(499)](this[e(503)]),this[e(503)][e(572)](),this[e(503)]=void 0)}[Vo(572)](){const e=Vo;super[e(572)](),this[e(532)]&&this[e(532)][e(584)]&&this[e(532)][e(572)](),this[e(577)]&&(this[e(577)][e(581)](),this[e(577)][e(572)](),this[e(577)]=null)}}var qo=Go;function Go(e,t){var n=Lo();return(Go=function(e,t){return n[e-=419]})(e,t)}function Lo(){var e=["PresenceList","751662TVledw","71670mjMSjE","6088vXioju","10430aXwVRk","571207iYOsCk","4550976vPnAOa","isOfficialPlugin","9478998XJrmap","1740fWjXas","181fHKBwQ","requires","isPremiumPlugin","pluginName"];return(Lo=function(){return e})()}!function(e){for(var t=Go,n=e();;)try{if(472004===-parseInt(t(426))/1*(-parseInt(t(419))/2)+parseInt(t(431))/3+-parseInt(t(425))/4*(parseInt(t(420))/5)+parseInt(t(432))/6+parseInt(t(421))/7+-parseInt(t(422))/8+parseInt(t(424))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Lo);class Yo extends t.ContextPlugin{static get[qo(427)](){return[Zn,Jo]}static get[qo(429)](){return qo(430)}static get[qo(423)](){return!0}static get[qo(428)](){return!0}}function Ho(e,t){var n=zo();return(Ho=function(e,t){return n[e-=301]})(e,t)}function zo(){var e=["639UNyCVI","4478776ykiPjL","376570ejZzUo","7538512pGhlaQ","2232111OqQuzC","3893163qmdaqe","38RunZrA","6sbIaqj","1402OmLbmo","765315BCMTNO"];return(zo=function(){return e})()}!function(e){for(var t=Ho,n=e();;)try{if(753248===parseInt(t(303))/1*(parseInt(t(301))/2)+-parseInt(t(310))/3+-parseInt(t(306))/4+-parseInt(t(304))/5+parseInt(t(302))/6*(-parseInt(t(309))/7)+parseInt(t(308))/8+-parseInt(t(305))/9*(-parseInt(t(307))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zo)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
|