@liascript/editor 1.1.3--0.14.4 → 1.1.3--0.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Edrys.1fde52d9.js +1 -0
- package/dist/Edrys.44286897.js +1 -0
- package/dist/ace.js +1 -1
- package/dist/ext-emmet.js +1 -1
- package/dist/ext-inline_autocomplete.js +1 -1
- package/dist/ext-language_tools.js +1 -1
- package/dist/ext-modelist.js +1 -1
- package/dist/ext-options.js +1 -1
- package/dist/ext-prompt.js +1 -1
- package/dist/ext-settings_menu.js +1 -1
- package/dist/index.01026bc2.js +34 -0
- package/dist/index.02bbc637.js +6 -0
- package/dist/index.1ed5c6cb.js +1 -0
- package/dist/index.38d40745.js +1 -0
- package/dist/index.913bf2f1.js +1 -0
- package/dist/index.9ae04c34.js +34 -0
- package/dist/index.a85e2222.js +1 -0
- package/dist/index.b8b2c658.js +6 -0
- package/dist/index.b9ed5a40.js +1 -0
- package/dist/index.cc7df34b.js +1 -0
- package/dist/index.ebd7061d.css +1 -0
- package/dist/index.html +1 -1
- package/dist/keybinding-vim.js +1 -1
- package/dist/mode-jsx.js +1 -1
- package/dist/mode-logtalk.js +1 -1
- package/dist/mode-prql.js +1 -1
- package/dist/mode-sql.js +1 -1
- package/dist/mode-zig.js +1 -0
- package/dist/snippets/zig.js +1 -0
- package/dist/theme-cloud_editor.js +1 -1
- package/dist/theme-cloud_editor_dark.js +1 -1
- package/package.json +7 -7
- package/dist/Edrys.299a46b6.js +0 -1
- package/dist/Edrys.4bda69c6.js +0 -1
- package/dist/index.0806d485.js +0 -1
- package/dist/index.1760c0d6.js +0 -1
- package/dist/index.2b022c2e.js +0 -1
- package/dist/index.4d42f5d2.js +0 -34
- package/dist/index.61004f01.js +0 -1
- package/dist/index.85d6f5ef.js +0 -6
- package/dist/index.892a6dec.css +0 -1
- package/dist/index.d103195c.js +0 -1
- package/dist/index.d7274371.js +0 -34
- package/dist/index.ea3f2055.js +0 -6
- package/dist/index.ebfe9b88.js +0 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ install via npm:
|
|
|
23
23
|
`npm i @liascript/editor`
|
|
24
24
|
|
|
25
25
|
> **Note:** The version information might look a bit different e.g.
|
|
26
|
-
> `1.1.3--0.14.
|
|
26
|
+
> `1.1.3--0.14.5`. The second version mirrors current version of LiaScript,
|
|
27
27
|
> while the first number is referring to the changes of the editor-branch.
|
|
28
28
|
|
|
29
29
|
## HowTo
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){function t(t,e,r,n){Object.defineProperty(t,e,{get:r,set:n,enumerable:!0,configurable:!0})}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r=e.parcelRequirea18f;r.register("9Xb5B",(function(e,n){t(e.exports,"uint8_to_base64",(function(){return c})),t(e.exports,"base64_to_unit8",(function(){return l})),t(e.exports,"Sync",(function(){return h}));var s=r("axlxN"),i=r("66xmW"),o=r("3Lnfd");function c(t){return(0,o.encode)(t)}function l(t){return(0,o.decode)(t)}function a(t=16){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n++)r+=e.charAt(Math.floor(Math.random()*e.length));return r}class h{isConnected=!1;replyOnReceive=!1;constructor(t,e,r,n,o=!1,c=!0){let l;try{l=window.localStorage.getItem("lia-token"),l||(l=a(),window.localStorage.setItem("lia-token",l))}catch(t){console.warn("cannot write to localStorage"),l=a()}this.token=l,this.urlCounter=0,this.cbConnection=t,this.cbRelay=e,this.onConnect=r,this.onReceive=n,this.replyOnReceive=o;const h=this,u=function(t){let e=null;function r(){return 200*(t.db.getPeers().length+1)+2e3}function n(){if(t.isConnected)try{t.broadcast(!0,t.db.encode()),e=window.setTimeout(n,r())}catch(t){e=null}}return()=>{e&&window.clearTimeout(e),e=window.setTimeout(n,r())}}(h);this.gossip=u;const d=s.throttle((()=>{h.broadcast(!0,h.db.encode()),u()}),1e3);this.db=new(0,i.CRDT)(l,c?(t,e)=>{if(h.db){switch(e){case"cursor":this.sync("update",{cmd:"cursor",param:t});break;case"peer":this.sync("update",{cmd:"peer",param:t});break;case"code":this.sync("update",{cmd:"code",param:t});break;case"quiz":this.sync("update",{cmd:"quiz",param:t});break;case"survey":this.sync("update",{cmd:"survey",param:t});break;case"chat":this.sync("update",{cmd:"chat",param:t});break;case"exit":try{e=null,this.broadcast(!0,t),this.destroy()}catch(t){}break;default:console.warn("Sync unknown origin",e)}e&&d()}}:void 0)}connect(t){this.room=t.room,this.course=t.course,this.password=t.password,this.isConnected=!0}destroy(){this.db.destroy(),this.cbConnection("disconnect",this.token),this.isConnected=!1}disconnect(){this.db.removePeer()}uniqueID(){return"string"==typeof this.room&&(this.room.startsWith('"')&&this.room.endsWith('"')||this.room.startsWith("'")&&this.room.endsWith("'"))?this.room:this.course&&this.room?JSON.stringify({course:this.course,room:this.room,pw:s.getHashCode(this.password||"")}):(console.warn("Sync: no uniqueID"),null)}sendToLia(t){this.cbRelay(t)}sync(t,e=null){this.cbConnection(t,e)}sendDisconnectError(t){this.sync("error",t)}sendConnect(){this.sync("connect",this.token),this.onConnect&&this.onConnect()}pubsubSend(t,e){const r=JSON.stringify({topic:t,message:e}),n=new TextEncoder;this.broadcast(!1,n.encode(r)),this.replyOnReceive&&this.onReceive?.(t,e)}pubsubReceive(t){try{const e=(new TextDecoder).decode(t),r=JSON.parse(e);this.onReceive?.(r.topic,r.message)}catch(t){console.warn("Sync: pubsubReceive",t.message)}}broadcast(t,e){console.warn("broadcast needs to be implemented")}load(t,e){try{for(let r=0;r<t.length;r++){const n=document.createElement("script");n.async=!1,n.defer=!0,n.src=t[r],this.urlCounter++;let s=this;n.onload=function(){console.log("successfully loaded =>",t),s.urlCounter--,0==s.urlCounter&&e.init(!0)},n.onerror=function(r){console.warn("could not load =>",t,r),s.urlCounter=0,e.init(!1,`could not load => ${t}`)},document.head.appendChild(n)}}catch(t){console.error("load: ",t),e.init(!1,t.message)}}publish(t){switch(t.message.cmd){case"update":break;case"join":this.db.init(t.message.param),this.gossip();break;case"chat":this.db.addChatMessage(t.message.param);break;case"quiz":"quiz"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addQuiz(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"survey":"survey"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addSurvey(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"code":"code"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.updateCode(t.track[0][1],t.track[1][1],t.message.param.j,t.message.param.msg):console.warn("SyncTX wrong event ->",t);break;case"codes":if("code"===t.track?.[0][0]&&1===t.track.length)for(let e=0;e<t.message.param.length;e++)for(let r=0;r<t.message.param[e].length;r++)this.db.initCode(t.track[0][1],e,r,t.message.param[e][r]);else console.warn("SyncTX wrong event ->",t);break;case"cursor":"code"==t.track?.[0][0]&&this.db.setCursor(t.track[0][1],t.message.param);break;case"broadcast":this.broadcast(!0,t.message.param);default:console.warn("SyncTX unknown command:",t.message)}}applyUpdate(t){this.db.applyUpdate(t)}}})),r.register("66xmW",(function(e,n){t(e.exports,"CRDT",(function(){return c}));var s=r("7I2MU"),i=r("axlxN"),o=r("g4rKG");class c{constructor(t,e){this.doc=new s.Doc,this.callback=e||((t,e)=>{console.warn("SyncDB: no callback provided")}),this.length=0,this.peerID=t,this.peers=this.doc.getMap("peers"),this.cursors=this.doc.getMap("cursors"),this.codes=this.doc.getMap("c"),this.quizzes=new(0,o.YKeyValue)(this.doc.getArray("q")),this.surveys=new(0,o.YKeyValue)(this.doc.getArray("s")),this.chat=new(0,o.YKeyValue)(this.doc.getArray("chat")),e&&(this.peers.observe((t=>{const r=this.getPeers();e(r,"peer")})),this.cursors.observe((t=>{const r=this.getPeers();e(this.getCursors(r),"cursor")})),this.quizzes.on("change",(t=>{const r=this.getUpdates(this.quizzes,t);r&&e(r,"quiz")})),this.surveys.on("change",(t=>{const r=this.getUpdates(this.surveys,t);r&&e(r,"survey")})),this.chat.on("change",(t=>{const r=[];let n;for(let[e,s]of t)"add"===s.action&&(n=s.newValue,n.id=parseInt(e),r.push(n));r.length>0&&e(r,"chat")})),this.codes.observeDeep((t=>{const r=new Set;for(const e of t){const n=e.currentTarget.keys();for(const e of n)try{const[t]=JSON.parse(e);r.add(t)}catch(t){}}r.size>0&&e(this.getCode(r),"code")}))),this.peers.set(t,!0)}init(t){this.length=Math.max(this.length,t.length);const e=this;this.doc.transact((()=>{for(let r=0;r<t.length;r++)e.initMap(this.quizzes,r,t[r].q),e.initMap(this.surveys,r,t[r].s),e.initText(r,t[r].c)}),this.peerID)}encode(){return s.encodeStateAsUpdate(this.doc)}destroy(){this.doc.destroy()}applyUpdate(t){this.doc.transact((()=>{!1===this.peers.get(this.peerID)&&this.peers.set(this.peerID,!0),s.applyUpdate(this.doc,t)}))}log(){console.warn("*********** PEERS ***********"),console.warn(this.peers.toJSON()),console.warn("*********** STATE ***********"),console.warn(this.doc.toJSON())}initMap(t,e,r){if(0===r.length)return;let n;for(let s=0;s<r.length;s++){n=t.get(this.id(e,s)),n||(n={});for(const t in r[s])n[t]=r[s][t];t.set(this.id(e,s),n)}}initText(t,e){if(0!==e.length)for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)this.initCode(t,r,n,e[r][n])}diff(t){return s.encodeStateAsUpdate(this.doc,t)}getCode(t){let e=[];for(const r of t)e.push({id:r,data:this.getAllTexts(r)});return e}getCursors(t){const e=[],r=this.cursors.toJSON();for(let n of t)n!==this.peerID&&void 0!==r[n]&&e.push(r[n]);return e}getPeers(){const t=this.peers.toJSON();return t?Object.entries(t).filter((([t,e])=>e)).map((([t,e])=>t)):[]}removePeer(t){this.doc.transact((()=>{this.peers.set(t||this.peerID,!1)})),void 0===t&&this.callback(this.encode(),"exit")}id(t,e,r){return void 0===r?JSON.stringify([t,e]):JSON.stringify([t,e,r])}getMap(t,e,r){return this.doc.getMap(this.id(e,r))}getAllMaps(t){const e=[];for(let r=0;r<this.length;r++){let n=[];for(let e=0;t.has(this.id(r,e));e++)n.push(t.get(this.id(r,e)));e.push(n)}return e}getMaps(t,e){const r=[];for(let n=0;e.has(this.id(t,n));n++)r.push(e.get(this.id(t,n)));return r}getAllTexts(t){let e,r=[];for(let n=0;this.codes.has(this.id(t,n,0));n++){let s=[];for(let r=0;this.codes.has(this.id(t,n,r));r++)e=this.codes.get(this.id(t,n,r)),s.push(e?.toString()||"");r.push(s)}return r}addQuiz(t,e,r){this.addRecord(this.quizzes,t,e,r)}addSurvey(t,e,r){this.addRecord(this.surveys,t,e,r)}addRecord(t,e,r,n){let s=t.get(this.id(e,r));s||(s={}),s[this.peerID]=n,t.set(this.id(e,r),s)}initCode(t,e,r,n){if(!this.codes.has(this.id(t,e,r))){const i=this.doc.clientID;this.doc.clientID=0;const o=new s.Text;o.insert(0,n),this.codes.set(this.id(t,e,r),o),this.doc.clientID=i}}addChatMessage(t){this.chat.set(""+Date.now(),{color:this.getColor(),message:t,user:this.peerID})}updateCode(t,e,r,n){this.codes.has(this.id(t,e,r))&&this.doc.transact((()=>{const s=this.codes.get(this.id(t,e,r));if(void 0!==s)for(let t of n)switch(t.action){case"insert":s.insert(t.index,t.content);break;case"remove":s.delete(t.index,t.content.length);break;default:console.warn("Sync code, unknown action ->",t)}}),"code")}getColor(){return this.color||(this.color=i.getColorFor(this.peerID)),this.color}setCursor(t,e){this.doc.transact((()=>{this.cursors.set(this.peerID,{id:this.peerID,section:t,project:e.project,file:e.file,state:e.state,color:this.getColor()})}),"cursor")}removeCursor(){this.cursors.delete(this.peerID)}getUpdates(t,e){const r=new Set,n=[];for(const[s,i]of e)switch(i.action){case"update":if(JSON.stringify(Object.keys(i.oldValue).sort())!==JSON.stringify(Object.keys(i.newValue).sort())){n.push([s,{...i.oldValue,...i.newValue}]);continue}case"add":try{const[t]=JSON.parse(s);r.add(t)}catch(t){}}const s=[];for(const e of r)s.push({id:e,data:this.getMaps(e,t)});for(const[e,r]of n)t.set(e,r);return s.length>0?s:null}}})),r.register("7I2MU",(function(n,s){t(n.exports,"Doc",(function(){return M})),t(n.exports,"Text",(function(){return Ee})),t(n.exports,"applyUpdate",(function(){return K})),t(n.exports,"encodeStateAsUpdate",(function(){return Y}));var i=r("fACbm"),o=r("kDMzp"),c=r("iUL32"),l=r("cuboK"),a=r("j3EDv"),h=r("heYZO"),u=r("9c5sf"),d=r("hpG0a"),f=r("f6bdK"),g=r("jtAN9"),p=r("diuv2"),w=r("ixCIn"),m=(w=r("ixCIn"),r("aYKIU")),y=r("fK7I3"),b=r("37RhN"),k=(r("k2yVv"),r("fJq6z"),r("fiX3Z")),_=r("gBQSU");class S extends i.Observable{constructor(t,e){super(),this.doc=t,this.awareness=e}}class x{constructor(t,e){this.clock=t,this.len=e}}class C{constructor(){this.clients=new Map}}const E=(t,e,r)=>e.clients.forEach(((e,n)=>{const s=t.doc.store.clients.get(n);for(let n=0;n<e.length;n++){const i=e[n];wt(t,s,i.clock,i.len,r)}})),D=(t,e)=>{const r=t.clients.get(e.client);return void 0!==r&&null!==((t,e)=>{let r=0,n=t.length-1;for(;r<=n;){const s=c.floor((r+n)/2),i=t[s],o=i.clock;if(o<=e){if(e<o+i.len)return s;r=s+1}else n=s-1}return null})(r,e.clock)},U=t=>{t.clients.forEach((t=>{let e,r;for(t.sort(((t,e)=>t.clock-e.clock)),e=1,r=1;e<t.length;e++){const n=t[r-1],s=t[e];n.clock+n.len>=s.clock?n.len=c.max(n.len,s.clock+s.len-n.clock):(r<e&&(t[r]=s),r++)}t.length=r}))},v=t=>{const e=new C;for(let r=0;r<t.length;r++)t[r].clients.forEach(((n,s)=>{if(!e.clients.has(s)){const i=n.slice();for(let e=r+1;e<t.length;e++)o.appendTo(i,t[e].clients.get(s)||[]);e.clients.set(s,i)}}));return U(e),e},I=(t,e,r,n)=>{l.setIfUndefined(t.clients,e,(()=>[])).push(new x(r,n))},A=()=>new C,T=(t,e)=>{a.writeVarUint(t.restEncoder,e.clients.size),o.from(e.clients.entries()).sort(((t,e)=>e[0]-t[0])).forEach((([e,r])=>{t.resetDsCurVal(),a.writeVarUint(t.restEncoder,e);const n=r.length;a.writeVarUint(t.restEncoder,n);for(let e=0;e<n;e++){const n=r[e];t.writeDsClock(n.clock),t.writeDsLen(n.len)}}))},O=t=>{const e=new C,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){t.resetDsCurVal();const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);if(n>0){const s=l.setIfUndefined(e.clients,r,(()=>[]));for(let e=0;e<n;e++)s.push(new x(t.readDsClock(),t.readDsLen()))}}return e},N=(t,e,r)=>{const n=new C,s=h.readVarUint(t.restDecoder);for(let i=0;i<s;i++){t.resetDsCurVal();const s=h.readVarUint(t.restDecoder),i=h.readVarUint(t.restDecoder),o=r.clients.get(s)||[],c=at(r,s);for(let r=0;r<i;r++){const r=t.readDsClock(),i=r+t.readDsLen();if(r<c){c<i&&I(n,s,c,i-c);let t=ut(o,r),l=o[t];for(!l.deleted&&l.id.clock<r&&(o.splice(t+1,0,Ze(e,l,r-l.id.clock)),t++);t<o.length&&(l=o[t++],l.id.clock<i);)l.deleted||(i<l.id.clock+l.length&&o.splice(t,0,Ze(e,l,i-l.id.clock)),l.delete(e))}else I(n,s,r,i-r)}}if(n.clients.size>0){const t=new $;return a.writeVarUint(t.restEncoder,0),T(t,n),t.toUint8Array()}return null},V=u.uint32;class M extends i.Observable{constructor({guid:t=u.uuidv4(),collectionid:e=null,gc:r=!0,gcFilter:n=(()=>!0),meta:s=null,autoLoad:i=!1,shouldLoad:o=!0}={}){super(),this.gc=r,this.gcFilter=n,this.clientID=V(),this.guid=t,this.collectionid=e,this.share=new Map,this.store=new ct,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=i,this.meta=s,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=d.create((t=>{this.on("load",(()=>{this.isLoaded=!0,t(this)}))}));const c=()=>d.create((t=>{const e=r=>{void 0!==r&&!0!==r||(this.off("sync",e),t())};this.on("sync",e)}));this.on("sync",(t=>{!1===t&&this.isSynced&&(this.whenSynced=c()),this.isSynced=void 0===t||!0===t,this.isSynced&&!this.isLoaded&&this.emit("load",[])})),this.whenSynced=c()}load(){const t=this._item;null===t||this.shouldLoad||St(t.parent.doc,(t=>{t.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(o.from(this.subdocs).map((t=>t.guid)))}transact(t,e=null){return St(this,t,e)}get(t,e=$t){const r=l.setIfUndefined(this.share,t,(()=>{const t=new e;return t._integrate(this,null),t})),n=r.constructor;if(e!==$t&&n!==e){if(n===$t){const n=new e;n._map=r._map,r._map.forEach((t=>{for(;null!==t;t=t.left)t.parent=n})),n._start=r._start;for(let t=n._start;null!==t;t=t.right)t.parent=n;return n._length=r._length,this.share.set(t,n),n._integrate(this,null),n}throw new Error(`Type with the name ${t} has already been defined with a different constructor`)}return r}getArray(t=""){return this.get(t,ce)}getText(t=""){return this.get(t,Ee)}getMap(t=""){return this.get(t,ae)}getXmlElement(t=""){return this.get(t,ve)}getXmlFragment(t=""){return this.get(t,Ue)}toJSON(){const t={};return this.share.forEach(((e,r)=>{t[r]=e.toJSON()})),t}destroy(){o.from(this.subdocs).forEach((t=>t.destroy()));const t=this._item;if(null!==t){this._item=null;const e=t.content;e.doc=new M({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=t,St(t.parent.doc,(r=>{const n=e.doc;t.deleted||r.subdocsAdded.add(n),r.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}on(t,e){super.on(t,e)}off(t,e){super.off(t,e)}}class R{constructor(t){this.restDecoder=t}resetDsCurVal(){}readDsClock(){return h.readVarUint(this.restDecoder)}readDsLen(){return h.readVarUint(this.restDecoder)}}class L extends R{readLeftID(){return nt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readRightID(){return nt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readClient(){return h.readVarUint(this.restDecoder)}readInfo(){return h.readUint8(this.restDecoder)}readString(){return h.readVarString(this.restDecoder)}readParentInfo(){return 1===h.readVarUint(this.restDecoder)}readTypeRef(){return h.readVarUint(this.restDecoder)}readLen(){return h.readVarUint(this.restDecoder)}readAny(){return h.readAny(this.restDecoder)}readBuf(){return f.copyUint8Array(h.readVarUint8Array(this.restDecoder))}readJSON(){return JSON.parse(h.readVarString(this.restDecoder))}readKey(){return h.readVarString(this.restDecoder)}}class B{constructor(t){this.dsCurrVal=0,this.restDecoder=t}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=h.readVarUint(this.restDecoder),this.dsCurrVal}readDsLen(){const t=h.readVarUint(this.restDecoder)+1;return this.dsCurrVal+=t,t}}class J extends B{constructor(t){super(t),this.keys=[],h.readVarUint(t),this.keyClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.clientDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.leftClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.rightClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.infoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.stringDecoder=new h.StringDecoder(h.readVarUint8Array(t)),this.parentInfoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.typeRefDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.lenDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t))}readLeftID(){return new et(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new et(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return h.readAny(this.restDecoder)}readBuf(){return h.readVarUint8Array(this.restDecoder)}readJSON(){return h.readAny(this.restDecoder)}readKey(){const t=this.keyClockDecoder.read();if(t<this.keys.length)return this.keys[t];{const t=this.stringDecoder.read();return this.keys.push(t),t}}}class z{constructor(){this.restEncoder=a.createEncoder()}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){}writeDsClock(t){a.writeVarUint(this.restEncoder,t)}writeDsLen(t){a.writeVarUint(this.restEncoder,t)}}class j extends z{writeLeftID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeRightID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeClient(t){a.writeVarUint(this.restEncoder,t)}writeInfo(t){a.writeUint8(this.restEncoder,t)}writeString(t){a.writeVarString(this.restEncoder,t)}writeParentInfo(t){a.writeVarUint(this.restEncoder,t?1:0)}writeTypeRef(t){a.writeVarUint(this.restEncoder,t)}writeLen(t){a.writeVarUint(this.restEncoder,t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeVarString(this.restEncoder,JSON.stringify(t))}writeKey(t){a.writeVarString(this.restEncoder,t)}}class P{constructor(){this.restEncoder=a.createEncoder(),this.dsCurrVal=0}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(t){const e=t-this.dsCurrVal;this.dsCurrVal=t,a.writeVarUint(this.restEncoder,e)}writeDsLen(t){0===t&&g.unexpectedCase(),a.writeVarUint(this.restEncoder,t-1),this.dsCurrVal+=t}}class $ extends P{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new a.IntDiffOptRleEncoder,this.clientEncoder=new a.UintOptRleEncoder,this.leftClockEncoder=new a.IntDiffOptRleEncoder,this.rightClockEncoder=new a.IntDiffOptRleEncoder,this.infoEncoder=new a.RleEncoder(a.writeUint8),this.stringEncoder=new a.StringEncoder,this.parentInfoEncoder=new a.RleEncoder(a.writeUint8),this.typeRefEncoder=new a.UintOptRleEncoder,this.lenEncoder=new a.UintOptRleEncoder}toUint8Array(){const t=a.createEncoder();return a.writeVarUint(t,0),a.writeVarUint8Array(t,this.keyClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.clientEncoder.toUint8Array()),a.writeVarUint8Array(t,this.leftClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.rightClockEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.infoEncoder)),a.writeVarUint8Array(t,this.stringEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.parentInfoEncoder)),a.writeVarUint8Array(t,this.typeRefEncoder.toUint8Array()),a.writeVarUint8Array(t,this.lenEncoder.toUint8Array()),a.writeUint8Array(t,a.toUint8Array(this.restEncoder)),a.toUint8Array(t)}writeLeftID(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}writeRightID(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}writeClient(t){this.clientEncoder.write(t)}writeInfo(t){this.infoEncoder.write(t)}writeString(t){this.stringEncoder.write(t)}writeParentInfo(t){this.parentInfoEncoder.write(t?1:0)}writeTypeRef(t){this.typeRefEncoder.write(t)}writeLen(t){this.lenEncoder.write(t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeAny(this.restEncoder,t)}writeKey(t){const e=this.keyMap.get(t);void 0===e?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(e)}}const F=(t,e,r)=>{const n=new Map;r.forEach(((t,r)=>{at(e,r)>t&&n.set(r,t)})),lt(e).forEach(((t,e)=>{r.has(e)||n.set(e,0)})),a.writeVarUint(t.restEncoder,n.size),o.from(n.entries()).sort(((t,e)=>e[0]-t[0])).forEach((([r,n])=>{((t,e,r,n)=>{n=c.max(n,e[0].id.clock);const s=ut(e,n);a.writeVarUint(t.restEncoder,e.length-s),t.writeClient(r),a.writeVarUint(t.restEncoder,n);const i=e[s];i.write(t,n-i.id.clock);for(let r=s+1;r<e.length;r++)e[r].write(t,0)})(t,e.clients.get(r),r,n)}))},G=(t,e,r,n=J)=>{const s=h.createDecoder(e);((t,e,r,n=new J(t))=>{St(e,(t=>{t.local=!1;let e=!1;const r=t.doc,s=r.store,i=((t,e)=>{const r=l.create(),n=h.readVarUint(t.restDecoder);for(let s=0;s<n;s++){const n=h.readVarUint(t.restDecoder),s=new Array(n),i=t.readClient();let o=h.readVarUint(t.restDecoder);r.set(i,{i:0,refs:s});for(let r=0;r<n;r++){const n=t.readInfo();switch(p.BITS5&n){case 0:{const e=t.readLen();s[r]=new Ne(nt(i,o),e),o+=e;break}case 10:{const e=h.readVarUint(t.restDecoder);s[r]=new rr(nt(i,o),e),o+=e;break}default:{const c=0==(n&(p.BIT7|p.BIT8)),l=new Qe(nt(i,o),null,(n&p.BIT8)===p.BIT8?t.readLeftID():null,null,(n&p.BIT7)===p.BIT7?t.readRightID():null,c?t.readParentInfo()?e.get(t.readString()):t.readLeftID():null,c&&(n&p.BIT6)===p.BIT6?t.readString():null,tr(t,n));s[r]=l,o+=l.length}}}}return r})(n,r),c=((t,e,r)=>{const n=[];let s=o.from(r.keys()).sort(((t,e)=>t-e));if(0===s.length)return null;const i=()=>{if(0===s.length)return null;let t=r.get(s[s.length-1]);for(;t.refs.length===t.i;){if(s.pop(),!(s.length>0))return null;t=r.get(s[s.length-1])}return t};let c=i();if(null===c)return null;const h=new ct,u=new Map,d=(t,e)=>{const r=u.get(t);(null==r||r>e)&&u.set(t,e)};let f=c.refs[c.i++];const g=new Map,p=()=>{for(const t of n){const e=t.id.client,n=r.get(e);n?(n.i--,h.clients.set(e,n.refs.slice(n.i)),r.delete(e),n.i=0,n.refs=[]):h.clients.set(e,[t]),s=s.filter((t=>t!==e))}n.length=0};for(;;){if(f.constructor!==rr){const s=l.setIfUndefined(g,f.id.client,(()=>at(e,f.id.client)))-f.id.clock;if(s<0)n.push(f),d(f.id.client,f.id.clock-1),p();else{const i=f.getMissing(t,e);if(null!==i){n.push(f);const t=r.get(i)||{refs:[],i:0};if(t.refs.length!==t.i){f=t.refs[t.i++];continue}d(i,at(e,i)),p()}else(0===s||s<f.length)&&(f.integrate(t,s),g.set(f.id.client,f.id.clock+f.length))}}if(n.length>0)f=n.pop();else if(null!==c&&c.i<c.refs.length)f=c.refs[c.i++];else{if(c=i(),null===c)break;f=c.refs[c.i++]}}if(h.clients.size>0){const t=new $;return F(t,h,new Map),a.writeVarUint(t.restEncoder,0),{missing:u,update:t.toUint8Array()}}return null})(t,s,i),u=s.pendingStructs;if(u){for(const[t,r]of u.missing)if(r<at(s,t)){e=!0;break}if(c){for(const[t,e]of c.missing){const r=u.missing.get(t);(null==r||r>e)&&u.missing.set(t,e)}u.update=vt([u.update,c.update])}}else s.pendingStructs=c;const d=N(n,t,s);if(s.pendingDs){const e=new J(h.createDecoder(s.pendingDs));h.readVarUint(e.restDecoder);const r=N(e,t,s);s.pendingDs=d&&r?vt([d,r]):d||r}else s.pendingDs=d;if(e){const e=s.pendingStructs.update;s.pendingStructs=null,G(t.doc,e)}}),r,!1)})(s,t,r,new n(s))},K=(t,e,r)=>G(t,e,r,L),q=(t,e=new Uint8Array([0]),r=new $)=>{((t,e,r=new Map)=>{F(t,e.store,r),T(t,(t=>{const e=A();return t.clients.forEach(((t,r)=>{const n=[];for(let e=0;e<t.length;e++){const r=t[e];if(r.deleted){const s=r.id.clock;let i=r.length;if(e+1<t.length)for(let r=t[e+1];e+1<t.length&&r.deleted;r=t[1+ ++e])i+=r.length;n.push(new x(s,i))}}n.length>0&&e.clients.set(r,n)})),e})(e.store))})(r,t,W(e));const n=[r.toUint8Array()];if(t.store.pendingDs&&n.push(t.store.pendingDs),t.store.pendingStructs&&n.push(It(t.store.pendingStructs.update,e)),n.length>1){if(r.constructor===j)return Dt(n.map(((t,e)=>0===e?t:Nt(t))));if(r.constructor===$)return vt(n)}return n[0]},Y=(t,e)=>q(t,e,new j),W=t=>(t=>{const e=new Map,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);e.set(r,n)}return e})(new R(h.createDecoder(t)));class X{constructor(){this.l=[]}}const H=()=>new X,Z=(t,e)=>t.l.push(e),Q=(t,e)=>{const r=t.l,n=r.length;t.l=r.filter((t=>e!==t)),n===t.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},tt=(t,e,r)=>w.callAll(t.l,[e,r]);class et{constructor(t,e){this.client=t,this.clock=e}}const rt=(t,e)=>t===e||null!==t&&null!==e&&t.client===e.client&&t.clock===e.clock,nt=(t,e)=>new et(t,e);class st{constructor(t,e){this.ds=t,this.sv=e}}const it=(((t,e)=>{new st(t,e)})(A(),new Map),(t,e)=>void 0===e?!t.deleted:e.sv.has(t.id.client)&&(e.sv.get(t.id.client)||0)>t.id.clock&&!D(e.ds,t.id)),ot=(t,e)=>{const r=l.setIfUndefined(t.meta,ot,m.create),n=t.doc.store;r.has(e)||(e.sv.forEach(((e,r)=>{e<at(n,r)&>(t,nt(r,e))})),E(t,e.ds,(t=>{})),r.add(e))};class ct{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const lt=t=>{const e=new Map;return t.clients.forEach(((t,r)=>{const n=t[t.length-1];e.set(r,n.id.clock+n.length)})),e},at=(t,e)=>{const r=t.clients.get(e);if(void 0===r)return 0;const n=r[r.length-1];return n.id.clock+n.length},ht=(t,e)=>{let r=t.clients.get(e.id.client);if(void 0===r)r=[],t.clients.set(e.id.client,r);else{const t=r[r.length-1];if(t.id.clock+t.length!==e.id.clock)throw g.unexpectedCase()}r.push(e)},ut=(t,e)=>{let r=0,n=t.length-1,s=t[n],i=s.id.clock;if(i===e)return n;let o=c.floor(e/(i+s.length-1)*n);for(;r<=n;){if(s=t[o],i=s.id.clock,i<=e){if(e<i+s.length)return o;r=o+1}else n=o-1;o=c.floor((r+n)/2)}throw g.unexpectedCase()},dt=(t,e)=>{const r=t.clients.get(e.client);return r[ut(r,e.clock)]},ft=(t,e,r)=>{const n=ut(e,r),s=e[n];return s.id.clock<r&&s instanceof Qe?(e.splice(n+1,0,Ze(t,s,r-s.id.clock)),n+1):n},gt=(t,e)=>{const r=t.doc.store.clients.get(e.client);return r[ft(t,r,e.clock)]},pt=(t,e,r)=>{const n=e.clients.get(r.client),s=ut(n,r.clock),i=n[s];return r.clock!==i.id.clock+i.length-1&&i.constructor!==Ne&&n.splice(s+1,0,Ze(t,i,r.clock-i.id.clock+1)),i},wt=(t,e,r,n,s)=>{if(0===n)return;const i=r+n;let o,c=ft(t,e,r);do{o=e[c++],i<o.id.clock+o.length&&ft(t,e,i),s(o)}while(c<e.length&&e[c].id.clock<i)};class mt{constructor(t,e,r){this.doc=t,this.deleteSet=new C,this.beforeState=lt(t.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=e,this.meta=new Map,this.local=r,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}}const yt=(t,e)=>!(0===e.deleteSet.clients.size&&!l.any(e.afterState,((t,r)=>e.beforeState.get(r)!==t))||(U(e.deleteSet),((t,e)=>{F(t,e.doc.store,e.beforeState)})(t,e),T(t,e.deleteSet),0)),bt=(t,e,r)=>{const n=e._item;(null===n||n.id.clock<(t.beforeState.get(n.id.client)||0)&&!n.deleted)&&l.setIfUndefined(t.changed,e,m.create).add(r)},kt=(t,e)=>{let r=t[e],n=t[e-1],s=e;for(;s>0&&n.deleted===r.deleted&&n.constructor===r.constructor&&n.mergeWith(r);r=n,n=t[--s-1])r instanceof Qe&&null!==r.parentSub&&r.parent._map.get(r.parentSub)===r&&r.parent._map.set(r.parentSub,n);const i=e-s;return i&&t.splice(e+1-i,i),i},_t=(t,e)=>{if(e<t.length){const r=t[e],n=r.doc,s=n.store,i=r.deleteSet,o=r._mergeStructs;try{U(i),r.afterState=lt(r.doc.store),n.emit("beforeObserverCalls",[r,n]);const l=[];r.changed.forEach(((t,e)=>l.push((()=>{null!==e._item&&e._item.deleted||e._callObserver(r,t)})))),l.push((()=>{r.changedParentTypes.forEach(((t,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((t=t.filter((t=>null===t.target._item||!t.target._item.deleted))).forEach((t=>{t.currentTarget=e,t._path=null})),t.sort(((t,e)=>t.path.length-e.path.length)),tt(e._dEH,t,r))}))})),l.push((()=>n.emit("afterTransaction",[r,n]))),(0,w.callAll)(l,[]),r._needFormattingCleanup&&Se(r)}finally{n.gc&&((t,e,r)=>{for(const[n,s]of t.clients.entries()){const t=e.clients.get(n);for(let n=s.length-1;n>=0;n--){const i=s[n],o=i.clock+i.len;for(let n=ut(t,i.clock),s=t[n];n<t.length&&s.id.clock<o;s=t[++n]){const s=t[n];if(i.clock+i.len<=s.id.clock)break;s instanceof Qe&&s.deleted&&!s.keep&&r(s)&&s.gc(e,!1)}}}})(i,s,n.gcFilter),((t,e)=>{t.clients.forEach(((t,r)=>{const n=e.clients.get(r);for(let e=t.length-1;e>=0;e--){const r=t[e];for(let t=c.min(n.length-1,1+ut(n,r.clock+r.len-1)),e=n[t];t>0&&e.id.clock>=r.clock;e=n[t])t-=1+kt(n,t)}}))})(i,s),r.afterState.forEach(((t,e)=>{const n=r.beforeState.get(e)||0;if(n!==t){const t=s.clients.get(e),r=c.max(ut(t,n),1);for(let e=t.length-1;e>=r;)e-=1+kt(t,e)}}));for(let t=o.length-1;t>=0;t--){const{client:e,clock:r}=o[t].id,n=s.clients.get(e),i=ut(n,r);i+1<n.length&&kt(n,i+1)>1||i>0&&kt(n,i)}if(r.local||r.afterState.get(n.clientID)===r.beforeState.get(n.clientID)||(y.print(b.ORANGE,b.BOLD,"[yjs] ",b.UNBOLD,b.RED,"Changed the client-id because another client seems to be using it."),n.clientID=V()),n.emit("afterTransactionCleanup",[r,n]),n._observers.has("update")){const t=new j;yt(t,r)&&n.emit("update",[t.toUint8Array(),r.origin,n,r])}if(n._observers.has("updateV2")){const t=new $;yt(t,r)&&n.emit("updateV2",[t.toUint8Array(),r.origin,n,r])}const{subdocsAdded:l,subdocsLoaded:a,subdocsRemoved:h}=r;(l.size>0||h.size>0||a.size>0)&&(l.forEach((t=>{t.clientID=n.clientID,null==t.collectionid&&(t.collectionid=n.collectionid),n.subdocs.add(t)})),h.forEach((t=>n.subdocs.delete(t))),n.emit("subdocs",[{loaded:a,added:l,removed:h},n,r]),h.forEach((t=>t.destroy()))),t.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,t])):_t(t,e+1)}}},St=(t,e,r=null,n=!0)=>{const s=t._transactionCleanups;let i=!1,o=null;null===t._transaction&&(i=!0,t._transaction=new mt(t,r,n),s.push(t._transaction),1===s.length&&t.emit("beforeAllTransactions",[t]),t.emit("beforeTransaction",[t._transaction,t]));try{o=e(t._transaction)}finally{if(i){const e=t._transaction===s[0];t._transaction=null,e&&_t(s,0)}}return o};class xt extends i.Observable{constructor(t,{captureTimeout:e=500,captureTransaction:r=(t=>!0),deleteFilter:n=(()=>!0),trackedOrigins:s=new Set([null]),ignoreRemoteMapChanges:i=!1,doc:c=(o.isArray(t)?t[0].doc:t.doc)}={}){super(),this.scope=[],this.doc=c,this.addToScope(t),this.deleteFilter=n,s.add(this),this.trackedOrigins=s,this.captureTransaction=r,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.lastChange=0,this.ignoreRemoteMapChanges=i,this.captureTimeout=e,this.afterTransactionHandler=t=>{if(!(this.captureTransaction(t)&&this.scope.some((e=>t.changedParentTypes.has(e)))&&(this.trackedOrigins.has(t.origin)||t.origin&&this.trackedOrigins.has(t.origin.constructor))))return;const e=this.undoing,r=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():r||this.clear(!1,!0);const s=new C;t.afterState.forEach(((e,r)=>{const n=t.beforeState.get(r)||0,i=e-n;i>0&&I(s,r,n,i)}));const i=$k2yVv.getUnixTime();if(this.lastChange>0&&i-this.lastChange<this.captureTimeout&&n.length>0&&!e&&!r){const e=n[n.length-1];e.deletions=v([e.deletions,t.deleteSet]),e.insertions=v([e.insertions,s])}else n.push(new $7bf523d8dd063ce0$var$StackItem(t.deleteSet,s));e||r||(this.lastChange=i),E(t,t.deleteSet,(t=>{t instanceof Qe&&this.scope.some((e=>$7bf523d8dd063ce0$export$3c81af374b054d6a(e,t)))&&$7bf523d8dd063ce0$var$keepItem(t,!0)}));const o=[{stackItem:n[n.length-1],origin:t.origin,type:e?"redo":"undo",changedParentTypes:t.changedParentTypes},this];this.emit("stack-item-updated",o)},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(t){(o.isArray(t)?t:[t]).forEach((t=>{this.scope.every((e=>e!==t))&&(t.doc!==this.doc&&y.warn("[yjs#509] Not same Y.Doc"),this.scope.push(t))}))}addTrackedOrigin(t){this.trackedOrigins.add(t)}removeTrackedOrigin(t){this.trackedOrigins.delete(t)}clear(t=!0,e=!0){(t&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((r=>{t&&(this.undoStack.forEach((t=>$7bf523d8dd063ce0$var$clearUndoManagerStackItem(r,this,t))),this.undoStack=[]),e&&(this.redoStack.forEach((t=>$7bf523d8dd063ce0$var$clearUndoManagerStackItem(r,this,t))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:t,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;try{$7bf523d8dd063ce0$var$popStackItem(this,this.undoStack,"undo")}finally{this.undoing=!1}}redo(){this.redoing=!0;try{$7bf523d8dd063ce0$var$popStackItem(this,this.redoStack,"redo")}finally{this.redoing=!1}}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class Ct{constructor(t,e){this.gen=function*(t){const e=h.readVarUint(t.restDecoder);for(let r=0;r<e;r++){const e=h.readVarUint(t.restDecoder),r=t.readClient();let n=h.readVarUint(t.restDecoder);for(let s=0;s<e;s++){const e=t.readInfo();if(10===e){const e=h.readVarUint(t.restDecoder);yield new rr(nt(r,n),e),n+=e}else if(0!=(p.BITS5&e)){const s=0==(e&(p.BIT7|p.BIT8)),i=new Qe(nt(r,n),null,(e&p.BIT8)===p.BIT8?t.readLeftID():null,null,(e&p.BIT7)===p.BIT7?t.readRightID():null,s?t.readParentInfo()?t.readString():t.readLeftID():null,s&&(e&p.BIT6)===p.BIT6?t.readString():null,tr(t,e));yield i,n+=i.length}else{const e=t.readLen();yield new Ne(nt(r,n),e),n+=e}}}}(t),this.curr=null,this.done=!1,this.filterSkips=e,this.next()}next(){do{this.curr=this.gen.next().value||null}while(this.filterSkips&&null!==this.curr&&this.curr.constructor===rr);return this.curr}}class Et{constructor(t){this.currClient=0,this.startClock=0,this.written=0,this.encoder=t,this.clientStructs=[]}}const Dt=t=>vt(t,L,j),Ut=(t,e)=>{if(t.constructor===Ne){const{client:r,clock:n}=t.id;return new Ne(nt(r,n+e),t.length-e)}if(t.constructor===rr){const{client:r,clock:n}=t.id;return new rr(nt(r,n+e),t.length-e)}{const r=t,{client:n,clock:s}=r.id;return new Qe(nt(n,s+e),null,nt(n,s+e-1),null,r.rightOrigin,r.parent,r.parentSub,r.content.splice(e))}},vt=(t,e=J,r=$)=>{if(1===t.length)return t[0];const n=t.map((t=>new e(h.createDecoder(t))));let s=n.map((t=>new Ct(t,!0))),i=null;const o=new r,c=new Et(o);for(;s=s.filter((t=>null!==t.curr)),s.sort(((t,e)=>{if(t.curr.id.client===e.curr.id.client){const r=t.curr.id.clock-e.curr.id.clock;return 0===r?t.curr.constructor===e.curr.constructor?0:t.curr.constructor===rr?1:-1:r}return e.curr.id.client-t.curr.id.client})),0!==s.length;){const t=s[0],e=t.curr.id.client;if(null!==i){let r=t.curr,n=!1;for(;null!==r&&r.id.clock+r.length<=i.struct.id.clock+i.struct.length&&r.id.client>=i.struct.id.client;)r=t.next(),n=!0;if(null===r||r.id.client!==e||n&&r.id.clock>i.struct.id.clock+i.struct.length)continue;if(e!==i.struct.id.client)Tt(c,i.struct,i.offset),i={struct:r,offset:0},t.next();else if(i.struct.id.clock+i.struct.length<r.id.clock)if(i.struct.constructor===rr)i.struct.length=r.id.clock+r.length-i.struct.id.clock;else{Tt(c,i.struct,i.offset);const t=r.id.clock-i.struct.id.clock-i.struct.length;i={struct:new rr(nt(e,i.struct.id.clock+i.struct.length),t),offset:0}}else{const e=i.struct.id.clock+i.struct.length-r.id.clock;e>0&&(i.struct.constructor===rr?i.struct.length-=e:r=Ut(r,e)),i.struct.mergeWith(r)||(Tt(c,i.struct,i.offset),i={struct:r,offset:0},t.next())}}else i={struct:t.curr,offset:0},t.next();for(let r=t.curr;null!==r&&r.id.client===e&&r.id.clock===i.struct.id.clock+i.struct.length&&r.constructor!==rr;r=t.next())Tt(c,i.struct,i.offset),i={struct:r,offset:0}}null!==i&&(Tt(c,i.struct,i.offset),i=null),Ot(c);const l=n.map((t=>O(t))),a=v(l);return T(o,a),o.toUint8Array()},It=(t,e,r=J,n=$)=>{const s=W(e),i=new n,o=new Et(i),l=new r(h.createDecoder(t)),a=new Ct(l,!1);for(;a.curr;){const t=a.curr,e=t.id.client,r=s.get(e)||0;if(a.curr.constructor!==rr)if(t.id.clock+t.length>r)for(Tt(o,t,c.max(r-t.id.clock,0)),a.next();a.curr&&a.curr.id.client===e;)Tt(o,a.curr,0),a.next();else for(;a.curr&&a.curr.id.client===e&&a.curr.id.clock+a.curr.length<=r;)a.next();else a.next()}Ot(o);const u=O(l);return T(i,u),i.toUint8Array()},At=t=>{t.written>0&&(t.clientStructs.push({written:t.written,restEncoder:a.toUint8Array(t.encoder.restEncoder)}),t.encoder.restEncoder=a.createEncoder(),t.written=0)},Tt=(t,e,r)=>{t.written>0&&t.currClient!==e.id.client&&At(t),0===t.written&&(t.currClient=e.id.client,t.encoder.writeClient(e.id.client),a.writeVarUint(t.encoder.restEncoder,e.id.clock+r)),e.write(t.encoder,r),t.written++},Ot=t=>{At(t);const e=t.encoder.restEncoder;a.writeVarUint(e,t.clientStructs.length);for(let r=0;r<t.clientStructs.length;r++){const n=t.clientStructs[r];a.writeVarUint(e,n.written),a.writeUint8Array(e,n.restEncoder)}},Nt=t=>((t,e,r,n)=>{const s=new r(h.createDecoder(t)),i=new Ct(s,!1),o=new n,c=new Et(o);for(let t=i.curr;null!==t;t=i.next())Tt(c,e(t),0);Ot(c);const l=O(s);return T(o,l),o.toUint8Array()})(t,w.id,J,j),Vt="You must not compute changes after the event-handler fired.";class Mt{constructor(t,e){this.target=t,this.currentTarget=t,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=Rt(this.currentTarget,this.target))}deletes(t){return D(this.transaction.deleteSet,t.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw g.create(Vt);const t=new Map,e=this.target;this.transaction.changed.get(e).forEach((r=>{if(null!==r){const n=e._map.get(r);let s,i;if(this.adds(n)){let t=n.left;for(;null!==t&&this.adds(t);)t=t.left;if(this.deletes(n)){if(null===t||!this.deletes(t))return;s="delete",i=o.last(t.content.getContent())}else null!==t&&this.deletes(t)?(s="update",i=o.last(t.content.getContent())):(s="add",i=void 0)}else{if(!this.deletes(n))return;s="delete",i=o.last(n.content.getContent())}t.set(r,{action:s,oldValue:i})}})),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(null===t){if(0===this.transaction.doc._transactionCleanups.length)throw g.create(Vt);const e=this.target,r=m.create(),n=m.create(),s=[];if(t={added:r,deleted:n,delta:s,keys:this.keys},this.transaction.changed.get(e).has(null)){let t=null;const i=()=>{t&&s.push(t)};for(let s=e._start;null!==s;s=s.right)s.deleted?this.deletes(s)&&!this.adds(s)&&(null!==t&&void 0!==t.delete||(i(),t={delete:0}),t.delete+=s.length,n.add(s)):this.adds(s)?(null!==t&&void 0!==t.insert||(i(),t={insert:[]}),t.insert=t.insert.concat(s.content.getContent()),r.add(s)):(null!==t&&void 0!==t.retain||(i(),t={retain:0}),t.retain+=s.length);null!==t&&void 0===t.retain&&i()}this._changes=t}return t}}const Rt=(t,e)=>{const r=[];for(;null!==e._item&&e!==t;){if(null!==e._item.parentSub)r.unshift(e._item.parentSub);else{let t=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||t++,n=n.right;r.unshift(t)}e=e._item.parent}return r};let Lt=0;class Bt{constructor(t,e){t.marker=!0,this.p=t,this.index=e,this.timestamp=Lt++}}const Jt=(t,e,r)=>{t.p.marker=!1,t.p=e,e.marker=!0,t.index=r,t.timestamp=Lt++},zt=(t,e)=>{if(null===t._start||0===e||null===t._searchMarker)return null;const r=0===t._searchMarker.length?null:t._searchMarker.reduce(((t,r)=>c.abs(e-t.index)<c.abs(e-r.index)?t:r));let n=t._start,s=0;for(null!==r&&(n=r.p,s=r.index,(t=>{t.timestamp=Lt++})(r));null!==n.right&&s<e;){if(!n.deleted&&n.countable){if(e<s+n.length)break;s+=n.length}n=n.right}for(;null!==n.left&&s>e;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);return null!==r&&c.abs(r.index-s)<n.parent.length/80?(Jt(r,n,s),r):((t,e,r)=>{if(t.length>=80){const n=t.reduce(((t,e)=>t.timestamp<e.timestamp?t:e));return Jt(n,e,r),n}{const n=new Bt(e,r);return t.push(n),n}})(t._searchMarker,n,s)},jt=(t,e,r)=>{for(let n=t.length-1;n>=0;n--){const s=t[n];if(r>0){let e=s.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(s.index-=e.length);if(null===e||!0===e.marker){t.splice(n,1);continue}s.p=e,e.marker=!0}(e<s.index||r>0&&e===s.index)&&(s.index=c.max(e,s.index+r))}},Pt=(t,e,r)=>{const n=t,s=e.changedParentTypes;for(;l.setIfUndefined(s,t,(()=>[])).push(r),null!==t._item;)t=t._item.parent;tt(n._eH,r,e)};class $t{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=H(),this._dEH=H(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,e){this.doc=t,this._item=e}_copy(){throw g.methodUnimplemented()}clone(){throw g.methodUnimplemented()}_write(t){}get _first(){let t=this._start;for(;null!==t&&t.deleted;)t=t.right;return t}_callObserver(t,e){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){Z(this._eH,t)}observeDeep(t){Z(this._dEH,t)}unobserve(t){Q(this._eH,t)}unobserveDeep(t){Q(this._dEH,t)}toJSON(){}}const Ft=(t,e,r)=>{e<0&&(e=t._length+e),r<0&&(r=t._length+r);let n=r-e;const s=[];let i=t._start;for(;null!==i&&n>0;){if(i.countable&&!i.deleted){const t=i.content.getContent();if(t.length<=e)e-=t.length;else{for(let r=e;r<t.length&&n>0;r++)s.push(t[r]),n--;e=0}}i=i.right}return s},Gt=t=>{const e=[];let r=t._start;for(;null!==r;){if(r.countable&&!r.deleted){const t=r.content.getContent();for(let r=0;r<t.length;r++)e.push(t[r])}r=r.right}return e},Kt=(t,e)=>{let r=0,n=t._start;for(;null!==n;){if(n.countable&&!n.deleted){const s=n.content.getContent();for(let n=0;n<s.length;n++)e(s[n],r++,t)}n=n.right}},qt=(t,e)=>{const r=[];return Kt(t,((n,s)=>{r.push(e(n,s,t))})),r},Yt=t=>{let e=t._start,r=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===r){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};r=e.content.getContent(),n=0,e=e.right}const t=r[n++];return r.length<=n&&(r=null),{done:!1,value:t}}}},Wt=(t,e)=>{const r=zt(t,e);let n=t._start;for(null!==r&&(n=r.p,e-=r.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e<n.length)return n.content.getContent()[e];e-=n.length}},Xt=(t,e,r,n)=>{let s=r;const i=t.doc,o=i.clientID,c=i.store,l=null===r?e._start:r.right;let a=[];const h=()=>{a.length>0&&(s=new Qe(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new je(a)),s.integrate(t,0),a=[])};n.forEach((r=>{if(null===r)a.push(r);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:a.push(r);break;default:switch(h(),r.constructor){case Uint8Array:case ArrayBuffer:s=new Qe(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Ve(new Uint8Array(r))),s.integrate(t,0);break;case M:s=new Qe(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Le(r)),s.integrate(t,0);break;default:if(!(r instanceof $t))throw new Error("Unexpected content type in insert operation");s=new Qe(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new He(r)),s.integrate(t,0)}}})),h()},Ht=()=>g.create("Length exceeded!"),Zt=(t,e,r,n)=>{if(r>e._length)throw Ht();if(0===r)return e._searchMarker&&jt(e._searchMarker,r,n.length),Xt(t,e,null,n);const s=r,i=zt(e,r);let o=e._start;for(null!==i&&(o=i.p,0==(r-=i.index)&&(o=o.prev,r+=o&&o.countable&&!o.deleted?o.length:0));null!==o;o=o.right)if(!o.deleted&&o.countable){if(r<=o.length){r<o.length&>(t,nt(o.id.client,o.id.clock+r));break}r-=o.length}return e._searchMarker&&jt(e._searchMarker,s,n.length),Xt(t,e,o,n)},Qt=(t,e,r,n)=>{if(0===n)return;const s=r,i=n,o=zt(e,r);let c=e._start;for(null!==o&&(c=o.p,r-=o.index);null!==c&&r>0;c=c.right)!c.deleted&&c.countable&&(r<c.length&>(t,nt(c.id.client,c.id.clock+r)),r-=c.length);for(;n>0&&null!==c;)c.deleted||(n<c.length&>(t,nt(c.id.client,c.id.clock+n)),c.delete(t),n-=c.length),c=c.right;if(n>0)throw Ht();e._searchMarker&&jt(e._searchMarker,s,-i+n)},te=(t,e,r)=>{const n=e._map.get(r);void 0!==n&&n.delete(t)},ee=(t,e,r,n)=>{const s=e._map.get(r)||null,i=t.doc,o=i.clientID;let c;if(null==n)c=new je([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:c=new je([n]);break;case Uint8Array:c=new Ve(n);break;case M:c=new Le(n);break;default:if(!(n instanceof $t))throw new Error("Unexpected content type");c=new He(n)}new Qe(nt(o,at(i.store,o)),s,s&&s.lastId,null,null,e,r,c).integrate(t,0)},re=(t,e)=>{const r=t._map.get(e);return void 0===r||r.deleted?void 0:r.content.getContent()[r.length-1]},ne=t=>{const e={};return t._map.forEach(((t,r)=>{t.deleted||(e[r]=t.content.getContent()[t.length-1])})),e},se=(t,e)=>{const r=t._map.get(e);return void 0!==r&&!r.deleted},ie=t=>k.iteratorFilter(t.entries(),(t=>!t[1].deleted));class oe extends Mt{constructor(t,e){super(t,e),this._transaction=e}}class ce extends $t{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){const e=new ce;return e.push(t),e}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new ce}clone(){const t=new ce;return t.insert(0,this.toArray().map((t=>t instanceof $t?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(t,e){super._callObserver(t,e),Pt(this,t,new oe(this,t))}insert(t,e){null!==this.doc?St(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}push(t){null!==this.doc?St(this.doc,(e=>{((t,e,r)=>{let n=(e._searchMarker||[]).reduce(((t,e)=>e.index>t.index?e:t),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;Xt(t,e,n,r)})(e,this,t)})):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,e=1){null!==this.doc?St(this.doc,(r=>{Qt(r,this,t,e)})):this._prelimContent.splice(t,e)}get(t){return Wt(this,t)}toArray(){return Gt(this)}slice(t=0,e=this.length){return Ft(this,t,e)}toJSON(){return this.map((t=>t instanceof $t?t.toJSON():t))}map(t){return qt(this,t)}forEach(t){Kt(this,t)}[Symbol.iterator](){return Yt(this)}_write(t){t.writeTypeRef(Fe)}}class le extends Mt{constructor(t,e,r){super(t,e),this.keysChanged=r}}class ae extends $t{constructor(t){super(),this._prelimContent=null,this._prelimContent=void 0===t?new Map:new Map(t)}_integrate(t,e){super._integrate(t,e),this._prelimContent.forEach(((t,e)=>{this.set(e,t)})),this._prelimContent=null}_copy(){return new ae}clone(){const t=new ae;return this.forEach(((e,r)=>{t.set(r,e instanceof $t?e.clone():e)})),t}_callObserver(t,e){Pt(this,t,new le(this,t,e))}toJSON(){const t={};return this._map.forEach(((e,r)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];t[r]=n instanceof $t?n.toJSON():n}})),t}get size(){return[...ie(this._map)].length}keys(){return k.iteratorMap(ie(this._map),(t=>t[0]))}values(){return k.iteratorMap(ie(this._map),(t=>t[1].content.getContent()[t[1].length-1]))}entries(){return k.iteratorMap(ie(this._map),(t=>[t[0],t[1].content.getContent()[t[1].length-1]]))}forEach(t){this._map.forEach(((e,r)=>{e.deleted||t(e.content.getContent()[e.length-1],r,this)}))}[Symbol.iterator](){return this.entries()}delete(t){null!==this.doc?St(this.doc,(e=>{te(e,this,t)})):this._prelimContent.delete(t)}set(t,e){return null!==this.doc?St(this.doc,(r=>{ee(r,this,t,e)})):this._prelimContent.set(t,e),e}get(t){return re(this,t)}has(t){return se(this,t)}clear(){null!==this.doc?St(this.doc,(t=>{this.forEach((function(e,r,n){te(t,n,r)}))})):this._prelimContent.clear()}_write(t){t.writeTypeRef(Ge)}}const he=(t,e)=>t===e||"object"==typeof t&&"object"==typeof e&&t&&e&&_.equalFlat(t,e);class ue{constructor(t,e,r,n){this.left=t,this.right=e,this.index=r,this.currentAttributes=n}forward(){null===this.right&&g.unexpectedCase(),this.right.content.constructor===Je?this.right.deleted||pe(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const de=(t,e,r)=>{for(;null!==e.right&&r>0;)e.right.content.constructor===Je?e.right.deleted||pe(e.currentAttributes,e.right.content):e.right.deleted||(r<e.right.length&>(t,nt(e.right.id.client,e.right.id.clock+r)),e.index+=e.right.length,r-=e.right.length),e.left=e.right,e.right=e.right.right;return e},fe=(t,e,r,n)=>{const s=new Map,i=n?zt(e,r):null;if(i){const e=new ue(i.p.left,i.p,i.index,s);return de(t,e,r-i.index)}{const n=new ue(null,e._start,0,s);return de(t,n,r)}},ge=(t,e,r,n)=>{for(;null!==r.right&&(!0===r.right.deleted||r.right.content.constructor===Je&&he(n.get(r.right.content.key),r.right.content.value));)r.right.deleted||n.delete(r.right.content.key),r.forward();const s=t.doc,i=s.clientID;n.forEach(((n,o)=>{const c=r.left,l=r.right,a=new Qe(nt(i,at(s.store,i)),c,c&&c.lastId,l,l&&l.id,e,null,new Je(o,n));a.integrate(t,0),r.right=a,r.forward()}))},pe=(t,e)=>{const{key:r,value:n}=e;null===n?t.delete(r):t.set(r,n)},we=(t,e)=>{for(;null!==t.right&&(t.right.deleted||t.right.content.constructor===Je&&he(e[t.right.content.key]||null,t.right.content.value));)t.forward()},me=(t,e,r,n)=>{const s=t.doc,i=s.clientID,o=new Map;for(const c in n){const l=n[c],a=r.currentAttributes.get(c)||null;if(!he(a,l)){o.set(c,a);const{left:n,right:h}=r;r.right=new Qe(nt(i,at(s.store,i)),n,n&&n.lastId,h,h&&h.id,e,null,new Je(c,l)),r.right.integrate(t,0),r.forward()}}return o},ye=(t,e,r,n,s)=>{r.currentAttributes.forEach(((t,e)=>{void 0===s[e]&&(s[e]=null)}));const i=t.doc,o=i.clientID;we(r,s);const c=me(t,e,r,s),l=n.constructor===String?new Pe(n):n instanceof $t?new He(n):new Be(n);let{left:a,right:h,index:u}=r;e._searchMarker&&jt(e._searchMarker,r.index,l.getLength()),h=new Qe(nt(o,at(i.store,o)),a,a&&a.lastId,h,h&&h.id,e,null,l),h.integrate(t,0),r.right=h,r.index=u,r.forward(),ge(t,e,r,c)},be=(t,e,r,n,s)=>{const i=t.doc,o=i.clientID;we(r,s);const c=me(t,e,r,s);t:for(;null!==r.right&&(n>0||c.size>0&&(r.right.deleted||r.right.content.constructor===Je));){if(!r.right.deleted)switch(r.right.content.constructor){case Je:{const{key:e,value:i}=r.right.content,o=s[e];if(void 0!==o){if(he(o,i))c.delete(e);else{if(0===n)break t;c.set(e,i)}r.right.delete(t)}else r.currentAttributes.set(e,i);break}default:n<r.right.length&>(t,nt(r.right.id.client,r.right.id.clock+n)),n-=r.right.length}r.forward()}if(n>0){let s="";for(;n>0;n--)s+="\n";r.right=new Qe(nt(o,at(i.store,o)),r.left,r.left&&r.left.lastId,r.right,r.right&&r.right.id,e,null,new Pe(s)),r.right.integrate(t,0),r.forward()}ge(t,e,r,c)},ke=(t,e,r,n,s)=>{let i=e;const o=l.create();for(;i&&(!i.countable||i.deleted);){if(!i.deleted&&i.content.constructor===Je){const t=i.content;o.set(t.key,t)}i=i.right}let c=0,a=!1;for(;e!==i;){if(r===e&&(a=!0),!e.deleted){const r=e.content;switch(r.constructor){case Je:{const{key:i,value:l}=r,h=n.get(i)||null;o.get(i)===r&&h!==l||(e.delete(t),c++,a||(s.get(i)||null)!==l||h===l||(null===h?s.delete(i):s.set(i,h))),a||e.deleted||pe(s,r);break}}}e=e.right}return c},_e=t=>{let e=0;return St(t.doc,(r=>{let n=t._start,s=t._start,i=l.create();const o=l.copy(i);for(;s;)!1===s.deleted&&(s.content.constructor===Je?pe(o,s.content):(e+=ke(r,n,s,i,o),i=l.copy(o),n=s)),s=s.right})),e},Se=t=>{const e=new Set,r=t.doc;for(const[n,s]of t.afterState.entries()){const i=t.beforeState.get(n)||0;s!==i&&wt(t,r.store.clients.get(n),i,s,(t=>{t.deleted||t.content.constructor!==Je||t.constructor===Ne||e.add(t.parent)}))}St(r,(r=>{E(t,t.deleteSet,(t=>{if(t instanceof Ne||!t.parent._hasFormatting||e.has(t.parent))return;const n=t.parent;t.content.constructor===Je?e.add(n):((t,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const r=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Je){const n=e.content.key;r.has(n)?e.delete(t):r.add(n)}e=e.left}})(r,t)}));for(const t of e)_e(t)}))},xe=(t,e,r)=>{const n=r,s=l.copy(e.currentAttributes),i=e.right;for(;r>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case He:case Be:case Pe:r<e.right.length&>(t,nt(e.right.id.client,e.right.id.clock+r)),r-=e.right.length,e.right.delete(t)}e.forward()}i&&ke(t,i,e.right,s,e.currentAttributes);const o=(e.left||e.right).parent;return o._searchMarker&&jt(o._searchMarker,e.index,-n+r),e};class Ce extends Mt{constructor(t,e,r){super(t,e),this.childListChanged=!1,this.keysChanged=new Set,r.forEach((t=>{null===t?this.childListChanged=!0:this.keysChanged.add(t)}))}get changes(){if(null===this._changes){const t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(null===this._delta){const t=this.target.doc,e=[];St(t,(t=>{const r=new Map,n=new Map;let s=this.target._start,i=null;const o={};let c="",l=0,a=0;const h=()=>{if(null!==i){let t=null;switch(i){case"delete":a>0&&(t={delete:a}),a=0;break;case"insert":("object"==typeof c||c.length>0)&&(t={insert:c},r.size>0&&(t.attributes={},r.forEach(((e,r)=>{null!==e&&(t.attributes[r]=e)})))),c="";break;case"retain":l>0&&(t={retain:l},_.isEmpty(o)||(t.attributes=_.assign({},o))),l=0}t&&e.push(t),i=null}};for(;null!==s;){switch(s.content.constructor){case He:case Be:this.adds(s)?this.deletes(s)||(h(),i="insert",c=s.content.getContent()[0],h()):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=1):s.deleted||("retain"!==i&&(h(),i="retain"),l+=1);break;case Pe:this.adds(s)?this.deletes(s)||("insert"!==i&&(h(),i="insert"),c+=s.content.str):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=s.length):s.deleted||("retain"!==i&&(h(),i="retain"),l+=s.length);break;case Je:{const{key:e,value:c}=s.content;if(this.adds(s)){if(!this.deletes(s)){const l=r.get(e)||null;he(l,c)?null!==c&&s.delete(t):("retain"===i&&h(),he(c,n.get(e)||null)?delete o[e]:o[e]=c)}}else if(this.deletes(s)){n.set(e,c);const t=r.get(e)||null;he(t,c)||("retain"===i&&h(),o[e]=t)}else if(!s.deleted){n.set(e,c);const r=o[e];void 0!==r&&(he(r,c)?null!==r&&s.delete(t):("retain"===i&&h(),null===c?delete o[e]:o[e]=c))}s.deleted||("insert"===i&&h(),pe(r,s.content));break}}s=s.right}for(h();e.length>0;){const t=e[e.length-1];if(void 0===t.retain||void 0!==t.attributes)break;e.pop()}})),this._delta=e}return this._delta}}class Ee extends $t{constructor(t){super(),this._pending=void 0!==t?[()=>this.insert(0,t)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(t,e){super._integrate(t,e);try{this._pending.forEach((t=>t()))}catch(t){console.error(t)}this._pending=null}_copy(){return new Ee}clone(){const t=new Ee;return t.applyDelta(this.toDelta()),t}_callObserver(t,e){super._callObserver(t,e);const r=new Ce(this,t,e);Pt(this,t,r),!t.local&&this._hasFormatting&&(t._needFormattingCleanup=!0)}toString(){let t="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Pe&&(t+=e.content.str),e=e.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:e=!0}={}){null!==this.doc?St(this.doc,(r=>{const n=new ue(null,this._start,0,new Map);for(let s=0;s<t.length;s++){const i=t[s];if(void 0!==i.insert){const o=e||"string"!=typeof i.insert||s!==t.length-1||null!==n.right||"\n"!==i.insert.slice(-1)?i.insert:i.insert.slice(0,-1);("string"!=typeof o||o.length>0)&&ye(r,this,n,o,i.attributes||{})}else void 0!==i.retain?be(r,this,n,i.retain,i.attributes||{}):void 0!==i.delete&&xe(r,n,i.delete)}})):this._pending.push((()=>this.applyDelta(t)))}toDelta(t,e,r){const n=[],s=new Map,i=this.doc;let o="",c=this._start;function l(){if(o.length>0){const t={};let e=!1;s.forEach(((r,n)=>{e=!0,t[n]=r}));const r={insert:o};e&&(r.attributes=t),n.push(r),o=""}}const a=()=>{for(;null!==c;){if(it(c,t)||void 0!==e&&it(c,e))switch(c.content.constructor){case Pe:{const n=s.get("ychange");void 0===t||it(c,t)?void 0===e||it(c,e)?void 0!==n&&(l(),s.delete("ychange")):void 0!==n&&n.user===c.id.client&&"added"===n.type||(l(),s.set("ychange",r?r("added",c.id):{type:"added"})):void 0!==n&&n.user===c.id.client&&"removed"===n.type||(l(),s.set("ychange",r?r("removed",c.id):{type:"removed"})),o+=c.content.str;break}case He:case Be:{l();const t={insert:c.content.getContent()[0]};if(s.size>0){const e={};t.attributes=e,s.forEach(((t,r)=>{e[r]=t}))}n.push(t);break}case Je:it(c,t)&&(l(),pe(s,c.content))}c=c.right}l()};return t||e?St(i,(r=>{t&&ot(r,t),e&&ot(r,e),a()}),"cleanup"):a(),n}insert(t,e,r){if(e.length<=0)return;const n=this.doc;null!==n?St(n,(n=>{const s=fe(n,this,t,!r);r||(r={},s.currentAttributes.forEach(((t,e)=>{r[e]=t}))),ye(n,this,s,e,r)})):this._pending.push((()=>this.insert(t,e,r)))}insertEmbed(t,e,r){const n=this.doc;null!==n?St(n,(n=>{const s=fe(n,this,t,!r);ye(n,this,s,e,r||{})})):this._pending.push((()=>this.insertEmbed(t,e,r||{})))}delete(t,e){if(0===e)return;const r=this.doc;null!==r?St(r,(r=>{xe(r,fe(r,this,t,!0),e)})):this._pending.push((()=>this.delete(t,e)))}format(t,e,r){if(0===e)return;const n=this.doc;null!==n?St(n,(n=>{const s=fe(n,this,t,!1);null!==s.right&&be(n,this,s,e,r)})):this._pending.push((()=>this.format(t,e,r)))}removeAttribute(t){null!==this.doc?St(this.doc,(e=>{te(e,this,t)})):this._pending.push((()=>this.removeAttribute(t)))}setAttribute(t,e){null!==this.doc?St(this.doc,(r=>{ee(r,this,t,e)})):this._pending.push((()=>this.setAttribute(t,e)))}getAttribute(t){return re(this,t)}getAttributes(){return ne(this)}_write(t){t.writeTypeRef(Ke)}}class De{constructor(t,e=(()=>!0)){this._filter=e,this._root=t,this._currentNode=t._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let t=this._currentNode,e=t&&t.content&&t.content.type;if(null!==t&&(!this._firstCall||t.deleted||!this._filter(e)))do{if(e=t.content.type,t.deleted||e.constructor!==ve&&e.constructor!==Ue||null===e._start)for(;null!==t;){if(null!==t.right){t=t.right;break}t=t.parent===this._root?null:t.parent._item}else t=e._start}while(null!==t&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,null===t?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class Ue extends $t{constructor(){super(),this._prelimContent=[]}get firstChild(){const t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Ue}clone(){const t=new Ue;return t.insert(0,this.toArray().map((t=>t instanceof $t?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(t){return new De(this,t)}querySelector(t){t=t.toUpperCase();const e=new De(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),o.from(new De(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)))}_callObserver(t,e){Pt(this,t,new Ie(this,e,t))}toString(){return qt(this,(t=>t.toString())).join("")}toJSON(){return this.toString()}toDOM(t=document,e={},r){const n=t.createDocumentFragment();return void 0!==r&&r._createAssociation(n,this),Kt(this,(s=>{n.insertBefore(s.toDOM(t,e,r),null)})),n}insert(t,e){null!==this.doc?St(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}insertAfter(t,e){if(null!==this.doc)St(this.doc,(r=>{const n=t&&t instanceof $t?t._item:t;Xt(r,this,n,e)}));else{const r=this._prelimContent,n=null===t?0:r.findIndex((e=>e===t))+1;if(0===n&&null!==t)throw g.create("Reference item not found");r.splice(n,0,...e)}}delete(t,e=1){null!==this.doc?St(this.doc,(r=>{Qt(r,this,t,e)})):this._prelimContent.splice(t,e)}toArray(){return Gt(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return Wt(this,t)}slice(t=0,e=this.length){return Ft(this,t,e)}forEach(t){Kt(this,t)}_write(t){t.writeTypeRef(Ye)}}class ve extends Ue{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,e){super._integrate(t,e),this._prelimAttrs.forEach(((t,e)=>{this.setAttribute(e,t)})),this._prelimAttrs=null}_copy(){return new ve(this.nodeName)}clone(){const t=new ve(this.nodeName),e=this.getAttributes();return _.forEach(e,((e,r)=>{"string"==typeof e&&t.setAttribute(r,e)})),t.insert(0,this.toArray().map((t=>t instanceof $t?t.clone():t))),t}toString(){const t=this.getAttributes(),e=[],r=[];for(const e in t)r.push(e);r.sort();const n=r.length;for(let s=0;s<n;s++){const n=r[s];e.push(n+'="'+t[n]+'"')}const s=this.nodeName.toLocaleLowerCase();return`<${s}${e.length>0?" "+e.join(" "):""}>${super.toString()}</${s}>`}removeAttribute(t){null!==this.doc?St(this.doc,(e=>{te(e,this,t)})):this._prelimAttrs.delete(t)}setAttribute(t,e){null!==this.doc?St(this.doc,(r=>{ee(r,this,t,e)})):this._prelimAttrs.set(t,e)}getAttribute(t){return re(this,t)}hasAttribute(t){return se(this,t)}getAttributes(t){return t?((t,e)=>{const r={};return this._map.forEach(((t,n)=>{let s=t;for(;null!==s&&(!e.sv.has(s.id.client)||s.id.clock>=(e.sv.get(s.id.client)||0));)s=s.left;null!==s&&it(s,e)&&(r[n]=s.content.getContent()[s.length-1])})),r})(0,t):ne(this)}toDOM(t=document,e={},r){const n=t.createElement(this.nodeName),s=this.getAttributes();for(const t in s){const e=s[t];"string"==typeof e&&n.setAttribute(t,e)}return Kt(this,(s=>{n.appendChild(s.toDOM(t,e,r))})),void 0!==r&&r._createAssociation(n,this),n}_write(t){t.writeTypeRef(qe),t.writeKey(this.nodeName)}}class Ie extends Mt{constructor(t,e,r){super(t,r),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((t=>{null===t?this.childListChanged=!0:this.attributesChanged.add(t)}))}}class Ae extends ae{constructor(t){super(),this.hookName=t}_copy(){return new Ae(this.hookName)}clone(){const t=new Ae(this.hookName);return this.forEach(((e,r)=>{t.set(r,e)})),t}toDOM(t=document,e={},r){const n=e[this.hookName];let s;return s=void 0!==n?n.createDom(this):document.createElement(this.hookName),s.setAttribute("data-yjs-hook",this.hookName),void 0!==r&&r._createAssociation(s,this),s}_write(t){t.writeTypeRef(We),t.writeKey(this.hookName)}}class Te extends Ee{get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_copy(){return new Te}clone(){const t=new Te;return t.applyDelta(this.toDelta()),t}toDOM(t=document,e,r){const n=t.createTextNode(this.toString());return void 0!==r&&r._createAssociation(n,this),n}toString(){return this.toDelta().map((t=>{const e=[];for(const r in t.attributes){const n=[];for(const e in t.attributes[r])n.push({key:e,value:t.attributes[r][e]});n.sort(((t,e)=>t.key<e.key?-1:1)),e.push({nodeName:r,attrs:n})}e.sort(((t,e)=>t.nodeName<e.nodeName?-1:1));let r="";for(let t=0;t<e.length;t++){const n=e[t];r+=`<${n.nodeName}`;for(let t=0;t<n.attrs.length;t++){const e=n.attrs[t];r+=` ${e.key}="${e.value}"`}r+=">"}r+=t.insert;for(let t=e.length-1;t>=0;t--)r+=`</${e[t].nodeName}>`;return r})).join("")}toJSON(){return this.toString()}_write(t){t.writeTypeRef(Xe)}}class Oe{constructor(t,e){this.id=t,this.length=e}get deleted(){throw g.methodUnimplemented()}mergeWith(t){return!1}write(t,e,r){throw g.methodUnimplemented()}integrate(t,e){throw g.methodUnimplemented()}}class Ne extends Oe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){e>0&&(this.id.clock+=e,this.length-=e),ht(t.doc.store,this)}write(t,e){t.writeInfo(0),t.writeLen(this.length-e)}getMissing(t,e){return null}}class Ve{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Ve(this.content)}splice(t){throw g.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeBuf(this.content)}getRef(){return 3}}class Me{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Me(this.len)}splice(t){const e=new Me(this.len-t);return this.len=t,e}mergeWith(t){return this.len+=t.len,!0}integrate(t,e){I(t.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(t){}gc(t){}write(t,e){t.writeLen(this.len-e)}getRef(){return 1}}const Re=(t,e)=>new M({guid:t,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Le{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;const e={};this.opts=e,t.gc||(e.gc=!1),t.autoLoad&&(e.autoLoad=!0),null!==t.meta&&(e.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Le(Re(this.doc.guid,this.opts))}splice(t){throw g.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.doc._item=e,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,e){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class Be{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Be(this.embed)}splice(t){throw g.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeJSON(this.embed)}getRef(){return 5}}class Je{constructor(t,e){this.key=t,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Je(this.key,this.value)}splice(t){throw g.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){const r=e.parent;r._searchMarker=null,r._hasFormatting=!0}delete(t){}gc(t){}write(t,e){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class ze{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ze(this.arr)}splice(t){const e=new ze(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeString(void 0===e?"undefined":JSON.stringify(e))}}getRef(){return 2}}class je{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new je(this.arr)}splice(t){const e=new je(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeAny(e)}}getRef(){return 8}}class Pe{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new Pe(this.str)}splice(t){const e=new Pe(this.str.slice(t));this.str=this.str.slice(0,t);const r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(t){return this.str+=t.str,!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const $e=[t=>new ce,t=>new ae,t=>new Ee,t=>new ve(t.readKey()),t=>new Ue,t=>new Ae(t.readKey()),t=>new Te],Fe=0,Ge=1,Ke=2,qe=3,Ye=4,We=5,Xe=6;class He{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new He(this.type._copy())}splice(t){throw g.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.type._integrate(t.doc,e)}delete(t){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t)})),t.changed.delete(this.type)}gc(t){let e=this.type._start;for(;null!==e;)e.gc(t,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(t,!0),e=e.left})),this.type._map=new Map}write(t,e){this.type._write(t)}getRef(){return 7}}const Ze=(t,e,r)=>{const{client:n,clock:s}=e.id,i=new Qe(nt(n,s+r),e,nt(n,s+r-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(r));return e.deleted&&i.markDeleted(),e.keep&&(i.keep=!0),null!==e.redone&&(i.redone=nt(e.redone.client,e.redone.clock+r)),e.right=i,null!==i.right&&(i.right.left=i),t._mergeStructs.push(i),null!==i.parentSub&&null===i.right&&i.parent._map.set(i.parentSub,i),e.length=r,i};class Qe extends Oe{constructor(t,e,r,n,s,i,o,c){super(t,c.getLength()),this.origin=r,this.left=e,this.right=n,this.rightOrigin=s,this.parent=i,this.parentSub=o,this.redone=null,this.content=c,this.info=this.content.isCountable()?p.BIT2:0}set marker(t){(this.info&p.BIT4)>0!==t&&(this.info^=p.BIT4)}get marker(){return(this.info&p.BIT4)>0}get keep(){return(this.info&p.BIT1)>0}set keep(t){this.keep!==t&&(this.info^=p.BIT1)}get countable(){return(this.info&p.BIT2)>0}get deleted(){return(this.info&p.BIT3)>0}set deleted(t){this.deleted!==t&&(this.info^=p.BIT3)}markDeleted(){this.info|=p.BIT3}getMissing(t,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=at(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=at(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===et&&this.id.client!==this.parent.client&&this.parent.clock>=at(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=pt(t,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=gt(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Ne||this.right&&this.right.constructor===Ne)this.parent=null;else if(this.parent){if(this.parent.constructor===et){const t=dt(e,this.parent);t.constructor===Ne?this.parent=null:this.parent=t.content.type}}else this.left&&this.left.constructor===Qe&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===Qe&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(t,e){if(e>0&&(this.id.clock+=e,this.left=pt(t,t.doc.store,nt(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,r=this.left;if(null!==r)e=r.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,s=new Set;for(;null!==e&&e!==this.right;){if(s.add(e),n.add(e),rt(this.origin,e.origin)){if(e.id.client<this.id.client)r=e,n.clear();else if(rt(this.rightOrigin,e.rightOrigin))break}else{if(null===e.origin||!s.has(dt(t.doc.store,e.origin)))break;n.has(dt(t.doc.store,e.origin))||(r=e,n.clear())}e=e.right}this.left=r}if(null!==this.left){const t=this.left.right;this.right=t,this.left.right=this}else{let t;if(null!==this.parentSub)for(t=this.parent._map.get(this.parentSub)||null;null!==t&&null!==t.left;)t=t.left;else t=this.parent._start,this.parent._start=this;this.right=t}null!==this.right?this.right.left=this:null!==this.parentSub&&(this.parent._map.set(this.parentSub,this),null!==this.left&&this.left.delete(t)),null===this.parentSub&&this.countable&&!this.deleted&&(this.parent._length+=this.length),ht(t.doc.store,this),this.content.integrate(t,this),bt(t,this.parent,this.parentSub),(null!==this.parent._item&&this.parent._item.deleted||null!==this.parentSub&&null!==this.right)&&this.delete(t)}else new Ne(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;null!==t&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;null!==t&&t.deleted;)t=t.left;return t}get lastId(){return 1===this.length?this.id:nt(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&rt(t.origin,this.lastId)&&this.right===t&&rt(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&null===this.redone&&null===t.redone&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){const e=this.parent._searchMarker;return e&&e.forEach((e=>{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),t.keep&&(this.keep=!0),this.right=t.right,null!==this.right&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),I(t.deleteSet,this.id.client,this.id.clock,this.length),bt(t,e,this.parentSub),this.content.delete(t)}}gc(t,e){if(!this.deleted)throw g.unexpectedCase();this.content.gc(t),e?((t,e,r)=>{const n=t.clients.get(e.id.client);n[ut(n,e.id.clock)]=r})(t,this,new Ne(this.id,this.length)):this.content=new Me(this.length)}write(t,e){const r=e>0?nt(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,s=this.parentSub,i=this.content.getRef()&p.BITS5|(null===r?0:p.BIT8)|(null===n?0:p.BIT7)|(null===s?0:p.BIT6);if(t.writeInfo(i),null!==r&&t.writeLeftID(r),null!==n&&t.writeRightID(n),null===r&&null===n){const e=this.parent;if(void 0!==e._item){const r=e._item;if(null===r){const r=(t=>{for(const[e,r]of t.doc.share.entries())if(r===t)return e;throw g.unexpectedCase()})(e);t.writeParentInfo(!0),t.writeString(r)}else t.writeParentInfo(!1),t.writeLeftID(r.id)}else e.constructor===String?(t.writeParentInfo(!0),t.writeString(e)):e.constructor===et?(t.writeParentInfo(!1),t.writeLeftID(e)):g.unexpectedCase();null!==s&&t.writeString(s)}this.content.write(t,e)}}const tr=(t,e)=>er[e&p.BITS5](t),er=[()=>{g.unexpectedCase()},t=>new Me(t.readLen()),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++){const e=t.readString();"undefined"===e?r.push(void 0):r.push(JSON.parse(e))}return new ze(r)},t=>new Ve(t.readBuf()),t=>new Pe(t.readString()),t=>new Be(t.readJSON()),t=>new Je(t.readKey(),t.readJSON()),t=>new He($e[t.readTypeRef()](t)),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++)r.push(t.readAny());return new je(r)},t=>new Le(Re(t.readString(),t.readAny())),()=>{g.unexpectedCase()}];class rr extends Oe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){g.unexpectedCase()}write(t,e){t.writeInfo(10),a.writeVarUint(t.restEncoder,this.length-e)}getMissing(t,e){return null}}const nr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};!0===nr["__ $YJS$ __"]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),nr["__ $YJS$ __"]=!0})),r.register("fACbm",(function(e,n){t(e.exports,"Observable",(function(){return c}));var s=r("cuboK"),i=r("aYKIU"),o=r("kDMzp");class c{constructor(){this._observers=s.create()}on(t,e){s.setIfUndefined(this._observers,t,i.create).add(e)}once(t,e){const r=(...n)=>{this.off(t,r),e(...n)};this.on(t,r)}off(t,e){const r=this._observers.get(t);void 0!==r&&(r.delete(e),0===r.size&&this._observers.delete(t))}emit(t,e){return o.from((this._observers.get(t)||s.create()).values()).forEach((t=>t(...e)))}destroy(){this._observers=s.create()}}})),r.register("cuboK",(function(e,r){t(e.exports,"create",(function(){return n})),t(e.exports,"copy",(function(){return s})),t(e.exports,"setIfUndefined",(function(){return i})),t(e.exports,"map",(function(){return o})),t(e.exports,"any",(function(){return c}));const n=()=>new Map,s=t=>{const e=n();return t.forEach(((t,r)=>{e.set(r,t)})),e},i=(t,e,r)=>{let n=t.get(e);return void 0===n&&t.set(e,n=r()),n},o=(t,e)=>{const r=[];for(const[n,s]of t)r.push(e(s,n));return r},c=(t,e)=>{for(const[r,n]of t)if(e(n,r))return!0;return!1}})),r.register("aYKIU",(function(e,r){t(e.exports,"create",(function(){return n})),t(e.exports,"from",(function(){return s}));const n=()=>new Set,s=t=>new Set(t)})),r.register("kDMzp",(function(e,n){t(e.exports,"last",(function(){return s})),t(e.exports,"appendTo",(function(){return i})),t(e.exports,"from",(function(){return o})),t(e.exports,"some",(function(){return c})),t(e.exports,"equalFlat",(function(){return l})),t(e.exports,"unfold",(function(){return a})),t(e.exports,"isArray",(function(){return h})),t(e.exports,"map",(function(){return u})),r("aYKIU");const s=t=>t[t.length-1],i=(t,e)=>{for(let r=0;r<e.length;r++)t.push(e[r])},o=Array.from,c=(t,e)=>{for(let r=0;r<t.length;r++)if(e(t[r],r,t))return!0;return!1},l=(t,e)=>t.length===e.length&&((t,e)=>{for(let r=0;r<t.length;r++)if(!e(t[r],r))return!1;return!0})(t,((t,r)=>t===e[r])),a=(t,e)=>{const r=new Array(t);for(let n=0;n<t;n++)r[n]=e(n,r);return r},h=Array.isArray,u=(t,e)=>{const r=Array(t.length);for(let n=0;n<t.length;n++)r[n]=e(t[n],n,t);return r}})),r.register("iUL32",(function(e,r){t(e.exports,"floor",(function(){return n})),t(e.exports,"ceil",(function(){return s})),t(e.exports,"abs",(function(){return i})),t(e.exports,"round",(function(){return o})),t(e.exports,"log10",(function(){return c})),t(e.exports,"min",(function(){return l})),t(e.exports,"max",(function(){return a})),t(e.exports,"exp10",(function(){return h})),t(e.exports,"isNegativeZero",(function(){return u}));const n=Math.floor,s=Math.ceil,i=Math.abs,o=(Math.imul,Math.round),c=Math.log10,l=(Math.log2,Math.log,Math.sqrt,(t,e)=>t<e?t:e),a=(t,e)=>t>e?t:e,h=(Number.isNaN,Math.pow,t=>Math.pow(10,t)),u=(Math.sign,t=>0!==t?t<0:1/t<0)})),r.register("j3EDv",(function(e,n){t(e.exports,"createEncoder",(function(){return h})),t(e.exports,"encode",(function(){return u})),t(e.exports,"toUint8Array",(function(){return d})),t(e.exports,"write",(function(){return f})),t(e.exports,"writeUint8",(function(){return g})),t(e.exports,"writeVarUint",(function(){return p})),t(e.exports,"writeVarInt",(function(){return w})),t(e.exports,"writeVarUint8Array",(function(){return S})),t(e.exports,"writeVarString",(function(){return b})),t(e.exports,"writeBinaryEncoder",(function(){return k})),t(e.exports,"writeUint8Array",(function(){return _})),t(e.exports,"writeAny",(function(){return E})),t(e.exports,"RleEncoder",(function(){return D})),t(e.exports,"UintOptRleEncoder",(function(){return v})),t(e.exports,"IntDiffOptRleEncoder",(function(){return A})),t(e.exports,"StringEncoder",(function(){return T}));var s=r("iUL32"),i=r("5ug58"),o=r("diuv2"),c=r("fJq6z"),l=r("kDMzp");class a{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const h=()=>new a,u=t=>{const e=h();return t(e),d(e)},d=t=>{const e=new Uint8Array((t=>{let e=t.cpos;for(let r=0;r<t.bufs.length;r++)e+=t.bufs[r].length;return e})(t));let r=0;for(let n=0;n<t.bufs.length;n++){const s=t.bufs[n];e.set(s,r),r+=s.length}return e.set(new Uint8Array(t.cbuf.buffer,0,t.cpos),r),e},f=(t,e)=>{const r=t.cbuf.length;t.cpos===r&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(2*r),t.cpos=0),t.cbuf[t.cpos++]=e},g=f,p=(t,e)=>{for(;e>o.BITS7;)f(t,o.BIT8|o.BITS7&e),e=s.floor(e/128);f(t,o.BITS7&e)},w=(t,e)=>{const r=s.isNegativeZero(e);for(r&&(e=-e),f(t,(e>o.BITS6?o.BIT8:0)|(r?o.BIT7:0)|o.BITS6&e),e=s.floor(e/64);e>0;)f(t,(e>o.BITS7?o.BIT8:0)|o.BITS7&e),e=s.floor(e/128)},m=new Uint8Array(3e4),y=m.length/3,b=c.utf8TextEncoder&&c.utf8TextEncoder.encodeInto?(t,e)=>{if(e.length<y){const r=c.utf8TextEncoder.encodeInto(e,m).written||0;p(t,r);for(let e=0;e<r;e++)f(t,m[e])}else S(t,c.encodeUtf8(e))}:(t,e)=>{const r=unescape(encodeURIComponent(e)),n=r.length;p(t,n);for(let e=0;e<n;e++)f(t,r.codePointAt(e))},k=(t,e)=>_(t,d(e)),_=(t,e)=>{const r=t.cbuf.length,n=t.cpos,i=s.min(r-n,e.length),o=e.length-i;t.cbuf.set(e.subarray(0,i),n),t.cpos+=i,o>0&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(s.max(2*r,o)),t.cbuf.set(e.subarray(i)),t.cpos=o)},S=(t,e)=>{p(t,e.byteLength),_(t,e)},x=(t,e)=>{((t,e)=>{const r=t.cbuf.length;r-t.cpos<e&&(t.bufs.push(new Uint8Array(t.cbuf.buffer,0,t.cpos)),t.cbuf=new Uint8Array(2*s.max(r,e)),t.cpos=0)})(t,e);const r=new DataView(t.cbuf.buffer,t.cpos,e);return t.cpos+=e,r},C=new DataView(new ArrayBuffer(4)),E=(t,e)=>{switch(typeof e){case"string":f(t,119),b(t,e);break;case"number":i.isInteger(e)&&s.abs(e)<=o.BITS31?(f(t,125),w(t,e)):(r=e,C.setFloat32(0,r),C.getFloat32(0)===r?(f(t,124),((t,e)=>{x(t,4).setFloat32(0,e,!1)})(t,e)):(f(t,123),((t,e)=>{x(t,8).setFloat64(0,e,!1)})(t,e)));break;case"bigint":f(t,122),((t,e)=>{x(t,8).setBigInt64(0,e,!1)})(t,e);break;case"object":if(null===e)f(t,126);else if(l.isArray(e)){f(t,117),p(t,e.length);for(let r=0;r<e.length;r++)E(t,e[r])}else if(e instanceof Uint8Array)f(t,116),S(t,e);else{f(t,118);const r=Object.keys(e);p(t,r.length);for(let n=0;n<r.length;n++){const s=r[n];b(t,s),E(t,e[s])}}break;case"boolean":f(t,e?120:121);break;default:f(t,127)}var r};class D extends a{constructor(t){super(),this.w=t,this.s=null,this.count=0}write(t){this.s===t?this.count++:(this.count>0&&p(this,this.count-1),this.count=1,this.w(this,t),this.s=t)}}const U=t=>{t.count>0&&(w(t.encoder,1===t.count?t.s:-t.s),t.count>1&&p(t.encoder,t.count-2))};class v{constructor(){this.encoder=new a,this.s=0,this.count=0}write(t){this.s===t?this.count++:(U(this),this.count=1,this.s=t)}toUint8Array(){return U(this),d(this.encoder)}}const I=t=>{if(t.count>0){const e=2*t.diff+(1===t.count?0:1);w(t.encoder,e),t.count>1&&p(t.encoder,t.count-2)}};class A{constructor(){this.encoder=new a,this.s=0,this.count=0,this.diff=0}write(t){this.diff===t-this.s?(this.s=t,this.count++):(I(this),this.count=1,this.diff=t-this.s,this.s=t)}toUint8Array(){return I(this),d(this.encoder)}}class T{constructor(){this.sarr=[],this.s="",this.lensE=new v}write(t){this.s+=t,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(t.length)}toUint8Array(){const t=new a;return this.sarr.push(this.s),this.s="",b(t,this.sarr.join("")),_(t,this.lensE.toUint8Array()),d(t)}}})),r.register("5ug58",(function(e,n){t(e.exports,"MAX_SAFE_INTEGER",(function(){return o})),t(e.exports,"isInteger",(function(){return c}));var s=r("iUL32"),i=r("diuv2");const o=Number.MAX_SAFE_INTEGER,c=(Number.MIN_SAFE_INTEGER,i.BITS31,i.BITS32,Number.isInteger||(t=>"number"==typeof t&&isFinite(t)&&s.floor(t)===t));Number.isNaN,Number.parseInt})),r.register("diuv2",(function(e,r){t(e.exports,"BIT1",(function(){return n})),t(e.exports,"BIT2",(function(){return s})),t(e.exports,"BIT3",(function(){return i})),t(e.exports,"BIT4",(function(){return o})),t(e.exports,"BIT6",(function(){return c})),t(e.exports,"BIT7",(function(){return l})),t(e.exports,"BIT8",(function(){return a})),t(e.exports,"BITS5",(function(){return h})),t(e.exports,"BITS6",(function(){return u})),t(e.exports,"BITS7",(function(){return d})),t(e.exports,"BITS8",(function(){return f})),t(e.exports,"BITS21",(function(){return g})),t(e.exports,"BITS31",(function(){return p})),t(e.exports,"BITS32",(function(){return w}));const n=1,s=2,i=4,o=8,c=32,l=64,a=128,h=31,u=63,d=127,f=255,g=2097151,p=2147483647,w=4294967295})),r.register("fJq6z",(function(e,n){t(e.exports,"fromCharCode",(function(){return i})),t(e.exports,"fromCamelCase",(function(){return l})),t(e.exports,"utf8TextEncoder",(function(){return a})),t(e.exports,"encodeUtf8",(function(){return h})),t(e.exports,"utf8TextDecoder",(function(){return u})),t(e.exports,"decodeUtf8",(function(){return d})),t(e.exports,"repeat",(function(){return f}));var s=r("kDMzp");const i=String.fromCharCode,o=(String.fromCodePoint,i(65535),/^\s*/g),c=/([A-Z])/g,l=(t,e)=>(t=>t.replace(o,""))(t.replace(c,(t=>`${e}${(t=>t.toLowerCase())(t)}`))),a="undefined"!=typeof TextEncoder?new TextEncoder:null,h=a?t=>a.encode(t):t=>{const e=unescape(encodeURIComponent(t)),r=e.length,n=new Uint8Array(r);for(let t=0;t<r;t++)n[t]=e.codePointAt(t);return n};let u="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});u&&1===u.decode(new Uint8Array).length&&(u=null);const d=u?t=>u.decode(t):t=>{let e=t.length,r="",n=0;for(;e>0;){const s=e<1e4?e:1e4,i=t.subarray(n,n+s);n+=s,r+=String.fromCodePoint.apply(null,i),e-=s}return decodeURIComponent(escape(r))},f=(t,e)=>s.unfold(e,(()=>t)).join("")})),r.register("heYZO",(function(e,n){t(e.exports,"createDecoder",(function(){return d})),t(e.exports,"hasContent",(function(){return f})),t(e.exports,"readVarUint8Array",(function(){return g})),t(e.exports,"readVarUint",(function(){return w})),t(e.exports,"readUint8",(function(){return p})),t(e.exports,"readVarInt",(function(){return m})),t(e.exports,"readVarString",(function(){return y})),t(e.exports,"readAny",(function(){return _})),t(e.exports,"RleDecoder",(function(){return S})),t(e.exports,"UintOptRleDecoder",(function(){return x})),t(e.exports,"IntDiffOptRleDecoder",(function(){return C})),t(e.exports,"StringDecoder",(function(){return E}));var s=r("diuv2"),i=r("iUL32"),o=r("5ug58"),c=r("fJq6z"),l=r("jtAN9");r("j3EDv");const a=l.create("Unexpected end of array"),h=l.create("Integer out of Range");class u{constructor(t){this.arr=t,this.pos=0}}const d=t=>new u(t),f=t=>t.pos!==t.arr.length,g=t=>((t,e)=>{const r=new Uint8Array(t.arr.buffer,t.pos+t.arr.byteOffset,e);return t.pos+=e,r})(t,w(t)),p=t=>t.arr[t.pos++],w=t=>{let e=0,r=1;const n=t.arr.length;for(;t.pos<n;){const n=t.arr[t.pos++];if(e+=(n&s.BITS7)*r,r*=128,n<s.BIT8)return e;if(e>o.MAX_SAFE_INTEGER)throw h}throw a},m=t=>{let e=t.arr[t.pos++],r=e&s.BITS6,n=64;const i=(e&s.BIT7)>0?-1:1;if(0==(e&s.BIT8))return i*r;const c=t.arr.length;for(;t.pos<c;){if(e=t.arr[t.pos++],r+=(e&s.BITS7)*n,n*=128,e<s.BIT8)return i*r;if(r>o.MAX_SAFE_INTEGER)throw h}throw a},y=c.utf8TextDecoder?t=>c.utf8TextDecoder.decode(g(t)):t=>{let e=w(t);if(0===e)return"";{let r=String.fromCodePoint(p(t));if(--e<100)for(;e--;)r+=String.fromCodePoint(p(t));else for(;e>0;){const n=e<1e4?e:1e4,s=t.arr.subarray(t.pos,t.pos+n);t.pos+=n,r+=String.fromCodePoint.apply(null,s),e-=n}return decodeURIComponent(escape(r))}},b=(t,e)=>{const r=new DataView(t.arr.buffer,t.arr.byteOffset+t.pos,e);return t.pos+=e,r},k=[t=>{},t=>null,m,t=>b(t,4).getFloat32(0,!1),t=>b(t,8).getFloat64(0,!1),t=>b(t,8).getBigInt64(0,!1),t=>!1,t=>!0,y,t=>{const e=w(t),r={};for(let n=0;n<e;n++)r[y(t)]=_(t);return r},t=>{const e=w(t),r=[];for(let n=0;n<e;n++)r.push(_(t));return r},g],_=t=>k[127-p(t)](t);class S extends u{constructor(t,e){super(t),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),f(this)?this.count=w(this)+1:this.count=-1),this.count--,this.s}}class x extends u{constructor(t){super(t),this.s=0,this.count=0}read(){if(0===this.count){this.s=m(this);const t=i.isNegativeZero(this.s);this.count=1,t&&(this.s=-this.s,this.count=w(this)+2)}return this.count--,this.s}}class C extends u{constructor(t){super(t),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const t=m(this),e=1&t;this.diff=i.floor(t/2),this.count=1,e&&(this.count=w(this)+2)}return this.s+=this.diff,this.count--,this.s}}class E{constructor(t){this.decoder=new x(t),this.str=y(this.decoder),this.spos=0}read(){const t=this.spos+this.decoder.read(),e=this.str.slice(this.spos,t);return this.spos=t,e}}})),r.register("jtAN9",(function(e,r){t(e.exports,"create",(function(){return n})),t(e.exports,"methodUnimplemented",(function(){return s})),t(e.exports,"unexpectedCase",(function(){return i}));const n=t=>new Error(t),s=()=>{throw n("Method unimplemented")},i=()=>{throw n("Unexpected case")}})),r.register("9c5sf",(function(e,n){t(e.exports,"uint32",(function(){return i})),t(e.exports,"uuidv4",(function(){return o})),r("iUL32"),r("diuv2");var s=r("56GYt");Math.random;const i=()=>(0,s.getRandomValues)(new Uint32Array(1))[0],o=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(t=>(t^i()&15>>t/4).toString(16)))})),r.register("56GYt",(function(e,r){t(e.exports,"getRandomValues",(function(){return n})),crypto.subtle;const n=crypto.getRandomValues.bind(crypto)})),r.register("hpG0a",(function(e,n){t(e.exports,"create",(function(){return s})),r("k2yVv");const s=t=>new Promise(t);Promise.all.bind(Promise)})),r.register("k2yVv",(function(e,n){t(e.exports,"getUnixTime",(function(){return s})),r("4OCIJ"),r("iUL32");const s=Date.now})),r.register("4OCIJ",(function(e,n){t(e.exports,"prefix",(function(){return c}));var s=r("iUL32");const i=["","k","M","G","T","P","E","Z","Y"],o=["","m","μ","n","p","f","a","z","y"],c=(t,e=0)=>{const r=0===t?0:s.log10(t);let n=0;for(;r<3*n&&e>-8;)e--,n--;for(;r>=3+3*n&&e<8;)e++,n++;const c=e<0?o[-e]:i[e];return{n:s.round(1e12*(n>0?t/s.exp10(3*n):t*s.exp10(-3*n)))/1e12,prefix:c}}})),r.register("f6bdK",(function(e,n){t(e.exports,"copyUint8Array",(function(){return i}));r("fJq6z");var s=r("1TTGp");r("kDMzp"),r("iUL32"),r("j3EDv"),r("heYZO"),r("1D1do").Buffer;const i=(s.isBrowser,s.isBrowser,t=>{const e=(t=>new Uint8Array(t))(t.byteLength);return e.set(t),e})})),r.register("1TTGp",(function(e,n){t(e.exports,"isBrowser",(function(){return u})),t(e.exports,"getVariable",(function(){return p})),t(e.exports,"supportsColor",(function(){return m}));var s=r("cuboK"),i=r("fJq6z"),o=r("buSng"),c=r("0ztOM"),l=r("ixCIn"),a=r("5Cbw2");const h=void 0!==a&&a.release&&/node|io\.js/.test(a.release.name)&&"[object process]"===Object.prototype.toString.call(void 0!==a?a:0),u="undefined"!=typeof window&&"undefined"!=typeof document&&!h;let d;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const f=[],g=t=>(()=>{if(void 0===d)if(h){d=s.create();const t=a.argv;let e=null;for(let r=0;r<t.length;r++){const n=t[r];"-"===n[0]?(null!==e&&d.set(e,""),e=n):null!==e?(d.set(e,n),e=null):f.push(n)}null!==e&&d.set(e,"")}else"object"==typeof location?(d=s.create(),(location.search||"?").slice(1).split("&").forEach((t=>{if(0!==t.length){const[e,r]=t.split("=");d.set(`--${i.fromCamelCase(e,"-")}`,r),d.set(`-${i.fromCamelCase(e,"-")}`,r)}}))):d=s.create();return d})().has(t),p=t=>h?o.undefinedToNull(a.env[t.toUpperCase()]):o.undefinedToNull(c.varStorage.getItem(t));g("--"+"production")||p("production");const w=h&&l.isOneOf(void 0,["true","1","2"]),m=!g("no-colors")&&(!h||a.stdout.isTTY||w)&&(!h||g("color")||w||null!==p("COLORTERM")||(p("TERM")||"").includes("color"))})),r.register("buSng",(function(e,r){t(e.exports,"undefinedToNull",(function(){return n}));const n=t=>void 0===t?null:t})),r.register("0ztOM",(function(e,r){t(e.exports,"varStorage",(function(){return i}));let n=new class{constructor(){this.map=new Map}setItem(t,e){this.map.set(t,e)}getItem(t){return this.map.get(t)}},s=!0;try{"undefined"!=typeof localStorage&&localStorage&&(n=localStorage,s=!1)}catch(t){}const i=n})),r.register("ixCIn",(function(e,n){t(e.exports,"callAll",(function(){return i})),t(e.exports,"nop",(function(){return o})),t(e.exports,"id",(function(){return c})),t(e.exports,"isOneOf",(function(){return l}));var s=r("kDMzp");r("gBQSU");const i=(t,e,r=0)=>{try{for(;r<t.length;r++)t[r](...e)}finally{r<t.length&&i(t,e,r+1)}},o=()=>{},c=t=>t,l=(t,e)=>e.includes(t);s.isArray})),r.register("gBQSU",(function(e,r){t(e.exports,"assign",(function(){return n})),t(e.exports,"forEach",(function(){return i})),t(e.exports,"length",(function(){return o})),t(e.exports,"isEmpty",(function(){return c})),t(e.exports,"hasProperty",(function(){return l})),t(e.exports,"equalFlat",(function(){return a}));const n=Object.assign,s=Object.keys,i=(t,e)=>{for(const r in t)e(t[r],r)},o=t=>s(t).length,c=t=>{for(const e in t)return!1;return!0},l=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a=(t,e)=>t===e||o(t)===o(e)&&((t,e)=>{for(const r in t)if(!e(t[r],r))return!1;return!0})(t,((t,r)=>(void 0!==t||l(e,r))&&e[r]===t))})),r.register("5Cbw2",(function(t,e){var r,n,s=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function c(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var l,a=[],h=!1,u=-1;function d(){h&&l&&(h=!1,l.length?a=l.concat(a):u=-1,a.length&&f())}function f(){if(!h){var t=c(d);h=!0;for(var e=a.length;e;){for(l=a,a=[];++u<e;)l&&l[u].run();u=-1,e=a.length}l=null,h=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function p(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];a.push(new g(t,e)),1!==a.length||h||c(f)},g.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=p,s.addListener=p,s.once=p,s.off=p,s.removeListener=p,s.removeAllListeners=p,s.emit=p,s.prependListener=p,s.prependOnceListener=p,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}})),r.register("fK7I3",(function(e,n){t(e.exports,"print",(function(){return d})),t(e.exports,"warn",(function(){return f})),t(e.exports,"BOLD",(function(){return r("37RhN").BOLD})),t(e.exports,"UNBOLD",(function(){return r("37RhN").UNBOLD})),t(e.exports,"RED",(function(){return r("37RhN").RED})),t(e.exports,"ORANGE",(function(){return r("37RhN").ORANGE}));var s=r("1TTGp"),i=r("aYKIU"),o=r("cGRJO"),c=r("7Nfk8"),l=(r("4RKQg"),r("cuboK")),a=(r("92eZa"),r("iUL32"),r("37RhN"));const h={[(a=r("37RhN")).BOLD]:o.create("font-weight","bold"),[a.UNBOLD]:o.create("font-weight","normal"),[a.BLUE]:o.create("color","blue"),[a.GREEN]:o.create("color","green"),[a.GREY]:o.create("color","grey"),[a.RED]:o.create("color","red"),[a.PURPLE]:o.create("color","purple"),[a.ORANGE]:o.create("color","orange"),[a.UNCOLOR]:o.create("color","black")},u=s.supportsColor?t=>{const e=[],r=[],n=l.create();let s=[],i=0;for(;i<t.length;i++){const s=t[i],o=h[s];if(void 0!==o)n.set(o.left,o.right);else{if(s.constructor!==String&&s.constructor!==Number)break;{const t=c.mapToStyleString(n);i>0||t.length>0?(e.push("%c"+s),r.push(t)):e.push(s)}}}for(i>0&&(s=r,s.unshift(e.join("")));i<t.length;i++){const e=t[i];e instanceof Symbol||s.push(e)}return s}:a.computeNoColorLoggingArgs,d=(...t)=>{console.log(...u(t)),g.forEach((e=>e.print(t)))},f=(...t)=>{console.warn(...u(t)),t.unshift(a.ORANGE),g.forEach((e=>e.print(t)))},g=i.create()})),r.register("cGRJO",(function(e,r){t(e.exports,"create",(function(){return s})),t(e.exports,"forEach",(function(){return i}));class n{constructor(t,e){this.left=t,this.right=e}}const s=(t,e)=>new n(t,e),i=(t,e)=>t.forEach((t=>e(t.left,t.right)))})),r.register("7Nfk8",(function(e,n){t(e.exports,"append",(function(){return l})),t(e.exports,"addEventListener",(function(){return a})),t(e.exports,"element",(function(){return h})),t(e.exports,"text",(function(){return u})),t(e.exports,"mapToStyleString",(function(){return d}));var s=r("cGRJO"),i=r("cuboK");const o="undefined"!=typeof document?document:{},c=("undefined"!=typeof DOMParser&&new DOMParser,t=>{const e=o.createDocumentFragment();for(let r=0;r<t.length;r++)f(e,t[r]);return e}),l=(t,e)=>(f(t,c(e)),t),a=(t,e,r)=>t.addEventListener(e,r),h=(t,e=[],r=[])=>l(((t,e)=>(s.forEach(e,((e,r)=>{!1===r?t.removeAttribute(e):!0===r?t.setAttribute(e,""):t.setAttribute(e,r)})),t))((t=>o.createElement(t))(t),e),r),u=t=>o.createTextNode(t),d=t=>i.map(t,((t,e)=>`${e}:${t};`)).join(""),f=(t,e)=>t.appendChild(e);o.ELEMENT_NODE,o.TEXT_NODE,o.CDATA_SECTION_NODE,o.COMMENT_NODE,o.DOCUMENT_NODE,o.DOCUMENT_TYPE_NODE,o.DOCUMENT_FRAGMENT_NODE})),r.register("4RKQg",(function(e,r){t(e.exports,"stringify",(function(){return n}));const n=JSON.stringify;JSON.parse})),r.register("92eZa",(function(e,r){t(e.exports,"enqueue",(function(){return i}));let n=[];const s=()=>{for(let t=0;t<n.length;t++)n[t]();n=[]},i=t=>{n.push(t),1===n.length&&setTimeout(s,0)},o=t=>class{constructor(t){this._=t}destroy(){t(this._)}};o(clearTimeout),o(clearInterval),o((t=>"undefined"!=typeof requestAnimationFrame&&cancelAnimationFrame(t))),o((t=>"undefined"!=typeof cancelIdleCallback&&cancelIdleCallback(t)))})),r.register("37RhN",(function(e,n){t(e.exports,"BOLD",(function(){return l})),t(e.exports,"UNBOLD",(function(){return a})),t(e.exports,"BLUE",(function(){return h})),t(e.exports,"GREY",(function(){return u})),t(e.exports,"GREEN",(function(){return d})),t(e.exports,"RED",(function(){return f})),t(e.exports,"PURPLE",(function(){return g})),t(e.exports,"ORANGE",(function(){return p})),t(e.exports,"UNCOLOR",(function(){return w})),t(e.exports,"computeNoColorLoggingArgs",(function(){return m})),t(e.exports,"createModuleLogger",(function(){return _}));var s=r("jR3GT"),i=r("k2yVv"),o=r("1TTGp"),c=r("ixCIn");const l=s.create(),a=s.create(),h=s.create(),u=s.create(),d=s.create(),f=s.create(),g=s.create(),p=s.create(),w=s.create(),m=t=>{const e=[],r=[];let n=0;for(;n<t.length;n++){const s=t[n];s.constructor===String||s.constructor===Number?e.push(s):s.constructor===Object&&r.push(JSON.stringify(s))}return r},y=[d,g,p,h];let b=0,k=i.getUnixTime();const _=(t,e)=>{const r=y[b],n=o.getVariable("log"),s=null!==n&&("*"===n||"true"===n||new RegExp(n,"gi").test(e));return b=(b+1)%y.length,e+=": ",s?(...n)=>{const s=i.getUnixTime(),o=s-k;k=s,t(r,e,w,...n.map((t=>"string"==typeof t||"symbol"==typeof t?t:JSON.stringify(t))),r," +"+o+"ms")}:c.nop}})),r.register("jR3GT",(function(e,r){t(e.exports,"create",(function(){return n}));const n=Symbol})),r.register("fiX3Z",(function(e,r){t(e.exports,"iteratorFilter",(function(){return s})),t(e.exports,"iteratorMap",(function(){return i}));const n=t=>({[Symbol.iterator](){return this},next:t}),s=(t,e)=>n((()=>{let r;do{r=t.next()}while(!r.done&&!e(r.value));return r})),i=(t,e)=>n((()=>{const{done:r,value:n}=t.next();return{done:r,value:r?void 0:e(n)}}))})),r.register("g4rKG",(function(e,n){t(e.exports,"YKeyValue",(function(){return i}));var s=r("fACbm");class i extends s.Observable{constructor(t){super(),this.yarray=t,this.doc=t.doc,this.map=new Map;{const e=t.toArray();this.doc.transact((()=>{for(let r=e.length-1;r>=0;r--){const n=e[r];this.map.has(n.key)?t.delete(r):this.map.set(n.key,n)}}))}t.observe(((e,r)=>{const n=new Map,s=Array.from(e.changes.added);e.changes.deleted.forEach((t=>{t.content.getContent().forEach((t=>{this.map.get(t.key)===t&&(this.map.delete(t.key),n.set(t.key,{action:"delete",oldValue:t.val}))}))}));const i=new Map;s.map((t=>t.content.getContent())).flat().forEach((t=>{i.set(t.key,t)}));const o=new Set,c=t.toArray();this.doc.transact((e=>{for(let e=c.length-1;e>=0&&(i.size>0||o.size>0);e--){const r=c[e];if(o.has(r.key))o.delete(r.key),t.delete(e,1);else if(i.get(r.key)===r){const t=this.map.get(r.key);if(t)o.add(r.key),n.set(r.key,{action:"update",oldValue:t.val,newValue:r.val});else{const t=n.get(r.key);t&&"delete"===t.action?n.set(r.key,{action:"update",newValue:r.val,oldValue:t.oldValue}):n.set(r.key,{action:"add",newValue:r.val})}i.delete(r.key),this.map.set(r.key,r)}else i.has(r.key)&&(o.add(r.key),i.delete(r.key))}})),n.size>0&&this.emit("change",[n,r])}))}set(t,e){this.doc.transact((r=>{this.map.has(t)&&this.delete(t),this.yarray.push([{key:t,val:e}])}))}delete(t){let e=0;for(const r of this.yarray){if(r.key===t){this.yarray.delete(e);break}e++}}get(t){const e=this.map.get(t);return e&&e.val}has(t){return this.map.has(t)}}})),r.register("3Lnfd",(function(e,r){t(e.exports,"encode",(function(){return s})),t(e.exports,"decode",(function(){return o}));const{fromCharCode:n}=String,s=t=>{const e=[];for(let r=0,{length:s}=t;r<s;r++)e.push(n(t[r]));return btoa(e.join(""))},i=t=>t.charCodeAt(0),o=t=>Uint8Array.from(atob(t),i)}))}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,e,r,n){Object.defineProperty(t,e,{get:r,set:n,enumerable:!0,configurable:!0})}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r=e.parcelRequirea18f;r.register("bQEo7",(function(e,n){t(e.exports,"uint8_to_base64",(()=>c)),t(e.exports,"base64_to_unit8",(()=>l)),t(e.exports,"Sync",(()=>h));var s=r("8kr9p"),i=r("bDw11"),o=r("gjWRH");function c(t){return(0,o.encode)(t)}function l(t){return(0,o.decode)(t)}function a(t=16){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n++)r+=e.charAt(Math.floor(Math.random()*e.length));return r}class h{isConnected=!1;replyOnReceive=!1;constructor(t,e,r,n,o=!1,c=!0){let l;try{l=window.localStorage.getItem("lia-token"),l||(l=a(),window.localStorage.setItem("lia-token",l))}catch(t){console.warn("cannot write to localStorage"),l=a()}this.token=l,this.urlCounter=0,this.cbConnection=t,this.cbRelay=e,this.onConnect=r,this.onReceive=n,this.replyOnReceive=o;const h=this,d=function(t){let e=null;function r(){return 200*(t.db.getPeers().length+1)+2e3}function n(){if(t.isConnected)try{t.broadcast(!0,t.db.encode()),e=window.setTimeout(n,r())}catch(t){e=null}}return()=>{e&&window.clearTimeout(e),e=window.setTimeout(n,r())}}(h);this.gossip=d;const u=s.throttle((()=>{h.broadcast(!0,h.db.encode()),d()}),1e3);this.db=new(0,i.CRDT)(l,c?(t,e)=>{if(h.db){switch(e){case"cursor":this.sync("update",{cmd:"cursor",param:t});break;case"peer":this.sync("update",{cmd:"peer",param:t});break;case"code":this.sync("update",{cmd:"code",param:t});break;case"quiz":this.sync("update",{cmd:"quiz",param:t});break;case"survey":this.sync("update",{cmd:"survey",param:t});break;case"chat":this.sync("update",{cmd:"chat",param:t});break;case"exit":try{e=null,this.broadcast(!0,t),this.destroy()}catch(t){}break;default:console.warn("Sync unknown origin",e)}e&&u()}}:void 0)}connect(t){this.room=t.room,this.course=t.course,this.password=t.password,this.isConnected=!0}destroy(){this.db.destroy(),this.cbConnection("disconnect",this.token),this.isConnected=!1}disconnect(){this.db.removePeer()}uniqueID(){return"string"==typeof this.room&&(this.room.startsWith('"')&&this.room.endsWith('"')||this.room.startsWith("'")&&this.room.endsWith("'"))?this.room:this.course&&this.room?JSON.stringify({course:this.course,room:this.room,pw:s.getHashCode(this.password||"")}):(console.warn("Sync: no uniqueID"),null)}sendToLia(t){this.cbRelay(t)}sync(t,e=null){this.cbConnection(t,e)}sendDisconnectError(t){this.sync("error",t)}sendConnect(){this.sync("connect",this.token),this.onConnect&&this.onConnect()}pubsubSend(t,e){const r=JSON.stringify({topic:t,message:e}),n=new TextEncoder;this.broadcast(!1,n.encode(r)),this.replyOnReceive&&this.onReceive?.(t,e)}pubsubReceive(t){try{const e=(new TextDecoder).decode(t),r=JSON.parse(e);this.onReceive?.(r.topic,r.message)}catch(t){console.warn("Sync: pubsubReceive",t.message)}}broadcast(t,e){console.warn("broadcast needs to be implemented")}load(t,e){try{for(let r=0;r<t.length;r++){const n=document.createElement("script");n.async=!1,n.defer=!0,n.src=t[r],this.urlCounter++;let s=this;n.onload=function(){console.log("successfully loaded =>",t),s.urlCounter--,0==s.urlCounter&&e.init(!0)},n.onerror=function(r){console.warn("could not load =>",t,r),s.urlCounter=0,e.init(!1,`could not load => ${t}`)},document.head.appendChild(n)}}catch(t){console.error("load: ",t),e.init(!1,t.message)}}publish(t){switch(t.message.cmd){case"update":break;case"join":this.db.init(t.message.param),this.gossip();break;case"chat":this.db.addChatMessage(t.message.param);break;case"quiz":"quiz"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addQuiz(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"survey":"survey"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addSurvey(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"code":"code"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.updateCode(t.track[0][1],t.track[1][1],t.message.param.j,t.message.param.msg):console.warn("SyncTX wrong event ->",t);break;case"codes":if("code"===t.track?.[0][0]&&1===t.track.length)for(let e=0;e<t.message.param.length;e++)for(let r=0;r<t.message.param[e].length;r++)this.db.initCode(t.track[0][1],e,r,t.message.param[e][r]);else console.warn("SyncTX wrong event ->",t);break;case"cursor":"code"==t.track?.[0][0]&&this.db.setCursor(t.track[0][1],t.message.param);break;case"broadcast":this.broadcast(!0,t.message.param);default:console.warn("SyncTX unknown command:",t.message)}}applyUpdate(t){this.db.applyUpdate(t)}}})),r.register("bDw11",(function(e,n){t(e.exports,"CRDT",(()=>c));var s=r("bx9uf"),i=r("8kr9p"),o=r("7X7lt");class c{constructor(t,e){this.doc=new s.Doc,this.callback=e||((t,e)=>{console.warn("SyncDB: no callback provided")}),this.length=0,this.peerID=t,this.peers=this.doc.getMap("peers"),this.cursors=this.doc.getMap("cursors"),this.codes=this.doc.getMap("c"),this.quizzes=new(0,o.YKeyValue)(this.doc.getArray("q")),this.surveys=new(0,o.YKeyValue)(this.doc.getArray("s")),this.chat=new(0,o.YKeyValue)(this.doc.getArray("chat")),e&&(this.peers.observe((t=>{const r=this.getPeers();e(r,"peer")})),this.cursors.observe((t=>{const r=this.getPeers();e(this.getCursors(r),"cursor")})),this.quizzes.on("change",(t=>{const r=this.getUpdates(this.quizzes,t);r&&e(r,"quiz")})),this.surveys.on("change",(t=>{const r=this.getUpdates(this.surveys,t);r&&e(r,"survey")})),this.chat.on("change",(t=>{const r=[];let n;for(let[e,s]of t)"add"===s.action&&(n=s.newValue,n.id=parseInt(e),r.push(n));r.length>0&&e(r,"chat")})),this.codes.observeDeep((t=>{const r=new Set;for(const e of t){const n=e.currentTarget.keys();for(const e of n)try{const[t]=JSON.parse(e);r.add(t)}catch(t){}}r.size>0&&e(this.getCode(r),"code")}))),this.peers.set(t,!0)}init(t){this.length=Math.max(this.length,t.length);const e=this;this.doc.transact((()=>{for(let r=0;r<t.length;r++)e.initMap(this.quizzes,r,t[r].q),e.initMap(this.surveys,r,t[r].s),e.initText(r,t[r].c)}),this.peerID)}encode(){return s.encodeStateAsUpdate(this.doc)}destroy(){this.doc.destroy()}applyUpdate(t){this.doc.transact((()=>{!1===this.peers.get(this.peerID)&&this.peers.set(this.peerID,!0),s.applyUpdate(this.doc,t)}))}log(){console.warn("*********** PEERS ***********"),console.warn(this.peers.toJSON()),console.warn("*********** STATE ***********"),console.warn(this.doc.toJSON())}initMap(t,e,r){if(0===r.length)return;let n;for(let s=0;s<r.length;s++){n=t.get(this.id(e,s)),n||(n={});for(const t in r[s])n[t]=r[s][t];t.set(this.id(e,s),n)}}initText(t,e){if(0!==e.length)for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)this.initCode(t,r,n,e[r][n])}diff(t){return s.encodeStateAsUpdate(this.doc,t)}getCode(t){let e=[];for(const r of t)e.push({id:r,data:this.getAllTexts(r)});return e}getCursors(t){const e=[],r=this.cursors.toJSON();for(let n of t)n!==this.peerID&&void 0!==r[n]&&e.push(r[n]);return e}getPeers(){const t=this.peers.toJSON();return t?Object.entries(t).filter((([t,e])=>e)).map((([t,e])=>t)):[]}removePeer(t){this.doc.transact((()=>{this.peers.set(t||this.peerID,!1)})),void 0===t&&this.callback(this.encode(),"exit")}id(t,e,r){return void 0===r?JSON.stringify([t,e]):JSON.stringify([t,e,r])}getMap(t,e,r){return this.doc.getMap(this.id(e,r))}getAllMaps(t){const e=[];for(let r=0;r<this.length;r++){let n=[];for(let e=0;t.has(this.id(r,e));e++)n.push(t.get(this.id(r,e)));e.push(n)}return e}getMaps(t,e){const r=[];for(let n=0;e.has(this.id(t,n));n++)r.push(e.get(this.id(t,n)));return r}getAllTexts(t){let e,r=[];for(let n=0;this.codes.has(this.id(t,n,0));n++){let s=[];for(let r=0;this.codes.has(this.id(t,n,r));r++)e=this.codes.get(this.id(t,n,r)),s.push(e?.toString()||"");r.push(s)}return r}addQuiz(t,e,r){this.addRecord(this.quizzes,t,e,r)}addSurvey(t,e,r){this.addRecord(this.surveys,t,e,r)}addRecord(t,e,r,n){let s=t.get(this.id(e,r));s||(s={}),s[this.peerID]=n,t.set(this.id(e,r),s)}initCode(t,e,r,n){if(!this.codes.has(this.id(t,e,r))){const i=this.doc.clientID;this.doc.clientID=0;const o=new s.Text;o.insert(0,n),this.codes.set(this.id(t,e,r),o),this.doc.clientID=i}}addChatMessage(t){this.chat.set(""+Date.now(),{color:this.getColor(),message:t,user:this.peerID})}updateCode(t,e,r,n){this.codes.has(this.id(t,e,r))&&this.doc.transact((()=>{const s=this.codes.get(this.id(t,e,r));if(void 0!==s)for(let t of n)switch(t.action){case"insert":s.insert(t.index,t.content);break;case"remove":s.delete(t.index,t.content.length);break;default:console.warn("Sync code, unknown action ->",t)}}),"code")}getColor(){return this.color||(this.color=i.getColorFor(this.peerID)),this.color}setCursor(t,e){this.doc.transact((()=>{this.cursors.set(this.peerID,{id:this.peerID,section:t,project:e.project,file:e.file,state:e.state,color:this.getColor()})}),"cursor")}removeCursor(){this.cursors.delete(this.peerID)}getUpdates(t,e){const r=new Set,n=[];for(const[s,i]of e)switch(i.action){case"update":if(JSON.stringify(Object.keys(i.oldValue).sort())!==JSON.stringify(Object.keys(i.newValue).sort())){n.push([s,{...i.oldValue,...i.newValue}]);continue}case"add":try{const[t]=JSON.parse(s);r.add(t)}catch(t){}}const s=[];for(const e of r)s.push({id:e,data:this.getMaps(e,t)});for(const[e,r]of n)t.set(e,r);return s.length>0?s:null}}})),r.register("bx9uf",(function(n,s){t(n.exports,"Doc",(()=>R)),t(n.exports,"Text",(()=>Ce)),t(n.exports,"applyUpdate",(()=>W)),t(n.exports,"encodeStateAsUpdate",(()=>Y));var i=r("8Gyr5"),o=r("9GMWx"),c=r("bGsfJ"),l=r("96q9T"),a=r("7BTJz"),h=r("l5188"),d=r("ouOhr"),u=r("fJEwH"),g=r("jx2H5"),f=r("3Y8uz"),p=r("bcXZT"),w=r("4H1bc"),m=(w=r("4H1bc"),r("5zT0w")),y=r("9hwjE"),b=r("9okbY"),k=(r("16gRh"),r("8drkQ"),r("iRxFz")),_=r("7C9F2");class x extends i.Observable{constructor(t,e){super(),this.doc=t,this.awareness=e}}class S{constructor(t,e){this.clock=t,this.len=e}}class E{constructor(){this.clients=new Map}}const C=(t,e,r)=>e.clients.forEach(((e,n)=>{const s=t.doc.store.clients.get(n);for(let n=0;n<e.length;n++){const i=e[n];wt(t,s,i.clock,i.len,r)}})),D=(t,e)=>{const r=t.clients.get(e.client);return void 0!==r&&null!==((t,e)=>{let r=0,n=t.length-1;for(;r<=n;){const s=c.floor((r+n)/2),i=t[s],o=i.clock;if(o<=e){if(e<o+i.len)return s;r=s+1}else n=s-1}return null})(r,e.clock)},T=t=>{t.clients.forEach((t=>{let e,r;for(t.sort(((t,e)=>t.clock-e.clock)),e=1,r=1;e<t.length;e++){const n=t[r-1],s=t[e];n.clock+n.len>=s.clock?n.len=c.max(n.len,s.clock+s.len-n.clock):(r<e&&(t[r]=s),r++)}t.length=r}))},v=t=>{const e=new E;for(let r=0;r<t.length;r++)t[r].clients.forEach(((n,s)=>{if(!e.clients.has(s)){const i=n.slice();for(let e=r+1;e<t.length;e++)o.appendTo(i,t[e].clients.get(s)||[]);e.clients.set(s,i)}}));return T(e),e},U=(t,e,r,n)=>{l.setIfUndefined(t.clients,e,(()=>[])).push(new S(r,n))},A=()=>new E,I=(t,e)=>{a.writeVarUint(t.restEncoder,e.clients.size),o.from(e.clients.entries()).sort(((t,e)=>e[0]-t[0])).forEach((([e,r])=>{t.resetDsCurVal(),a.writeVarUint(t.restEncoder,e);const n=r.length;a.writeVarUint(t.restEncoder,n);for(let e=0;e<n;e++){const n=r[e];t.writeDsClock(n.clock),t.writeDsLen(n.len)}}))},O=t=>{const e=new E,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){t.resetDsCurVal();const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);if(n>0){const s=l.setIfUndefined(e.clients,r,(()=>[]));for(let e=0;e<n;e++)s.push(new S(t.readDsClock(),t.readDsLen()))}}return e},V=(t,e,r)=>{const n=new E,s=h.readVarUint(t.restDecoder);for(let i=0;i<s;i++){t.resetDsCurVal();const s=h.readVarUint(t.restDecoder),i=h.readVarUint(t.restDecoder),o=r.clients.get(s)||[],c=at(r,s);for(let r=0;r<i;r++){const r=t.readDsClock(),i=r+t.readDsLen();if(r<c){c<i&&U(n,s,c,i-c);let t=dt(o,r),l=o[t];for(!l.deleted&&l.id.clock<r&&(o.splice(t+1,0,Qe(e,l,r-l.id.clock)),t++);t<o.length&&(l=o[t++],l.id.clock<i);)l.deleted||(i<l.id.clock+l.length&&o.splice(t,0,Qe(e,l,i-l.id.clock)),l.delete(e))}else U(n,s,r,i-r)}}if(n.clients.size>0){const t=new P;return a.writeVarUint(t.restEncoder,0),I(t,n),t.toUint8Array()}return null},M=d.uint32;class R extends i.Observable{constructor({guid:t=d.uuidv4(),collectionid:e=null,gc:r=!0,gcFilter:n=(()=>!0),meta:s=null,autoLoad:i=!1,shouldLoad:o=!0}={}){super(),this.gc=r,this.gcFilter=n,this.clientID=M(),this.guid=t,this.collectionid=e,this.share=new Map,this.store=new ct,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=i,this.meta=s,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=u.create((t=>{this.on("load",(()=>{this.isLoaded=!0,t(this)}))}));const c=()=>u.create((t=>{const e=r=>{void 0!==r&&!0!==r||(this.off("sync",e),t())};this.on("sync",e)}));this.on("sync",(t=>{!1===t&&this.isSynced&&(this.whenSynced=c()),this.isSynced=void 0===t||!0===t,this.isSynced&&!this.isLoaded&&this.emit("load",[])})),this.whenSynced=c()}load(){const t=this._item;null===t||this.shouldLoad||xt(t.parent.doc,(t=>{t.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(o.from(this.subdocs).map((t=>t.guid)))}transact(t,e=null){return xt(this,t,e)}get(t,e=Pt){const r=l.setIfUndefined(this.share,t,(()=>{const t=new e;return t._integrate(this,null),t})),n=r.constructor;if(e!==Pt&&n!==e){if(n===Pt){const n=new e;n._map=r._map,r._map.forEach((t=>{for(;null!==t;t=t.left)t.parent=n})),n._start=r._start;for(let t=n._start;null!==t;t=t.right)t.parent=n;return n._length=r._length,this.share.set(t,n),n._integrate(this,null),n}throw new Error(`Type with the name ${t} has already been defined with a different constructor`)}return r}getArray(t=""){return this.get(t,ce)}getText(t=""){return this.get(t,Ce)}getMap(t=""){return this.get(t,ae)}getXmlElement(t=""){return this.get(t,ve)}getXmlFragment(t=""){return this.get(t,Te)}toJSON(){const t={};return this.share.forEach(((e,r)=>{t[r]=e.toJSON()})),t}destroy(){o.from(this.subdocs).forEach((t=>t.destroy()));const t=this._item;if(null!==t){this._item=null;const e=t.content;e.doc=new R({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=t,xt(t.parent.doc,(r=>{const n=e.doc;t.deleted||r.subdocsAdded.add(n),r.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}on(t,e){super.on(t,e)}off(t,e){super.off(t,e)}}class N{constructor(t){this.restDecoder=t}resetDsCurVal(){}readDsClock(){return h.readVarUint(this.restDecoder)}readDsLen(){return h.readVarUint(this.restDecoder)}}class B extends N{readLeftID(){return nt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readRightID(){return nt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readClient(){return h.readVarUint(this.restDecoder)}readInfo(){return h.readUint8(this.restDecoder)}readString(){return h.readVarString(this.restDecoder)}readParentInfo(){return 1===h.readVarUint(this.restDecoder)}readTypeRef(){return h.readVarUint(this.restDecoder)}readLen(){return h.readVarUint(this.restDecoder)}readAny(){return h.readAny(this.restDecoder)}readBuf(){return g.copyUint8Array(h.readVarUint8Array(this.restDecoder))}readJSON(){return JSON.parse(h.readVarString(this.restDecoder))}readKey(){return h.readVarString(this.restDecoder)}}class L{constructor(t){this.dsCurrVal=0,this.restDecoder=t}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=h.readVarUint(this.restDecoder),this.dsCurrVal}readDsLen(){const t=h.readVarUint(this.restDecoder)+1;return this.dsCurrVal+=t,t}}class J extends L{constructor(t){super(t),this.keys=[],h.readVarUint(t),this.keyClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.clientDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.leftClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.rightClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.infoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.stringDecoder=new h.StringDecoder(h.readVarUint8Array(t)),this.parentInfoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.typeRefDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.lenDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t))}readLeftID(){return new et(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new et(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return h.readAny(this.restDecoder)}readBuf(){return h.readVarUint8Array(this.restDecoder)}readJSON(){return h.readAny(this.restDecoder)}readKey(){const t=this.keyClockDecoder.read();if(t<this.keys.length)return this.keys[t];{const t=this.stringDecoder.read();return this.keys.push(t),t}}}class z{constructor(){this.restEncoder=a.createEncoder()}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){}writeDsClock(t){a.writeVarUint(this.restEncoder,t)}writeDsLen(t){a.writeVarUint(this.restEncoder,t)}}class j extends z{writeLeftID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeRightID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeClient(t){a.writeVarUint(this.restEncoder,t)}writeInfo(t){a.writeUint8(this.restEncoder,t)}writeString(t){a.writeVarString(this.restEncoder,t)}writeParentInfo(t){a.writeVarUint(this.restEncoder,t?1:0)}writeTypeRef(t){a.writeVarUint(this.restEncoder,t)}writeLen(t){a.writeVarUint(this.restEncoder,t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeVarString(this.restEncoder,JSON.stringify(t))}writeKey(t){a.writeVarString(this.restEncoder,t)}}class F{constructor(){this.restEncoder=a.createEncoder(),this.dsCurrVal=0}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(t){const e=t-this.dsCurrVal;this.dsCurrVal=t,a.writeVarUint(this.restEncoder,e)}writeDsLen(t){0===t&&f.unexpectedCase(),a.writeVarUint(this.restEncoder,t-1),this.dsCurrVal+=t}}class P extends F{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new a.IntDiffOptRleEncoder,this.clientEncoder=new a.UintOptRleEncoder,this.leftClockEncoder=new a.IntDiffOptRleEncoder,this.rightClockEncoder=new a.IntDiffOptRleEncoder,this.infoEncoder=new a.RleEncoder(a.writeUint8),this.stringEncoder=new a.StringEncoder,this.parentInfoEncoder=new a.RleEncoder(a.writeUint8),this.typeRefEncoder=new a.UintOptRleEncoder,this.lenEncoder=new a.UintOptRleEncoder}toUint8Array(){const t=a.createEncoder();return a.writeVarUint(t,0),a.writeVarUint8Array(t,this.keyClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.clientEncoder.toUint8Array()),a.writeVarUint8Array(t,this.leftClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.rightClockEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.infoEncoder)),a.writeVarUint8Array(t,this.stringEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.parentInfoEncoder)),a.writeVarUint8Array(t,this.typeRefEncoder.toUint8Array()),a.writeVarUint8Array(t,this.lenEncoder.toUint8Array()),a.writeUint8Array(t,a.toUint8Array(this.restEncoder)),a.toUint8Array(t)}writeLeftID(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}writeRightID(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}writeClient(t){this.clientEncoder.write(t)}writeInfo(t){this.infoEncoder.write(t)}writeString(t){this.stringEncoder.write(t)}writeParentInfo(t){this.parentInfoEncoder.write(t?1:0)}writeTypeRef(t){this.typeRefEncoder.write(t)}writeLen(t){this.lenEncoder.write(t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeAny(this.restEncoder,t)}writeKey(t){const e=this.keyMap.get(t);void 0===e?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(e)}}const $=(t,e,r)=>{const n=new Map;r.forEach(((t,r)=>{at(e,r)>t&&n.set(r,t)})),lt(e).forEach(((t,e)=>{r.has(e)||n.set(e,0)})),a.writeVarUint(t.restEncoder,n.size),o.from(n.entries()).sort(((t,e)=>e[0]-t[0])).forEach((([r,n])=>{((t,e,r,n)=>{n=c.max(n,e[0].id.clock);const s=dt(e,n);a.writeVarUint(t.restEncoder,e.length-s),t.writeClient(r),a.writeVarUint(t.restEncoder,n);const i=e[s];i.write(t,n-i.id.clock);for(let r=s+1;r<e.length;r++)e[r].write(t,0)})(t,e.clients.get(r),r,n)}))},G=(t,e,r,n=J)=>{const s=h.createDecoder(e);((t,e,r,n=new J(t))=>{xt(e,(t=>{t.local=!1;let e=!1;const r=t.doc,s=r.store,i=((t,e)=>{const r=l.create(),n=h.readVarUint(t.restDecoder);for(let s=0;s<n;s++){const n=h.readVarUint(t.restDecoder),s=new Array(n),i=t.readClient();let o=h.readVarUint(t.restDecoder);r.set(i,{i:0,refs:s});for(let r=0;r<n;r++){const n=t.readInfo();switch(p.BITS5&n){case 0:{const e=t.readLen();s[r]=new Ve(nt(i,o),e),o+=e;break}case 10:{const e=h.readVarUint(t.restDecoder);s[r]=new rr(nt(i,o),e),o+=e;break}default:{const c=0==(n&(p.BIT7|p.BIT8)),l=new Ze(nt(i,o),null,(n&p.BIT8)===p.BIT8?t.readLeftID():null,null,(n&p.BIT7)===p.BIT7?t.readRightID():null,c?t.readParentInfo()?e.get(t.readString()):t.readLeftID():null,c&&(n&p.BIT6)===p.BIT6?t.readString():null,tr(t,n));s[r]=l,o+=l.length}}}}return r})(n,r),c=((t,e,r)=>{const n=[];let s=o.from(r.keys()).sort(((t,e)=>t-e));if(0===s.length)return null;const i=()=>{if(0===s.length)return null;let t=r.get(s[s.length-1]);for(;t.refs.length===t.i;){if(s.pop(),!(s.length>0))return null;t=r.get(s[s.length-1])}return t};let c=i();if(null===c)return null;const h=new ct,d=new Map,u=(t,e)=>{const r=d.get(t);(null==r||r>e)&&d.set(t,e)};let g=c.refs[c.i++];const f=new Map,p=()=>{for(const t of n){const e=t.id.client,n=r.get(e);n?(n.i--,h.clients.set(e,n.refs.slice(n.i)),r.delete(e),n.i=0,n.refs=[]):h.clients.set(e,[t]),s=s.filter((t=>t!==e))}n.length=0};for(;;){if(g.constructor!==rr){const s=l.setIfUndefined(f,g.id.client,(()=>at(e,g.id.client)))-g.id.clock;if(s<0)n.push(g),u(g.id.client,g.id.clock-1),p();else{const i=g.getMissing(t,e);if(null!==i){n.push(g);const t=r.get(i)||{refs:[],i:0};if(t.refs.length!==t.i){g=t.refs[t.i++];continue}u(i,at(e,i)),p()}else(0===s||s<g.length)&&(g.integrate(t,s),f.set(g.id.client,g.id.clock+g.length))}}if(n.length>0)g=n.pop();else if(null!==c&&c.i<c.refs.length)g=c.refs[c.i++];else{if(c=i(),null===c)break;g=c.refs[c.i++]}}if(h.clients.size>0){const t=new P;return $(t,h,new Map),a.writeVarUint(t.restEncoder,0),{missing:d,update:t.toUint8Array()}}return null})(t,s,i),d=s.pendingStructs;if(d){for(const[t,r]of d.missing)if(r<at(s,t)){e=!0;break}if(c){for(const[t,e]of c.missing){const r=d.missing.get(t);(null==r||r>e)&&d.missing.set(t,e)}d.update=vt([d.update,c.update])}}else s.pendingStructs=c;const u=V(n,t,s);if(s.pendingDs){const e=new J(h.createDecoder(s.pendingDs));h.readVarUint(e.restDecoder);const r=V(e,t,s);s.pendingDs=u&&r?vt([u,r]):u||r}else s.pendingDs=u;if(e){const e=s.pendingStructs.update;s.pendingStructs=null,G(t.doc,e)}}),r,!1)})(s,t,r,new n(s))},W=(t,e,r)=>G(t,e,r,B),q=(t,e=new Uint8Array([0]),r=new P)=>{((t,e,r=new Map)=>{$(t,e.store,r),I(t,(t=>{const e=A();return t.clients.forEach(((t,r)=>{const n=[];for(let e=0;e<t.length;e++){const r=t[e];if(r.deleted){const s=r.id.clock;let i=r.length;if(e+1<t.length)for(let r=t[e+1];e+1<t.length&&r.deleted;r=t[1+ ++e])i+=r.length;n.push(new S(s,i))}}n.length>0&&e.clients.set(r,n)})),e})(e.store))})(r,t,H(e));const n=[r.toUint8Array()];if(t.store.pendingDs&&n.push(t.store.pendingDs),t.store.pendingStructs&&n.push(Ut(t.store.pendingStructs.update,e)),n.length>1){if(r.constructor===j)return Dt(n.map(((t,e)=>0===e?t:Vt(t))));if(r.constructor===P)return vt(n)}return n[0]},Y=(t,e)=>q(t,e,new j),H=t=>(t=>{const e=new Map,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);e.set(r,n)}return e})(new N(h.createDecoder(t)));class X{constructor(){this.l=[]}}const K=()=>new X,Q=(t,e)=>t.l.push(e),Z=(t,e)=>{const r=t.l,n=r.length;t.l=r.filter((t=>e!==t)),n===t.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},tt=(t,e,r)=>w.callAll(t.l,[e,r]);class et{constructor(t,e){this.client=t,this.clock=e}}const rt=(t,e)=>t===e||null!==t&&null!==e&&t.client===e.client&&t.clock===e.clock,nt=(t,e)=>new et(t,e);class st{constructor(t,e){this.ds=t,this.sv=e}}const it=(((t,e)=>{new st(t,e)})(A(),new Map),(t,e)=>void 0===e?!t.deleted:e.sv.has(t.id.client)&&(e.sv.get(t.id.client)||0)>t.id.clock&&!D(e.ds,t.id)),ot=(t,e)=>{const r=l.setIfUndefined(t.meta,ot,m.create),n=t.doc.store;r.has(e)||(e.sv.forEach(((e,r)=>{e<at(n,r)&&ft(t,nt(r,e))})),C(t,e.ds,(t=>{})),r.add(e))};class ct{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const lt=t=>{const e=new Map;return t.clients.forEach(((t,r)=>{const n=t[t.length-1];e.set(r,n.id.clock+n.length)})),e},at=(t,e)=>{const r=t.clients.get(e);if(void 0===r)return 0;const n=r[r.length-1];return n.id.clock+n.length},ht=(t,e)=>{let r=t.clients.get(e.id.client);if(void 0===r)r=[],t.clients.set(e.id.client,r);else{const t=r[r.length-1];if(t.id.clock+t.length!==e.id.clock)throw f.unexpectedCase()}r.push(e)},dt=(t,e)=>{let r=0,n=t.length-1,s=t[n],i=s.id.clock;if(i===e)return n;let o=c.floor(e/(i+s.length-1)*n);for(;r<=n;){if(s=t[o],i=s.id.clock,i<=e){if(e<i+s.length)return o;r=o+1}else n=o-1;o=c.floor((r+n)/2)}throw f.unexpectedCase()},ut=(t,e)=>{const r=t.clients.get(e.client);return r[dt(r,e.clock)]},gt=(t,e,r)=>{const n=dt(e,r),s=e[n];return s.id.clock<r&&s instanceof Ze?(e.splice(n+1,0,Qe(t,s,r-s.id.clock)),n+1):n},ft=(t,e)=>{const r=t.doc.store.clients.get(e.client);return r[gt(t,r,e.clock)]},pt=(t,e,r)=>{const n=e.clients.get(r.client),s=dt(n,r.clock),i=n[s];return r.clock!==i.id.clock+i.length-1&&i.constructor!==Ve&&n.splice(s+1,0,Qe(t,i,r.clock-i.id.clock+1)),i},wt=(t,e,r,n,s)=>{if(0===n)return;const i=r+n;let o,c=gt(t,e,r);do{o=e[c++],i<o.id.clock+o.length&>(t,e,i),s(o)}while(c<e.length&&e[c].id.clock<i)};class mt{constructor(t,e,r){this.doc=t,this.deleteSet=new E,this.beforeState=lt(t.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=e,this.meta=new Map,this.local=r,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}}const yt=(t,e)=>!(0===e.deleteSet.clients.size&&!l.any(e.afterState,((t,r)=>e.beforeState.get(r)!==t))||(T(e.deleteSet),((t,e)=>{$(t,e.doc.store,e.beforeState)})(t,e),I(t,e.deleteSet),0)),bt=(t,e,r)=>{const n=e._item;(null===n||n.id.clock<(t.beforeState.get(n.id.client)||0)&&!n.deleted)&&l.setIfUndefined(t.changed,e,m.create).add(r)},kt=(t,e)=>{let r=t[e],n=t[e-1],s=e;for(;s>0&&n.deleted===r.deleted&&n.constructor===r.constructor&&n.mergeWith(r);r=n,n=t[--s-1])r instanceof Ze&&null!==r.parentSub&&r.parent._map.get(r.parentSub)===r&&r.parent._map.set(r.parentSub,n);const i=e-s;return i&&t.splice(e+1-i,i),i},_t=(t,e)=>{if(e<t.length){const r=t[e],n=r.doc,s=n.store,i=r.deleteSet,o=r._mergeStructs;try{T(i),r.afterState=lt(r.doc.store),n.emit("beforeObserverCalls",[r,n]);const l=[];r.changed.forEach(((t,e)=>l.push((()=>{null!==e._item&&e._item.deleted||e._callObserver(r,t)})))),l.push((()=>{r.changedParentTypes.forEach(((t,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((t=t.filter((t=>null===t.target._item||!t.target._item.deleted))).forEach((t=>{t.currentTarget=e,t._path=null})),t.sort(((t,e)=>t.path.length-e.path.length)),tt(e._dEH,t,r))}))})),l.push((()=>n.emit("afterTransaction",[r,n]))),(0,w.callAll)(l,[]),r._needFormattingCleanup&&xe(r)}finally{n.gc&&((t,e,r)=>{for(const[n,s]of t.clients.entries()){const t=e.clients.get(n);for(let n=s.length-1;n>=0;n--){const i=s[n],o=i.clock+i.len;for(let n=dt(t,i.clock),s=t[n];n<t.length&&s.id.clock<o;s=t[++n]){const s=t[n];if(i.clock+i.len<=s.id.clock)break;s instanceof Ze&&s.deleted&&!s.keep&&r(s)&&s.gc(e,!1)}}}})(i,s,n.gcFilter),((t,e)=>{t.clients.forEach(((t,r)=>{const n=e.clients.get(r);for(let e=t.length-1;e>=0;e--){const r=t[e];for(let t=c.min(n.length-1,1+dt(n,r.clock+r.len-1)),e=n[t];t>0&&e.id.clock>=r.clock;e=n[t])t-=1+kt(n,t)}}))})(i,s),r.afterState.forEach(((t,e)=>{const n=r.beforeState.get(e)||0;if(n!==t){const t=s.clients.get(e),r=c.max(dt(t,n),1);for(let e=t.length-1;e>=r;)e-=1+kt(t,e)}}));for(let t=o.length-1;t>=0;t--){const{client:e,clock:r}=o[t].id,n=s.clients.get(e),i=dt(n,r);i+1<n.length&&kt(n,i+1)>1||i>0&&kt(n,i)}if(r.local||r.afterState.get(n.clientID)===r.beforeState.get(n.clientID)||(y.print(b.ORANGE,b.BOLD,"[yjs] ",b.UNBOLD,b.RED,"Changed the client-id because another client seems to be using it."),n.clientID=M()),n.emit("afterTransactionCleanup",[r,n]),n._observers.has("update")){const t=new j;yt(t,r)&&n.emit("update",[t.toUint8Array(),r.origin,n,r])}if(n._observers.has("updateV2")){const t=new P;yt(t,r)&&n.emit("updateV2",[t.toUint8Array(),r.origin,n,r])}const{subdocsAdded:l,subdocsLoaded:a,subdocsRemoved:h}=r;(l.size>0||h.size>0||a.size>0)&&(l.forEach((t=>{t.clientID=n.clientID,null==t.collectionid&&(t.collectionid=n.collectionid),n.subdocs.add(t)})),h.forEach((t=>n.subdocs.delete(t))),n.emit("subdocs",[{loaded:a,added:l,removed:h},n,r]),h.forEach((t=>t.destroy()))),t.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,t])):_t(t,e+1)}}},xt=(t,e,r=null,n=!0)=>{const s=t._transactionCleanups;let i=!1,o=null;null===t._transaction&&(i=!0,t._transaction=new mt(t,r,n),s.push(t._transaction),1===s.length&&t.emit("beforeAllTransactions",[t]),t.emit("beforeTransaction",[t._transaction,t]));try{o=e(t._transaction)}finally{if(i){const e=t._transaction===s[0];t._transaction=null,e&&_t(s,0)}}return o};class St extends i.Observable{constructor(t,{captureTimeout:e=500,captureTransaction:r=(t=>!0),deleteFilter:n=(()=>!0),trackedOrigins:s=new Set([null]),ignoreRemoteMapChanges:i=!1,doc:c=(o.isArray(t)?t[0].doc:t.doc)}={}){super(),this.scope=[],this.doc=c,this.addToScope(t),this.deleteFilter=n,s.add(this),this.trackedOrigins=s,this.captureTransaction=r,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.lastChange=0,this.ignoreRemoteMapChanges=i,this.captureTimeout=e,this.afterTransactionHandler=t=>{if(!(this.captureTransaction(t)&&this.scope.some((e=>t.changedParentTypes.has(e)))&&(this.trackedOrigins.has(t.origin)||t.origin&&this.trackedOrigins.has(t.origin.constructor))))return;const e=this.undoing,r=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():r||this.clear(!1,!0);const s=new E;t.afterState.forEach(((e,r)=>{const n=t.beforeState.get(r)||0,i=e-n;i>0&&U(s,r,n,i)}));const i=$16gRh.getUnixTime();if(this.lastChange>0&&i-this.lastChange<this.captureTimeout&&n.length>0&&!e&&!r){const e=n[n.length-1];e.deletions=v([e.deletions,t.deleteSet]),e.insertions=v([e.insertions,s])}else n.push(new $289fccc3af2fad04$var$StackItem(t.deleteSet,s));e||r||(this.lastChange=i),C(t,t.deleteSet,(t=>{t instanceof Ze&&this.scope.some((e=>$289fccc3af2fad04$export$3c81af374b054d6a(e,t)))&&$289fccc3af2fad04$var$keepItem(t,!0)}));const o=[{stackItem:n[n.length-1],origin:t.origin,type:e?"redo":"undo",changedParentTypes:t.changedParentTypes},this];this.emit("stack-item-updated",o)},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(t){(o.isArray(t)?t:[t]).forEach((t=>{this.scope.every((e=>e!==t))&&(t.doc!==this.doc&&y.warn("[yjs#509] Not same Y.Doc"),this.scope.push(t))}))}addTrackedOrigin(t){this.trackedOrigins.add(t)}removeTrackedOrigin(t){this.trackedOrigins.delete(t)}clear(t=!0,e=!0){(t&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((r=>{t&&(this.undoStack.forEach((t=>$289fccc3af2fad04$var$clearUndoManagerStackItem(r,this,t))),this.undoStack=[]),e&&(this.redoStack.forEach((t=>$289fccc3af2fad04$var$clearUndoManagerStackItem(r,this,t))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:t,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;try{$289fccc3af2fad04$var$popStackItem(this,this.undoStack,"undo")}finally{this.undoing=!1}}redo(){this.redoing=!0;try{$289fccc3af2fad04$var$popStackItem(this,this.redoStack,"redo")}finally{this.redoing=!1}}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class Et{constructor(t,e){this.gen=function*(t){const e=h.readVarUint(t.restDecoder);for(let r=0;r<e;r++){const e=h.readVarUint(t.restDecoder),r=t.readClient();let n=h.readVarUint(t.restDecoder);for(let s=0;s<e;s++){const e=t.readInfo();if(10===e){const e=h.readVarUint(t.restDecoder);yield new rr(nt(r,n),e),n+=e}else if(0!=(p.BITS5&e)){const s=0==(e&(p.BIT7|p.BIT8)),i=new Ze(nt(r,n),null,(e&p.BIT8)===p.BIT8?t.readLeftID():null,null,(e&p.BIT7)===p.BIT7?t.readRightID():null,s?t.readParentInfo()?t.readString():t.readLeftID():null,s&&(e&p.BIT6)===p.BIT6?t.readString():null,tr(t,e));yield i,n+=i.length}else{const e=t.readLen();yield new Ve(nt(r,n),e),n+=e}}}}(t),this.curr=null,this.done=!1,this.filterSkips=e,this.next()}next(){do{this.curr=this.gen.next().value||null}while(this.filterSkips&&null!==this.curr&&this.curr.constructor===rr);return this.curr}}class Ct{constructor(t){this.currClient=0,this.startClock=0,this.written=0,this.encoder=t,this.clientStructs=[]}}const Dt=t=>vt(t,B,j),Tt=(t,e)=>{if(t.constructor===Ve){const{client:r,clock:n}=t.id;return new Ve(nt(r,n+e),t.length-e)}if(t.constructor===rr){const{client:r,clock:n}=t.id;return new rr(nt(r,n+e),t.length-e)}{const r=t,{client:n,clock:s}=r.id;return new Ze(nt(n,s+e),null,nt(n,s+e-1),null,r.rightOrigin,r.parent,r.parentSub,r.content.splice(e))}},vt=(t,e=J,r=P)=>{if(1===t.length)return t[0];const n=t.map((t=>new e(h.createDecoder(t))));let s=n.map((t=>new Et(t,!0))),i=null;const o=new r,c=new Ct(o);for(;s=s.filter((t=>null!==t.curr)),s.sort(((t,e)=>{if(t.curr.id.client===e.curr.id.client){const r=t.curr.id.clock-e.curr.id.clock;return 0===r?t.curr.constructor===e.curr.constructor?0:t.curr.constructor===rr?1:-1:r}return e.curr.id.client-t.curr.id.client})),0!==s.length;){const t=s[0],e=t.curr.id.client;if(null!==i){let r=t.curr,n=!1;for(;null!==r&&r.id.clock+r.length<=i.struct.id.clock+i.struct.length&&r.id.client>=i.struct.id.client;)r=t.next(),n=!0;if(null===r||r.id.client!==e||n&&r.id.clock>i.struct.id.clock+i.struct.length)continue;if(e!==i.struct.id.client)It(c,i.struct,i.offset),i={struct:r,offset:0},t.next();else if(i.struct.id.clock+i.struct.length<r.id.clock)if(i.struct.constructor===rr)i.struct.length=r.id.clock+r.length-i.struct.id.clock;else{It(c,i.struct,i.offset);const t=r.id.clock-i.struct.id.clock-i.struct.length;i={struct:new rr(nt(e,i.struct.id.clock+i.struct.length),t),offset:0}}else{const e=i.struct.id.clock+i.struct.length-r.id.clock;e>0&&(i.struct.constructor===rr?i.struct.length-=e:r=Tt(r,e)),i.struct.mergeWith(r)||(It(c,i.struct,i.offset),i={struct:r,offset:0},t.next())}}else i={struct:t.curr,offset:0},t.next();for(let r=t.curr;null!==r&&r.id.client===e&&r.id.clock===i.struct.id.clock+i.struct.length&&r.constructor!==rr;r=t.next())It(c,i.struct,i.offset),i={struct:r,offset:0}}null!==i&&(It(c,i.struct,i.offset),i=null),Ot(c);const l=n.map((t=>O(t))),a=v(l);return I(o,a),o.toUint8Array()},Ut=(t,e,r=J,n=P)=>{const s=H(e),i=new n,o=new Ct(i),l=new r(h.createDecoder(t)),a=new Et(l,!1);for(;a.curr;){const t=a.curr,e=t.id.client,r=s.get(e)||0;if(a.curr.constructor!==rr)if(t.id.clock+t.length>r)for(It(o,t,c.max(r-t.id.clock,0)),a.next();a.curr&&a.curr.id.client===e;)It(o,a.curr,0),a.next();else for(;a.curr&&a.curr.id.client===e&&a.curr.id.clock+a.curr.length<=r;)a.next();else a.next()}Ot(o);const d=O(l);return I(i,d),i.toUint8Array()},At=t=>{t.written>0&&(t.clientStructs.push({written:t.written,restEncoder:a.toUint8Array(t.encoder.restEncoder)}),t.encoder.restEncoder=a.createEncoder(),t.written=0)},It=(t,e,r)=>{t.written>0&&t.currClient!==e.id.client&&At(t),0===t.written&&(t.currClient=e.id.client,t.encoder.writeClient(e.id.client),a.writeVarUint(t.encoder.restEncoder,e.id.clock+r)),e.write(t.encoder,r),t.written++},Ot=t=>{At(t);const e=t.encoder.restEncoder;a.writeVarUint(e,t.clientStructs.length);for(let r=0;r<t.clientStructs.length;r++){const n=t.clientStructs[r];a.writeVarUint(e,n.written),a.writeUint8Array(e,n.restEncoder)}},Vt=t=>((t,e,r,n)=>{const s=new r(h.createDecoder(t)),i=new Et(s,!1),o=new n,c=new Ct(o);for(let t=i.curr;null!==t;t=i.next())It(c,e(t),0);Ot(c);const l=O(s);return I(o,l),o.toUint8Array()})(t,w.id,J,j),Mt="You must not compute changes after the event-handler fired.";class Rt{constructor(t,e){this.target=t,this.currentTarget=t,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=Nt(this.currentTarget,this.target))}deletes(t){return D(this.transaction.deleteSet,t.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw f.create(Mt);const t=new Map,e=this.target;this.transaction.changed.get(e).forEach((r=>{if(null!==r){const n=e._map.get(r);let s,i;if(this.adds(n)){let t=n.left;for(;null!==t&&this.adds(t);)t=t.left;if(this.deletes(n)){if(null===t||!this.deletes(t))return;s="delete",i=o.last(t.content.getContent())}else null!==t&&this.deletes(t)?(s="update",i=o.last(t.content.getContent())):(s="add",i=void 0)}else{if(!this.deletes(n))return;s="delete",i=o.last(n.content.getContent())}t.set(r,{action:s,oldValue:i})}})),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(null===t){if(0===this.transaction.doc._transactionCleanups.length)throw f.create(Mt);const e=this.target,r=m.create(),n=m.create(),s=[];if(t={added:r,deleted:n,delta:s,keys:this.keys},this.transaction.changed.get(e).has(null)){let t=null;const i=()=>{t&&s.push(t)};for(let s=e._start;null!==s;s=s.right)s.deleted?this.deletes(s)&&!this.adds(s)&&(null!==t&&void 0!==t.delete||(i(),t={delete:0}),t.delete+=s.length,n.add(s)):this.adds(s)?(null!==t&&void 0!==t.insert||(i(),t={insert:[]}),t.insert=t.insert.concat(s.content.getContent()),r.add(s)):(null!==t&&void 0!==t.retain||(i(),t={retain:0}),t.retain+=s.length);null!==t&&void 0===t.retain&&i()}this._changes=t}return t}}const Nt=(t,e)=>{const r=[];for(;null!==e._item&&e!==t;){if(null!==e._item.parentSub)r.unshift(e._item.parentSub);else{let t=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||t++,n=n.right;r.unshift(t)}e=e._item.parent}return r};let Bt=0;class Lt{constructor(t,e){t.marker=!0,this.p=t,this.index=e,this.timestamp=Bt++}}const Jt=(t,e,r)=>{t.p.marker=!1,t.p=e,e.marker=!0,t.index=r,t.timestamp=Bt++},zt=(t,e)=>{if(null===t._start||0===e||null===t._searchMarker)return null;const r=0===t._searchMarker.length?null:t._searchMarker.reduce(((t,r)=>c.abs(e-t.index)<c.abs(e-r.index)?t:r));let n=t._start,s=0;for(null!==r&&(n=r.p,s=r.index,(t=>{t.timestamp=Bt++})(r));null!==n.right&&s<e;){if(!n.deleted&&n.countable){if(e<s+n.length)break;s+=n.length}n=n.right}for(;null!==n.left&&s>e;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);return null!==r&&c.abs(r.index-s)<n.parent.length/80?(Jt(r,n,s),r):((t,e,r)=>{if(t.length>=80){const n=t.reduce(((t,e)=>t.timestamp<e.timestamp?t:e));return Jt(n,e,r),n}{const n=new Lt(e,r);return t.push(n),n}})(t._searchMarker,n,s)},jt=(t,e,r)=>{for(let n=t.length-1;n>=0;n--){const s=t[n];if(r>0){let e=s.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(s.index-=e.length);if(null===e||!0===e.marker){t.splice(n,1);continue}s.p=e,e.marker=!0}(e<s.index||r>0&&e===s.index)&&(s.index=c.max(e,s.index+r))}},Ft=(t,e,r)=>{const n=t,s=e.changedParentTypes;for(;l.setIfUndefined(s,t,(()=>[])).push(r),null!==t._item;)t=t._item.parent;tt(n._eH,r,e)};class Pt{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=K(),this._dEH=K(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,e){this.doc=t,this._item=e}_copy(){throw f.methodUnimplemented()}clone(){throw f.methodUnimplemented()}_write(t){}get _first(){let t=this._start;for(;null!==t&&t.deleted;)t=t.right;return t}_callObserver(t,e){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){Q(this._eH,t)}observeDeep(t){Q(this._dEH,t)}unobserve(t){Z(this._eH,t)}unobserveDeep(t){Z(this._dEH,t)}toJSON(){}}const $t=(t,e,r)=>{e<0&&(e=t._length+e),r<0&&(r=t._length+r);let n=r-e;const s=[];let i=t._start;for(;null!==i&&n>0;){if(i.countable&&!i.deleted){const t=i.content.getContent();if(t.length<=e)e-=t.length;else{for(let r=e;r<t.length&&n>0;r++)s.push(t[r]),n--;e=0}}i=i.right}return s},Gt=t=>{const e=[];let r=t._start;for(;null!==r;){if(r.countable&&!r.deleted){const t=r.content.getContent();for(let r=0;r<t.length;r++)e.push(t[r])}r=r.right}return e},Wt=(t,e)=>{let r=0,n=t._start;for(;null!==n;){if(n.countable&&!n.deleted){const s=n.content.getContent();for(let n=0;n<s.length;n++)e(s[n],r++,t)}n=n.right}},qt=(t,e)=>{const r=[];return Wt(t,((n,s)=>{r.push(e(n,s,t))})),r},Yt=t=>{let e=t._start,r=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===r){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};r=e.content.getContent(),n=0,e=e.right}const t=r[n++];return r.length<=n&&(r=null),{done:!1,value:t}}}},Ht=(t,e)=>{const r=zt(t,e);let n=t._start;for(null!==r&&(n=r.p,e-=r.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e<n.length)return n.content.getContent()[e];e-=n.length}},Xt=(t,e,r,n)=>{let s=r;const i=t.doc,o=i.clientID,c=i.store,l=null===r?e._start:r.right;let a=[];const h=()=>{a.length>0&&(s=new Ze(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new je(a)),s.integrate(t,0),a=[])};n.forEach((r=>{if(null===r)a.push(r);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:a.push(r);break;default:switch(h(),r.constructor){case Uint8Array:case ArrayBuffer:s=new Ze(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Me(new Uint8Array(r))),s.integrate(t,0);break;case R:s=new Ze(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Be(r)),s.integrate(t,0);break;default:if(!(r instanceof Pt))throw new Error("Unexpected content type in insert operation");s=new Ze(nt(o,at(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Ke(r)),s.integrate(t,0)}}})),h()},Kt=()=>f.create("Length exceeded!"),Qt=(t,e,r,n)=>{if(r>e._length)throw Kt();if(0===r)return e._searchMarker&&jt(e._searchMarker,r,n.length),Xt(t,e,null,n);const s=r,i=zt(e,r);let o=e._start;for(null!==i&&(o=i.p,0==(r-=i.index)&&(o=o.prev,r+=o&&o.countable&&!o.deleted?o.length:0));null!==o;o=o.right)if(!o.deleted&&o.countable){if(r<=o.length){r<o.length&&ft(t,nt(o.id.client,o.id.clock+r));break}r-=o.length}return e._searchMarker&&jt(e._searchMarker,s,n.length),Xt(t,e,o,n)},Zt=(t,e,r,n)=>{if(0===n)return;const s=r,i=n,o=zt(e,r);let c=e._start;for(null!==o&&(c=o.p,r-=o.index);null!==c&&r>0;c=c.right)!c.deleted&&c.countable&&(r<c.length&&ft(t,nt(c.id.client,c.id.clock+r)),r-=c.length);for(;n>0&&null!==c;)c.deleted||(n<c.length&&ft(t,nt(c.id.client,c.id.clock+n)),c.delete(t),n-=c.length),c=c.right;if(n>0)throw Kt();e._searchMarker&&jt(e._searchMarker,s,-i+n)},te=(t,e,r)=>{const n=e._map.get(r);void 0!==n&&n.delete(t)},ee=(t,e,r,n)=>{const s=e._map.get(r)||null,i=t.doc,o=i.clientID;let c;if(null==n)c=new je([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:c=new je([n]);break;case Uint8Array:c=new Me(n);break;case R:c=new Be(n);break;default:if(!(n instanceof Pt))throw new Error("Unexpected content type");c=new Ke(n)}new Ze(nt(o,at(i.store,o)),s,s&&s.lastId,null,null,e,r,c).integrate(t,0)},re=(t,e)=>{const r=t._map.get(e);return void 0===r||r.deleted?void 0:r.content.getContent()[r.length-1]},ne=t=>{const e={};return t._map.forEach(((t,r)=>{t.deleted||(e[r]=t.content.getContent()[t.length-1])})),e},se=(t,e)=>{const r=t._map.get(e);return void 0!==r&&!r.deleted},ie=t=>k.iteratorFilter(t.entries(),(t=>!t[1].deleted));class oe extends Rt{constructor(t,e){super(t,e),this._transaction=e}}class ce extends Pt{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){const e=new ce;return e.push(t),e}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new ce}clone(){const t=new ce;return t.insert(0,this.toArray().map((t=>t instanceof Pt?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(t,e){super._callObserver(t,e),Ft(this,t,new oe(this,t))}insert(t,e){null!==this.doc?xt(this.doc,(r=>{Qt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}push(t){null!==this.doc?xt(this.doc,(e=>{((t,e,r)=>{let n=(e._searchMarker||[]).reduce(((t,e)=>e.index>t.index?e:t),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;Xt(t,e,n,r)})(e,this,t)})):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,e=1){null!==this.doc?xt(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimContent.splice(t,e)}get(t){return Ht(this,t)}toArray(){return Gt(this)}slice(t=0,e=this.length){return $t(this,t,e)}toJSON(){return this.map((t=>t instanceof Pt?t.toJSON():t))}map(t){return qt(this,t)}forEach(t){Wt(this,t)}[Symbol.iterator](){return Yt(this)}_write(t){t.writeTypeRef($e)}}class le extends Rt{constructor(t,e,r){super(t,e),this.keysChanged=r}}class ae extends Pt{constructor(t){super(),this._prelimContent=null,this._prelimContent=void 0===t?new Map:new Map(t)}_integrate(t,e){super._integrate(t,e),this._prelimContent.forEach(((t,e)=>{this.set(e,t)})),this._prelimContent=null}_copy(){return new ae}clone(){const t=new ae;return this.forEach(((e,r)=>{t.set(r,e instanceof Pt?e.clone():e)})),t}_callObserver(t,e){Ft(this,t,new le(this,t,e))}toJSON(){const t={};return this._map.forEach(((e,r)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];t[r]=n instanceof Pt?n.toJSON():n}})),t}get size(){return[...ie(this._map)].length}keys(){return k.iteratorMap(ie(this._map),(t=>t[0]))}values(){return k.iteratorMap(ie(this._map),(t=>t[1].content.getContent()[t[1].length-1]))}entries(){return k.iteratorMap(ie(this._map),(t=>[t[0],t[1].content.getContent()[t[1].length-1]]))}forEach(t){this._map.forEach(((e,r)=>{e.deleted||t(e.content.getContent()[e.length-1],r,this)}))}[Symbol.iterator](){return this.entries()}delete(t){null!==this.doc?xt(this.doc,(e=>{te(e,this,t)})):this._prelimContent.delete(t)}set(t,e){return null!==this.doc?xt(this.doc,(r=>{ee(r,this,t,e)})):this._prelimContent.set(t,e),e}get(t){return re(this,t)}has(t){return se(this,t)}clear(){null!==this.doc?xt(this.doc,(t=>{this.forEach((function(e,r,n){te(t,n,r)}))})):this._prelimContent.clear()}_write(t){t.writeTypeRef(Ge)}}const he=(t,e)=>t===e||"object"==typeof t&&"object"==typeof e&&t&&e&&_.equalFlat(t,e);class de{constructor(t,e,r,n){this.left=t,this.right=e,this.index=r,this.currentAttributes=n}forward(){null===this.right&&f.unexpectedCase(),this.right.content.constructor===Je?this.right.deleted||pe(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const ue=(t,e,r)=>{for(;null!==e.right&&r>0;)e.right.content.constructor===Je?e.right.deleted||pe(e.currentAttributes,e.right.content):e.right.deleted||(r<e.right.length&&ft(t,nt(e.right.id.client,e.right.id.clock+r)),e.index+=e.right.length,r-=e.right.length),e.left=e.right,e.right=e.right.right;return e},ge=(t,e,r,n)=>{const s=new Map,i=n?zt(e,r):null;if(i){const e=new de(i.p.left,i.p,i.index,s);return ue(t,e,r-i.index)}{const n=new de(null,e._start,0,s);return ue(t,n,r)}},fe=(t,e,r,n)=>{for(;null!==r.right&&(!0===r.right.deleted||r.right.content.constructor===Je&&he(n.get(r.right.content.key),r.right.content.value));)r.right.deleted||n.delete(r.right.content.key),r.forward();const s=t.doc,i=s.clientID;n.forEach(((n,o)=>{const c=r.left,l=r.right,a=new Ze(nt(i,at(s.store,i)),c,c&&c.lastId,l,l&&l.id,e,null,new Je(o,n));a.integrate(t,0),r.right=a,r.forward()}))},pe=(t,e)=>{const{key:r,value:n}=e;null===n?t.delete(r):t.set(r,n)},we=(t,e)=>{for(;null!==t.right&&(t.right.deleted||t.right.content.constructor===Je&&he(e[t.right.content.key]||null,t.right.content.value));)t.forward()},me=(t,e,r,n)=>{const s=t.doc,i=s.clientID,o=new Map;for(const c in n){const l=n[c],a=r.currentAttributes.get(c)||null;if(!he(a,l)){o.set(c,a);const{left:n,right:h}=r;r.right=new Ze(nt(i,at(s.store,i)),n,n&&n.lastId,h,h&&h.id,e,null,new Je(c,l)),r.right.integrate(t,0),r.forward()}}return o},ye=(t,e,r,n,s)=>{r.currentAttributes.forEach(((t,e)=>{void 0===s[e]&&(s[e]=null)}));const i=t.doc,o=i.clientID;we(r,s);const c=me(t,e,r,s),l=n.constructor===String?new Fe(n):n instanceof Pt?new Ke(n):new Le(n);let{left:a,right:h,index:d}=r;e._searchMarker&&jt(e._searchMarker,r.index,l.getLength()),h=new Ze(nt(o,at(i.store,o)),a,a&&a.lastId,h,h&&h.id,e,null,l),h.integrate(t,0),r.right=h,r.index=d,r.forward(),fe(t,e,r,c)},be=(t,e,r,n,s)=>{const i=t.doc,o=i.clientID;we(r,s);const c=me(t,e,r,s);t:for(;null!==r.right&&(n>0||c.size>0&&(r.right.deleted||r.right.content.constructor===Je));){if(!r.right.deleted)switch(r.right.content.constructor){case Je:{const{key:e,value:i}=r.right.content,o=s[e];if(void 0!==o){if(he(o,i))c.delete(e);else{if(0===n)break t;c.set(e,i)}r.right.delete(t)}else r.currentAttributes.set(e,i);break}default:n<r.right.length&&ft(t,nt(r.right.id.client,r.right.id.clock+n)),n-=r.right.length}r.forward()}if(n>0){let s="";for(;n>0;n--)s+="\n";r.right=new Ze(nt(o,at(i.store,o)),r.left,r.left&&r.left.lastId,r.right,r.right&&r.right.id,e,null,new Fe(s)),r.right.integrate(t,0),r.forward()}fe(t,e,r,c)},ke=(t,e,r,n,s)=>{let i=e;const o=l.create();for(;i&&(!i.countable||i.deleted);){if(!i.deleted&&i.content.constructor===Je){const t=i.content;o.set(t.key,t)}i=i.right}let c=0,a=!1;for(;e!==i;){if(r===e&&(a=!0),!e.deleted){const r=e.content;switch(r.constructor){case Je:{const{key:i,value:l}=r,h=n.get(i)||null;o.get(i)===r&&h!==l||(e.delete(t),c++,a||(s.get(i)||null)!==l||h===l||(null===h?s.delete(i):s.set(i,h))),a||e.deleted||pe(s,r);break}}}e=e.right}return c},_e=t=>{let e=0;return xt(t.doc,(r=>{let n=t._start,s=t._start,i=l.create();const o=l.copy(i);for(;s;)!1===s.deleted&&(s.content.constructor===Je?pe(o,s.content):(e+=ke(r,n,s,i,o),i=l.copy(o),n=s)),s=s.right})),e},xe=t=>{const e=new Set,r=t.doc;for(const[n,s]of t.afterState.entries()){const i=t.beforeState.get(n)||0;s!==i&&wt(t,r.store.clients.get(n),i,s,(t=>{t.deleted||t.content.constructor!==Je||t.constructor===Ve||e.add(t.parent)}))}xt(r,(r=>{C(t,t.deleteSet,(t=>{if(t instanceof Ve||!t.parent._hasFormatting||e.has(t.parent))return;const n=t.parent;t.content.constructor===Je?e.add(n):((t,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const r=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Je){const n=e.content.key;r.has(n)?e.delete(t):r.add(n)}e=e.left}})(r,t)}));for(const t of e)_e(t)}))},Se=(t,e,r)=>{const n=r,s=l.copy(e.currentAttributes),i=e.right;for(;r>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case Ke:case Le:case Fe:r<e.right.length&&ft(t,nt(e.right.id.client,e.right.id.clock+r)),r-=e.right.length,e.right.delete(t)}e.forward()}i&&ke(t,i,e.right,s,e.currentAttributes);const o=(e.left||e.right).parent;return o._searchMarker&&jt(o._searchMarker,e.index,-n+r),e};class Ee extends Rt{constructor(t,e,r){super(t,e),this.childListChanged=!1,this.keysChanged=new Set,r.forEach((t=>{null===t?this.childListChanged=!0:this.keysChanged.add(t)}))}get changes(){if(null===this._changes){const t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(null===this._delta){const t=this.target.doc,e=[];xt(t,(t=>{const r=new Map,n=new Map;let s=this.target._start,i=null;const o={};let c="",l=0,a=0;const h=()=>{if(null!==i){let t=null;switch(i){case"delete":a>0&&(t={delete:a}),a=0;break;case"insert":("object"==typeof c||c.length>0)&&(t={insert:c},r.size>0&&(t.attributes={},r.forEach(((e,r)=>{null!==e&&(t.attributes[r]=e)})))),c="";break;case"retain":l>0&&(t={retain:l},_.isEmpty(o)||(t.attributes=_.assign({},o))),l=0}t&&e.push(t),i=null}};for(;null!==s;){switch(s.content.constructor){case Ke:case Le:this.adds(s)?this.deletes(s)||(h(),i="insert",c=s.content.getContent()[0],h()):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=1):s.deleted||("retain"!==i&&(h(),i="retain"),l+=1);break;case Fe:this.adds(s)?this.deletes(s)||("insert"!==i&&(h(),i="insert"),c+=s.content.str):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=s.length):s.deleted||("retain"!==i&&(h(),i="retain"),l+=s.length);break;case Je:{const{key:e,value:c}=s.content;if(this.adds(s)){if(!this.deletes(s)){const l=r.get(e)||null;he(l,c)?null!==c&&s.delete(t):("retain"===i&&h(),he(c,n.get(e)||null)?delete o[e]:o[e]=c)}}else if(this.deletes(s)){n.set(e,c);const t=r.get(e)||null;he(t,c)||("retain"===i&&h(),o[e]=t)}else if(!s.deleted){n.set(e,c);const r=o[e];void 0!==r&&(he(r,c)?null!==r&&s.delete(t):("retain"===i&&h(),null===c?delete o[e]:o[e]=c))}s.deleted||("insert"===i&&h(),pe(r,s.content));break}}s=s.right}for(h();e.length>0;){const t=e[e.length-1];if(void 0===t.retain||void 0!==t.attributes)break;e.pop()}})),this._delta=e}return this._delta}}class Ce extends Pt{constructor(t){super(),this._pending=void 0!==t?[()=>this.insert(0,t)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(t,e){super._integrate(t,e);try{this._pending.forEach((t=>t()))}catch(t){console.error(t)}this._pending=null}_copy(){return new Ce}clone(){const t=new Ce;return t.applyDelta(this.toDelta()),t}_callObserver(t,e){super._callObserver(t,e);const r=new Ee(this,t,e);Ft(this,t,r),!t.local&&this._hasFormatting&&(t._needFormattingCleanup=!0)}toString(){let t="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Fe&&(t+=e.content.str),e=e.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:e=!0}={}){null!==this.doc?xt(this.doc,(r=>{const n=new de(null,this._start,0,new Map);for(let s=0;s<t.length;s++){const i=t[s];if(void 0!==i.insert){const o=e||"string"!=typeof i.insert||s!==t.length-1||null!==n.right||"\n"!==i.insert.slice(-1)?i.insert:i.insert.slice(0,-1);("string"!=typeof o||o.length>0)&&ye(r,this,n,o,i.attributes||{})}else void 0!==i.retain?be(r,this,n,i.retain,i.attributes||{}):void 0!==i.delete&&Se(r,n,i.delete)}})):this._pending.push((()=>this.applyDelta(t)))}toDelta(t,e,r){const n=[],s=new Map,i=this.doc;let o="",c=this._start;function l(){if(o.length>0){const t={};let e=!1;s.forEach(((r,n)=>{e=!0,t[n]=r}));const r={insert:o};e&&(r.attributes=t),n.push(r),o=""}}const a=()=>{for(;null!==c;){if(it(c,t)||void 0!==e&&it(c,e))switch(c.content.constructor){case Fe:{const n=s.get("ychange");void 0===t||it(c,t)?void 0===e||it(c,e)?void 0!==n&&(l(),s.delete("ychange")):void 0!==n&&n.user===c.id.client&&"added"===n.type||(l(),s.set("ychange",r?r("added",c.id):{type:"added"})):void 0!==n&&n.user===c.id.client&&"removed"===n.type||(l(),s.set("ychange",r?r("removed",c.id):{type:"removed"})),o+=c.content.str;break}case Ke:case Le:{l();const t={insert:c.content.getContent()[0]};if(s.size>0){const e={};t.attributes=e,s.forEach(((t,r)=>{e[r]=t}))}n.push(t);break}case Je:it(c,t)&&(l(),pe(s,c.content))}c=c.right}l()};return t||e?xt(i,(r=>{t&&ot(r,t),e&&ot(r,e),a()}),"cleanup"):a(),n}insert(t,e,r){if(e.length<=0)return;const n=this.doc;null!==n?xt(n,(n=>{const s=ge(n,this,t,!r);r||(r={},s.currentAttributes.forEach(((t,e)=>{r[e]=t}))),ye(n,this,s,e,r)})):this._pending.push((()=>this.insert(t,e,r)))}insertEmbed(t,e,r){const n=this.doc;null!==n?xt(n,(n=>{const s=ge(n,this,t,!r);ye(n,this,s,e,r||{})})):this._pending.push((()=>this.insertEmbed(t,e,r||{})))}delete(t,e){if(0===e)return;const r=this.doc;null!==r?xt(r,(r=>{Se(r,ge(r,this,t,!0),e)})):this._pending.push((()=>this.delete(t,e)))}format(t,e,r){if(0===e)return;const n=this.doc;null!==n?xt(n,(n=>{const s=ge(n,this,t,!1);null!==s.right&&be(n,this,s,e,r)})):this._pending.push((()=>this.format(t,e,r)))}removeAttribute(t){null!==this.doc?xt(this.doc,(e=>{te(e,this,t)})):this._pending.push((()=>this.removeAttribute(t)))}setAttribute(t,e){null!==this.doc?xt(this.doc,(r=>{ee(r,this,t,e)})):this._pending.push((()=>this.setAttribute(t,e)))}getAttribute(t){return re(this,t)}getAttributes(){return ne(this)}_write(t){t.writeTypeRef(We)}}class De{constructor(t,e=(()=>!0)){this._filter=e,this._root=t,this._currentNode=t._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let t=this._currentNode,e=t&&t.content&&t.content.type;if(null!==t&&(!this._firstCall||t.deleted||!this._filter(e)))do{if(e=t.content.type,t.deleted||e.constructor!==ve&&e.constructor!==Te||null===e._start)for(;null!==t;){if(null!==t.right){t=t.right;break}t=t.parent===this._root?null:t.parent._item}else t=e._start}while(null!==t&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,null===t?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class Te extends Pt{constructor(){super(),this._prelimContent=[]}get firstChild(){const t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Te}clone(){const t=new Te;return t.insert(0,this.toArray().map((t=>t instanceof Pt?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(t){return new De(this,t)}querySelector(t){t=t.toUpperCase();const e=new De(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),o.from(new De(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)))}_callObserver(t,e){Ft(this,t,new Ue(this,e,t))}toString(){return qt(this,(t=>t.toString())).join("")}toJSON(){return this.toString()}toDOM(t=document,e={},r){const n=t.createDocumentFragment();return void 0!==r&&r._createAssociation(n,this),Wt(this,(s=>{n.insertBefore(s.toDOM(t,e,r),null)})),n}insert(t,e){null!==this.doc?xt(this.doc,(r=>{Qt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}insertAfter(t,e){if(null!==this.doc)xt(this.doc,(r=>{const n=t&&t instanceof Pt?t._item:t;Xt(r,this,n,e)}));else{const r=this._prelimContent,n=null===t?0:r.findIndex((e=>e===t))+1;if(0===n&&null!==t)throw f.create("Reference item not found");r.splice(n,0,...e)}}delete(t,e=1){null!==this.doc?xt(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimContent.splice(t,e)}toArray(){return Gt(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return Ht(this,t)}slice(t=0,e=this.length){return $t(this,t,e)}forEach(t){Wt(this,t)}_write(t){t.writeTypeRef(Ye)}}class ve extends Te{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,e){super._integrate(t,e),this._prelimAttrs.forEach(((t,e)=>{this.setAttribute(e,t)})),this._prelimAttrs=null}_copy(){return new ve(this.nodeName)}clone(){const t=new ve(this.nodeName),e=this.getAttributes();return _.forEach(e,((e,r)=>{"string"==typeof e&&t.setAttribute(r,e)})),t.insert(0,this.toArray().map((t=>t instanceof Pt?t.clone():t))),t}toString(){const t=this.getAttributes(),e=[],r=[];for(const e in t)r.push(e);r.sort();const n=r.length;for(let s=0;s<n;s++){const n=r[s];e.push(n+'="'+t[n]+'"')}const s=this.nodeName.toLocaleLowerCase();return`<${s}${e.length>0?" "+e.join(" "):""}>${super.toString()}</${s}>`}removeAttribute(t){null!==this.doc?xt(this.doc,(e=>{te(e,this,t)})):this._prelimAttrs.delete(t)}setAttribute(t,e){null!==this.doc?xt(this.doc,(r=>{ee(r,this,t,e)})):this._prelimAttrs.set(t,e)}getAttribute(t){return re(this,t)}hasAttribute(t){return se(this,t)}getAttributes(t){return t?((t,e)=>{const r={};return this._map.forEach(((t,n)=>{let s=t;for(;null!==s&&(!e.sv.has(s.id.client)||s.id.clock>=(e.sv.get(s.id.client)||0));)s=s.left;null!==s&&it(s,e)&&(r[n]=s.content.getContent()[s.length-1])})),r})(0,t):ne(this)}toDOM(t=document,e={},r){const n=t.createElement(this.nodeName),s=this.getAttributes();for(const t in s){const e=s[t];"string"==typeof e&&n.setAttribute(t,e)}return Wt(this,(s=>{n.appendChild(s.toDOM(t,e,r))})),void 0!==r&&r._createAssociation(n,this),n}_write(t){t.writeTypeRef(qe),t.writeKey(this.nodeName)}}class Ue extends Rt{constructor(t,e,r){super(t,r),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((t=>{null===t?this.childListChanged=!0:this.attributesChanged.add(t)}))}}class Ae extends ae{constructor(t){super(),this.hookName=t}_copy(){return new Ae(this.hookName)}clone(){const t=new Ae(this.hookName);return this.forEach(((e,r)=>{t.set(r,e)})),t}toDOM(t=document,e={},r){const n=e[this.hookName];let s;return s=void 0!==n?n.createDom(this):document.createElement(this.hookName),s.setAttribute("data-yjs-hook",this.hookName),void 0!==r&&r._createAssociation(s,this),s}_write(t){t.writeTypeRef(He),t.writeKey(this.hookName)}}class Ie extends Ce{get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_copy(){return new Ie}clone(){const t=new Ie;return t.applyDelta(this.toDelta()),t}toDOM(t=document,e,r){const n=t.createTextNode(this.toString());return void 0!==r&&r._createAssociation(n,this),n}toString(){return this.toDelta().map((t=>{const e=[];for(const r in t.attributes){const n=[];for(const e in t.attributes[r])n.push({key:e,value:t.attributes[r][e]});n.sort(((t,e)=>t.key<e.key?-1:1)),e.push({nodeName:r,attrs:n})}e.sort(((t,e)=>t.nodeName<e.nodeName?-1:1));let r="";for(let t=0;t<e.length;t++){const n=e[t];r+=`<${n.nodeName}`;for(let t=0;t<n.attrs.length;t++){const e=n.attrs[t];r+=` ${e.key}="${e.value}"`}r+=">"}r+=t.insert;for(let t=e.length-1;t>=0;t--)r+=`</${e[t].nodeName}>`;return r})).join("")}toJSON(){return this.toString()}_write(t){t.writeTypeRef(Xe)}}class Oe{constructor(t,e){this.id=t,this.length=e}get deleted(){throw f.methodUnimplemented()}mergeWith(t){return!1}write(t,e,r){throw f.methodUnimplemented()}integrate(t,e){throw f.methodUnimplemented()}}class Ve extends Oe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){e>0&&(this.id.clock+=e,this.length-=e),ht(t.doc.store,this)}write(t,e){t.writeInfo(0),t.writeLen(this.length-e)}getMissing(t,e){return null}}class Me{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Me(this.content)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeBuf(this.content)}getRef(){return 3}}class Re{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Re(this.len)}splice(t){const e=new Re(this.len-t);return this.len=t,e}mergeWith(t){return this.len+=t.len,!0}integrate(t,e){U(t.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(t){}gc(t){}write(t,e){t.writeLen(this.len-e)}getRef(){return 1}}const Ne=(t,e)=>new R({guid:t,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Be{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;const e={};this.opts=e,t.gc||(e.gc=!1),t.autoLoad&&(e.autoLoad=!0),null!==t.meta&&(e.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Be(Ne(this.doc.guid,this.opts))}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.doc._item=e,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,e){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class Le{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Le(this.embed)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeJSON(this.embed)}getRef(){return 5}}class Je{constructor(t,e){this.key=t,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Je(this.key,this.value)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){const r=e.parent;r._searchMarker=null,r._hasFormatting=!0}delete(t){}gc(t){}write(t,e){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class ze{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ze(this.arr)}splice(t){const e=new ze(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeString(void 0===e?"undefined":JSON.stringify(e))}}getRef(){return 2}}class je{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new je(this.arr)}splice(t){const e=new je(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeAny(e)}}getRef(){return 8}}class Fe{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new Fe(this.str)}splice(t){const e=new Fe(this.str.slice(t));this.str=this.str.slice(0,t);const r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(t){return this.str+=t.str,!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const Pe=[t=>new ce,t=>new ae,t=>new Ce,t=>new ve(t.readKey()),t=>new Te,t=>new Ae(t.readKey()),t=>new Ie],$e=0,Ge=1,We=2,qe=3,Ye=4,He=5,Xe=6;class Ke{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new Ke(this.type._copy())}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.type._integrate(t.doc,e)}delete(t){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t)})),t.changed.delete(this.type)}gc(t){let e=this.type._start;for(;null!==e;)e.gc(t,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(t,!0),e=e.left})),this.type._map=new Map}write(t,e){this.type._write(t)}getRef(){return 7}}const Qe=(t,e,r)=>{const{client:n,clock:s}=e.id,i=new Ze(nt(n,s+r),e,nt(n,s+r-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(r));return e.deleted&&i.markDeleted(),e.keep&&(i.keep=!0),null!==e.redone&&(i.redone=nt(e.redone.client,e.redone.clock+r)),e.right=i,null!==i.right&&(i.right.left=i),t._mergeStructs.push(i),null!==i.parentSub&&null===i.right&&i.parent._map.set(i.parentSub,i),e.length=r,i};class Ze extends Oe{constructor(t,e,r,n,s,i,o,c){super(t,c.getLength()),this.origin=r,this.left=e,this.right=n,this.rightOrigin=s,this.parent=i,this.parentSub=o,this.redone=null,this.content=c,this.info=this.content.isCountable()?p.BIT2:0}set marker(t){(this.info&p.BIT4)>0!==t&&(this.info^=p.BIT4)}get marker(){return(this.info&p.BIT4)>0}get keep(){return(this.info&p.BIT1)>0}set keep(t){this.keep!==t&&(this.info^=p.BIT1)}get countable(){return(this.info&p.BIT2)>0}get deleted(){return(this.info&p.BIT3)>0}set deleted(t){this.deleted!==t&&(this.info^=p.BIT3)}markDeleted(){this.info|=p.BIT3}getMissing(t,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=at(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=at(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===et&&this.id.client!==this.parent.client&&this.parent.clock>=at(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=pt(t,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=ft(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Ve||this.right&&this.right.constructor===Ve)this.parent=null;else if(this.parent){if(this.parent.constructor===et){const t=ut(e,this.parent);t.constructor===Ve?this.parent=null:this.parent=t.content.type}}else this.left&&this.left.constructor===Ze&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===Ze&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(t,e){if(e>0&&(this.id.clock+=e,this.left=pt(t,t.doc.store,nt(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,r=this.left;if(null!==r)e=r.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,s=new Set;for(;null!==e&&e!==this.right;){if(s.add(e),n.add(e),rt(this.origin,e.origin)){if(e.id.client<this.id.client)r=e,n.clear();else if(rt(this.rightOrigin,e.rightOrigin))break}else{if(null===e.origin||!s.has(ut(t.doc.store,e.origin)))break;n.has(ut(t.doc.store,e.origin))||(r=e,n.clear())}e=e.right}this.left=r}if(null!==this.left){const t=this.left.right;this.right=t,this.left.right=this}else{let t;if(null!==this.parentSub)for(t=this.parent._map.get(this.parentSub)||null;null!==t&&null!==t.left;)t=t.left;else t=this.parent._start,this.parent._start=this;this.right=t}null!==this.right?this.right.left=this:null!==this.parentSub&&(this.parent._map.set(this.parentSub,this),null!==this.left&&this.left.delete(t)),null===this.parentSub&&this.countable&&!this.deleted&&(this.parent._length+=this.length),ht(t.doc.store,this),this.content.integrate(t,this),bt(t,this.parent,this.parentSub),(null!==this.parent._item&&this.parent._item.deleted||null!==this.parentSub&&null!==this.right)&&this.delete(t)}else new Ve(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;null!==t&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;null!==t&&t.deleted;)t=t.left;return t}get lastId(){return 1===this.length?this.id:nt(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&rt(t.origin,this.lastId)&&this.right===t&&rt(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&null===this.redone&&null===t.redone&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){const e=this.parent._searchMarker;return e&&e.forEach((e=>{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),t.keep&&(this.keep=!0),this.right=t.right,null!==this.right&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),U(t.deleteSet,this.id.client,this.id.clock,this.length),bt(t,e,this.parentSub),this.content.delete(t)}}gc(t,e){if(!this.deleted)throw f.unexpectedCase();this.content.gc(t),e?((t,e,r)=>{const n=t.clients.get(e.id.client);n[dt(n,e.id.clock)]=r})(t,this,new Ve(this.id,this.length)):this.content=new Re(this.length)}write(t,e){const r=e>0?nt(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,s=this.parentSub,i=this.content.getRef()&p.BITS5|(null===r?0:p.BIT8)|(null===n?0:p.BIT7)|(null===s?0:p.BIT6);if(t.writeInfo(i),null!==r&&t.writeLeftID(r),null!==n&&t.writeRightID(n),null===r&&null===n){const e=this.parent;if(void 0!==e._item){const r=e._item;if(null===r){const r=(t=>{for(const[e,r]of t.doc.share.entries())if(r===t)return e;throw f.unexpectedCase()})(e);t.writeParentInfo(!0),t.writeString(r)}else t.writeParentInfo(!1),t.writeLeftID(r.id)}else e.constructor===String?(t.writeParentInfo(!0),t.writeString(e)):e.constructor===et?(t.writeParentInfo(!1),t.writeLeftID(e)):f.unexpectedCase();null!==s&&t.writeString(s)}this.content.write(t,e)}}const tr=(t,e)=>er[e&p.BITS5](t),er=[()=>{f.unexpectedCase()},t=>new Re(t.readLen()),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++){const e=t.readString();"undefined"===e?r.push(void 0):r.push(JSON.parse(e))}return new ze(r)},t=>new Me(t.readBuf()),t=>new Fe(t.readString()),t=>new Le(t.readJSON()),t=>new Je(t.readKey(),t.readJSON()),t=>new Ke(Pe[t.readTypeRef()](t)),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++)r.push(t.readAny());return new je(r)},t=>new Be(Ne(t.readString(),t.readAny())),()=>{f.unexpectedCase()}];class rr extends Oe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){f.unexpectedCase()}write(t,e){t.writeInfo(10),a.writeVarUint(t.restEncoder,this.length-e)}getMissing(t,e){return null}}const nr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};!0===nr["__ $YJS$ __"]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),nr["__ $YJS$ __"]=!0})),r.register("8Gyr5",(function(e,n){t(e.exports,"Observable",(()=>c));var s=r("96q9T"),i=r("5zT0w"),o=r("9GMWx");class c{constructor(){this._observers=s.create()}on(t,e){s.setIfUndefined(this._observers,t,i.create).add(e)}once(t,e){const r=(...n)=>{this.off(t,r),e(...n)};this.on(t,r)}off(t,e){const r=this._observers.get(t);void 0!==r&&(r.delete(e),0===r.size&&this._observers.delete(t))}emit(t,e){return o.from((this._observers.get(t)||s.create()).values()).forEach((t=>t(...e)))}destroy(){this._observers=s.create()}}})),r.register("96q9T",(function(e,r){t(e.exports,"create",(()=>n)),t(e.exports,"copy",(()=>s)),t(e.exports,"setIfUndefined",(()=>i)),t(e.exports,"map",(()=>o)),t(e.exports,"any",(()=>c));const n=()=>new Map,s=t=>{const e=n();return t.forEach(((t,r)=>{e.set(r,t)})),e},i=(t,e,r)=>{let n=t.get(e);return void 0===n&&t.set(e,n=r()),n},o=(t,e)=>{const r=[];for(const[n,s]of t)r.push(e(s,n));return r},c=(t,e)=>{for(const[r,n]of t)if(e(n,r))return!0;return!1}})),r.register("5zT0w",(function(e,r){t(e.exports,"create",(()=>n)),t(e.exports,"from",(()=>s));const n=()=>new Set,s=t=>new Set(t)})),r.register("9GMWx",(function(e,n){t(e.exports,"last",(()=>s)),t(e.exports,"appendTo",(()=>i)),t(e.exports,"from",(()=>o)),t(e.exports,"some",(()=>c)),t(e.exports,"equalFlat",(()=>l)),t(e.exports,"unfold",(()=>a)),t(e.exports,"isArray",(()=>h)),t(e.exports,"map",(()=>d)),r("5zT0w");const s=t=>t[t.length-1],i=(t,e)=>{for(let r=0;r<e.length;r++)t.push(e[r])},o=Array.from,c=(t,e)=>{for(let r=0;r<t.length;r++)if(e(t[r],r,t))return!0;return!1},l=(t,e)=>t.length===e.length&&((t,e)=>{for(let r=0;r<t.length;r++)if(!e(t[r],r))return!1;return!0})(t,((t,r)=>t===e[r])),a=(t,e)=>{const r=new Array(t);for(let n=0;n<t;n++)r[n]=e(n,r);return r},h=Array.isArray,d=(t,e)=>{const r=Array(t.length);for(let n=0;n<t.length;n++)r[n]=e(t[n],n,t);return r}})),r.register("bGsfJ",(function(e,r){t(e.exports,"floor",(()=>n)),t(e.exports,"ceil",(()=>s)),t(e.exports,"abs",(()=>i)),t(e.exports,"round",(()=>o)),t(e.exports,"log10",(()=>c)),t(e.exports,"min",(()=>l)),t(e.exports,"max",(()=>a)),t(e.exports,"exp10",(()=>h)),t(e.exports,"isNegativeZero",(()=>d));const n=Math.floor,s=Math.ceil,i=Math.abs,o=(Math.imul,Math.round),c=Math.log10,l=(Math.log2,Math.log,Math.sqrt,(t,e)=>t<e?t:e),a=(t,e)=>t>e?t:e,h=(Number.isNaN,Math.pow,t=>Math.pow(10,t)),d=(Math.sign,t=>0!==t?t<0:1/t<0)})),r.register("7BTJz",(function(e,n){t(e.exports,"createEncoder",(()=>h)),t(e.exports,"encode",(()=>d)),t(e.exports,"toUint8Array",(()=>u)),t(e.exports,"write",(()=>g)),t(e.exports,"writeUint8",(()=>f)),t(e.exports,"writeVarUint",(()=>p)),t(e.exports,"writeVarInt",(()=>w)),t(e.exports,"writeVarUint8Array",(()=>x)),t(e.exports,"writeVarString",(()=>b)),t(e.exports,"writeBinaryEncoder",(()=>k)),t(e.exports,"writeUint8Array",(()=>_)),t(e.exports,"writeAny",(()=>C)),t(e.exports,"RleEncoder",(()=>D)),t(e.exports,"UintOptRleEncoder",(()=>v)),t(e.exports,"IntDiffOptRleEncoder",(()=>A)),t(e.exports,"StringEncoder",(()=>I));var s=r("bGsfJ"),i=r("5es75"),o=r("bcXZT"),c=r("8drkQ"),l=r("9GMWx");class a{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const h=()=>new a,d=t=>{const e=h();return t(e),u(e)},u=t=>{const e=new Uint8Array((t=>{let e=t.cpos;for(let r=0;r<t.bufs.length;r++)e+=t.bufs[r].length;return e})(t));let r=0;for(let n=0;n<t.bufs.length;n++){const s=t.bufs[n];e.set(s,r),r+=s.length}return e.set(new Uint8Array(t.cbuf.buffer,0,t.cpos),r),e},g=(t,e)=>{const r=t.cbuf.length;t.cpos===r&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(2*r),t.cpos=0),t.cbuf[t.cpos++]=e},f=g,p=(t,e)=>{for(;e>o.BITS7;)g(t,o.BIT8|o.BITS7&e),e=s.floor(e/128);g(t,o.BITS7&e)},w=(t,e)=>{const r=s.isNegativeZero(e);for(r&&(e=-e),g(t,(e>o.BITS6?o.BIT8:0)|(r?o.BIT7:0)|o.BITS6&e),e=s.floor(e/64);e>0;)g(t,(e>o.BITS7?o.BIT8:0)|o.BITS7&e),e=s.floor(e/128)},m=new Uint8Array(3e4),y=m.length/3,b=c.utf8TextEncoder&&c.utf8TextEncoder.encodeInto?(t,e)=>{if(e.length<y){const r=c.utf8TextEncoder.encodeInto(e,m).written||0;p(t,r);for(let e=0;e<r;e++)g(t,m[e])}else x(t,c.encodeUtf8(e))}:(t,e)=>{const r=unescape(encodeURIComponent(e)),n=r.length;p(t,n);for(let e=0;e<n;e++)g(t,r.codePointAt(e))},k=(t,e)=>_(t,u(e)),_=(t,e)=>{const r=t.cbuf.length,n=t.cpos,i=s.min(r-n,e.length),o=e.length-i;t.cbuf.set(e.subarray(0,i),n),t.cpos+=i,o>0&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(s.max(2*r,o)),t.cbuf.set(e.subarray(i)),t.cpos=o)},x=(t,e)=>{p(t,e.byteLength),_(t,e)},S=(t,e)=>{((t,e)=>{const r=t.cbuf.length;r-t.cpos<e&&(t.bufs.push(new Uint8Array(t.cbuf.buffer,0,t.cpos)),t.cbuf=new Uint8Array(2*s.max(r,e)),t.cpos=0)})(t,e);const r=new DataView(t.cbuf.buffer,t.cpos,e);return t.cpos+=e,r},E=new DataView(new ArrayBuffer(4)),C=(t,e)=>{switch(typeof e){case"string":g(t,119),b(t,e);break;case"number":i.isInteger(e)&&s.abs(e)<=o.BITS31?(g(t,125),w(t,e)):(r=e,E.setFloat32(0,r),E.getFloat32(0)===r?(g(t,124),((t,e)=>{S(t,4).setFloat32(0,e,!1)})(t,e)):(g(t,123),((t,e)=>{S(t,8).setFloat64(0,e,!1)})(t,e)));break;case"bigint":g(t,122),((t,e)=>{S(t,8).setBigInt64(0,e,!1)})(t,e);break;case"object":if(null===e)g(t,126);else if(l.isArray(e)){g(t,117),p(t,e.length);for(let r=0;r<e.length;r++)C(t,e[r])}else if(e instanceof Uint8Array)g(t,116),x(t,e);else{g(t,118);const r=Object.keys(e);p(t,r.length);for(let n=0;n<r.length;n++){const s=r[n];b(t,s),C(t,e[s])}}break;case"boolean":g(t,e?120:121);break;default:g(t,127)}var r};class D extends a{constructor(t){super(),this.w=t,this.s=null,this.count=0}write(t){this.s===t?this.count++:(this.count>0&&p(this,this.count-1),this.count=1,this.w(this,t),this.s=t)}}const T=t=>{t.count>0&&(w(t.encoder,1===t.count?t.s:-t.s),t.count>1&&p(t.encoder,t.count-2))};class v{constructor(){this.encoder=new a,this.s=0,this.count=0}write(t){this.s===t?this.count++:(T(this),this.count=1,this.s=t)}toUint8Array(){return T(this),u(this.encoder)}}const U=t=>{if(t.count>0){const e=2*t.diff+(1===t.count?0:1);w(t.encoder,e),t.count>1&&p(t.encoder,t.count-2)}};class A{constructor(){this.encoder=new a,this.s=0,this.count=0,this.diff=0}write(t){this.diff===t-this.s?(this.s=t,this.count++):(U(this),this.count=1,this.diff=t-this.s,this.s=t)}toUint8Array(){return U(this),u(this.encoder)}}class I{constructor(){this.sarr=[],this.s="",this.lensE=new v}write(t){this.s+=t,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(t.length)}toUint8Array(){const t=new a;return this.sarr.push(this.s),this.s="",b(t,this.sarr.join("")),_(t,this.lensE.toUint8Array()),u(t)}}})),r.register("5es75",(function(e,n){t(e.exports,"MAX_SAFE_INTEGER",(()=>o)),t(e.exports,"isInteger",(()=>c));var s=r("bGsfJ"),i=r("bcXZT");const o=Number.MAX_SAFE_INTEGER,c=(Number.MIN_SAFE_INTEGER,i.BITS31,i.BITS32,Number.isInteger||(t=>"number"==typeof t&&isFinite(t)&&s.floor(t)===t));Number.isNaN,Number.parseInt})),r.register("bcXZT",(function(e,r){t(e.exports,"BIT1",(()=>n)),t(e.exports,"BIT2",(()=>s)),t(e.exports,"BIT3",(()=>i)),t(e.exports,"BIT4",(()=>o)),t(e.exports,"BIT6",(()=>c)),t(e.exports,"BIT7",(()=>l)),t(e.exports,"BIT8",(()=>a)),t(e.exports,"BITS5",(()=>h)),t(e.exports,"BITS6",(()=>d)),t(e.exports,"BITS7",(()=>u)),t(e.exports,"BITS8",(()=>g)),t(e.exports,"BITS21",(()=>f)),t(e.exports,"BITS31",(()=>p)),t(e.exports,"BITS32",(()=>w));const n=1,s=2,i=4,o=8,c=32,l=64,a=128,h=31,d=63,u=127,g=255,f=2097151,p=2147483647,w=4294967295})),r.register("8drkQ",(function(e,n){t(e.exports,"fromCharCode",(()=>i)),t(e.exports,"fromCamelCase",(()=>l)),t(e.exports,"utf8TextEncoder",(()=>a)),t(e.exports,"encodeUtf8",(()=>h)),t(e.exports,"utf8TextDecoder",(()=>d)),t(e.exports,"decodeUtf8",(()=>u)),t(e.exports,"repeat",(()=>g));var s=r("9GMWx");const i=String.fromCharCode,o=(String.fromCodePoint,i(65535),/^\s*/g),c=/([A-Z])/g,l=(t,e)=>(t=>t.replace(o,""))(t.replace(c,(t=>`${e}${(t=>t.toLowerCase())(t)}`))),a="undefined"!=typeof TextEncoder?new TextEncoder:null,h=a?t=>a.encode(t):t=>{const e=unescape(encodeURIComponent(t)),r=e.length,n=new Uint8Array(r);for(let t=0;t<r;t++)n[t]=e.codePointAt(t);return n};let d="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});d&&1===d.decode(new Uint8Array).length&&(d=null);const u=d?t=>d.decode(t):t=>{let e=t.length,r="",n=0;for(;e>0;){const s=e<1e4?e:1e4,i=t.subarray(n,n+s);n+=s,r+=String.fromCodePoint.apply(null,i),e-=s}return decodeURIComponent(escape(r))},g=(t,e)=>s.unfold(e,(()=>t)).join("")})),r.register("l5188",(function(e,n){t(e.exports,"createDecoder",(()=>u)),t(e.exports,"hasContent",(()=>g)),t(e.exports,"readVarUint8Array",(()=>f)),t(e.exports,"readVarUint",(()=>w)),t(e.exports,"readUint8",(()=>p)),t(e.exports,"readVarInt",(()=>m)),t(e.exports,"readVarString",(()=>y)),t(e.exports,"readAny",(()=>_)),t(e.exports,"RleDecoder",(()=>x)),t(e.exports,"UintOptRleDecoder",(()=>S)),t(e.exports,"IntDiffOptRleDecoder",(()=>E)),t(e.exports,"StringDecoder",(()=>C));var s=r("bcXZT"),i=r("bGsfJ"),o=r("5es75"),c=r("8drkQ"),l=r("3Y8uz");r("7BTJz");const a=l.create("Unexpected end of array"),h=l.create("Integer out of Range");class d{constructor(t){this.arr=t,this.pos=0}}const u=t=>new d(t),g=t=>t.pos!==t.arr.length,f=t=>((t,e)=>{const r=new Uint8Array(t.arr.buffer,t.pos+t.arr.byteOffset,e);return t.pos+=e,r})(t,w(t)),p=t=>t.arr[t.pos++],w=t=>{let e=0,r=1;const n=t.arr.length;for(;t.pos<n;){const n=t.arr[t.pos++];if(e+=(n&s.BITS7)*r,r*=128,n<s.BIT8)return e;if(e>o.MAX_SAFE_INTEGER)throw h}throw a},m=t=>{let e=t.arr[t.pos++],r=e&s.BITS6,n=64;const i=(e&s.BIT7)>0?-1:1;if(0==(e&s.BIT8))return i*r;const c=t.arr.length;for(;t.pos<c;){if(e=t.arr[t.pos++],r+=(e&s.BITS7)*n,n*=128,e<s.BIT8)return i*r;if(r>o.MAX_SAFE_INTEGER)throw h}throw a},y=c.utf8TextDecoder?t=>c.utf8TextDecoder.decode(f(t)):t=>{let e=w(t);if(0===e)return"";{let r=String.fromCodePoint(p(t));if(--e<100)for(;e--;)r+=String.fromCodePoint(p(t));else for(;e>0;){const n=e<1e4?e:1e4,s=t.arr.subarray(t.pos,t.pos+n);t.pos+=n,r+=String.fromCodePoint.apply(null,s),e-=n}return decodeURIComponent(escape(r))}},b=(t,e)=>{const r=new DataView(t.arr.buffer,t.arr.byteOffset+t.pos,e);return t.pos+=e,r},k=[t=>{},t=>null,m,t=>b(t,4).getFloat32(0,!1),t=>b(t,8).getFloat64(0,!1),t=>b(t,8).getBigInt64(0,!1),t=>!1,t=>!0,y,t=>{const e=w(t),r={};for(let n=0;n<e;n++)r[y(t)]=_(t);return r},t=>{const e=w(t),r=[];for(let n=0;n<e;n++)r.push(_(t));return r},f],_=t=>k[127-p(t)](t);class x extends d{constructor(t,e){super(t),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),g(this)?this.count=w(this)+1:this.count=-1),this.count--,this.s}}class S extends d{constructor(t){super(t),this.s=0,this.count=0}read(){if(0===this.count){this.s=m(this);const t=i.isNegativeZero(this.s);this.count=1,t&&(this.s=-this.s,this.count=w(this)+2)}return this.count--,this.s}}class E extends d{constructor(t){super(t),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const t=m(this),e=1&t;this.diff=i.floor(t/2),this.count=1,e&&(this.count=w(this)+2)}return this.s+=this.diff,this.count--,this.s}}class C{constructor(t){this.decoder=new S(t),this.str=y(this.decoder),this.spos=0}read(){const t=this.spos+this.decoder.read(),e=this.str.slice(this.spos,t);return this.spos=t,e}}})),r.register("3Y8uz",(function(e,r){t(e.exports,"create",(()=>n)),t(e.exports,"methodUnimplemented",(()=>s)),t(e.exports,"unexpectedCase",(()=>i));const n=t=>new Error(t),s=()=>{throw n("Method unimplemented")},i=()=>{throw n("Unexpected case")}})),r.register("ouOhr",(function(e,n){t(e.exports,"uint32",(()=>i)),t(e.exports,"uuidv4",(()=>o)),r("bGsfJ"),r("bcXZT");var s=r("2grmT");Math.random;const i=()=>(0,s.getRandomValues)(new Uint32Array(1))[0],o=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(t=>(t^i()&15>>t/4).toString(16)))})),r.register("2grmT",(function(e,r){t(e.exports,"getRandomValues",(()=>n)),crypto.subtle;const n=crypto.getRandomValues.bind(crypto)})),r.register("fJEwH",(function(e,n){t(e.exports,"create",(()=>s)),r("16gRh");const s=t=>new Promise(t);Promise.all.bind(Promise)})),r.register("16gRh",(function(e,n){t(e.exports,"getUnixTime",(()=>s)),r("cdEUL"),r("bGsfJ");const s=Date.now})),r.register("cdEUL",(function(e,n){t(e.exports,"prefix",(()=>c));var s=r("bGsfJ");const i=["","k","M","G","T","P","E","Z","Y"],o=["","m","μ","n","p","f","a","z","y"],c=(t,e=0)=>{const r=0===t?0:s.log10(t);let n=0;for(;r<3*n&&e>-8;)e--,n--;for(;r>=3+3*n&&e<8;)e++,n++;const c=e<0?o[-e]:i[e];return{n:s.round(1e12*(n>0?t/s.exp10(3*n):t*s.exp10(-3*n)))/1e12,prefix:c}}})),r.register("jx2H5",(function(e,n){t(e.exports,"copyUint8Array",(()=>i));r("8drkQ");var s=r("isVtz");r("9GMWx"),r("bGsfJ"),r("7BTJz"),r("l5188"),r("laHbQ").Buffer;const i=(s.isBrowser,s.isBrowser,t=>{const e=(t=>new Uint8Array(t))(t.byteLength);return e.set(t),e})})),r.register("isVtz",(function(e,n){t(e.exports,"isBrowser",(()=>d)),t(e.exports,"getVariable",(()=>p)),t(e.exports,"supportsColor",(()=>m));var s=r("96q9T"),i=r("8drkQ"),o=r("9xF6A"),c=r("hpXBJ"),l=r("4H1bc"),a=r("b3MRX");const h=void 0!==a&&a.release&&/node|io\.js/.test(a.release.name)&&"[object process]"===Object.prototype.toString.call(void 0!==a?a:0),d="undefined"!=typeof window&&"undefined"!=typeof document&&!h;let u;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const g=[],f=t=>(()=>{if(void 0===u)if(h){u=s.create();const t=a.argv;let e=null;for(let r=0;r<t.length;r++){const n=t[r];"-"===n[0]?(null!==e&&u.set(e,""),e=n):null!==e?(u.set(e,n),e=null):g.push(n)}null!==e&&u.set(e,"")}else"object"==typeof location?(u=s.create(),(location.search||"?").slice(1).split("&").forEach((t=>{if(0!==t.length){const[e,r]=t.split("=");u.set(`--${i.fromCamelCase(e,"-")}`,r),u.set(`-${i.fromCamelCase(e,"-")}`,r)}}))):u=s.create();return u})().has(t),p=t=>h?o.undefinedToNull(a.env[t.toUpperCase()]):o.undefinedToNull(c.varStorage.getItem(t));f("--"+"production")||p("production");const w=h&&l.isOneOf(void 0,["true","1","2"]),m=!f("no-colors")&&(!h||a.stdout.isTTY||w)&&(!h||f("color")||w||null!==p("COLORTERM")||(p("TERM")||"").includes("color"))})),r.register("9xF6A",(function(e,r){t(e.exports,"undefinedToNull",(()=>n));const n=t=>void 0===t?null:t})),r.register("hpXBJ",(function(e,r){t(e.exports,"varStorage",(()=>i));let n=new class{constructor(){this.map=new Map}setItem(t,e){this.map.set(t,e)}getItem(t){return this.map.get(t)}},s=!0;try{"undefined"!=typeof localStorage&&localStorage&&(n=localStorage,s=!1)}catch(t){}const i=n})),r.register("4H1bc",(function(e,n){t(e.exports,"callAll",(()=>i)),t(e.exports,"nop",(()=>o)),t(e.exports,"id",(()=>c)),t(e.exports,"isOneOf",(()=>l));var s=r("9GMWx");r("7C9F2");const i=(t,e,r=0)=>{try{for(;r<t.length;r++)t[r](...e)}finally{r<t.length&&i(t,e,r+1)}},o=()=>{},c=t=>t,l=(t,e)=>e.includes(t);s.isArray})),r.register("7C9F2",(function(e,r){t(e.exports,"assign",(()=>n)),t(e.exports,"forEach",(()=>i)),t(e.exports,"length",(()=>o)),t(e.exports,"isEmpty",(()=>c)),t(e.exports,"hasProperty",(()=>l)),t(e.exports,"equalFlat",(()=>a));const n=Object.assign,s=Object.keys,i=(t,e)=>{for(const r in t)e(t[r],r)},o=t=>s(t).length,c=t=>{for(const e in t)return!1;return!0},l=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a=(t,e)=>t===e||o(t)===o(e)&&((t,e)=>{for(const r in t)if(!e(t[r],r))return!1;return!0})(t,((t,r)=>(void 0!==t||l(e,r))&&e[r]===t))})),r.register("b3MRX",(function(t,e){var r,n,s=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function c(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var l,a=[],h=!1,d=-1;function u(){h&&l&&(h=!1,l.length?a=l.concat(a):d=-1,a.length&&g())}function g(){if(!h){var t=c(u);h=!0;for(var e=a.length;e;){for(l=a,a=[];++d<e;)l&&l[d].run();d=-1,e=a.length}l=null,h=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function f(t,e){this.fun=t,this.array=e}function p(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];a.push(new f(t,e)),1!==a.length||h||c(g)},f.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=p,s.addListener=p,s.once=p,s.off=p,s.removeListener=p,s.removeAllListeners=p,s.emit=p,s.prependListener=p,s.prependOnceListener=p,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}})),r.register("9hwjE",(function(e,n){t(e.exports,"print",(()=>u)),t(e.exports,"warn",(()=>g)),t(e.exports,"BOLD",(()=>r("9okbY").BOLD)),t(e.exports,"UNBOLD",(()=>r("9okbY").UNBOLD)),t(e.exports,"RED",(()=>r("9okbY").RED)),t(e.exports,"ORANGE",(()=>r("9okbY").ORANGE));var s=r("isVtz"),i=r("5zT0w"),o=r("2djb1"),c=r("8kkbA"),l=(r("kQNaO"),r("96q9T")),a=(r("kdpDU"),r("bGsfJ"),r("9okbY"));const h={[(a=r("9okbY")).BOLD]:o.create("font-weight","bold"),[a.UNBOLD]:o.create("font-weight","normal"),[a.BLUE]:o.create("color","blue"),[a.GREEN]:o.create("color","green"),[a.GREY]:o.create("color","grey"),[a.RED]:o.create("color","red"),[a.PURPLE]:o.create("color","purple"),[a.ORANGE]:o.create("color","orange"),[a.UNCOLOR]:o.create("color","black")},d=s.supportsColor?t=>{const e=[],r=[],n=l.create();let s=[],i=0;for(;i<t.length;i++){const s=t[i],o=h[s];if(void 0!==o)n.set(o.left,o.right);else{if(s.constructor!==String&&s.constructor!==Number)break;{const t=c.mapToStyleString(n);i>0||t.length>0?(e.push("%c"+s),r.push(t)):e.push(s)}}}for(i>0&&(s=r,s.unshift(e.join("")));i<t.length;i++){const e=t[i];e instanceof Symbol||s.push(e)}return s}:a.computeNoColorLoggingArgs,u=(...t)=>{console.log(...d(t)),f.forEach((e=>e.print(t)))},g=(...t)=>{console.warn(...d(t)),t.unshift(a.ORANGE),f.forEach((e=>e.print(t)))},f=i.create()})),r.register("2djb1",(function(e,r){t(e.exports,"create",(()=>s)),t(e.exports,"forEach",(()=>i));class n{constructor(t,e){this.left=t,this.right=e}}const s=(t,e)=>new n(t,e),i=(t,e)=>t.forEach((t=>e(t.left,t.right)))})),r.register("8kkbA",(function(e,n){t(e.exports,"append",(()=>l)),t(e.exports,"addEventListener",(()=>a)),t(e.exports,"element",(()=>h)),t(e.exports,"text",(()=>d)),t(e.exports,"mapToStyleString",(()=>u));var s=r("2djb1"),i=r("96q9T");const o="undefined"!=typeof document?document:{},c=("undefined"!=typeof DOMParser&&new DOMParser,t=>{const e=o.createDocumentFragment();for(let r=0;r<t.length;r++)g(e,t[r]);return e}),l=(t,e)=>(g(t,c(e)),t),a=(t,e,r)=>t.addEventListener(e,r),h=(t,e=[],r=[])=>l(((t,e)=>(s.forEach(e,((e,r)=>{!1===r?t.removeAttribute(e):!0===r?t.setAttribute(e,""):t.setAttribute(e,r)})),t))((t=>o.createElement(t))(t),e),r),d=t=>o.createTextNode(t),u=t=>i.map(t,((t,e)=>`${e}:${t};`)).join(""),g=(t,e)=>t.appendChild(e);o.ELEMENT_NODE,o.TEXT_NODE,o.CDATA_SECTION_NODE,o.COMMENT_NODE,o.DOCUMENT_NODE,o.DOCUMENT_TYPE_NODE,o.DOCUMENT_FRAGMENT_NODE})),r.register("kQNaO",(function(e,r){t(e.exports,"stringify",(()=>n));const n=JSON.stringify;JSON.parse})),r.register("kdpDU",(function(e,r){t(e.exports,"enqueue",(()=>i));let n=[];const s=()=>{for(let t=0;t<n.length;t++)n[t]();n=[]},i=t=>{n.push(t),1===n.length&&setTimeout(s,0)},o=t=>class{constructor(t){this._=t}destroy(){t(this._)}};o(clearTimeout),o(clearInterval),o((t=>"undefined"!=typeof requestAnimationFrame&&cancelAnimationFrame(t))),o((t=>"undefined"!=typeof cancelIdleCallback&&cancelIdleCallback(t)))})),r.register("9okbY",(function(e,n){t(e.exports,"BOLD",(()=>l)),t(e.exports,"UNBOLD",(()=>a)),t(e.exports,"BLUE",(()=>h)),t(e.exports,"GREY",(()=>d)),t(e.exports,"GREEN",(()=>u)),t(e.exports,"RED",(()=>g)),t(e.exports,"PURPLE",(()=>f)),t(e.exports,"ORANGE",(()=>p)),t(e.exports,"UNCOLOR",(()=>w)),t(e.exports,"computeNoColorLoggingArgs",(()=>m)),t(e.exports,"createModuleLogger",(()=>_));var s=r("9Juxm"),i=r("16gRh"),o=r("isVtz"),c=r("4H1bc");const l=s.create(),a=s.create(),h=s.create(),d=s.create(),u=s.create(),g=s.create(),f=s.create(),p=s.create(),w=s.create(),m=t=>{const e=[],r=[];let n=0;for(;n<t.length;n++){const s=t[n];s.constructor===String||s.constructor===Number?e.push(s):s.constructor===Object&&r.push(JSON.stringify(s))}return r},y=[u,f,p,h];let b=0,k=i.getUnixTime();const _=(t,e)=>{const r=y[b],n=o.getVariable("log"),s=null!==n&&("*"===n||"true"===n||new RegExp(n,"gi").test(e));return b=(b+1)%y.length,e+=": ",s?(...n)=>{const s=i.getUnixTime(),o=s-k;k=s,t(r,e,w,...n.map((t=>"string"==typeof t||"symbol"==typeof t?t:JSON.stringify(t))),r," +"+o+"ms")}:c.nop}})),r.register("9Juxm",(function(e,r){t(e.exports,"create",(()=>n));const n=Symbol})),r.register("iRxFz",(function(e,r){t(e.exports,"iteratorFilter",(()=>s)),t(e.exports,"iteratorMap",(()=>i));const n=t=>({[Symbol.iterator](){return this},next:t}),s=(t,e)=>n((()=>{let r;do{r=t.next()}while(!r.done&&!e(r.value));return r})),i=(t,e)=>n((()=>{const{done:r,value:n}=t.next();return{done:r,value:r?void 0:e(n)}}))})),r.register("7X7lt",(function(e,n){t(e.exports,"YKeyValue",(()=>i));var s=r("8Gyr5");class i extends s.Observable{constructor(t){super(),this.yarray=t,this.doc=t.doc,this.map=new Map;{const e=t.toArray();this.doc.transact((()=>{for(let r=e.length-1;r>=0;r--){const n=e[r];this.map.has(n.key)?t.delete(r):this.map.set(n.key,n)}}))}t.observe(((e,r)=>{const n=new Map,s=Array.from(e.changes.added);e.changes.deleted.forEach((t=>{t.content.getContent().forEach((t=>{this.map.get(t.key)===t&&(this.map.delete(t.key),n.set(t.key,{action:"delete",oldValue:t.val}))}))}));const i=new Map;s.map((t=>t.content.getContent())).flat().forEach((t=>{i.set(t.key,t)}));const o=new Set,c=t.toArray();this.doc.transact((e=>{for(let e=c.length-1;e>=0&&(i.size>0||o.size>0);e--){const r=c[e];if(o.has(r.key))o.delete(r.key),t.delete(e,1);else if(i.get(r.key)===r){const t=this.map.get(r.key);if(t)o.add(r.key),n.set(r.key,{action:"update",oldValue:t.val,newValue:r.val});else{const t=n.get(r.key);t&&"delete"===t.action?n.set(r.key,{action:"update",newValue:r.val,oldValue:t.oldValue}):n.set(r.key,{action:"add",newValue:r.val})}i.delete(r.key),this.map.set(r.key,r)}else i.has(r.key)&&(o.add(r.key),i.delete(r.key))}})),n.size>0&&this.emit("change",[n,r])}))}set(t,e){this.doc.transact((r=>{this.map.has(t)&&this.delete(t),this.yarray.push([{key:t,val:e}])}))}delete(t){let e=0;for(const r of this.yarray){if(r.key===t){this.yarray.delete(e);break}e++}}get(t){const e=this.map.get(t);return e&&e.val}has(t){return this.map.has(t)}}})),r.register("gjWRH",(function(e,r){t(e.exports,"encode",(()=>s)),t(e.exports,"decode",(()=>o));const{fromCharCode:n}=String,s=t=>{const e=[];for(let r=0,{length:s}=t;r<s;r++)e.push(n(t[r]));return btoa(e.join(""))},i=t=>t.charCodeAt(0),o=t=>Uint8Array.from(atob(t),i)}));
|