diff --git "a/assets/quill-BrthQqmN.js" "b/assets/quill-BrthQqmN.js" new file mode 100644--- /dev/null +++ "b/assets/quill-BrthQqmN.js" @@ -0,0 +1,49 @@ +var Ko=Object.defineProperty;var Vo=(r,t,e)=>t in r?Ko(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var q=(r,t,e)=>Vo(r,typeof t!="symbol"?t+"":t,e);import{c as ge,g as Bl}from"./index-DuDEiwoX.js";var Ml=typeof global=="object"&&global&&global.Object===Object&&global,Wo=typeof self=="object"&&self&&self.Object===Object&&self,te=Ml||Wo||Function("return this")(),ye=te.Symbol,Dl=Object.prototype,Zo=Dl.hasOwnProperty,Xo=Dl.toString,Ln=ye?ye.toStringTag:void 0;function Yo(r){var t=Zo.call(r,Ln),e=r[Ln];try{r[Ln]=void 0;var n=!0}catch{}var s=Xo.call(r);return n&&(t?r[Ln]=e:delete r[Ln]),s}var Qo=Object.prototype,Jo=Qo.toString;function ta(r){return Jo.call(r)}var ea="[object Null]",na="[object Undefined]",Ii=ye?ye.toStringTag:void 0;function cn(r){return r==null?r===void 0?na:ea:Ii&&Ii in Object(r)?Yo(r):ta(r)}function le(r){return r!=null&&typeof r=="object"}var _e=Array.isArray;function ve(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}function $l(r){return r}var ra="[object AsyncFunction]",sa="[object Function]",ia="[object GeneratorFunction]",la="[object Proxy]";function ci(r){if(!ve(r))return!1;var t=cn(r);return t==sa||t==ia||t==ra||t==la}var Ls=te["__core-js_shared__"],Ri=function(){var r=/[^.]+$/.exec(Ls&&Ls.keys&&Ls.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function oa(r){return!!Ri&&Ri in r}var aa=Function.prototype,ca=aa.toString;function Ce(r){if(r!=null){try{return ca.call(r)}catch{}try{return r+""}catch{}}return""}var ua=/[\\^$.*+?()[\]{}|]/g,ha=/^\[object .+?Constructor\]$/,fa=Function.prototype,da=Object.prototype,ga=fa.toString,pa=da.hasOwnProperty,ma=RegExp("^"+ga.call(pa).replace(ua,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ba(r){if(!ve(r)||oa(r))return!1;var t=ci(r)?ma:ha;return t.test(Ce(r))}function ya(r,t){return r==null?void 0:r[t]}function Ie(r,t){var e=ya(r,t);return ba(e)?e:void 0}var Ps=Ie(te,"WeakMap"),ki=Object.create,va=function(){function r(){}return function(t){if(!ve(t))return{};if(ki)return ki(t);r.prototype=t;var e=new r;return r.prototype=void 0,e}}();function Aa(r,t,e){switch(e.length){case 0:return r.call(t);case 1:return r.call(t,e[0]);case 2:return r.call(t,e[0],e[1]);case 3:return r.call(t,e[0],e[1],e[2])}return r.apply(t,e)}function jl(r,t){var e=-1,n=r.length;for(t||(t=Array(n));++e0){if(++t>=Ea)return arguments[0]}else t=0;return r.apply(void 0,arguments)}}function xa(r){return function(){return r}}var Sr=function(){try{var r=Ie(Object,"defineProperty");return r({},"",{}),r}catch{}}(),La=Sr?function(r,t){return Sr(r,"toString",{configurable:!0,enumerable:!1,value:xa(t),writable:!0})}:$l,Sa=Ta(La);function _a(r,t){for(var e=-1,n=r==null?0:r.length;++e-1&&r%1==0&&r-1&&r%1==0&&r<=Ba}function Cr(r){return r!=null&&Fl(r.length)&&!ci(r)}function Ma(r,t,e){if(!ve(e))return!1;var n=typeof t;return(n=="number"?Cr(e)&&Pl(t,e.length):n=="string"&&t in e)?Fn(e[t],r):!1}function Da(r){return ka(function(t,e){var n=-1,s=e.length,i=s>1?e[s-1]:void 0,o=s>2?e[2]:void 0;for(i=r.length>3&&typeof i=="function"?(s--,i):void 0,o&&Ma(e[0],e[1],o)&&(i=s<3?void 0:i,s=1),t=Object(t);++n-1}function Gc(r,t){var e=this.__data__,n=Ir(e,r);return n<0?(++this.size,e.push([r,t])):e[n][1]=t,this}function ce(r){var t=-1,e=r==null?0:r.length;for(this.clear();++ta))return!1;var h=i.get(r),p=i.get(t);if(h&&p)return h==t&&p==r;var y=-1,f=!0,m=e&jh?new Or:void 0;for(i.set(r,t),i.set(t,r);++y(r[r.TYPE=3]="TYPE",r[r.LEVEL=12]="LEVEL",r[r.ATTRIBUTE=13]="ATTRIBUTE",r[r.BLOT=14]="BLOT",r[r.INLINE=7]="INLINE",r[r.BLOCK=11]="BLOCK",r[r.BLOCK_BLOT=10]="BLOCK_BLOT",r[r.INLINE_BLOT=6]="INLINE_BLOT",r[r.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",r[r.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",r[r.ANY=15]="ANY",r))(D||{});class Qt{constructor(t,e,n={}){this.attrName=t,this.keyName=e;const s=D.TYPE&D.ATTRIBUTE;this.scope=n.scope!=null?n.scope&D.LEVEL|s:D.ATTRIBUTE,n.whitelist!=null&&(this.whitelist=n.whitelist)}static keys(t){return Array.from(t.attributes).map(e=>e.name)}add(t,e){return this.canAdd(t,e)?(t.setAttribute(this.keyName,e),!0):!1}canAdd(t,e){return this.whitelist==null?!0:typeof e=="string"?this.whitelist.indexOf(e.replace(/["']/g,""))>-1:this.whitelist.indexOf(e)>-1}remove(t){t.removeAttribute(this.keyName)}value(t){const e=t.getAttribute(this.keyName);return this.canAdd(t,e)&&e?e:""}}class en extends Error{constructor(t){t="[Parchment] "+t,super(t),this.message=t,this.name=this.constructor.name}}const co=class Ws{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(t,e=!1){if(t==null)return null;if(this.blots.has(t))return this.blots.get(t)||null;if(e){let n=null;try{n=t.parentNode}catch{return null}return this.find(n,e)}return null}create(t,e,n){const s=this.query(e);if(s==null)throw new en(`Unable to create ${e} blot`);const i=s,o=e instanceof Node||e.nodeType===Node.TEXT_NODE?e:i.create(n),a=new i(t,o,n);return Ws.blots.set(a.domNode,a),a}find(t,e=!1){return Ws.find(t,e)}query(t,e=D.ANY){let n;return typeof t=="string"?n=this.types[t]||this.attributes[t]:t instanceof Text||t.nodeType===Node.TEXT_NODE?n=this.types.text:typeof t=="number"?t&D.LEVEL&D.BLOCK?n=this.types.block:t&D.LEVEL&D.INLINE&&(n=this.types.inline):t instanceof Element&&((t.getAttribute("class")||"").split(/\s+/).some(s=>(n=this.classes[s],!!n)),n=n||this.tags[t.tagName]),n==null?null:"scope"in n&&e&D.LEVEL&n.scope&&e&D.TYPE&n.scope?n:null}register(...t){return t.map(e=>{const n="blotName"in e,s="attrName"in e;if(!n&&!s)throw new en("Invalid definition");if(n&&e.blotName==="abstract")throw new en("Cannot register abstract class");const i=n?e.blotName:s?e.attrName:void 0;return this.types[i]=e,s?typeof e.keyName=="string"&&(this.attributes[e.keyName]=e):n&&(e.className&&(this.classes[e.className]=e),e.tagName&&(Array.isArray(e.tagName)?e.tagName=e.tagName.map(o=>o.toUpperCase()):e.tagName=e.tagName.toUpperCase(),(Array.isArray(e.tagName)?e.tagName:[e.tagName]).forEach(o=>{(this.tags[o]==null||e.className==null)&&(this.tags[o]=e)}))),e})}};co.blots=new WeakMap;let sn=co;function rl(r,t){return(r.getAttribute("class")||"").split(/\s+/).filter(e=>e.indexOf(`${t}-`)===0)}class pf extends Qt{static keys(t){return(t.getAttribute("class")||"").split(/\s+/).map(e=>e.split("-").slice(0,-1).join("-"))}add(t,e){return this.canAdd(t,e)?(this.remove(t),t.classList.add(`${this.keyName}-${e}`),!0):!1}remove(t){rl(t,this.keyName).forEach(e=>{t.classList.remove(e)}),t.classList.length===0&&t.removeAttribute("class")}value(t){const e=(rl(t,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(t,e)?e:""}}const Ft=pf;function Os(r){const t=r.split("-"),e=t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("");return t[0]+e}class mf extends Qt{static keys(t){return(t.getAttribute("style")||"").split(";").map(e=>e.split(":")[0].trim())}add(t,e){return this.canAdd(t,e)?(t.style[Os(this.keyName)]=e,!0):!1}remove(t){t.style[Os(this.keyName)]="",t.getAttribute("style")||t.removeAttribute("style")}value(t){const e=t.style[Os(this.keyName)];return this.canAdd(t,e)?e:""}}const Ae=mf;class bf{constructor(t){this.attributes={},this.domNode=t,this.build()}attribute(t,e){e?t.add(this.domNode,e)&&(t.value(this.domNode)!=null?this.attributes[t.attrName]=t:delete this.attributes[t.attrName]):(t.remove(this.domNode),delete this.attributes[t.attrName])}build(){this.attributes={};const t=sn.find(this.domNode);if(t==null)return;const e=Qt.keys(this.domNode),n=Ft.keys(this.domNode),s=Ae.keys(this.domNode);e.concat(n).concat(s).forEach(i=>{const o=t.scroll.query(i,D.ATTRIBUTE);o instanceof Qt&&(this.attributes[o.attrName]=o)})}copy(t){Object.keys(this.attributes).forEach(e=>{const n=this.attributes[e].value(this.domNode);t.format(e,n)})}move(t){this.copy(t),Object.keys(this.attributes).forEach(e=>{this.attributes[e].remove(this.domNode)}),this.attributes={}}values(){return Object.keys(this.attributes).reduce((t,e)=>(t[e]=this.attributes[e].value(this.domNode),t),{})}}const kr=bf,uo=class{constructor(t,e){this.scroll=t,this.domNode=e,sn.blots.set(e,this),this.prev=null,this.next=null}static create(t){if(this.tagName==null)throw new en("Blot definition missing tagName");let e,n;return Array.isArray(this.tagName)?(typeof t=="string"?(n=t.toUpperCase(),parseInt(n,10).toString()===n&&(n=parseInt(n,10))):typeof t=="number"&&(n=t),typeof n=="number"?e=document.createElement(this.tagName[n-1]):n&&this.tagName.indexOf(n)>-1?e=document.createElement(n):e=document.createElement(this.tagName[0])):e=document.createElement(this.tagName),this.className&&e.classList.add(this.className),e}get statics(){return this.constructor}attach(){}clone(){const t=this.domNode.cloneNode(!1);return this.scroll.create(t)}detach(){this.parent!=null&&this.parent.removeChild(this),sn.blots.delete(this.domNode)}deleteAt(t,e){this.isolate(t,e).remove()}formatAt(t,e,n,s){const i=this.isolate(t,e);if(this.scroll.query(n,D.BLOT)!=null&&s)i.wrap(n,s);else if(this.scroll.query(n,D.ATTRIBUTE)!=null){const o=this.scroll.create(this.statics.scope);i.wrap(o),o.format(n,s)}}insertAt(t,e,n){const s=n==null?this.scroll.create("text",e):this.scroll.create(e,n),i=this.split(t);this.parent.insertBefore(s,i||void 0)}isolate(t,e){const n=this.split(t);if(n==null)throw new Error("Attempt to isolate at end");return n.split(e),n}length(){return 1}offset(t=this.parent){return this.parent==null||this===t?0:this.parent.children.offset(this)+this.parent.offset(t)}optimize(t){this.statics.requiredContainer&&!(this.parent instanceof this.statics.requiredContainer)&&this.wrap(this.statics.requiredContainer.blotName)}remove(){this.domNode.parentNode!=null&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(t,e){const n=typeof t=="string"?this.scroll.create(t,e):t;return this.parent!=null&&(this.parent.insertBefore(n,this.next||void 0),this.remove()),n}split(t,e){return t===0?this:this.next}update(t,e){}wrap(t,e){const n=typeof t=="string"?this.scroll.create(t,e):t;if(this.parent!=null&&this.parent.insertBefore(n,this.next||void 0),typeof n.appendChild!="function")throw new en(`Cannot wrap ${t}`);return n.appendChild(this),n}};uo.blotName="abstract";let ho=uo;const fo=class extends ho{static value(t){return!0}index(t,e){return this.domNode===t||this.domNode.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(e,1):-1}position(t,e){let n=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return t>0&&(n+=1),[this.parent.domNode,n]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};fo.scope=D.INLINE_BLOT;let yf=fo;const At=yf;class vf{constructor(){this.head=null,this.tail=null,this.length=0}append(...t){if(this.insertBefore(t[0],null),t.length>1){const e=t.slice(1);this.append(...e)}}at(t){const e=this.iterator();let n=e();for(;n&&t>0;)t-=1,n=e();return n}contains(t){const e=this.iterator();let n=e();for(;n;){if(n===t)return!0;n=e()}return!1}indexOf(t){const e=this.iterator();let n=e(),s=0;for(;n;){if(n===t)return s;s+=1,n=e()}return-1}insertBefore(t,e){t!=null&&(this.remove(t),t.next=e,e!=null?(t.prev=e.prev,e.prev!=null&&(e.prev.next=t),e.prev=t,e===this.head&&(this.head=t)):this.tail!=null?(this.tail.next=t,t.prev=this.tail,this.tail=t):(t.prev=null,this.head=this.tail=t),this.length+=1)}offset(t){let e=0,n=this.head;for(;n!=null;){if(n===t)return e;e+=n.length(),n=n.next}return-1}remove(t){this.contains(t)&&(t.prev!=null&&(t.prev.next=t.next),t.next!=null&&(t.next.prev=t.prev),t===this.head&&(this.head=t.next),t===this.tail&&(this.tail=t.prev),this.length-=1)}iterator(t=this.head){return()=>{const e=t;return t!=null&&(t=t.next),e}}find(t,e=!1){const n=this.iterator();let s=n();for(;s;){const i=s.length();if(to?n(u,t-o,Math.min(e,o+h-t)):n(u,0,Math.min(h,t+e-o)),o+=h,u=a()}}map(t){return this.reduce((e,n)=>(e.push(t(n)),e),[])}reduce(t,e){const n=this.iterator();let s=n();for(;s;)e=t(e,s),s=n();return e}}function sl(r,t){const e=t.find(r);if(e)return e;try{return t.create(r)}catch{const n=t.create(D.INLINE);return Array.from(r.childNodes).forEach(s=>{n.domNode.appendChild(s)}),r.parentNode&&r.parentNode.replaceChild(n.domNode,r),n.attach(),n}}const go=class de extends ho{constructor(t,e){super(t,e),this.uiNode=null,this.build()}appendChild(t){this.insertBefore(t)}attach(){super.attach(),this.children.forEach(t=>{t.attach()})}attachUI(t){this.uiNode!=null&&this.uiNode.remove(),this.uiNode=t,de.uiClass&&this.uiNode.classList.add(de.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new vf,Array.from(this.domNode.childNodes).filter(t=>t!==this.uiNode).reverse().forEach(t=>{try{const e=sl(t,this.scroll);this.insertBefore(e,this.children.head||void 0)}catch(e){if(e instanceof en)return;throw e}})}deleteAt(t,e){if(t===0&&e===this.length())return this.remove();this.children.forEachAt(t,e,(n,s,i)=>{n.deleteAt(s,i)})}descendant(t,e=0){const[n,s]=this.children.find(e);return t.blotName==null&&t(n)||t.blotName!=null&&n instanceof t?[n,s]:n instanceof de?n.descendant(t,s):[null,-1]}descendants(t,e=0,n=Number.MAX_VALUE){let s=[],i=n;return this.children.forEachAt(e,n,(o,a,u)=>{(t.blotName==null&&t(o)||t.blotName!=null&&o instanceof t)&&s.push(o),o instanceof de&&(s=s.concat(o.descendants(t,a,i))),i-=u}),s}detach(){this.children.forEach(t=>{t.detach()}),super.detach()}enforceAllowedChildren(){let t=!1;this.children.forEach(e=>{t||this.statics.allowedChildren.some(n=>e instanceof n)||(e.statics.scope===D.BLOCK_BLOT?(e.next!=null&&this.splitAfter(e),e.prev!=null&&this.splitAfter(e.prev),e.parent.unwrap(),t=!0):e instanceof de?e.unwrap():e.remove())})}formatAt(t,e,n,s){this.children.forEachAt(t,e,(i,o,a)=>{i.formatAt(o,a,n,s)})}insertAt(t,e,n){const[s,i]=this.children.find(t);if(s)s.insertAt(i,e,n);else{const o=n==null?this.scroll.create("text",e):this.scroll.create(e,n);this.appendChild(o)}}insertBefore(t,e){t.parent!=null&&t.parent.children.remove(t);let n=null;this.children.insertBefore(t,e||null),t.parent=this,e!=null&&(n=e.domNode),(this.domNode.parentNode!==t.domNode||this.domNode.nextSibling!==n)&&this.domNode.insertBefore(t.domNode,n),t.attach()}length(){return this.children.reduce((t,e)=>t+e.length(),0)}moveChildren(t,e){this.children.forEach(n=>{t.insertBefore(n,e)})}optimize(t){if(super.optimize(t),this.enforceAllowedChildren(),this.uiNode!=null&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),this.children.length===0)if(this.statics.defaultChild!=null){const e=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(e)}else this.remove()}path(t,e=!1){const[n,s]=this.children.find(t,e),i=[[this,t]];return n instanceof de?i.concat(n.path(s,e)):(n!=null&&i.push([n,s]),i)}removeChild(t){this.children.remove(t)}replaceWith(t,e){const n=typeof t=="string"?this.scroll.create(t,e):t;return n instanceof de&&this.moveChildren(n),super.replaceWith(n)}split(t,e=!1){if(!e){if(t===0)return this;if(t===this.length())return this.next}const n=this.clone();return this.parent&&this.parent.insertBefore(n,this.next||void 0),this.children.forEachAt(t,this.length(),(s,i,o)=>{const a=s.split(i,e);a!=null&&n.appendChild(a)}),n}splitAfter(t){const e=this.clone();for(;t.next!=null;)e.appendChild(t.next);return this.parent&&this.parent.insertBefore(e,this.next||void 0),e}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(t,e){const n=[],s=[];t.forEach(i=>{i.target===this.domNode&&i.type==="childList"&&(n.push(...i.addedNodes),s.push(...i.removedNodes))}),s.forEach(i=>{if(i.parentNode!=null&&i.tagName!=="IFRAME"&&document.body.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;const o=this.scroll.find(i);o!=null&&(o.domNode.parentNode==null||o.domNode.parentNode===this.domNode)&&o.detach()}),n.filter(i=>i.parentNode===this.domNode&&i!==this.uiNode).sort((i,o)=>i===o?0:i.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1).forEach(i=>{let o=null;i.nextSibling!=null&&(o=this.scroll.find(i.nextSibling));const a=sl(i,this.scroll);(a.next!==o||a.next==null)&&(a.parent!=null&&a.parent.removeChild(this),this.insertBefore(a,o||void 0))}),this.enforceAllowedChildren()}};go.uiClass="";let Af=go;const Pt=Af;function Ef(r,t){if(Object.keys(r).length!==Object.keys(t).length)return!1;for(const e in r)if(r[e]!==t[e])return!1;return!0}const We=class Ze extends Pt{static create(t){return super.create(t)}static formats(t,e){const n=e.query(Ze.blotName);if(!(n!=null&&t.tagName===n.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new kr(this.domNode)}format(t,e){if(t===this.statics.blotName&&!e)this.children.forEach(n=>{n instanceof Ze||(n=n.wrap(Ze.blotName,!0)),this.attributes.copy(n)}),this.unwrap();else{const n=this.scroll.query(t,D.INLINE);if(n==null)return;n instanceof Qt?this.attributes.attribute(n,e):e&&(t!==this.statics.blotName||this.formats()[t]!==e)&&this.replaceWith(t,e)}}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return e!=null&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,s){this.formats()[n]!=null||this.scroll.query(n,D.ATTRIBUTE)?this.isolate(t,e).format(n,s):super.formatAt(t,e,n,s)}optimize(t){super.optimize(t);const e=this.formats();if(Object.keys(e).length===0)return this.unwrap();const n=this.next;n instanceof Ze&&n.prev===this&&Ef(e,n.formats())&&(n.moveChildren(this),n.remove())}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some(n=>n.target===this.domNode&&n.type==="attributes")&&this.attributes.build()}wrap(t,e){const n=super.wrap(t,e);return n instanceof Ze&&this.attributes.move(n),n}};We.allowedChildren=[We,At],We.blotName="inline",We.scope=D.INLINE_BLOT,We.tagName="SPAN";let Nf=We;const vi=Nf,Xe=class Zs extends Pt{static create(t){return super.create(t)}static formats(t,e){const n=e.query(Zs.blotName);if(!(n!=null&&t.tagName===n.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new kr(this.domNode)}format(t,e){const n=this.scroll.query(t,D.BLOCK);n!=null&&(n instanceof Qt?this.attributes.attribute(n,e):t===this.statics.blotName&&!e?this.replaceWith(Zs.blotName):e&&(t!==this.statics.blotName||this.formats()[t]!==e)&&this.replaceWith(t,e))}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return e!=null&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,s){this.scroll.query(n,D.BLOCK)!=null?this.format(n,s):super.formatAt(t,e,n,s)}insertAt(t,e,n){if(n==null||this.scroll.query(e,D.INLINE)!=null)super.insertAt(t,e,n);else{const s=this.split(t);if(s!=null){const i=this.scroll.create(e,n);s.parent.insertBefore(i,s)}else throw new Error("Attempt to insertAt after block boundaries")}}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some(n=>n.target===this.domNode&&n.type==="attributes")&&this.attributes.build()}};Xe.blotName="block",Xe.scope=D.BLOCK_BLOT,Xe.tagName="P",Xe.allowedChildren=[vi,Xe,At];let wf=Xe;const $n=wf,Xs=class extends Pt{checkMerge(){return this.next!==null&&this.next.statics.blotName===this.statics.blotName}deleteAt(t,e){super.deleteAt(t,e),this.enforceAllowedChildren()}formatAt(t,e,n,s){super.formatAt(t,e,n,s),this.enforceAllowedChildren()}insertAt(t,e,n){super.insertAt(t,e,n),this.enforceAllowedChildren()}optimize(t){super.optimize(t),this.children.length>0&&this.next!=null&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};Xs.blotName="container",Xs.scope=D.BLOCK_BLOT;let Tf=Xs;const Br=Tf;class xf extends At{static formats(t,e){}format(t,e){super.formatAt(0,this.length(),t,e)}formatAt(t,e,n,s){t===0&&e===this.length()?this.format(n,s):super.formatAt(t,e,n,s)}formats(){return this.statics.formats(this.domNode,this.scroll)}}const St=xf,Lf={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},Sf=100,Ye=class extends Pt{constructor(t,e){super(null,e),this.registry=t,this.scroll=this,this.build(),this.observer=new MutationObserver(n=>{this.update(n)}),this.observer.observe(this.domNode,Lf),this.attach()}create(t,e){return this.registry.create(this,t,e)}find(t,e=!1){const n=this.registry.find(t,e);return n?n.scroll===this?n:e?this.find(n.scroll.domNode.parentNode,!0):null:null}query(t,e=D.ANY){return this.registry.query(t,e)}register(...t){return this.registry.register(...t)}build(){this.scroll!=null&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(t,e){this.update(),t===0&&e===this.length()?this.children.forEach(n=>{n.remove()}):super.deleteAt(t,e)}formatAt(t,e,n,s){this.update(),super.formatAt(t,e,n,s)}insertAt(t,e,n){this.update(),super.insertAt(t,e,n)}optimize(t=[],e={}){super.optimize(e);const n=e.mutationsMap||new WeakMap;let s=Array.from(this.observer.takeRecords());for(;s.length>0;)t.push(s.pop());const i=(u,h=!0)=>{u==null||u===this||u.domNode.parentNode!=null&&(n.has(u.domNode)||n.set(u.domNode,[]),h&&i(u.parent))},o=u=>{n.has(u.domNode)&&(u instanceof Pt&&u.children.forEach(o),n.delete(u.domNode),u.optimize(e))};let a=t;for(let u=0;a.length>0;u+=1){if(u>=Sf)throw new Error("[Parchment] Maximum optimize iterations reached");for(a.forEach(h=>{const p=this.find(h.target,!0);p!=null&&(p.domNode===h.target&&(h.type==="childList"?(i(this.find(h.previousSibling,!1)),Array.from(h.addedNodes).forEach(y=>{const f=this.find(y,!1);i(f,!1),f instanceof Pt&&f.children.forEach(m=>{i(m,!1)})})):h.type==="attributes"&&i(p.prev)),i(p))}),this.children.forEach(o),a=Array.from(this.observer.takeRecords()),s=a.slice();s.length>0;)t.push(s.pop())}}update(t,e={}){t=t||this.observer.takeRecords();const n=new WeakMap;t.map(s=>{const i=this.find(s.target,!0);return i==null?null:n.has(i.domNode)?(n.get(i.domNode).push(s),null):(n.set(i.domNode,[s]),i)}).forEach(s=>{s!=null&&s!==this&&n.has(s.domNode)&&s.update(n.get(s.domNode)||[],e)}),e.mutationsMap=n,n.has(this.domNode)&&super.update(n.get(this.domNode),e),this.optimize(t,e)}};Ye.blotName="scroll",Ye.defaultChild=$n,Ye.allowedChildren=[$n,Br],Ye.scope=D.BLOCK_BLOT,Ye.tagName="DIV";let _f=Ye;const Ai=_f,Ys=class po extends At{static create(t){return document.createTextNode(t)}static value(t){return t.data}constructor(t,e){super(t,e),this.text=this.statics.value(this.domNode)}deleteAt(t,e){this.domNode.data=this.text=this.text.slice(0,t)+this.text.slice(t+e)}index(t,e){return this.domNode===t?e:-1}insertAt(t,e,n){n==null?(this.text=this.text.slice(0,t)+e+this.text.slice(t),this.domNode.data=this.text):super.insertAt(t,e,n)}length(){return this.text.length}optimize(t){super.optimize(t),this.text=this.statics.value(this.domNode),this.text.length===0?this.remove():this.next instanceof po&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(t,e=!1){return[this.domNode,t]}split(t,e=!1){if(!e){if(t===0)return this;if(t===this.length())return this.next}const n=this.scroll.create(this.domNode.splitText(t));return this.parent.insertBefore(n,this.next||void 0),this.text=this.statics.value(this.domNode),n}update(t,e){t.some(n=>n.type==="characterData"&&n.target===this.domNode)&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};Ys.blotName="text",Ys.scope=D.INLINE_BLOT;let Of=Ys;const qr=Of,qf=Object.freeze(Object.defineProperty({__proto__:null,Attributor:Qt,AttributorStore:kr,BlockBlot:$n,ClassAttributor:Ft,ContainerBlot:Br,EmbedBlot:St,InlineBlot:vi,LeafBlot:At,ParentBlot:Pt,Registry:sn,Scope:D,ScrollBlot:Ai,StyleAttributor:Ae,TextBlot:qr},Symbol.toStringTag,{value:"Module"}));var pr={exports:{}},qs,il;function Cf(){if(il)return qs;il=1;var r=-1,t=1,e=0;function n(g,L,b,O,S){if(g===L)return g?[[e,g]]:[];if(b!=null){var x=Rt(g,L,b);if(x)return x}var _=a(g,L),k=g.substring(0,_);g=g.substring(_),L=L.substring(_),_=h(g,L);var $=g.substring(g.length-_);g=g.substring(0,g.length-_),L=L.substring(0,L.length-_);var I=s(g,L);return k&&I.unshift([e,k]),$&&I.push([e,$]),C(I,S),O&&y(I),I}function s(g,L){var b;if(!g)return[[t,L]];if(!L)return[[r,g]];var O=g.length>L.length?g:L,S=g.length>L.length?L:g,x=O.indexOf(S);if(x!==-1)return b=[[t,O.substring(0,x)],[e,S],[t,O.substring(x+S.length)]],g.length>L.length&&(b[0][0]=b[2][0]=r),b;if(S.length===1)return[[r,g],[t,L]];var _=p(g,L);if(_){var k=_[0],$=_[1],I=_[2],G=_[3],F=_[4],V=n(k,I),W=n($,G);return V.concat([[e,F]],W)}return i(g,L)}function i(g,L){for(var b=g.length,O=L.length,S=Math.ceil((b+O)/2),x=S,_=2*S,k=new Array(_),$=new Array(_),I=0;I<_;I++)k[I]=-1,$[I]=-1;k[x+1]=0,$[x+1]=0;for(var G=b-O,F=G%2!==0,V=0,W=0,P=0,it=0,ot=0;otb)W+=2;else if(J>O)V+=2;else if(F){var et=x+G-K;if(et>=0&&et<_&&$[et]!==-1){var nt=b-$[et];if(Y>=nt)return o(g,L,Y,J)}}}for(var ct=-ot+P;ct<=ot-it;ct+=2){var et=x+ct,nt;ct===-ot||ct!==ot&&$[et-1]<$[et+1]?nt=$[et+1]:nt=$[et-1]+1;for(var mt=nt-ct;ntb)it+=2;else if(mt>O)P+=2;else if(!F){var Q=x+G-ct;if(Q>=0&&Q<_&&k[Q]!==-1){var Y=k[Q],J=x+Y-Q;if(nt=b-nt,Y>=nt)return o(g,L,Y,J)}}}}return[[r,g],[t,L]]}function o(g,L,b,O){var S=g.substring(0,b),x=L.substring(0,O),_=g.substring(b),k=L.substring(O),$=n(S,x),I=n(_,k);return $.concat(I)}function a(g,L){if(!g||!L||g.charAt(0)!==L.charAt(0))return 0;for(var b=0,O=Math.min(g.length,L.length),S=O,x=0;bO?g=g.substring(b-O):bL.length?g:L,O=g.length>L.length?L:g;if(b.length<4||O.length*2=W.length?[Y,J,et,nt,Q]:null}var x=S(b,O,Math.ceil(b.length/4)),_=S(b,O,Math.ceil(b.length/2)),k;if(!x&&!_)return null;_?x?k=x[4].length>_[4].length?x:_:k=_:k=x;var $,I,G,F;g.length>L.length?($=k[0],I=k[1],G=k[2],F=k[3]):(G=k[0],F=k[1],$=k[2],I=k[3]);var V=k[4];return[$,I,G,F,V]}function y(g){for(var L=!1,b=[],O=0,S=null,x=0,_=0,k=0,$=0,I=0;x0?b[O-1]:-1,_=0,k=0,$=0,I=0,S=null,L=!0)),x++;for(L&&C(g),T(g),x=1;x=W?(V>=G.length/2||V>=F.length/2)&&(g.splice(x,0,[e,F.substring(0,V)]),g[x-1][1]=G.substring(0,G.length-V),g[x+1][1]=F.substring(V),x++):(W>=G.length/2||W>=F.length/2)&&(g.splice(x,0,[e,G.substring(0,W)]),g[x-1][0]=t,g[x-1][1]=F.substring(0,F.length-W),g[x+1][0]=r,g[x+1][1]=G.substring(W),x++),x++}x++}}var f=/[^a-zA-Z0-9]/,m=/\s/,v=/[\r\n]/,w=/\n\r?\n$/,E=/^\r?\n\r?\n/;function T(g){function L(W,P){if(!W||!P)return 6;var it=W.charAt(W.length-1),ot=P.charAt(0),K=it.match(f),Q=ot.match(f),Y=K&&it.match(m),J=Q&&ot.match(m),et=Y&&it.match(v),nt=J&&ot.match(v),ct=et&&W.match(w),mt=nt&&P.match(E);return ct||mt?5:et||nt?4:K&&!Y&&J?3:Y||J?2:K||Q?1:0}for(var b=1;b=F&&(F=V,$=O,I=S,G=x)}g[b-1][1]!=$&&($?g[b-1][1]=$:(g.splice(b-1,1),b--),g[b][1]=I,G?g[b+1][1]=G:(g.splice(b+1,1),b--))}b++}}function C(g,L){g.push([e,""]);for(var b=0,O=0,S=0,x="",_="",k;b=0&&rt(g[$][1])){var I=g[$][1].slice(-1);if(g[$][1]=g[$][1].slice(0,-1),x=I+x,_=I+_,!g[$][1]){g.splice($,1),b--;var G=$-1;g[G]&&g[G][0]===t&&(S++,_=g[G][1]+_,G--),g[G]&&g[G][0]===r&&(O++,x=g[G][1]+x,G--),$=G}}if(U(g[b][1])){var I=g[b][1].charAt(0);g[b][1]=g[b][1].slice(1),x+=I,_+=I}}if(b0||_.length>0){x.length>0&&_.length>0&&(k=a(_,x),k!==0&&($>=0?g[$][1]+=_.substring(0,k):(g.splice(0,0,[e,_.substring(0,k)]),b++),_=_.substring(k),x=x.substring(k)),k=h(_,x),k!==0&&(g[b][1]=_.substring(_.length-k)+g[b][1],_=_.substring(0,_.length-k),x=x.substring(0,x.length-k)));var F=S+O;x.length===0&&_.length===0?(g.splice(b-F,F),b=b-F):x.length===0?(g.splice(b-F,F,[t,_]),b=b-F+1):_.length===0?(g.splice(b-F,F,[r,x]),b=b-F+1):(g.splice(b-F,F,[r,x],[t,_]),b=b-F+2)}b!==0&&g[b-1][0]===e?(g[b-1][1]+=g[b][1],g.splice(b,1)):b++,S=0,O=0,x="",_="";break}}g[g.length-1][1]===""&&g.pop();var V=!1;for(b=1;b=55296&&g<=56319}function z(g){return g>=56320&&g<=57343}function U(g){return z(g.charCodeAt(0))}function rt(g){return M(g.charCodeAt(g.length-1))}function at(g){for(var L=[],b=0;b0&&L.push(g[b]);return L}function ft(g,L,b,O){return rt(g)||U(O)?null:at([[e,g],[r,L],[t,b],[e,O]])}function Rt(g,L,b){var O=typeof b=="number"?{index:b,length:0}:b.oldRange,S=typeof b=="number"?null:b.newRange,x=g.length,_=L.length;if(O.length===0&&(S===null||S.length===0)){var k=O.index,$=g.slice(0,k),I=g.slice(k),G=S?S.index:null;t:{var F=k+_-x;if(G!==null&&G!==F||F<0||F>_)break t;var V=L.slice(0,F),W=L.slice(F);if(W!==I)break t;var P=Math.min(k,F),it=$.slice(0,P),ot=V.slice(0,P);if(it!==ot)break t;var K=$.slice(P),Q=V.slice(P);return ft(it,K,Q,I)}t:{if(G!==null&&G!==k)break t;var Y=k,V=L.slice(0,Y),W=L.slice(Y);if(V!==$)break t;var J=Math.min(x-Y,_-Y),et=I.slice(I.length-J),nt=W.slice(W.length-J);if(et!==nt)break t;var K=I.slice(0,I.length-J),Q=W.slice(0,W.length-J);return ft($,K,Q,et)}}if(O.length>0&&S&&S.length===0)t:{var it=g.slice(0,O.index),et=g.slice(O.index+O.length),P=it.length,J=et.length;if(_-1}function Xr(l,c){var d=this.__data__,A=ze(d,l);return A<0?d.push([l,c]):d[A][1]=c,this}dt.prototype.clear=Kr,dt.prototype.delete=Vr,dt.prototype.get=Wr,dt.prototype.has=Zr,dt.prototype.set=Xr;function bt(l){var c=-1,d=l?l.length:0;for(this.clear();++c-1&&l%1==0&&l-1&&l%1==0&&l<=s}function Wt(l){var c=typeof l;return!!l&&(c=="object"||c=="function")}function hr(l){return!!l&&typeof l=="object"}function xn(l){return Ve(l)?He(l):hs(l)}function Ts(){return[]}function xs(){return!1}r.exports=or}(_n,_n.exports)),_n.exports}var On={exports:{}};On.exports;var ol;function bo(){return ol||(ol=1,function(r,t){var e=200,n="__lodash_hash_undefined__",s=1,i=2,o=9007199254740991,a="[object Arguments]",u="[object Array]",h="[object AsyncFunction]",p="[object Boolean]",y="[object Date]",f="[object Error]",m="[object Function]",v="[object GeneratorFunction]",w="[object Map]",E="[object Number]",T="[object Null]",C="[object Object]",M="[object Promise]",z="[object Proxy]",U="[object RegExp]",rt="[object Set]",at="[object String]",ft="[object Symbol]",Rt="[object Undefined]",Lt="[object WeakMap]",g="[object ArrayBuffer]",L="[object DataView]",b="[object Float32Array]",O="[object Float64Array]",S="[object Int8Array]",x="[object Int16Array]",_="[object Int32Array]",k="[object Uint8Array]",$="[object Uint8ClampedArray]",I="[object Uint16Array]",G="[object Uint32Array]",F=/[\\^$.*+?()[\]{}|]/g,V=/^\[object .+?Constructor\]$/,W=/^(?:0|[1-9]\d*)$/,P={};P[b]=P[O]=P[S]=P[x]=P[_]=P[k]=P[$]=P[I]=P[G]=!0,P[a]=P[u]=P[g]=P[p]=P[L]=P[y]=P[f]=P[m]=P[w]=P[E]=P[C]=P[U]=P[rt]=P[at]=P[Lt]=!1;var it=typeof ge=="object"&&ge&&ge.Object===Object&&ge,ot=typeof self=="object"&&self&&self.Object===Object&&self,K=it||ot||Function("return this")(),Q=t&&!t.nodeType&&t,Y=Q&&!0&&r&&!r.nodeType&&r,J=Y&&Y.exports===Q,et=J&&it.process,nt=function(){try{return et&&et.binding&&et.binding("util")}catch{}}(),ct=nt&&nt.isTypedArray;function mt(l,c){for(var d=-1,A=l==null?0:l.length,H=0,j=[];++d-1}function es(l,c){var d=this.__data__,A=Ge(d,l);return A<0?(++this.size,d.push([l,c])):d[A][1]=c,this}bt.prototype.clear=Yr,bt.prototype.delete=Qr,bt.prototype.get=Jr,bt.prototype.has=ts,bt.prototype.set=es;function Tt(l){var c=-1,d=l==null?0:l.length;for(this.clear();++cZ))return!1;var tt=j.get(l);if(tt&&j.get(c))return tt==c;var yt=-1,xt=!0,ht=d&i?new He:void 0;for(j.set(l,c),j.set(c,l);++yt-1&&l%1==0&&l-1&&l%1==0&&l<=o}function ur(l){var c=typeof l;return l!=null&&(c=="object"||c=="function")}function Wt(l){return l!=null&&typeof l=="object"}var hr=ct?Pr(ct):gs;function xn(l){return wn(l)?hs(l):ps(l)}function Ts(){return[]}function xs(){return!1}r.exports=ws}(On,On.exports)),On.exports}var mr={},al;function If(){if(al)return mr;al=1,Object.defineProperty(mr,"__esModule",{value:!0});const r=mo(),t=bo();var e;return function(n){function s(u={},h={},p=!1){typeof u!="object"&&(u={}),typeof h!="object"&&(h={});let y=r(h);p||(y=Object.keys(y).reduce((f,m)=>(y[m]!=null&&(f[m]=y[m]),f),{}));for(const f in u)u[f]!==void 0&&h[f]===void 0&&(y[f]=u[f]);return Object.keys(y).length>0?y:void 0}n.compose=s;function i(u={},h={}){typeof u!="object"&&(u={}),typeof h!="object"&&(h={});const p=Object.keys(u).concat(Object.keys(h)).reduce((y,f)=>(t(u[f],h[f])||(y[f]=h[f]===void 0?null:h[f]),y),{});return Object.keys(p).length>0?p:void 0}n.diff=i;function o(u={},h={}){u=u||{};const p=Object.keys(h).reduce((y,f)=>(h[f]!==u[f]&&u[f]!==void 0&&(y[f]=h[f]),y),{});return Object.keys(u).reduce((y,f)=>(u[f]!==h[f]&&h[f]===void 0&&(y[f]=null),y),p)}n.invert=o;function a(u,h,p=!1){if(typeof u!="object")return h;if(typeof h!="object")return;if(!p)return h;const y=Object.keys(h).reduce((f,m)=>(u[m]===void 0&&(f[m]=h[m]),f),{});return Object.keys(y).length>0?y:void 0}n.transform=a}(e||(e={})),mr.default=e,mr}var br={},cl;function yo(){if(cl)return br;cl=1,Object.defineProperty(br,"__esModule",{value:!0});var r;return function(t){function e(n){return typeof n.delete=="number"?n.delete:typeof n.retain=="number"?n.retain:typeof n.retain=="object"&&n.retain!==null?1:typeof n.insert=="string"?n.insert.length:1}t.length=e}(r||(r={})),br.default=r,br}var yr={},ul;function Rf(){if(ul)return yr;ul=1,Object.defineProperty(yr,"__esModule",{value:!0});const r=yo();class t{constructor(n){this.ops=n,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(n){n||(n=1/0);const s=this.ops[this.index];if(s){const i=this.offset,o=r.default.length(s);if(n>=o-i?(n=o-i,this.index+=1,this.offset=0):this.offset+=n,typeof s.delete=="number")return{delete:n};{const a={};return s.attributes&&(a.attributes=s.attributes),typeof s.retain=="number"?a.retain=n:typeof s.retain=="object"&&s.retain!==null?a.retain=s.retain:typeof s.insert=="string"?a.insert=s.insert.substr(i,n):a.insert=s.insert,a}}else return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?r.default.length(this.ops[this.index])-this.offset:1/0}peekType(){const n=this.ops[this.index];return n?typeof n.delete=="number"?"delete":typeof n.retain=="number"||typeof n.retain=="object"&&n.retain!==null?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index);{const n=this.offset,s=this.index,i=this.next(),o=this.ops.slice(this.index);return this.offset=n,this.index=s,[i].concat(o)}}else return[]}}return yr.default=t,yr}var hl;function kf(){return hl||(hl=1,function(r,t){Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeMap=t.OpIterator=t.Op=void 0;const e=Cf(),n=mo(),s=bo(),i=If();t.AttributeMap=i.default;const o=yo();t.Op=o.default;const a=Rf();t.OpIterator=a.default;const u="\0",h=(y,f)=>{if(typeof y!="object"||y===null)throw new Error(`cannot retain a ${typeof y}`);if(typeof f!="object"||f===null)throw new Error(`cannot retain a ${typeof f}`);const m=Object.keys(y)[0];if(!m||m!==Object.keys(f)[0])throw new Error(`embed types not matched: ${m} != ${Object.keys(f)[0]}`);return[m,y[m],f[m]]};class p{constructor(f){Array.isArray(f)?this.ops=f:f!=null&&Array.isArray(f.ops)?this.ops=f.ops:this.ops=[]}static registerEmbed(f,m){this.handlers[f]=m}static unregisterEmbed(f){delete this.handlers[f]}static getHandler(f){const m=this.handlers[f];if(!m)throw new Error(`no handlers for embed type "${f}"`);return m}insert(f,m){const v={};return typeof f=="string"&&f.length===0?this:(v.insert=f,m!=null&&typeof m=="object"&&Object.keys(m).length>0&&(v.attributes=m),this.push(v))}delete(f){return f<=0?this:this.push({delete:f})}retain(f,m){if(typeof f=="number"&&f<=0)return this;const v={retain:f};return m!=null&&typeof m=="object"&&Object.keys(m).length>0&&(v.attributes=m),this.push(v)}push(f){let m=this.ops.length,v=this.ops[m-1];if(f=n(f),typeof v=="object"){if(typeof f.delete=="number"&&typeof v.delete=="number")return this.ops[m-1]={delete:v.delete+f.delete},this;if(typeof v.delete=="number"&&f.insert!=null&&(m-=1,v=this.ops[m-1],typeof v!="object"))return this.ops.unshift(f),this;if(s(f.attributes,v.attributes)){if(typeof f.insert=="string"&&typeof v.insert=="string")return this.ops[m-1]={insert:v.insert+f.insert},typeof f.attributes=="object"&&(this.ops[m-1].attributes=f.attributes),this;if(typeof f.retain=="number"&&typeof v.retain=="number")return this.ops[m-1]={retain:v.retain+f.retain},typeof f.attributes=="object"&&(this.ops[m-1].attributes=f.attributes),this}}return m===this.ops.length?this.ops.push(f):this.ops.splice(m,0,f),this}chop(){const f=this.ops[this.ops.length-1];return f&&typeof f.retain=="number"&&!f.attributes&&this.ops.pop(),this}filter(f){return this.ops.filter(f)}forEach(f){this.ops.forEach(f)}map(f){return this.ops.map(f)}partition(f){const m=[],v=[];return this.forEach(w=>{(f(w)?m:v).push(w)}),[m,v]}reduce(f,m){return this.ops.reduce(f,m)}changeLength(){return this.reduce((f,m)=>m.insert?f+o.default.length(m):m.delete?f-m.delete:f,0)}length(){return this.reduce((f,m)=>f+o.default.length(m),0)}slice(f=0,m=1/0){const v=[],w=new a.default(this.ops);let E=0;for(;E0&&v.next(E.retain-C)}const T=new p(w);for(;m.hasNext()||v.hasNext();)if(v.peekType()==="insert")T.push(v.next());else if(m.peekType()==="delete")T.push(m.next());else{const C=Math.min(m.peekLength(),v.peekLength()),M=m.next(C),z=v.next(C);if(z.retain){const U={};if(typeof M.retain=="number")U.retain=typeof z.retain=="number"?C:z.retain;else if(typeof z.retain=="number")M.retain==null?U.insert=M.insert:U.retain=M.retain;else{const at=M.retain==null?"insert":"retain",[ft,Rt,Lt]=h(M[at],z.retain),g=p.getHandler(ft);U[at]={[ft]:g.compose(Rt,Lt,at==="retain")}}const rt=i.default.compose(M.attributes,z.attributes,typeof M.retain=="number");if(rt&&(U.attributes=rt),T.push(U),!v.hasNext()&&s(T.ops[T.ops.length-1],U)){const at=new p(m.rest());return T.concat(at).chop()}}else typeof z.delete=="number"&&(typeof M.retain=="number"||typeof M.retain=="object"&&M.retain!==null)&&T.push(z)}return T.chop()}concat(f){const m=new p(this.ops.slice());return f.ops.length>0&&(m.push(f.ops[0]),m.ops=m.ops.concat(f.ops.slice(1))),m}diff(f,m){if(this.ops===f.ops)return new p;const v=[this,f].map(M=>M.map(z=>{if(z.insert!=null)return typeof z.insert=="string"?z.insert:u;const U=M===f?"on":"with";throw new Error("diff() called "+U+" non-document")}).join("")),w=new p,E=e(v[0],v[1],m,!0),T=new a.default(this.ops),C=new a.default(f.ops);return E.forEach(M=>{let z=M[1].length;for(;z>0;){let U=0;switch(M[0]){case e.INSERT:U=Math.min(C.peekLength(),z),w.push(C.next(U));break;case e.DELETE:U=Math.min(z,T.peekLength()),T.next(U),w.delete(U);break;case e.EQUAL:U=Math.min(T.peekLength(),C.peekLength(),z);const rt=T.next(U),at=C.next(U);s(rt.insert,at.insert)?w.retain(U,i.default.diff(rt.attributes,at.attributes)):w.push(at).delete(U);break}z-=U}}),w.chop()}eachLine(f,m=` +`){const v=new a.default(this.ops);let w=new p,E=0;for(;v.hasNext();){if(v.peekType()!=="insert")return;const T=v.peek(),C=o.default.length(T)-v.peekLength(),M=typeof T.insert=="string"?T.insert.indexOf(m,C)-C:-1;if(M<0)w.push(v.next());else if(M>0)w.push(v.next(M));else{if(f(w,v.next(1).attributes||{},E)===!1)return;E+=1,w=new p}}w.length()>0&&f(w,{},E)}invert(f){const m=new p;return this.reduce((v,w)=>{if(w.insert)m.delete(o.default.length(w));else{if(typeof w.retain=="number"&&w.attributes==null)return m.retain(w.retain),v+w.retain;if(w.delete||typeof w.retain=="number"){const E=w.delete||w.retain;return f.slice(v,v+E).forEach(C=>{w.delete?m.push(C):w.retain&&w.attributes&&m.retain(o.default.length(C),i.default.invert(w.attributes,C.attributes))}),v+E}else if(typeof w.retain=="object"&&w.retain!==null){const E=f.slice(v,v+1),T=new a.default(E.ops).next(),[C,M,z]=h(w.retain,T.insert),U=p.getHandler(C);return m.retain({[C]:U.invert(M,z)},i.default.invert(w.attributes,T.attributes)),v+1}}return v},0),m.chop()}transform(f,m=!1){if(m=!!m,typeof f=="number")return this.transformPosition(f,m);const v=f,w=new a.default(this.ops),E=new a.default(v.ops),T=new p;for(;w.hasNext()||E.hasNext();)if(w.peekType()==="insert"&&(m||E.peekType()!=="insert"))T.retain(o.default.length(w.next()));else if(E.peekType()==="insert")T.push(E.next());else{const C=Math.min(w.peekLength(),E.peekLength()),M=w.next(C),z=E.next(C);if(M.delete)continue;if(z.delete)T.push(z);else{const U=M.retain,rt=z.retain;let at=typeof rt=="object"&&rt!==null?rt:C;if(typeof U=="object"&&U!==null&&typeof rt=="object"&&rt!==null){const ft=Object.keys(U)[0];if(ft===Object.keys(rt)[0]){const Rt=p.getHandler(ft);Rt&&(at={[ft]:Rt.transform(U[ft],rt[ft],m)})}}T.retain(at,i.default.transform(M.attributes,z.attributes,m))}}return T.chop()}transformPosition(f,m=!1){m=!!m;const v=new a.default(this.ops);let w=0;for(;v.hasNext()&&w<=f;){const E=v.peekLength(),T=v.peekType();if(v.next(),T==="delete"){f-=Math.min(E,f-w);continue}else T==="insert"&&(w":">",'"':""","'":"'"};function Mr(r){return r.replace(/[&<>"']/g,t=>Bf[t])}const Zt=class Zt extends vi{static compare(t,e){const n=Zt.order.indexOf(t),s=Zt.order.indexOf(e);return n>=0||s>=0?n-s:t===e?0:t0){const e=this.parent.isolate(this.offset(),this.length());this.moveChildren(e),e.wrap(this)}}};q(Zt,"allowedChildren",[Zt,Ht,St,Ut]),q(Zt,"order",["cursor","inline","link","underline","strike","italic","bold","script","code"]);let Jt=Zt;const fl=1;class pt extends $n{constructor(){super(...arguments);q(this,"cache",{})}delta(){return this.cache.delta==null&&(this.cache.delta=vo(this)),this.cache.delta}deleteAt(e,n){super.deleteAt(e,n),this.cache={}}formatAt(e,n,s,i){n<=0||(this.scroll.query(s,D.BLOCK)?e+n===this.length()&&this.format(s,i):super.formatAt(e,Math.min(n,this.length()-e-1),s,i),this.cache={})}insertAt(e,n,s){if(s!=null){super.insertAt(e,n,s),this.cache={};return}if(n.length===0)return;const i=n.split(` +`),o=i.shift();o.length>0&&(e(a=a.split(u,!0),a.insertAt(0,h),h.length),e+o.length)}insertBefore(e,n){const{head:s}=this.children;super.insertBefore(e,n),s instanceof Ht&&s.remove(),this.cache={}}length(){return this.cache.length==null&&(this.cache.length=super.length()+fl),this.cache.length}moveChildren(e,n){super.moveChildren(e,n),this.cache={}}optimize(e){super.optimize(e),this.cache={}}path(e){return super.path(e,!0)}removeChild(e){super.removeChild(e),this.cache={}}split(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(n&&(e===0||e>=this.length()-fl)){const i=this.clone();return e===0?(this.parent.insertBefore(i,this),this):(this.parent.insertBefore(i,this.next),i)}const s=super.split(e,n);return this.cache={},s}}pt.blotName="block";pt.tagName="P";pt.defaultChild=Ht;pt.allowedChildren=[Ht,Jt,St,Ut];class It extends St{attach(){super.attach(),this.attributes=new kr(this.domNode)}delta(){return new B().insert(this.value(),{...this.formats(),...this.attributes.values()})}format(t,e){const n=this.scroll.query(t,D.BLOCK_ATTRIBUTE);n!=null&&this.attributes.attribute(n,e)}formatAt(t,e,n,s){this.format(n,s)}insertAt(t,e,n){if(n!=null){super.insertAt(t,e,n);return}const s=e.split(` +`),i=s.pop(),o=s.map(u=>{const h=this.scroll.create(pt.blotName);return h.insertAt(0,u),h}),a=this.split(t);o.forEach(u=>{this.parent.insertBefore(u,a)}),i&&this.parent.insertBefore(this.scroll.create("text",i),a)}}It.scope=D.BLOCK_BLOT;function vo(r){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return r.descendants(At).reduce((e,n)=>n.length()===0?e:e.insert(n.value(),qt(n,{},t)),new B).insert(` +`,qt(r))}function qt(r){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return r==null||("formats"in r&&typeof r.formats=="function"&&(t={...t,...r.formats()},e&&delete t["code-token"]),r.parent==null||r.parent.statics.blotName==="scroll"||r.parent.statics.scope!==r.statics.scope)?t:qt(r.parent,t,e)}const Ot=class Ot extends St{static value(){}constructor(t,e,n){super(t,e),this.selection=n,this.textNode=document.createTextNode(Ot.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){this.parent!=null&&this.parent.removeChild(this)}format(t,e){if(this.savedLength!==0){super.format(t,e);return}let n=this,s=0;for(;n!=null&&n.statics.scope!==D.BLOCK_BLOT;)s+=n.offset(n.parent),n=n.parent;n!=null&&(this.savedLength=Ot.CONTENTS.length,n.optimize(),n.formatAt(s,Ot.CONTENTS.length,t,e),this.savedLength=0)}index(t,e){return t===this.textNode?0:super.index(t,e)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){if(this.selection.composing||this.parent==null)return null;const t=this.selection.getNativeRange();for(;this.domNode.lastChild!=null&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);const e=this.prev instanceof Ut?this.prev:null,n=e?e.length():0,s=this.next instanceof Ut?this.next:null,i=s?s.text:"",{textNode:o}=this,a=o.data.split(Ot.CONTENTS).join("");o.data=Ot.CONTENTS;let u;if(e)u=e,(a||s)&&(e.insertAt(e.length(),a+i),s&&s.remove());else if(s)u=s,s.insertAt(0,a);else{const h=document.createTextNode(a);u=this.scroll.create(h),this.parent.insertBefore(u,this)}if(this.remove(),t){const h=(f,m)=>e&&f===e.domNode?m:f===o?n+m-1:s&&f===s.domNode?n+a.length+m:null,p=h(t.start.node,t.start.offset),y=h(t.end.node,t.end.offset);if(p!==null&&y!==null)return{startNode:u.domNode,startOffset:p,endNode:u.domNode,endOffset:y}}return null}update(t,e){if(t.some(n=>n.type==="characterData"&&n.target===this.textNode)){const n=this.restore();n&&(e.range=n)}}optimize(t){super.optimize(t);let{parent:e}=this;for(;e;){if(e.domNode.tagName==="A"){this.savedLength=Ot.CONTENTS.length,e.isolate(this.offset(e),this.length()).unwrap(),this.savedLength=0;break}e=e.parent}}value(){return""}};q(Ot,"blotName","cursor"),q(Ot,"className","ql-cursor"),q(Ot,"tagName","span"),q(Ot,"CONTENTS","\uFEFF");let ln=Ot;var Cs={exports:{}},dl;function Mf(){return dl||(dl=1,function(r){var t=Object.prototype.hasOwnProperty,e="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(e=!1));function s(u,h,p){this.fn=u,this.context=h,this.once=p||!1}function i(u,h,p,y,f){if(typeof p!="function")throw new TypeError("The listener must be a function");var m=new s(p,y||u,f),v=e?e+h:h;return u._events[v]?u._events[v].fn?u._events[v]=[u._events[v],m]:u._events[v].push(m):(u._events[v]=m,u._eventsCount++),u}function o(u,h){--u._eventsCount===0?u._events=new n:delete u._events[h]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var h=[],p,y;if(this._eventsCount===0)return h;for(y in p=this._events)t.call(p,y)&&h.push(e?y.slice(1):y);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(p)):h},a.prototype.listeners=function(h){var p=e?e+h:h,y=this._events[p];if(!y)return[];if(y.fn)return[y.fn];for(var f=0,m=y.length,v=new Array(m);f1?t-1:0),n=1;n(t[e]=Ao.bind(console,e,r),t),{})}ue.level=r=>{ti=r};Ao.level=ue.level;const Is=ue("quill:events"),jf=["selectionchange","mousedown","mouseup","click"];jf.forEach(r=>{document.addEventListener(r,function(){for(var t=arguments.length,e=new Array(t),n=0;n{const i=Qs.get(s);i&&i.emitter&&i.emitter.handleDOM(...e)})})});class R extends $f{constructor(){super(),this.domListeners={},this.on("error",Is.error)}emit(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),s=1;s{let{node:o,handler:a}=i;(t.target===o||o.contains(t.target))&&a(t,...n)})}listenDOM(t,e,n){this.domListeners[t]||(this.domListeners[t]=[]),this.domListeners[t].push({node:e,handler:n})}}q(R,"events",{EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"}),q(R,"sources",{API:"api",SILENT:"silent",USER:"user"});const Rs=ue("quill:selection");class qe{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;this.index=t,this.length=e}}class Pf{constructor(t,e){this.emitter=e,this.scroll=t,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new qe(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,()=>{!this.mouseDown&&!this.composing&&setTimeout(this.update.bind(this,R.sources.USER),1)}),this.emitter.on(R.events.SCROLL_BEFORE_UPDATE,()=>{if(!this.hasFocus())return;const n=this.getNativeRange();n!=null&&n.start.node!==this.cursor.textNode&&this.emitter.once(R.events.SCROLL_UPDATE,(s,i)=>{try{this.root.contains(n.start.node)&&this.root.contains(n.end.node)&&this.setNativeRange(n.start.node,n.start.offset,n.end.node,n.end.offset);const o=i.some(a=>a.type==="characterData"||a.type==="childList"||a.type==="attributes"&&a.target===this.root);this.update(o?R.sources.SILENT:s)}catch{}})}),this.emitter.on(R.events.SCROLL_OPTIMIZE,(n,s)=>{if(s.range){const{startNode:i,startOffset:o,endNode:a,endOffset:u}=s.range;this.setNativeRange(i,o,a,u),this.update(R.sources.SILENT)}}),this.update(R.sources.SILENT)}handleComposition(){this.emitter.on(R.events.COMPOSITION_BEFORE_START,()=>{this.composing=!0}),this.emitter.on(R.events.COMPOSITION_END,()=>{if(this.composing=!1,this.cursor.parent){const t=this.cursor.restore();if(!t)return;setTimeout(()=>{this.setNativeRange(t.startNode,t.startOffset,t.endNode,t.endOffset)},1)}})}handleDragging(){this.emitter.listenDOM("mousedown",document.body,()=>{this.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,()=>{this.mouseDown=!1,this.update(R.sources.USER)})}focus(){this.hasFocus()||(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(t,e){this.scroll.update();const n=this.getNativeRange();if(!(n==null||!n.native.collapsed||this.scroll.query(t,D.BLOCK))){if(n.start.node!==this.cursor.textNode){const s=this.scroll.find(n.start.node,!1);if(s==null)return;if(s instanceof At){const i=s.split(n.start.offset);s.parent.insertBefore(this.cursor,i)}else s.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(t,e),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const n=this.scroll.length();t=Math.min(t,n-1),e=Math.min(t+e,n-1)-t;let s,[i,o]=this.scroll.leaf(t);if(i==null)return null;if(e>0&&o===i.length()){const[p]=this.scroll.leaf(t+1);if(p){const[y]=this.scroll.line(t),[f]=this.scroll.line(t+1);y===f&&(i=p,o=0)}}[s,o]=i.position(o,!0);const a=document.createRange();if(e>0)return a.setStart(s,o),[i,o]=this.scroll.leaf(t+e),i==null?null:([s,o]=i.position(o,!0),a.setEnd(s,o),a.getBoundingClientRect());let u="left",h;if(s instanceof Text){if(!s.data.length)return null;o0&&(u="right")}return{bottom:h.top+h.height,height:h.height,left:h[u],right:h[u],top:h.top,width:0}}getNativeRange(){const t=document.getSelection();if(t==null||t.rangeCount<=0)return null;const e=t.getRangeAt(0);if(e==null)return null;const n=this.normalizeNative(e);return Rs.info("getNativeRange",n),n}getRange(){const t=this.scroll.domNode;if("isConnected"in t&&!t.isConnected)return[null,null];const e=this.getNativeRange();return e==null?[null,null]:[this.normalizedToRange(e),e]}hasFocus(){return document.activeElement===this.root||document.activeElement!=null&&ks(this.root,document.activeElement)}normalizedToRange(t){const e=[[t.start.node,t.start.offset]];t.native.collapsed||e.push([t.end.node,t.end.offset]);const n=e.map(o=>{const[a,u]=o,h=this.scroll.find(a,!0),p=h.offset(this.scroll);return u===0?p:h instanceof At?p+h.index(a,u):p+h.length()}),s=Math.min(Math.max(...n),this.scroll.length()-1),i=Math.min(s,...n);return new qe(i,s-i)}normalizeNative(t){if(!ks(this.root,t.startContainer)||!t.collapsed&&!ks(this.root,t.endContainer))return null;const e={start:{node:t.startContainer,offset:t.startOffset},end:{node:t.endContainer,offset:t.endOffset},native:t};return[e.start,e.end].forEach(n=>{let{node:s,offset:i}=n;for(;!(s instanceof Text)&&s.childNodes.length>0;)if(s.childNodes.length>i)s=s.childNodes[i],i=0;else if(s.childNodes.length===i)s=s.lastChild,s instanceof Text?i=s.data.length:s.childNodes.length>0?i=s.childNodes.length:i=s.childNodes.length+1;else break;n.node=s,n.offset=i}),e}rangeToNative(t){const e=this.scroll.length(),n=(s,i)=>{s=Math.min(e-1,s);const[o,a]=this.scroll.leaf(s);return o?o.position(a,i):[null,-1]};return[...n(t.index,!1),...n(t.index+t.length,!0)]}setNativeRange(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:e,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(Rs.info("setNativeRange",t,e,n,s),t!=null&&(this.root.parentNode==null||t.parentNode==null||n.parentNode==null))return;const o=document.getSelection();if(o!=null)if(t!=null){this.hasFocus()||this.root.focus({preventScroll:!0});const{native:a}=this.getNativeRange()||{};if(a==null||i||t!==a.startContainer||e!==a.startOffset||n!==a.endContainer||s!==a.endOffset){t instanceof Element&&t.tagName==="BR"&&(e=Array.from(t.parentNode.childNodes).indexOf(t),t=t.parentNode),n instanceof Element&&n.tagName==="BR"&&(s=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode);const u=document.createRange();u.setStart(t,e),u.setEnd(n,s),o.removeAllRanges(),o.addRange(u)}}else o.removeAllRanges(),this.root.blur()}setRange(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R.sources.API;if(typeof e=="string"&&(n=e,e=!1),Rs.info("setRange",t),t!=null){const s=this.rangeToNative(t);this.setNativeRange(...s,e)}else this.setNativeRange(null);this.update(n)}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:R.sources.USER;const e=this.lastRange,[n,s]=this.getRange();if(this.lastRange=n,this.lastNative=s,this.lastRange!=null&&(this.savedRange=this.lastRange),!yi(e,this.lastRange)){if(!this.composing&&s!=null&&s.native.collapsed&&s.start.node!==this.cursor.textNode){const o=this.cursor.restore();o&&this.setNativeRange(o.startNode,o.startOffset,o.endNode,o.endOffset)}const i=[R.events.SELECTION_CHANGE,tn(this.lastRange),tn(e),t];this.emitter.emit(R.events.EDITOR_CHANGE,...i),t!==R.sources.SILENT&&this.emitter.emit(...i)}}}function ks(r,t){try{t.parentNode}catch{return!1}return r.contains(t)}const Uf=/^[ -~]*$/;class Ff{constructor(t){this.scroll=t,this.delta=this.getDelta()}applyDelta(t){this.scroll.update();let e=this.scroll.length();this.scroll.batchStart();const n=gl(t),s=new B;return zf(n.ops.slice()).reduce((o,a)=>{const u=wt.Op.length(a);let h=a.attributes||{},p=!1,y=!1;if(a.insert!=null){if(s.retain(u),typeof a.insert=="string"){const v=a.insert;y=!v.endsWith(` +`)&&(e<=o||!!this.scroll.descendant(It,o)[0]),this.scroll.insertAt(o,v);const[w,E]=this.scroll.line(o);let T=be({},qt(w));if(w instanceof pt){const[C]=w.descendant(At,E);C&&(T=be(T,qt(C)))}h=wt.AttributeMap.diff(T,h)||{}}else if(typeof a.insert=="object"){const v=Object.keys(a.insert)[0];if(v==null)return o;const w=this.scroll.query(v,D.INLINE)!=null;if(w)(e<=o||this.scroll.descendant(It,o)[0])&&(y=!0);else if(o>0){const[E,T]=this.scroll.descendant(At,o-1);E instanceof Ut?E.value()[T]!==` +`&&(p=!0):E instanceof St&&E.statics.scope===D.INLINE_BLOT&&(p=!0)}if(this.scroll.insertAt(o,v,a.insert[v]),w){const[E]=this.scroll.descendant(At,o);if(E){const T=be({},qt(E));h=wt.AttributeMap.diff(T,h)||{}}}}e+=u}else if(s.push(a),a.retain!==null&&typeof a.retain=="object"){const v=Object.keys(a.retain)[0];if(v==null)return o;this.scroll.updateEmbedAt(o,v,a.retain[v])}Object.keys(h).forEach(v=>{this.scroll.formatAt(o,u,v,h[v])});const f=p?1:0,m=y?1:0;return e+=f+m,s.retain(f),s.delete(m),o+u+f+m},0),s.reduce((o,a)=>typeof a.delete=="number"?(this.scroll.deleteAt(o,a.delete),o):o+wt.Op.length(a),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(n)}deleteText(t,e){return this.scroll.deleteAt(t,e),this.update(new B().retain(t).delete(e))}formatLine(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.scroll.update(),Object.keys(n).forEach(i=>{this.scroll.lines(t,Math.max(e,1)).forEach(o=>{o.format(i,n[i])})}),this.scroll.optimize();const s=new B().retain(t).retain(e,tn(n));return this.update(s)}formatText(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.keys(n).forEach(i=>{this.scroll.formatAt(t,e,i,n[i])});const s=new B().retain(t).retain(e,tn(n));return this.update(s)}getContents(t,e){return this.delta.slice(t,t+e)}getDelta(){return this.scroll.lines().reduce((t,e)=>t.concat(e.delta()),new B)}getFormat(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=[],s=[];e===0?this.scroll.path(t).forEach(a=>{const[u]=a;u instanceof pt?n.push(u):u instanceof At&&s.push(u)}):(n=this.scroll.lines(t,e),s=this.scroll.descendants(At,t,e));const[i,o]=[n,s].map(a=>{const u=a.shift();if(u==null)return{};let h=qt(u);for(;Object.keys(h).length>0;){const p=a.shift();if(p==null)return h;h=Hf(qt(p),h)}return h});return{...i,...o}}getHTML(t,e){const[n,s]=this.scroll.line(t);if(n){const i=n.length();return n.length()>=s+e&&!(s===0&&e===i)?jn(n,s,e,!0):jn(this.scroll,t,e,!0)}return""}getText(t,e){return this.getContents(t,e).filter(n=>typeof n.insert=="string").map(n=>n.insert).join("")}insertContents(t,e){const n=gl(e),s=new B().retain(t).concat(n);return this.scroll.insertContents(t,n),this.update(s)}insertEmbed(t,e,n){return this.scroll.insertAt(t,e,n),this.update(new B().retain(t).insert({[e]:n}))}insertText(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return e=e.replace(/\r\n/g,` +`).replace(/\r/g,` +`),this.scroll.insertAt(t,e),Object.keys(n).forEach(s=>{this.scroll.formatAt(t,e.length,s,n[s])}),this.update(new B().retain(t).insert(e,tn(n)))}isBlank(){if(this.scroll.children.length===0)return!0;if(this.scroll.children.length>1)return!1;const t=this.scroll.children.head;if((t==null?void 0:t.statics.blotName)!==pt.blotName)return!1;const e=t;return e.children.length>1?!1:e.children.head instanceof Ht}removeFormat(t,e){const n=this.getText(t,e),[s,i]=this.scroll.line(t+e);let o=0,a=new B;s!=null&&(o=s.length()-i,a=s.delta().slice(i,i+o-1).insert(` +`));const h=this.getContents(t,e+o).diff(new B().insert(n).concat(a)),p=new B().retain(t).concat(h);return this.applyDelta(p)}update(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;const s=this.delta;if(e.length===1&&e[0].type==="characterData"&&e[0].target.data.match(Uf)&&this.scroll.find(e[0].target)){const i=this.scroll.find(e[0].target),o=qt(i),a=i.offset(this.scroll),u=e[0].oldValue.replace(ln.CONTENTS,""),h=new B().insert(u),p=new B().insert(i.value()),y=n&&{oldRange:pl(n.oldRange,-a),newRange:pl(n.newRange,-a)};t=new B().retain(a).concat(h.diff(p,y)).reduce((m,v)=>v.insert?m.insert(v.insert,o):m.push(v),new B),this.delta=s.compose(t)}else this.delta=this.getDelta(),(!t||!yi(s.compose(t),this.delta))&&(t=s.diff(this.delta,n));return t}}function Qe(r,t,e){if(r.length===0){const[m]=Bs(e.pop());return t<=0?``:`${Qe([],t-1,e)}`}const[{child:n,offset:s,length:i,indent:o,type:a},...u]=r,[h,p]=Bs(a);if(o>t)return e.push(a),o===t+1?`<${h}>${jn(n,s,i)}${Qe(u,o,e)}`:`<${h}>
  • ${Qe(r,t+1,e)}`;const y=e[e.length-1];if(o===t&&a===y)return`
  • ${jn(n,s,i)}${Qe(u,o,e)}`;const[f]=Bs(e.pop());return`${Qe(r,t-1,e)}`}function jn(r,t,e){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if("html"in r&&typeof r.html=="function")return r.html(t,e);if(r instanceof Ut)return Mr(r.value().slice(t,t+e)).replaceAll(" "," ");if(r instanceof Pt){if(r.statics.blotName==="list-container"){const h=[];return r.children.forEachAt(t,e,(p,y,f)=>{const m="formats"in p&&typeof p.formats=="function"?p.formats():{};h.push({child:p,offset:y,length:f,indent:m.indent||0,type:m.list})}),Qe(h,-1,[])}const s=[];if(r.children.forEachAt(t,e,(h,p,y)=>{s.push(jn(h,p,y))}),n||r.statics.blotName==="list")return s.join("");const{outerHTML:i,innerHTML:o}=r.domNode,[a,u]=i.split(`>${o}<`);return a==="${s.join("")}<${u}`:`${a}>${s.join("")}<${u}`}return r.domNode instanceof Element?r.domNode.outerHTML:""}function Hf(r,t){return Object.keys(t).reduce((e,n)=>{if(r[n]==null)return e;const s=t[n];return s===r[n]?e[n]=s:Array.isArray(s)?s.indexOf(r[n])<0?e[n]=s.concat([r[n]]):e[n]=s:e[n]=[s,r[n]],e},{})}function Bs(r){const t=r==="ordered"?"ol":"ul";switch(r){case"checked":return[t,' data-list="checked"'];case"unchecked":return[t,' data-list="unchecked"'];default:return[t,""]}}function gl(r){return r.reduce((t,e)=>{if(typeof e.insert=="string"){const n=e.insert.replace(/\r\n/g,` +`).replace(/\r/g,` +`);return t.insert(n,e.attributes)}return t.push(e)},new B)}function pl(r,t){let{index:e,length:n}=r;return new qe(e+t,n)}function zf(r){const t=[];return r.forEach(e=>{typeof e.insert=="string"?e.insert.split(` +`).forEach((s,i)=>{i&&t.push({insert:` +`,attributes:e.attributes}),s&&t.push({insert:s,attributes:e.attributes})}):t.push(e)}),t}class zt{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.quill=t,this.options=e}}q(zt,"DEFAULTS",{});const vr="\uFEFF";class Ei extends St{constructor(t,e){super(t,e),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach(n=>{this.contentNode.appendChild(n)}),this.leftGuard=document.createTextNode(vr),this.rightGuard=document.createTextNode(vr),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(t,e){return t===this.leftGuard?0:t===this.rightGuard?1:super.index(t,e)}restore(t){let e=null,n;const s=t.data.split(vr).join("");if(t===this.leftGuard)if(this.prev instanceof Ut){const i=this.prev.length();this.prev.insertAt(i,s),e={startNode:this.prev.domNode,startOffset:i+s.length}}else n=document.createTextNode(s),this.parent.insertBefore(this.scroll.create(n),this),e={startNode:n,startOffset:s.length};else t===this.rightGuard&&(this.next instanceof Ut?(this.next.insertAt(0,s),e={startNode:this.next.domNode,startOffset:s.length}):(n=document.createTextNode(s),this.parent.insertBefore(this.scroll.create(n),this.next),e={startNode:n,startOffset:s.length}));return t.data=vr,e}update(t,e){t.forEach(n=>{if(n.type==="characterData"&&(n.target===this.leftGuard||n.target===this.rightGuard)){const s=this.restore(n.target);s&&(e.range=s)}})}}class Gf{constructor(t,e){q(this,"isComposing",!1);this.scroll=t,this.emitter=e,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",t=>{this.isComposing||this.handleCompositionStart(t)}),this.scroll.domNode.addEventListener("compositionend",t=>{this.isComposing&&queueMicrotask(()=>{this.handleCompositionEnd(t)})})}handleCompositionStart(t){const e=t.target instanceof Node?this.scroll.find(t.target,!0):null;e&&!(e instanceof Ei)&&(this.emitter.emit(R.events.COMPOSITION_BEFORE_START,t),this.scroll.batchStart(),this.emitter.emit(R.events.COMPOSITION_START,t),this.isComposing=!0)}handleCompositionEnd(t){this.emitter.emit(R.events.COMPOSITION_BEFORE_END,t),this.scroll.batchEnd(),this.emitter.emit(R.events.COMPOSITION_END,t),this.isComposing=!1}}const Rn=class Rn{constructor(t,e){q(this,"modules",{});this.quill=t,this.options=e}init(){Object.keys(this.options.modules).forEach(t=>{this.modules[t]==null&&this.addModule(t)})}addModule(t){const e=this.quill.constructor.import(`modules/${t}`);return this.modules[t]=new e(this.quill,this.options.modules[t]||{}),this.modules[t]}};q(Rn,"DEFAULTS",{modules:{}}),q(Rn,"themes",{default:Rn});let on=Rn;const Kf=r=>r.parentElement||r.getRootNode().host||null,Vf=r=>{const t=r.getBoundingClientRect(),e="offsetWidth"in r&&Math.abs(t.width)/r.offsetWidth||1,n="offsetHeight"in r&&Math.abs(t.height)/r.offsetHeight||1;return{top:t.top,right:t.left+r.clientWidth*e,bottom:t.top+r.clientHeight*n,left:t.left}},Ar=r=>{const t=parseInt(r,10);return Number.isNaN(t)?0:t},ml=(r,t,e,n,s,i)=>rn?0:rn?t-r>n-e?r+s-e:t-n+i:0,Wf=(r,t)=>{var i,o,a;const e=r.ownerDocument;let n=t,s=r;for(;s;){const u=s===e.body,h=u?{top:0,right:((i=window.visualViewport)==null?void 0:i.width)??e.documentElement.clientWidth,bottom:((o=window.visualViewport)==null?void 0:o.height)??e.documentElement.clientHeight,left:0}:Vf(s),p=getComputedStyle(s),y=ml(n.left,n.right,h.left,h.right,Ar(p.scrollPaddingLeft),Ar(p.scrollPaddingRight)),f=ml(n.top,n.bottom,h.top,h.bottom,Ar(p.scrollPaddingTop),Ar(p.scrollPaddingBottom));if(y||f)if(u)(a=e.defaultView)==null||a.scrollBy(y,f);else{const{scrollLeft:m,scrollTop:v}=s;f&&(s.scrollTop+=f),y&&(s.scrollLeft+=y);const w=s.scrollLeft-m,E=s.scrollTop-v;n={left:n.left-w,top:n.top-E,right:n.right-w,bottom:n.bottom-E}}s=u||p.position==="fixed"?null:Kf(s)}},Zf=100,Xf=["block","break","cursor","inline","scroll","text"],Yf=(r,t,e)=>{const n=new sn;return Xf.forEach(s=>{const i=t.query(s);i&&n.register(i)}),r.forEach(s=>{let i=t.query(s);i||e.error(`Cannot register "${s}" specified in "formats" config. Are you sure it was registered?`);let o=0;for(;i;)if(n.register(i),i="blotName"in i?i.requiredContainer??null:null,o+=1,o>Zf){e.error(`Cycle detected in registering blot requiredContainer: "${s}"`);break}}),n},nn=ue("quill"),Er=new sn;Pt.uiClass="ql-ui";const Dt=class Dt{static debug(t){t===!0&&(t="log"),ue.level(t)}static find(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Qs.get(t)||Er.find(t,e)}static import(t){return this.imports[t]==null&&nn.error(`Cannot import ${t}. Are you sure it was registered?`),this.imports[t]}static register(){if(typeof(arguments.length<=0?void 0:arguments[0])!="string"){const t=arguments.length<=0?void 0:arguments[0],e=!!(!(arguments.length<=1)&&arguments[1]),n="attrName"in t?t.attrName:t.blotName;typeof n=="string"?this.register(`formats/${n}`,t,e):Object.keys(t).forEach(s=>{this.register(s,t[s],e)})}else{const t=arguments.length<=0?void 0:arguments[0],e=arguments.length<=1?void 0:arguments[1],n=!!(!(arguments.length<=2)&&arguments[2]);this.imports[t]!=null&&!n&&nn.warn(`Overwriting ${t} with`,e),this.imports[t]=e,(t.startsWith("blots/")||t.startsWith("formats/"))&&e&&typeof e!="boolean"&&e.blotName!=="abstract"&&Er.register(e),typeof e.register=="function"&&e.register(Er)}}constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.options=Qf(t,e),this.container=this.options.container,this.container==null){nn.error("Invalid Quill container",t);return}this.options.debug&&Dt.debug(this.options.debug);const n=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",Qs.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new R;const s=Ai.blotName,i=this.options.registry.query(s);if(!i||!("blotName"in i))throw new Error(`Cannot initialize Quill without "${s}" blot`);if(this.scroll=new i(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new Ff(this.scroll),this.selection=new Pf(this.scroll,this.emitter),this.composition=new Gf(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(R.events.EDITOR_CHANGE,o=>{o===R.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())}),this.emitter.on(R.events.SCROLL_UPDATE,(o,a)=>{const u=this.selection.lastRange,[h]=this.selection.getRange(),p=u&&h?{oldRange:u,newRange:h}:void 0;Mt.call(this,()=>this.editor.update(null,a,p),o)}),this.emitter.on(R.events.SCROLL_EMBED_UPDATE,(o,a)=>{const u=this.selection.lastRange,[h]=this.selection.getRange(),p=u&&h?{oldRange:u,newRange:h}:void 0;Mt.call(this,()=>{const y=new B().retain(o.offset(this)).retain({[o.statics.blotName]:a});return this.editor.update(y,[],p)},Dt.sources.USER)}),n){const o=this.clipboard.convert({html:`${n}


    `,text:` +`});this.setContents(o)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(typeof t=="string"){const n=t;t=document.createElement("div"),t.classList.add(n)}return this.container.insertBefore(t,e),t}blur(){this.selection.setRange(null)}deleteText(t,e,n){return[t,e,,n]=ie(t,e,n),Mt.call(this,()=>this.editor.deleteText(t,e),n,t,-1*e)}disable(){this.enable(!1)}editReadOnly(t){this.allowReadOnlyEdits=!0;const e=t();return this.allowReadOnlyEdits=!1,e}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.scroll.enable(t),this.container.classList.toggle("ql-disabled",!t)}focus(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.selection.focus(),t.preventScroll||this.scrollSelectionIntoView()}format(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:R.sources.API;return Mt.call(this,()=>{const s=this.getSelection(!0);let i=new B;if(s==null)return i;if(this.scroll.query(t,D.BLOCK))i=this.editor.formatLine(s.index,s.length,{[t]:e});else{if(s.length===0)return this.selection.format(t,e),i;i=this.editor.formatText(s.index,s.length,{[t]:e})}return this.setSelection(s,R.sources.SILENT),i},n)}formatLine(t,e,n,s,i){let o;return[t,e,o,i]=ie(t,e,n,s,i),Mt.call(this,()=>this.editor.formatLine(t,e,o),i,t,0)}formatText(t,e,n,s,i){let o;return[t,e,o,i]=ie(t,e,n,s,i),Mt.call(this,()=>this.editor.formatText(t,e,o),i,t,0)}getBounds(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=null;if(typeof t=="number"?n=this.selection.getBounds(t,e):n=this.selection.getBounds(t.index,t.length),!n)return null;const s=this.container.getBoundingClientRect();return{bottom:n.bottom-s.top,height:n.height,left:n.left-s.left,right:n.right-s.left,top:n.top-s.top,width:n.width}}getContents(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-t;return[t,e]=ie(t,e),this.editor.getContents(t,e)}getFormat(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.getSelection(!0),e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof t=="number"?this.editor.getFormat(t,e):this.editor.getFormat(t.index,t.length)}getIndex(t){return t.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(t){return this.scroll.leaf(t)}getLine(t){return this.scroll.line(t)}getLines(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;return typeof t!="number"?this.scroll.lines(t.index,t.length):this.scroll.lines(t,e)}getModule(t){return this.theme.modules[t]}getSelection(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return typeof t=="number"&&(e=e??this.getLength()-t),[t,e]=ie(t,e),this.editor.getHTML(t,e)}getText(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return typeof t=="number"&&(e=e??this.getLength()-t),[t,e]=ie(t,e),this.editor.getText(t,e)}hasFocus(){return this.selection.hasFocus()}insertEmbed(t,e,n){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Dt.sources.API;return Mt.call(this,()=>this.editor.insertEmbed(t,e,n),s,t)}insertText(t,e,n,s,i){let o;return[t,,o,i]=ie(t,0,n,s,i),Mt.call(this,()=>this.editor.insertText(t,e,o),i,t,e.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(t,e,n){return[t,e,,n]=ie(t,e,n),Mt.call(this,()=>this.editor.removeFormat(t,e),n,t)}scrollRectIntoView(t){Wf(this.root,t)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){const t=this.selection.lastRange,e=t&&this.selection.getBounds(t.index,t.length);e&&this.scrollRectIntoView(e)}setContents(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R.sources.API;return Mt.call(this,()=>{t=new B(t);const n=this.getLength(),s=this.editor.deleteText(0,n),i=this.editor.insertContents(0,t),o=this.editor.deleteText(this.getLength()-1,1);return s.compose(i).compose(o)},e)}setSelection(t,e,n){t==null?this.selection.setRange(null,e||Dt.sources.API):([t,e,,n]=ie(t,e,n),this.selection.setRange(new qe(Math.max(0,t),e),n),n!==R.sources.SILENT&&this.scrollSelectionIntoView())}setText(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R.sources.API;const n=new B().insert(t);return this.setContents(n,e)}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:R.sources.USER;const e=this.scroll.update(t);return this.selection.update(t),e}updateContents(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R.sources.API;return Mt.call(this,()=>(t=new B(t),this.editor.applyDelta(t)),e,!0)}};q(Dt,"DEFAULTS",{bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:Er,theme:"default"}),q(Dt,"events",R.events),q(Dt,"sources",R.sources),q(Dt,"version","2.0.3"),q(Dt,"imports",{delta:B,parchment:qf,"core/module":zt,"core/theme":on});let N=Dt;function bl(r){return typeof r=="string"?document.querySelector(r):r}function Ms(r){return Object.entries(r??{}).reduce((t,e)=>{let[n,s]=e;return{...t,[n]:s===!0?{}:s}},{})}function yl(r){return Object.fromEntries(Object.entries(r).filter(t=>t[1]!==void 0))}function Qf(r,t){const e=bl(r);if(!e)throw new Error("Invalid Quill container");const s=!t.theme||t.theme===N.DEFAULTS.theme?on:N.import(`themes/${t.theme}`);if(!s)throw new Error(`Invalid theme ${t.theme}. Did you register it?`);const{modules:i,...o}=N.DEFAULTS,{modules:a,...u}=s.DEFAULTS;let h=Ms(t.modules);h!=null&&h.toolbar&&h.toolbar.constructor!==Object&&(h={...h,toolbar:{container:h.toolbar}});const p=be({},Ms(i),Ms(a),h),y={...o,...yl(u),...yl(t)};let f=t.registry;return f?t.formats&&nn.warn('Ignoring "formats" option because "registry" is specified'):f=t.formats?Yf(t.formats,y.registry,nn):y.registry,{...y,registry:f,container:e,theme:s,modules:Object.entries(p).reduce((m,v)=>{let[w,E]=v;if(!E)return m;const T=N.import(`modules/${w}`);return T==null?(nn.error(`Cannot load ${w} module. Are you sure you registered it?`),m):{...m,[w]:be({},T.DEFAULTS||{},E)}},{}),bounds:bl(y.bounds)}}function Mt(r,t,e,n){if(!this.isEnabled()&&t===R.sources.USER&&!this.allowReadOnlyEdits)return new B;let s=e==null?null:this.getSelection();const i=this.editor.delta,o=r();if(s!=null&&(e===!0&&(e=s.index),n==null?s=vl(s,o,t):n!==0&&(s=vl(s,e,n,t)),this.setSelection(s,R.sources.SILENT)),o.length()>0){const a=[R.events.TEXT_CHANGE,o,i,t];this.emitter.emit(R.events.EDITOR_CHANGE,...a),t!==R.sources.SILENT&&this.emitter.emit(...a)}return o}function ie(r,t,e,n,s){let i={};return typeof r.index=="number"&&typeof r.length=="number"?typeof t!="number"?(s=n,n=e,e=t,t=r.length,r=r.index):(t=r.length,r=r.index):typeof t!="number"&&(s=n,n=e,e=t,t=0),typeof e=="object"?(i=e,s=n):typeof e=="string"&&(n!=null?i[e]=n:s=e),s=s||R.sources.API,[r,t,i,s]}function vl(r,t,e,n){const s=typeof e=="number"?e:0;if(r==null)return null;let i,o;return t&&typeof t.transformPosition=="function"?[i,o]=[r.index,r.index+r.length].map(a=>t.transformPosition(a,n!==R.sources.USER)):[i,o]=[r.index,r.index+r.length].map(a=>a=0?a+s:Math.max(t,a+s)),new qe(i,o-i)}class ke extends Br{}function Al(r){return r instanceof pt||r instanceof It}function El(r){return typeof r.updateContent=="function"}class Je extends Ai{constructor(t,e,n){let{emitter:s}=n;super(t,e),this.emitter=s,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",i=>this.handleDragStart(i))}batchStart(){Array.isArray(this.batch)||(this.batch=[])}batchEnd(){if(!this.batch)return;const t=this.batch;this.batch=!1,this.update(t)}emitMount(t){this.emitter.emit(R.events.SCROLL_BLOT_MOUNT,t)}emitUnmount(t){this.emitter.emit(R.events.SCROLL_BLOT_UNMOUNT,t)}emitEmbedUpdate(t,e){this.emitter.emit(R.events.SCROLL_EMBED_UPDATE,t,e)}deleteAt(t,e){const[n,s]=this.line(t),[i]=this.line(t+e);if(super.deleteAt(t,e),i!=null&&n!==i&&s>0){if(n instanceof It||i instanceof It){this.optimize();return}const o=i.children.head instanceof Ht?null:i.children.head;n.moveChildren(i,o),n.remove()}this.optimize()}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.domNode.setAttribute("contenteditable",t?"true":"false")}formatAt(t,e,n,s){super.formatAt(t,e,n,s),this.optimize()}insertAt(t,e,n){if(t>=this.length())if(n==null||this.scroll.query(e,D.BLOCK)==null){const s=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(s),n==null&&e.endsWith(` +`)?s.insertAt(0,e.slice(0,-1),n):s.insertAt(0,e,n)}else{const s=this.scroll.create(e,n);this.appendChild(s)}else super.insertAt(t,e,n);this.optimize()}insertBefore(t,e){if(t.statics.scope===D.INLINE_BLOT){const n=this.scroll.create(this.statics.defaultChild.blotName);n.appendChild(t),super.insertBefore(n,e)}else super.insertBefore(t,e)}insertContents(t,e){const n=this.deltaToRenderBlocks(e.concat(new B().insert(` +`))),s=n.pop();if(s==null)return;this.batchStart();const i=n.shift();if(i){const u=i.type==="block"&&(i.delta.length()===0||!this.descendant(It,t)[0]&&t{this.formatAt(y-1,1,v,m[v])}),t=y}let[o,a]=this.children.find(t);if(n.length&&(o&&(o=o.split(a),a=0),n.forEach(u=>{if(u.type==="block"){const h=this.createBlock(u.attributes,o||void 0);Ds(h,0,u.delta)}else{const h=this.create(u.key,u.value);this.insertBefore(h,o||void 0),Object.keys(u.attributes).forEach(p=>{h.format(p,u.attributes[p])})}})),s.type==="block"&&s.delta.length()){const u=o?o.offset(o.scroll)+a:this.length();Ds(this,u,s.delta)}this.batchEnd(),this.optimize()}isEnabled(){return this.domNode.getAttribute("contenteditable")==="true"}leaf(t){const e=this.path(t).pop();if(!e)return[null,-1];const[n,s]=e;return n instanceof At?[n,s]:[null,-1]}line(t){return t===this.length()?this.line(t-1):this.descendant(Al,t)}lines(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;const n=(s,i,o)=>{let a=[],u=o;return s.children.forEachAt(i,o,(h,p,y)=>{Al(h)?a.push(h):h instanceof Br&&(a=a.concat(n(h,p,u))),u-=y}),a};return n(this,t,e)}optimize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.batch||(super.optimize(t,e),t.length>0&&this.emitter.emit(R.events.SCROLL_OPTIMIZE,t,e))}path(t){return super.path(t).slice(1)}remove(){}update(t){if(this.batch){Array.isArray(t)&&(this.batch=this.batch.concat(t));return}let e=R.sources.USER;typeof t=="string"&&(e=t),Array.isArray(t)||(t=this.observer.takeRecords()),t=t.filter(n=>{let{target:s}=n;const i=this.find(s,!0);return i&&!El(i)}),t.length>0&&this.emitter.emit(R.events.SCROLL_BEFORE_UPDATE,e,t),super.update(t.concat([])),t.length>0&&this.emitter.emit(R.events.SCROLL_UPDATE,e,t)}updateEmbedAt(t,e,n){const[s]=this.descendant(i=>i instanceof It,t);s&&s.statics.blotName===e&&El(s)&&s.updateContent(n)}handleDragStart(t){t.preventDefault()}deltaToRenderBlocks(t){const e=[];let n=new B;return t.forEach(s=>{const i=s==null?void 0:s.insert;if(i)if(typeof i=="string"){const o=i.split(` +`);o.slice(0,-1).forEach(u=>{n.insert(u,s.attributes),e.push({type:"block",delta:n,attributes:s.attributes??{}}),n=new B});const a=o[o.length-1];a&&n.insert(a,s.attributes)}else{const o=Object.keys(i)[0];if(!o)return;this.query(o,D.INLINE)?n.push(s):(n.length()&&e.push({type:"block",delta:n,attributes:{}}),n=new B,e.push({type:"blockEmbed",key:o,value:i[o],attributes:s.attributes??{}}))}}),n.length()&&e.push({type:"block",delta:n,attributes:{}}),e}createBlock(t,e){let n;const s={};Object.entries(t).forEach(a=>{let[u,h]=a;this.query(u,D.BLOCK&D.BLOT)!=null?n=u:s[u]=h});const i=this.create(n||this.statics.defaultChild.blotName,n?t[n]:void 0);this.insertBefore(i,e||void 0);const o=i.length();return Object.entries(s).forEach(a=>{let[u,h]=a;i.formatAt(0,o,u,h)}),i}}q(Je,"blotName","scroll"),q(Je,"className","ql-editor"),q(Je,"tagName","DIV"),q(Je,"defaultChild",pt),q(Je,"allowedChildren",[pt,It,ke]);function Ds(r,t,e){e.reduce((n,s)=>{const i=wt.Op.length(s);let o=s.attributes||{};if(s.insert!=null){if(typeof s.insert=="string"){const a=s.insert;r.insertAt(n,a);const[u]=r.descendant(At,n),h=qt(u);o=wt.AttributeMap.diff(h,o)||{}}else if(typeof s.insert=="object"){const a=Object.keys(s.insert)[0];if(a==null)return n;if(r.insertAt(n,a,s.insert[a]),r.scroll.query(a,D.INLINE)!=null){const[h]=r.descendant(At,n),p=qt(h);o=wt.AttributeMap.diff(p,o)||{}}}}return Object.keys(o).forEach(a=>{r.formatAt(n,i,a,o[a])}),n+i},t)}const Ni={scope:D.BLOCK,whitelist:["right","center","justify"]},Jf=new Qt("align","align",Ni),Eo=new Ft("align","ql-align",Ni),No=new Ae("align","text-align",Ni);class wo extends Ae{value(t){let e=super.value(t);return e.startsWith("rgb(")?(e=e.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),`#${e.split(",").map(s=>`00${parseInt(s,10).toString(16)}`.slice(-2)).join("")}`):e}}const td=new Ft("color","ql-color",{scope:D.INLINE}),wi=new wo("color","color",{scope:D.INLINE}),ed=new Ft("background","ql-bg",{scope:D.INLINE}),Ti=new wo("background","background-color",{scope:D.INLINE});class Be extends ke{static create(t){const e=super.create(t);return e.setAttribute("spellcheck","false"),e}code(t,e){return this.children.map(n=>n.length()<=1?"":n.domNode.innerText).join(` +`).slice(t,t+e)}html(t,e){return`
    +${Mr(this.code(t,e))}
    +
    `}}class Et extends pt{static register(){N.register(Be)}}q(Et,"TAB"," ");class xi extends Jt{}xi.blotName="code";xi.tagName="CODE";Et.blotName="code-block";Et.className="ql-code-block";Et.tagName="DIV";Be.blotName="code-block-container";Be.className="ql-code-block-container";Be.tagName="DIV";Be.allowedChildren=[Et];Et.allowedChildren=[Ut,Ht,ln];Et.requiredContainer=Be;const Li={scope:D.BLOCK,whitelist:["rtl"]},To=new Qt("direction","dir",Li),xo=new Ft("direction","ql-direction",Li),Lo=new Ae("direction","direction",Li),So={scope:D.INLINE,whitelist:["serif","monospace"]},_o=new Ft("font","ql-font",So);class nd extends Ae{value(t){return super.value(t).replace(/["']/g,"")}}const Oo=new nd("font","font-family",So),qo=new Ft("size","ql-size",{scope:D.INLINE,whitelist:["small","large","huge"]}),Co=new Ae("size","font-size",{scope:D.INLINE,whitelist:["10px","18px","32px"]}),rd=ue("quill:keyboard"),sd=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey";class Dr extends zt{static match(t,e){return["altKey","ctrlKey","metaKey","shiftKey"].some(n=>!!e[n]!==t[n]&&e[n]!==null)?!1:e.key===t.key||e.key===t.which}constructor(t,e){super(t,e),this.bindings={},Object.keys(this.options.bindings).forEach(n=>{this.options.bindings[n]&&this.addBinding(this.options.bindings[n])}),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},()=>{}),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=ld(t);if(s==null){rd.warn("Attempted to add invalid keyboard binding",s);return}typeof e=="function"&&(e={handler:e}),typeof n=="function"&&(n={handler:n}),(Array.isArray(s.key)?s.key:[s.key]).forEach(o=>{const a={...s,key:o,...e,...n};this.bindings[a.key]=this.bindings[a.key]||[],this.bindings[a.key].push(a)})}listen(){this.quill.root.addEventListener("keydown",t=>{if(t.defaultPrevented||t.isComposing||t.keyCode===229&&(t.key==="Enter"||t.key==="Backspace"))return;const s=(this.bindings[t.key]||[]).concat(this.bindings[t.which]||[]).filter(T=>Dr.match(t,T));if(s.length===0)return;const i=N.find(t.target,!0);if(i&&i.scroll!==this.quill.scroll)return;const o=this.quill.getSelection();if(o==null||!this.quill.hasFocus())return;const[a,u]=this.quill.getLine(o.index),[h,p]=this.quill.getLeaf(o.index),[y,f]=o.length===0?[h,p]:this.quill.getLeaf(o.index+o.length),m=h instanceof qr?h.value().slice(0,p):"",v=y instanceof qr?y.value().slice(f):"",w={collapsed:o.length===0,empty:o.length===0&&a.length()<=1,format:this.quill.getFormat(o),line:a,offset:u,prefix:m,suffix:v,event:t};s.some(T=>{if(T.collapsed!=null&&T.collapsed!==w.collapsed||T.empty!=null&&T.empty!==w.empty||T.offset!=null&&T.offset!==w.offset)return!1;if(Array.isArray(T.format)){if(T.format.every(C=>w.format[C]==null))return!1}else if(typeof T.format=="object"&&!Object.keys(T.format).every(C=>T.format[C]===!0?w.format[C]!=null:T.format[C]===!1?w.format[C]==null:yi(T.format[C],w.format[C])))return!1;return T.prefix!=null&&!T.prefix.test(w.prefix)||T.suffix!=null&&!T.suffix.test(w.suffix)?!1:T.handler.call(this,o,w,T)!==!0})&&t.preventDefault()})}handleBackspace(t,e){const n=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(e.prefix)?2:1;if(t.index===0||this.quill.getLength()<=1)return;let s={};const[i]=this.quill.getLine(t.index);let o=new B().retain(t.index-n).delete(n);if(e.offset===0){const[a]=this.quill.getLine(t.index-1);if(a&&!(a.statics.blotName==="block"&&a.length()<=1)){const h=i.formats(),p=this.quill.getFormat(t.index-1,1);if(s=wt.AttributeMap.diff(h,p)||{},Object.keys(s).length>0){const y=new B().retain(t.index+i.length()-2).retain(1,s);o=o.compose(y)}}}this.quill.updateContents(o,N.sources.USER),this.quill.focus()}handleDelete(t,e){const n=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(e.suffix)?2:1;if(t.index>=this.quill.getLength()-n)return;let s={};const[i]=this.quill.getLine(t.index);let o=new B().retain(t.index).delete(n);if(e.offset>=i.length()-1){const[a]=this.quill.getLine(t.index+1);if(a){const u=i.formats(),h=this.quill.getFormat(t.index,1);s=wt.AttributeMap.diff(u,h)||{},Object.keys(s).length>0&&(o=o.retain(a.length()-1).retain(1,s))}}this.quill.updateContents(o,N.sources.USER),this.quill.focus()}handleDeleteRange(t){Si({range:t,quill:this.quill}),this.quill.focus()}handleEnter(t,e){const n=Object.keys(e.format).reduce((i,o)=>(this.quill.scroll.query(o,D.BLOCK)&&!Array.isArray(e.format[o])&&(i[o]=e.format[o]),i),{}),s=new B().retain(t.index).delete(t.length).insert(` +`,n);this.quill.updateContents(s,N.sources.USER),this.quill.setSelection(t.index+1,N.sources.SILENT),this.quill.focus()}}const id={bindings:{bold:$s("bold"),italic:$s("italic"),underline:$s("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(r,t){return t.collapsed&&t.offset!==0?!0:(this.quill.format("indent","+1",N.sources.USER),!1)}},outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(r,t){return t.collapsed&&t.offset!==0?!0:(this.quill.format("indent","-1",N.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(r,t){t.format.indent!=null?this.quill.format("indent","-1",N.sources.USER):t.format.list!=null&&this.quill.format("list",!1,N.sources.USER)}},"indent code-block":Nl(!0),"outdent code-block":Nl(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(r){this.quill.deleteText(r.index-1,1,N.sources.USER)}},tab:{key:"Tab",handler(r,t){if(t.format.table)return!0;this.quill.history.cutoff();const e=new B().retain(r.index).delete(r.length).insert(" ");return this.quill.updateContents(e,N.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(r.index+1,N.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,N.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(r,t){const e={list:!1};t.format.indent&&(e.indent=!1),this.quill.formatLine(r.index,r.length,e,N.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(r){const[t,e]=this.quill.getLine(r.index),n={...t.formats(),list:"checked"},s=new B().retain(r.index).insert(` +`,n).retain(t.length()-e-1).retain(1,{list:"unchecked"});this.quill.updateContents(s,N.sources.USER),this.quill.setSelection(r.index+1,N.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(r,t){const[e,n]=this.quill.getLine(r.index),s=new B().retain(r.index).insert(` +`,t.format).retain(e.length()-n-1).retain(1,{header:null});this.quill.updateContents(s,N.sources.USER),this.quill.setSelection(r.index+1,N.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(r){const t=this.quill.getModule("table");if(t){const[e,n,s,i]=t.getTable(r),o=od(e,n,s,i);if(o==null)return;let a=e.offset();if(o<0){const u=new B().retain(a).insert(` +`);this.quill.updateContents(u,N.sources.USER),this.quill.setSelection(r.index+1,r.length,N.sources.SILENT)}else if(o>0){a+=e.length();const u=new B().retain(a).insert(` +`);this.quill.updateContents(u,N.sources.USER),this.quill.setSelection(a,N.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(r,t){const{event:e,line:n}=t,s=n.offset(this.quill.scroll);e.shiftKey?this.quill.setSelection(s-1,N.sources.USER):this.quill.setSelection(s+n.length(),N.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(r,t){if(this.quill.scroll.query("list")==null)return!0;const{length:e}=t.prefix,[n,s]=this.quill.getLine(r.index);if(s>e)return!0;let i;switch(t.prefix.trim()){case"[]":case"[ ]":i="unchecked";break;case"[x]":i="checked";break;case"-":case"*":i="bullet";break;default:i="ordered"}this.quill.insertText(r.index," ",N.sources.USER),this.quill.history.cutoff();const o=new B().retain(r.index-s).delete(e+1).retain(n.length()-2-s).retain(1,{list:i});return this.quill.updateContents(o,N.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(r.index-e,N.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(r){const[t,e]=this.quill.getLine(r.index);let n=2,s=t;for(;s!=null&&s.length()<=1&&s.formats()["code-block"];)if(s=s.prev,n-=1,n<=0){const i=new B().retain(r.index+t.length()-e-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(i,N.sources.USER),this.quill.setSelection(r.index-1,N.sources.SILENT),!1}return!0}},"embed left":Nr("ArrowLeft",!1),"embed left shift":Nr("ArrowLeft",!0),"embed right":Nr("ArrowRight",!1),"embed right shift":Nr("ArrowRight",!0),"table down":wl(!1),"table up":wl(!0)}};Dr.DEFAULTS=id;function Nl(r){return{key:"Tab",shiftKey:!r,format:{"code-block":!0},handler(t,e){let{event:n}=e;const s=this.quill.scroll.query("code-block"),{TAB:i}=s;if(t.length===0&&!n.shiftKey){this.quill.insertText(t.index,i,N.sources.USER),this.quill.setSelection(t.index+i.length,N.sources.SILENT);return}const o=t.length===0?this.quill.getLines(t.index,1):this.quill.getLines(t);let{index:a,length:u}=t;o.forEach((h,p)=>{r?(h.insertAt(0,i),p===0?a+=i.length:u+=i.length):h.domNode.textContent.startsWith(i)&&(h.deleteAt(0,i.length),p===0?a-=i.length:u-=i.length)}),this.quill.update(N.sources.USER),this.quill.setSelection(a,u,N.sources.SILENT)}}}function Nr(r,t){return{key:r,shiftKey:t,altKey:null,[r==="ArrowLeft"?"prefix":"suffix"]:/^$/,handler(n){let{index:s}=n;r==="ArrowRight"&&(s+=n.length+1);const[i]=this.quill.getLeaf(s);return i instanceof St?(r==="ArrowLeft"?t?this.quill.setSelection(n.index-1,n.length+1,N.sources.USER):this.quill.setSelection(n.index-1,N.sources.USER):t?this.quill.setSelection(n.index,n.length+1,N.sources.USER):this.quill.setSelection(n.index+n.length+1,N.sources.USER),!1):!0}}}function $s(r){return{key:r[0],shortKey:!0,handler(t,e){this.quill.format(r,!e.format[r],N.sources.USER)}}}function wl(r){return{key:r?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(t,e){const n=r?"prev":"next",s=e.line,i=s.parent[n];if(i!=null){if(i.statics.blotName==="table-row"){let o=i.children.head,a=s;for(;a.prev!=null;)a=a.prev,o=o.next;const u=o.offset(this.quill.scroll)+Math.min(e.offset,o.length()-1);this.quill.setSelection(u,0,N.sources.USER)}}else{const o=s.table()[n];o!=null&&(r?this.quill.setSelection(o.offset(this.quill.scroll)+o.length()-1,0,N.sources.USER):this.quill.setSelection(o.offset(this.quill.scroll),0,N.sources.USER))}return!1}}}function ld(r){if(typeof r=="string"||typeof r=="number")r={key:r};else if(typeof r=="object")r=tn(r);else return null;return r.shortKey&&(r[sd]=r.shortKey,delete r.shortKey),r}function Si(r){let{quill:t,range:e}=r;const n=t.getLines(e);let s={};if(n.length>1){const i=n[0].formats(),o=n[n.length-1].formats();s=wt.AttributeMap.diff(o,i)||{}}t.deleteText(e,N.sources.USER),Object.keys(s).length>0&&t.formatLine(e.index,1,s,N.sources.USER),t.setSelection(e.index,N.sources.SILENT)}function od(r,t,e,n){return t.prev==null&&t.next==null?e.prev==null&&e.next==null?n===0?-1:1:e.prev==null?-1:1:t.prev==null?-1:t.next==null?1:null}const ad=/font-weight:\s*normal/,cd=["P","OL","UL"],Tl=r=>r&&cd.includes(r.tagName),ud=r=>{Array.from(r.querySelectorAll("br")).filter(t=>Tl(t.previousElementSibling)&&Tl(t.nextElementSibling)).forEach(t=>{var e;(e=t.parentNode)==null||e.removeChild(t)})},hd=r=>{Array.from(r.querySelectorAll('b[style*="font-weight"]')).filter(t=>{var e;return(e=t.getAttribute("style"))==null?void 0:e.match(ad)}).forEach(t=>{var n;const e=r.createDocumentFragment();e.append(...t.childNodes),(n=t.parentNode)==null||n.replaceChild(e,t)})};function fd(r){r.querySelector('[id^="docs-internal-guid-"]')&&(hd(r),ud(r))}const dd=/\bmso-list:[^;]*ignore/i,gd=/\bmso-list:[^;]*\bl(\d+)/i,pd=/\bmso-list:[^;]*\blevel(\d+)/i,md=(r,t)=>{const e=r.getAttribute("style"),n=e==null?void 0:e.match(gd);if(!n)return null;const s=Number(n[1]),i=e==null?void 0:e.match(pd),o=i?Number(i[1]):1,a=new RegExp(`@list l${s}:level${o}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),u=t.match(a),h=u&&u[1]==="bullet"?"bullet":"ordered";return{id:s,indent:o,type:h,element:r}},bd=r=>{var o,a;const t=Array.from(r.querySelectorAll("[style*=mso-list]")),e=[],n=[];t.forEach(u=>{(u.getAttribute("style")||"").match(dd)?e.push(u):n.push(u)}),e.forEach(u=>{var h;return(h=u.parentNode)==null?void 0:h.removeChild(u)});const s=r.documentElement.innerHTML,i=n.map(u=>md(u,s)).filter(u=>u);for(;i.length;){const u=[];let h=i.shift();for(;h;)u.push(h),h=i.length&&((o=i[0])==null?void 0:o.element)===h.element.nextElementSibling&&i[0].id===h.id?i.shift():null;const p=document.createElement("ul");u.forEach(m=>{const v=document.createElement("li");v.setAttribute("data-list",m.type),m.indent>1&&v.setAttribute("class",`ql-indent-${m.indent-1}`),v.innerHTML=m.element.innerHTML,p.appendChild(v)});const y=(a=u[0])==null?void 0:a.element,{parentNode:f}=y??{};y&&(f==null||f.replaceChild(p,y)),u.slice(1).forEach(m=>{let{element:v}=m;f==null||f.removeChild(v)})}};function yd(r){r.documentElement.getAttribute("xmlns:w")==="urn:schemas-microsoft-com:office:word"&&bd(r)}const vd=[yd,fd],Ad=r=>{r.documentElement&&vd.forEach(t=>{t(r)})},Ed=ue("quill:clipboard"),Nd=[[Node.TEXT_NODE,kd],[Node.TEXT_NODE,Ll],["br",Sd],[Node.ELEMENT_NODE,Ll],[Node.ELEMENT_NODE,Ld],[Node.ELEMENT_NODE,xd],[Node.ELEMENT_NODE,Id],["li",qd],["ol, ul",Cd],["pre",_d],["tr",Rd],["b",js("bold")],["i",js("italic")],["strike",js("strike")],["style",Od]],wd=[Jf,To].reduce((r,t)=>(r[t.keyName]=t,r),{}),xl=[No,Ti,wi,Lo,Oo,Co].reduce((r,t)=>(r[t.keyName]=t,r),{});class Io extends zt{constructor(t,e){super(t,e),this.quill.root.addEventListener("copy",n=>this.onCaptureCopy(n,!1)),this.quill.root.addEventListener("cut",n=>this.onCaptureCopy(n,!0)),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],Nd.concat(this.options.matchers??[]).forEach(n=>{let[s,i]=n;this.addMatcher(s,i)})}addMatcher(t,e){this.matchers.push([t,e])}convert(t){let{html:e,text:n}=t,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(s[Et.blotName])return new B().insert(n||"",{[Et.blotName]:s[Et.blotName]});if(!e)return new B().insert(n||"",s);const i=this.convertHTML(e);return Gn(i,` +`)&&(i.ops[i.ops.length-1].attributes==null||s.table)?i.compose(new B().retain(i.length()-1).delete(1)):i}normalizeHTML(t){Ad(t)}convertHTML(t){const e=new DOMParser().parseFromString(t,"text/html");this.normalizeHTML(e);const n=e.body,s=new WeakMap,[i,o]=this.prepareMatching(n,s);return _i(this.quill.scroll,n,i,o,s)}dangerouslyPasteHTML(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:N.sources.API;if(typeof t=="string"){const s=this.convert({html:t,text:""});this.quill.setContents(s,e),this.quill.setSelection(0,N.sources.SILENT)}else{const s=this.convert({html:e,text:""});this.quill.updateContents(new B().retain(t).concat(s),n),this.quill.setSelection(t+s.length(),N.sources.SILENT)}}onCaptureCopy(t){var o,a;let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.defaultPrevented)return;t.preventDefault();const[n]=this.quill.selection.getRange();if(n==null)return;const{html:s,text:i}=this.onCopy(n,e);(o=t.clipboardData)==null||o.setData("text/plain",i),(a=t.clipboardData)==null||a.setData("text/html",s),e&&Si({range:n,quill:this.quill})}normalizeURIList(t){return t.split(/\r?\n/).filter(e=>e[0]!=="#").join(` +`)}onCapturePaste(t){var o,a,u,h,p;if(t.defaultPrevented||!this.quill.isEnabled())return;t.preventDefault();const e=this.quill.getSelection(!0);if(e==null)return;const n=(o=t.clipboardData)==null?void 0:o.getData("text/html");let s=(a=t.clipboardData)==null?void 0:a.getData("text/plain");if(!n&&!s){const y=(u=t.clipboardData)==null?void 0:u.getData("text/uri-list");y&&(s=this.normalizeURIList(y))}const i=Array.from(((h=t.clipboardData)==null?void 0:h.files)||[]);if(!n&&i.length>0){this.quill.uploader.upload(e,i);return}if(n&&i.length>0){const y=new DOMParser().parseFromString(n,"text/html");if(y.body.childElementCount===1&&((p=y.body.firstElementChild)==null?void 0:p.tagName)==="IMG"){this.quill.uploader.upload(e,i);return}}this.onPaste(e,{html:n,text:s})}onCopy(t){const e=this.quill.getText(t);return{html:this.quill.getSemanticHTML(t),text:e}}onPaste(t,e){let{text:n,html:s}=e;const i=this.quill.getFormat(t.index),o=this.convert({text:n,html:s},i);Ed.log("onPaste",o,{text:n,html:s});const a=new B().retain(t.index).delete(t.length).concat(o);this.quill.updateContents(a,N.sources.USER),this.quill.setSelection(a.length()-t.length,N.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(t,e){const n=[],s=[];return this.matchers.forEach(i=>{const[o,a]=i;switch(o){case Node.TEXT_NODE:s.push(a);break;case Node.ELEMENT_NODE:n.push(a);break;default:Array.from(t.querySelectorAll(o)).forEach(u=>{if(e.has(u)){const h=e.get(u);h==null||h.push(a)}else e.set(u,[a])});break}}),[n,s]}}q(Io,"DEFAULTS",{matchers:[]});function Me(r,t,e,n){return n.query(t)?r.reduce((s,i)=>{if(!i.insert)return s;if(i.attributes&&i.attributes[t])return s.push(i);const o=e?{[t]:e}:{};return s.insert(i.insert,{...o,...i.attributes})},new B):r}function Gn(r,t){let e="";for(let n=r.ops.length-1;n>=0&&e.lengtho(t,i,r),new B):t.nodeType===t.ELEMENT_NODE?Array.from(t.childNodes||[]).reduce((i,o)=>{let a=_i(r,o,e,n,s);return o.nodeType===t.ELEMENT_NODE&&(a=e.reduce((u,h)=>h(o,u,r),a),a=(s.get(o)||[]).reduce((u,h)=>h(o,u,r),a)),i.concat(a)},new B):new B}function js(r){return(t,e,n)=>Me(e,r,!0,n)}function xd(r,t,e){const n=Qt.keys(r),s=Ft.keys(r),i=Ae.keys(r),o={};return n.concat(s).concat(i).forEach(a=>{let u=e.query(a,D.ATTRIBUTE);u!=null&&(o[u.attrName]=u.value(r),o[u.attrName])||(u=wd[a],u!=null&&(u.attrName===a||u.keyName===a)&&(o[u.attrName]=u.value(r)||void 0),u=xl[a],u!=null&&(u.attrName===a||u.keyName===a)&&(u=xl[a],o[u.attrName]=u.value(r)||void 0))}),Object.entries(o).reduce((a,u)=>{let[h,p]=u;return Me(a,h,p,e)},t)}function Ld(r,t,e){const n=e.query(r);if(n==null)return t;if(n.prototype instanceof St){const s={},i=n.value(r);if(i!=null)return s[n.blotName]=i,new B().insert(s,n.formats(r,e))}else if(n.prototype instanceof $n&&!Gn(t,` +`)&&t.insert(` +`),"blotName"in n&&"formats"in n&&typeof n.formats=="function")return Me(t,n.blotName,n.formats(r,e),e);return t}function Sd(r,t){return Gn(t,` +`)||t.insert(` +`),t}function _d(r,t,e){const n=e.query("code-block"),s=n&&"formats"in n&&typeof n.formats=="function"?n.formats(r,e):!0;return Me(t,"code-block",s,e)}function Od(){return new B}function qd(r,t,e){const n=e.query(r);if(n==null||n.blotName!=="list"||!Gn(t,` +`))return t;let s=-1,i=r.parentNode;for(;i!=null;)["OL","UL"].includes(i.tagName)&&(s+=1),i=i.parentNode;return s<=0?t:t.reduce((o,a)=>a.insert?a.attributes&&typeof a.attributes.indent=="number"?o.push(a):o.insert(a.insert,{indent:s,...a.attributes||{}}):o,new B)}function Cd(r,t,e){const n=r;let s=n.tagName==="OL"?"ordered":"bullet";const i=n.getAttribute("data-checked");return i&&(s=i==="true"?"checked":"unchecked"),Me(t,"list",s,e)}function Ll(r,t,e){if(!Gn(t,` +`)){if(pe(r,e)&&(r.childNodes.length>0||r instanceof HTMLParagraphElement))return t.insert(` +`);if(t.length()>0&&r.nextSibling){let n=r.nextSibling;for(;n!=null;){if(pe(n,e))return t.insert(` +`);const s=e.query(n);if(s&&s.prototype instanceof It)return t.insert(` +`);n=n.firstChild}}}return t}function Id(r,t,e){var i;const n={},s=r.style||{};return s.fontStyle==="italic"&&(n.italic=!0),s.textDecoration==="underline"&&(n.underline=!0),s.textDecoration==="line-through"&&(n.strike=!0),((i=s.fontWeight)!=null&&i.startsWith("bold")||parseInt(s.fontWeight,10)>=700)&&(n.bold=!0),t=Object.entries(n).reduce((o,a)=>{let[u,h]=a;return Me(o,u,h,e)},t),parseFloat(s.textIndent||0)>0?new B().insert(" ").concat(t):t}function Rd(r,t,e){var s,i;const n=((s=r.parentElement)==null?void 0:s.tagName)==="TABLE"?r.parentElement:(i=r.parentElement)==null?void 0:i.parentElement;if(n!=null){const a=Array.from(n.querySelectorAll("tr")).indexOf(r)+1;return Me(t,"table",a,e)}return t}function kd(r,t,e){var s;let n=r.data;if(((s=r.parentElement)==null?void 0:s.tagName)==="O:P")return t.insert(n.trim());if(!Ro(r)){if(n.trim().length===0&&n.includes(` +`)&&!Td(r,e))return t;n=n.replace(/[^\S\u00a0]/g," "),n=n.replace(/ {2,}/g," "),(r.previousSibling==null&&r.parentElement!=null&&pe(r.parentElement,e)||r.previousSibling instanceof Element&&pe(r.previousSibling,e))&&(n=n.replace(/^ /,"")),(r.nextSibling==null&&r.parentElement!=null&&pe(r.parentElement,e)||r.nextSibling instanceof Element&&pe(r.nextSibling,e))&&(n=n.replace(/ $/,"")),n=n.replaceAll(" "," ")}return t.insert(n)}class ko extends zt{constructor(e,n){super(e,n);q(this,"lastRecorded",0);q(this,"ignoreChange",!1);q(this,"stack",{undo:[],redo:[]});q(this,"currentRange",null);this.quill.on(N.events.EDITOR_CHANGE,(s,i,o,a)=>{s===N.events.SELECTION_CHANGE?i&&a!==N.sources.SILENT&&(this.currentRange=i):s===N.events.TEXT_CHANGE&&(this.ignoreChange||(!this.options.userOnly||a===N.sources.USER?this.record(i,o):this.transform(i)),this.currentRange=ei(this.currentRange,i))}),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",s=>{s.inputType==="historyUndo"?(this.undo(),s.preventDefault()):s.inputType==="historyRedo"&&(this.redo(),s.preventDefault())})}change(e,n){if(this.stack[e].length===0)return;const s=this.stack[e].pop();if(!s)return;const i=this.quill.getContents(),o=s.delta.invert(i);this.stack[n].push({delta:o,range:ei(s.range,o)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(s.delta,N.sources.USER),this.ignoreChange=!1,this.restoreSelection(s)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(e,n){if(e.ops.length===0)return;this.stack.redo=[];let s=e.invert(n),i=this.currentRange;const o=Date.now();if(this.lastRecorded+this.options.delay>o&&this.stack.undo.length>0){const a=this.stack.undo.pop();a&&(s=s.compose(a.delta),i=a.range)}else this.lastRecorded=o;s.length()!==0&&(this.stack.undo.push({delta:s,range:i}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(e){Sl(this.stack.undo,e),Sl(this.stack.redo,e)}undo(){this.change("undo","redo")}restoreSelection(e){if(e.range)this.quill.setSelection(e.range,N.sources.USER);else{const n=Md(this.quill.scroll,e.delta);this.quill.setSelection(n,N.sources.USER)}}}q(ko,"DEFAULTS",{delay:1e3,maxStack:100,userOnly:!1});function Sl(r,t){let e=t;for(let n=r.length-1;n>=0;n-=1){const s=r[n];r[n]={delta:e.transform(s.delta,!0),range:s.range&&ei(s.range,e)},e=s.delta.transform(e),r[n].delta.length()===0&&r.splice(n,1)}}function Bd(r,t){const e=t.ops[t.ops.length-1];return e==null?!1:e.insert!=null?typeof e.insert=="string"&&e.insert.endsWith(` +`):e.attributes!=null?Object.keys(e.attributes).some(n=>r.query(n,D.BLOCK)!=null):!1}function Md(r,t){const e=t.reduce((s,i)=>s+(i.delete||0),0);let n=t.length()-e;return Bd(r,t)&&(n-=1),n}function ei(r,t){if(!r)return r;const e=t.transformPosition(r.index),n=t.transformPosition(r.index+r.length);return{index:e,length:n-e}}class Bo extends zt{constructor(t,e){super(t,e),t.root.addEventListener("drop",n=>{var o;n.preventDefault();let s=null;if(document.caretRangeFromPoint)s=document.caretRangeFromPoint(n.clientX,n.clientY);else if(document.caretPositionFromPoint){const a=document.caretPositionFromPoint(n.clientX,n.clientY);s=document.createRange(),s.setStart(a.offsetNode,a.offset),s.setEnd(a.offsetNode,a.offset)}const i=s&&t.selection.normalizeNative(s);if(i){const a=t.selection.normalizedToRange(i);(o=n.dataTransfer)!=null&&o.files&&this.upload(a,n.dataTransfer.files)}})}upload(t,e){const n=[];Array.from(e).forEach(s=>{var i;s&&((i=this.options.mimetypes)!=null&&i.includes(s.type))&&n.push(s)}),n.length>0&&this.options.handler.call(this,t,n)}}Bo.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(r,t){if(!this.quill.scroll.query("image"))return;const e=t.map(n=>new Promise(s=>{const i=new FileReader;i.onload=()=>{s(i.result)},i.readAsDataURL(n)}));Promise.all(e).then(n=>{const s=n.reduce((i,o)=>i.insert({image:o}),new B().retain(r.index).delete(r.length));this.quill.updateContents(s,R.sources.USER),this.quill.setSelection(r.index+n.length,R.sources.SILENT)})}};const Dd=["insertText","insertReplacementText"];class $d extends zt{constructor(t,e){super(t,e),t.root.addEventListener("beforeinput",n=>{this.handleBeforeInput(n)}),/Android/i.test(navigator.userAgent)||t.on(N.events.COMPOSITION_BEFORE_START,()=>{this.handleCompositionStart()})}deleteRange(t){Si({range:t,quill:this.quill})}replaceText(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(t.length===0)return!1;if(e){const n=this.quill.getFormat(t.index,1);this.deleteRange(t),this.quill.updateContents(new B().retain(t.index).insert(e,n),N.sources.USER)}else this.deleteRange(t);return this.quill.setSelection(t.index+e.length,0,N.sources.SILENT),!0}handleBeforeInput(t){if(this.quill.composition.isComposing||t.defaultPrevented||!Dd.includes(t.inputType))return;const e=t.getTargetRanges?t.getTargetRanges()[0]:null;if(!e||e.collapsed===!0)return;const n=jd(t);if(n==null)return;const s=this.quill.selection.normalizeNative(e),i=s?this.quill.selection.normalizedToRange(s):null;i&&this.replaceText(i,n)&&t.preventDefault()}handleCompositionStart(){const t=this.quill.getSelection();t&&this.replaceText(t)}}function jd(r){var t;return typeof r.data=="string"?r.data:(t=r.dataTransfer)!=null&&t.types.includes("text/plain")?r.dataTransfer.getData("text/plain"):null}const Pd=/Mac/i.test(navigator.platform),Ud=100,Fd=r=>!!(r.key==="ArrowLeft"||r.key==="ArrowRight"||r.key==="ArrowUp"||r.key==="ArrowDown"||r.key==="Home"||Pd&&r.key==="a"&&r.ctrlKey===!0);class Hd extends zt{constructor(e,n){super(e,n);q(this,"isListening",!1);q(this,"selectionChangeDeadline",0);this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(e,n){let{line:s,event:i}=n;if(!(s instanceof Pt)||!s.uiNode)return!0;const o=getComputedStyle(s.domNode).direction==="rtl";return o&&i.key!=="ArrowRight"||!o&&i.key!=="ArrowLeft"?!0:(this.quill.setSelection(e.index-1,e.length+(i.shiftKey?1:0),N.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",e=>{!e.defaultPrevented&&Fd(e)&&this.ensureListeningToSelectionChange()})}ensureListeningToSelectionChange(){if(this.selectionChangeDeadline=Date.now()+Ud,this.isListening)return;this.isListening=!0;const e=()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()};document.addEventListener("selectionchange",e,{once:!0})}handleSelectionChange(){const e=document.getSelection();if(!e)return;const n=e.getRangeAt(0);if(n.collapsed!==!0||n.startOffset!==0)return;const s=this.quill.scroll.find(n.startContainer);if(!(s instanceof Pt)||!s.uiNode)return;const i=document.createRange();i.setStartAfter(s.uiNode),i.setEndAfter(s.uiNode),e.removeAllRanges(),e.addRange(i)}}N.register({"blots/block":pt,"blots/block/embed":It,"blots/break":Ht,"blots/container":ke,"blots/cursor":ln,"blots/embed":Ei,"blots/inline":Jt,"blots/scroll":Je,"blots/text":Ut,"modules/clipboard":Io,"modules/history":ko,"modules/keyboard":Dr,"modules/uploader":Bo,"modules/input":$d,"modules/uiNode":Hd});class zd extends Ft{add(t,e){let n=0;if(e==="+1"||e==="-1"){const s=this.value(t)||0;n=e==="+1"?s+1:s-1}else typeof e=="number"&&(n=e);return n===0?(this.remove(t),!0):super.add(t,n.toString())}canAdd(t,e){return super.canAdd(t,e)||super.canAdd(t,parseInt(e,10))}value(t){return parseInt(super.value(t),10)||void 0}}const Gd=new zd("indent","ql-indent",{scope:D.BLOCK,whitelist:[1,2,3,4,5,6,7,8]});class ni extends pt{}q(ni,"blotName","blockquote"),q(ni,"tagName","blockquote");class ri extends pt{static formats(t){return this.tagName.indexOf(t.tagName)+1}}q(ri,"blotName","header"),q(ri,"tagName",["H1","H2","H3","H4","H5","H6"]);class Kn extends ke{}Kn.blotName="list-container";Kn.tagName="OL";class Vn extends pt{static create(t){const e=super.create();return e.setAttribute("data-list",t),e}static formats(t){return t.getAttribute("data-list")||void 0}static register(){N.register(Kn)}constructor(t,e){super(t,e);const n=e.ownerDocument.createElement("span"),s=i=>{if(!t.isEnabled())return;const o=this.statics.formats(e,t);o==="checked"?(this.format("list","unchecked"),i.preventDefault()):o==="unchecked"&&(this.format("list","checked"),i.preventDefault())};n.addEventListener("mousedown",s),n.addEventListener("touchstart",s),this.attachUI(n)}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-list",e):super.format(t,e)}}Vn.blotName="list";Vn.tagName="LI";Kn.allowedChildren=[Vn];Vn.requiredContainer=Kn;class Pn extends Jt{static create(){return super.create()}static formats(){return!0}optimize(t){super.optimize(t),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}}q(Pn,"blotName","bold"),q(Pn,"tagName",["STRONG","B"]);class si extends Pn{}q(si,"blotName","italic"),q(si,"tagName",["EM","I"]);class me extends Jt{static create(t){const e=super.create(t);return e.setAttribute("href",this.sanitize(t)),e.setAttribute("rel","noopener noreferrer"),e.setAttribute("target","_blank"),e}static formats(t){return t.getAttribute("href")}static sanitize(t){return Mo(t,this.PROTOCOL_WHITELIST)?t:this.SANITIZED_URL}format(t,e){t!==this.statics.blotName||!e?super.format(t,e):this.domNode.setAttribute("href",this.constructor.sanitize(e))}}q(me,"blotName","link"),q(me,"tagName","A"),q(me,"SANITIZED_URL","about:blank"),q(me,"PROTOCOL_WHITELIST",["http","https","mailto","tel","sms"]);function Mo(r,t){const e=document.createElement("a");e.href=r;const n=e.href.slice(0,e.href.indexOf(":"));return t.indexOf(n)>-1}class ii extends Jt{static create(t){return t==="super"?document.createElement("sup"):t==="sub"?document.createElement("sub"):super.create(t)}static formats(t){if(t.tagName==="SUB")return"sub";if(t.tagName==="SUP")return"super"}}q(ii,"blotName","script"),q(ii,"tagName",["SUB","SUP"]);class li extends Pn{}q(li,"blotName","strike"),q(li,"tagName",["S","STRIKE"]);class oi extends Jt{}q(oi,"blotName","underline"),q(oi,"tagName","U");class xr extends Ei{static create(t){if(window.katex==null)throw new Error("Formula module requires KaTeX.");const e=super.create(t);return typeof t=="string"&&(window.katex.render(t,e,{throwOnError:!1,errorColor:"#f00"}),e.setAttribute("data-value",t)),e}static value(t){return t.getAttribute("data-value")}html(){const{formula:t}=this.value();return`${t}`}}q(xr,"blotName","formula"),q(xr,"className","ql-formula"),q(xr,"tagName","SPAN");const _l=["alt","height","width"];class ai extends St{static create(t){const e=super.create(t);return typeof t=="string"&&e.setAttribute("src",this.sanitize(t)),e}static formats(t){return _l.reduce((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e),{})}static match(t){return/\.(jpe?g|gif|png)$/.test(t)||/^data:image\/.+;base64/.test(t)}static sanitize(t){return Mo(t,["http","https","data"])?t:"//:0"}static value(t){return t.getAttribute("src")}format(t,e){_l.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}}q(ai,"blotName","image"),q(ai,"tagName","IMG");const Ol=["height","width"];class Lr extends It{static create(t){const e=super.create(t);return e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("src",this.sanitize(t)),e}static formats(t){return Ol.reduce((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e),{})}static sanitize(t){return me.sanitize(t)}static value(t){return t.getAttribute("src")}format(t,e){Ol.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}html(){const{video:t}=this.value();return`${t}`}}q(Lr,"blotName","video"),q(Lr,"className","ql-video"),q(Lr,"tagName","IFRAME");const qn=new Ft("code-token","hljs",{scope:D.INLINE});class oe extends Jt{static formats(t,e){for(;t!=null&&t!==e.domNode;){if(t.classList&&t.classList.contains(Et.className))return super.formats(t,e);t=t.parentNode}}constructor(t,e,n){super(t,e,n),qn.add(this.domNode,n)}format(t,e){t!==oe.blotName?super.format(t,e):e?qn.add(this.domNode,e):(qn.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),qn.value(this.domNode)||this.unwrap()}}oe.blotName="code-token";oe.className="ql-token";class Ct extends Et{static create(t){const e=super.create(t);return typeof t=="string"&&e.setAttribute("data-language",t),e}static formats(t){return t.getAttribute("data-language")||"plain"}static register(){}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-language",e):super.format(t,e)}replaceWith(t,e){return this.formatAt(0,this.length(),oe.blotName,!1),super.replaceWith(t,e)}}class In extends Be{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(t,e){t===Ct.blotName&&(this.forceNext=!0,this.children.forEach(n=>{n.format(t,e)}))}formatAt(t,e,n,s){n===Ct.blotName&&(this.forceNext=!0),super.formatAt(t,e,n,s)}highlight(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.children.head==null)return;const s=`${Array.from(this.domNode.childNodes).filter(o=>o!==this.uiNode).map(o=>o.textContent).join(` +`)} +`,i=Ct.formats(this.children.head.domNode);if(e||this.forceNext||this.cachedText!==s){if(s.trim().length>0||this.cachedText==null){const o=this.children.reduce((u,h)=>u.concat(vo(h,!1)),new B),a=t(s,i);o.diff(a).reduce((u,h)=>{let{retain:p,attributes:y}=h;return p?(y&&Object.keys(y).forEach(f=>{[Ct.blotName,oe.blotName].includes(f)&&this.formatAt(u,p,f,y[f])}),u+p):u},0)}this.cachedText=s,this.forceNext=!1}}html(t,e){const[n]=this.children.find(t);return`
    +${Mr(this.code(t,e))}
    +
    `}optimize(t){if(super.optimize(t),this.parent!=null&&this.children.head!=null&&this.uiNode!=null){const e=Ct.formats(this.children.head.domNode);e!==this.uiNode.value&&(this.uiNode.value=e)}}}In.allowedChildren=[Ct];Ct.requiredContainer=In;Ct.allowedChildren=[oe,ln,Ut,Ht];const Kd=(r,t,e)=>{if(typeof r.versionString=="string"){const n=r.versionString.split(".")[0];if(parseInt(n,10)>=11)return r.highlight(e,{language:t}).value}return r.highlight(t,e).value};class Do extends zt{static register(){N.register(oe,!0),N.register(Ct,!0),N.register(In,!0)}constructor(t,e){if(super(t,e),this.options.hljs==null)throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce((n,s)=>{let{key:i}=s;return n[i]=!0,n},{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(N.events.SCROLL_BLOT_MOUNT,t=>{if(!(t instanceof In))return;const e=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach(n=>{let{key:s,label:i}=n;const o=e.ownerDocument.createElement("option");o.textContent=i,o.setAttribute("value",s),e.appendChild(o)}),e.addEventListener("change",()=>{t.format(Ct.blotName,e.value),this.quill.root.focus(),this.highlight(t,!0)}),t.uiNode==null&&(t.attachUI(e),t.children.head&&(e.value=Ct.formats(t.children.head.domNode)))})}initTimer(){let t=null;this.quill.on(N.events.SCROLL_OPTIMIZE,()=>{t&&clearTimeout(t),t=setTimeout(()=>{this.highlight(),t=null},this.options.interval)})}highlight(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.quill.selection.composing)return;this.quill.update(N.sources.USER);const n=this.quill.getSelection();(t==null?this.quill.scroll.descendants(In):[t]).forEach(i=>{i.highlight(this.highlightBlot,e)}),this.quill.update(N.sources.SILENT),n!=null&&this.quill.setSelection(n,N.sources.SILENT)}highlightBlot(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"plain";if(e=this.languages[e]?e:"plain",e==="plain")return Mr(t).split(` +`).reduce((s,i,o)=>(o!==0&&s.insert(` +`,{[Et.blotName]:e}),s.insert(i)),new B);const n=this.quill.root.ownerDocument.createElement("div");return n.classList.add(Et.className),n.innerHTML=Kd(this.options.hljs,e,t),_i(this.quill.scroll,n,[(s,i)=>{const o=qn.value(s);return o?i.compose(new B().retain(i.length(),{[oe.blotName]:o})):i}],[(s,i)=>s.data.split(` +`).reduce((o,a,u)=>(u!==0&&o.insert(` +`,{[Et.blotName]:e}),o.insert(a)),i)],new WeakMap)}}Do.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]};const kn=class kn extends pt{static create(t){const e=super.create();return t?e.setAttribute("data-row",t):e.setAttribute("data-row",Oi()),e}static formats(t){if(t.hasAttribute("data-row"))return t.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(t,e){t===kn.blotName&&e?this.domNode.setAttribute("data-row",e):super.format(t,e)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}};q(kn,"blotName","table"),q(kn,"tagName","TD");let jt=kn;class ae extends ke{checkMerge(){if(super.checkMerge()&&this.next.children.head!=null){const t=this.children.head.formats(),e=this.children.tail.formats(),n=this.next.children.head.formats(),s=this.next.children.tail.formats();return t.table===e.table&&t.table===n.table&&t.table===s.table}return!1}optimize(t){super.optimize(t),this.children.forEach(e=>{if(e.next==null)return;const n=e.formats(),s=e.next.formats();if(n.table!==s.table){const i=this.splitAfter(e);i&&i.optimize(),this.prev&&this.prev.optimize()}})}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}}q(ae,"blotName","table-row"),q(ae,"tagName","TR");class Yt extends ke{}q(Yt,"blotName","table-body"),q(Yt,"tagName","TBODY");class an extends ke{balanceCells(){const t=this.descendants(ae),e=t.reduce((n,s)=>Math.max(s.children.length,n),0);t.forEach(n=>{new Array(e-n.children.length).fill(0).forEach(()=>{let s;n.children.head!=null&&(s=jt.formats(n.children.head.domNode));const i=this.scroll.create(jt.blotName,s);n.appendChild(i),i.optimize()})})}cells(t){return this.rows().map(e=>e.children.at(t))}deleteColumn(t){const[e]=this.descendant(Yt);e==null||e.children.head==null||e.children.forEach(n=>{const s=n.children.at(t);s!=null&&s.remove()})}insertColumn(t){const[e]=this.descendant(Yt);e==null||e.children.head==null||e.children.forEach(n=>{const s=n.children.at(t),i=jt.formats(n.children.head.domNode),o=this.scroll.create(jt.blotName,i);n.insertBefore(o,s)})}insertRow(t){const[e]=this.descendant(Yt);if(e==null||e.children.head==null)return;const n=Oi(),s=this.scroll.create(ae.blotName);e.children.head.children.forEach(()=>{const o=this.scroll.create(jt.blotName,n);s.appendChild(o)});const i=e.children.at(t);e.insertBefore(s,i)}rows(){const t=this.children.head;return t==null?[]:t.children.map(e=>e)}}q(an,"blotName","table-container"),q(an,"tagName","TABLE");an.allowedChildren=[Yt];Yt.requiredContainer=an;Yt.allowedChildren=[ae];ae.requiredContainer=Yt;ae.allowedChildren=[jt];jt.requiredContainer=ae;function Oi(){return`row-${Math.random().toString(36).slice(2,6)}`}class Vd extends zt{static register(){N.register(jt),N.register(ae),N.register(Yt),N.register(an)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(an).forEach(t=>{t.balanceCells()})}deleteColumn(){const[t,,e]=this.getTable();e!=null&&(t.deleteColumn(e.cellOffset()),this.quill.update(N.sources.USER))}deleteRow(){const[,t]=this.getTable();t!=null&&(t.remove(),this.quill.update(N.sources.USER))}deleteTable(){const[t]=this.getTable();if(t==null)return;const e=t.offset();t.remove(),this.quill.update(N.sources.USER),this.quill.setSelection(e,N.sources.SILENT)}getTable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.quill.getSelection();if(t==null)return[null,null,null,-1];const[e,n]=this.quill.getLine(t.index);if(e==null||e.statics.blotName!==jt.blotName)return[null,null,null,-1];const s=e.parent;return[s.parent.parent,s,e,n]}insertColumn(t){const e=this.quill.getSelection();if(!e)return;const[n,s,i]=this.getTable(e);if(i==null)return;const o=i.cellOffset();n.insertColumn(o+t),this.quill.update(N.sources.USER);let a=s.rowOffset();t===0&&(a+=1),this.quill.setSelection(e.index+a,e.length,N.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(t){const e=this.quill.getSelection();if(!e)return;const[n,s,i]=this.getTable(e);if(i==null)return;const o=s.rowOffset();n.insertRow(o+t),this.quill.update(N.sources.USER),t>0?this.quill.setSelection(e,N.sources.SILENT):this.quill.setSelection(e.index+s.children.length,e.length,N.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(t,e){const n=this.quill.getSelection();if(n==null)return;const s=new Array(t).fill(0).reduce(i=>{const o=new Array(e).fill(` +`).join("");return i.insert(o,{table:Oi()})},new B().retain(n.index));this.quill.updateContents(s,N.sources.USER),this.quill.setSelection(n.index,N.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(N.events.SCROLL_OPTIMIZE,t=>{t.some(e=>["TD","TR","TBODY","TABLE"].includes(e.target.tagName)?(this.quill.once(N.events.TEXT_CHANGE,(n,s,i)=>{i===N.sources.USER&&this.balanceTables()}),!0):!1)})}}const ql=ue("quill:toolbar");class qi extends zt{constructor(t,e){var n,s;if(super(t,e),Array.isArray(this.options.container)){const i=document.createElement("div");i.setAttribute("role","toolbar"),Wd(i,this.options.container),(s=(n=t.container)==null?void 0:n.parentNode)==null||s.insertBefore(i,t.container),this.container=i}else typeof this.options.container=="string"?this.container=document.querySelector(this.options.container):this.container=this.options.container;if(!(this.container instanceof HTMLElement)){ql.error("Container required for toolbar",this.options);return}this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach(i=>{var a;const o=(a=this.options.handlers)==null?void 0:a[i];o&&this.addHandler(i,o)}),Array.from(this.container.querySelectorAll("button, select")).forEach(i=>{this.attach(i)}),this.quill.on(N.events.EDITOR_CHANGE,()=>{const[i]=this.quill.selection.getRange();this.update(i)})}addHandler(t,e){this.handlers[t]=e}attach(t){let e=Array.from(t.classList).find(s=>s.indexOf("ql-")===0);if(!e)return;if(e=e.slice(3),t.tagName==="BUTTON"&&t.setAttribute("type","button"),this.handlers[e]==null&&this.quill.scroll.query(e)==null){ql.warn("ignoring attaching to nonexistent format",e,t);return}const n=t.tagName==="SELECT"?"change":"click";t.addEventListener(n,s=>{let i;if(t.tagName==="SELECT"){if(t.selectedIndex<0)return;const a=t.options[t.selectedIndex];a.hasAttribute("selected")?i=!1:i=a.value||!1}else t.classList.contains("ql-active")?i=!1:i=t.value||!t.hasAttribute("value"),s.preventDefault();this.quill.focus();const[o]=this.quill.selection.getRange();if(this.handlers[e]!=null)this.handlers[e].call(this,i);else if(this.quill.scroll.query(e).prototype instanceof St){if(i=prompt(`Enter ${e}`),!i)return;this.quill.updateContents(new B().retain(o.index).delete(o.length).insert({[e]:i}),N.sources.USER)}else this.quill.format(e,i,N.sources.USER);this.update(o)}),this.controls.push([e,t])}update(t){const e=t==null?{}:this.quill.getFormat(t);this.controls.forEach(n=>{const[s,i]=n;if(i.tagName==="SELECT"){let o=null;if(t==null)o=null;else if(e[s]==null)o=i.querySelector("option[selected]");else if(!Array.isArray(e[s])){let a=e[s];typeof a=="string"&&(a=a.replace(/"/g,'\\"')),o=i.querySelector(`option[value="${a}"]`)}o==null?(i.value="",i.selectedIndex=-1):o.selected=!0}else if(t==null)i.classList.remove("ql-active"),i.setAttribute("aria-pressed","false");else if(i.hasAttribute("value")){const o=e[s],a=o===i.getAttribute("value")||o!=null&&o.toString()===i.getAttribute("value")||o==null&&!i.getAttribute("value");i.classList.toggle("ql-active",a),i.setAttribute("aria-pressed",a.toString())}else{const o=e[s]!=null;i.classList.toggle("ql-active",o),i.setAttribute("aria-pressed",o.toString())}})}}qi.DEFAULTS={};function Cl(r,t,e){const n=document.createElement("button");n.setAttribute("type","button"),n.classList.add(`ql-${t}`),n.setAttribute("aria-pressed","false"),e!=null?(n.value=e,n.setAttribute("aria-label",`${t}: ${e}`)):n.setAttribute("aria-label",t),r.appendChild(n)}function Wd(r,t){Array.isArray(t[0])||(t=[t]),t.forEach(e=>{const n=document.createElement("span");n.classList.add("ql-formats"),e.forEach(s=>{if(typeof s=="string")Cl(n,s);else{const i=Object.keys(s)[0],o=s[i];Array.isArray(o)?Zd(n,i,o):Cl(n,i,o)}}),r.appendChild(n)})}function Zd(r,t,e){const n=document.createElement("select");n.classList.add(`ql-${t}`),e.forEach(s=>{const i=document.createElement("option");s!==!1?i.setAttribute("value",String(s)):i.setAttribute("selected","selected"),n.appendChild(i)}),r.appendChild(n)}qi.DEFAULTS={container:null,handlers:{clean(){const r=this.quill.getSelection();if(r!=null)if(r.length===0){const t=this.quill.getFormat();Object.keys(t).forEach(e=>{this.quill.scroll.query(e,D.INLINE)!=null&&this.quill.format(e,!1,N.sources.USER)})}else this.quill.removeFormat(r.index,r.length,N.sources.USER)},direction(r){const{align:t}=this.quill.getFormat();r==="rtl"&&t==null?this.quill.format("align","right",N.sources.USER):!r&&t==="right"&&this.quill.format("align",!1,N.sources.USER),this.quill.format("direction",r,N.sources.USER)},indent(r){const t=this.quill.getSelection(),e=this.quill.getFormat(t),n=parseInt(e.indent||0,10);if(r==="+1"||r==="-1"){let s=r==="+1"?1:-1;e.direction==="rtl"&&(s*=-1),this.quill.format("indent",n+s,N.sources.USER)}},link(r){r===!0&&(r=prompt("Enter link URL:")),this.quill.format("link",r,N.sources.USER)},list(r){const t=this.quill.getSelection(),e=this.quill.getFormat(t);r==="check"?e.list==="checked"||e.list==="unchecked"?this.quill.format("list",!1,N.sources.USER):this.quill.format("list","unchecked",N.sources.USER):this.quill.format("list",r,N.sources.USER)}}};const Xd='',Yd='',Qd='',Jd='',tg='',eg='',ng='',rg='',Il='',sg='',ig='',lg='',og='',ag='',cg='',ug='',hg='',fg='',dg='',gg='',pg='',mg='',bg='',yg='',vg='',Ag='',Eg='',Ng='',wg='',Tg='',xg='',Lg='',Sg='',Un={align:{"":Xd,center:Yd,right:Qd,justify:Jd},background:tg,blockquote:eg,bold:ng,clean:rg,code:Il,"code-block":Il,color:sg,direction:{"":ig,rtl:lg},formula:og,header:{1:ag,2:cg,3:ug,4:hg,5:fg,6:dg},italic:gg,image:pg,indent:{"+1":mg,"-1":bg},link:yg,list:{bullet:vg,check:Ag,ordered:Eg},script:{sub:Ng,super:wg},strike:Tg,table:xg,underline:Lg,video:Sg},_g='';let Rl=0;function kl(r,t){r.setAttribute(t,`${r.getAttribute(t)!=="true"}`)}class $r{constructor(t){this.select=t,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",()=>{this.togglePicker()}),this.label.addEventListener("keydown",e=>{switch(e.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),e.preventDefault();break}}),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),kl(this.label,"aria-expanded"),kl(this.options,"aria-hidden")}buildItem(t){const e=document.createElement("span");e.tabIndex="0",e.setAttribute("role","button"),e.classList.add("ql-picker-item");const n=t.getAttribute("value");return n&&e.setAttribute("data-value",n),t.textContent&&e.setAttribute("data-label",t.textContent),e.addEventListener("click",()=>{this.selectItem(e,!0)}),e.addEventListener("keydown",s=>{switch(s.key){case"Enter":this.selectItem(e,!0),s.preventDefault();break;case"Escape":this.escape(),s.preventDefault();break}}),e}buildLabel(){const t=document.createElement("span");return t.classList.add("ql-picker-label"),t.innerHTML=_g,t.tabIndex="0",t.setAttribute("role","button"),t.setAttribute("aria-expanded","false"),this.container.appendChild(t),t}buildOptions(){const t=document.createElement("span");t.classList.add("ql-picker-options"),t.setAttribute("aria-hidden","true"),t.tabIndex="-1",t.id=`ql-picker-options-${Rl}`,Rl+=1,this.label.setAttribute("aria-controls",t.id),this.options=t,Array.from(this.select.options).forEach(e=>{const n=this.buildItem(e);t.appendChild(n),e.selected===!0&&this.selectItem(n)}),this.container.appendChild(t)}buildPicker(){Array.from(this.select.attributes).forEach(t=>{this.container.setAttribute(t.name,t.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout(()=>this.label.focus(),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const n=this.container.querySelector(".ql-selected");t!==n&&(n!=null&&n.classList.remove("ql-selected"),t!=null&&(t.classList.add("ql-selected"),this.select.selectedIndex=Array.from(t.parentNode.children).indexOf(t),t.hasAttribute("data-value")?this.label.setAttribute("data-value",t.getAttribute("data-value")):this.label.removeAttribute("data-value"),t.hasAttribute("data-label")?this.label.setAttribute("data-label",t.getAttribute("data-label")):this.label.removeAttribute("data-label"),e&&(this.select.dispatchEvent(new Event("change")),this.close())))}update(){let t;if(this.select.selectedIndex>-1){const n=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];t=this.select.options[this.select.selectedIndex],this.selectItem(n)}else this.selectItem(null);const e=t!=null&&t!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",e)}}class $o extends $r{constructor(t,e){super(t),this.label.innerHTML=e,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach(n=>{n.classList.add("ql-primary")})}buildItem(t){const e=super.buildItem(t);return e.style.backgroundColor=t.getAttribute("value")||"",e}selectItem(t,e){super.selectItem(t,e);const n=this.label.querySelector(".ql-color-label"),s=t&&t.getAttribute("data-value")||"";n&&(n.tagName==="line"?n.style.stroke=s:n.style.fill=s)}}class jo extends $r{constructor(t,e){super(t),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach(n=>{n.innerHTML=e[n.getAttribute("data-value")||""]}),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(t,e){super.selectItem(t,e);const n=t||this.defaultItem;if(n!=null){if(this.label.innerHTML===n.innerHTML)return;this.label.innerHTML=n.innerHTML}}}const Og=r=>{const{overflowY:t}=getComputedStyle(r,null);return t!=="visible"&&t!=="clip"};class Po{constructor(t,e){this.quill=t,this.boundsContainer=e||document.body,this.root=t.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,Og(this.quill.root)&&this.quill.root.addEventListener("scroll",()=>{this.root.style.marginTop=`${-1*this.quill.root.scrollTop}px`}),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(t){const e=t.left+t.width/2-this.root.offsetWidth/2,n=t.bottom+this.quill.root.scrollTop;this.root.style.left=`${e}px`,this.root.style.top=`${n}px`,this.root.classList.remove("ql-flip");const s=this.boundsContainer.getBoundingClientRect(),i=this.root.getBoundingClientRect();let o=0;if(i.right>s.right&&(o=s.right-i.right,this.root.style.left=`${e+o}px`),i.lefts.bottom){const a=i.bottom-i.top,u=t.bottom-t.top+a;this.root.style.top=`${n-u}px`,this.root.classList.add("ql-flip")}return o}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}}const qg=[!1,"center","right","justify"],Cg=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],Ig=[!1,"serif","monospace"],Rg=["1","2","3",!1],kg=["small",!1,"large","huge"];class Wn extends on{constructor(t,e){super(t,e);const n=s=>{if(!document.body.contains(t.root)){document.body.removeEventListener("click",n);return}this.tooltip!=null&&!this.tooltip.root.contains(s.target)&&document.activeElement!==this.tooltip.textbox&&!this.quill.hasFocus()&&this.tooltip.hide(),this.pickers!=null&&this.pickers.forEach(i=>{i.container.contains(s.target)||i.close()})};t.emitter.listenDOM("click",document.body,n)}addModule(t){const e=super.addModule(t);return t==="toolbar"&&this.extendToolbar(e),e}buildButtons(t,e){Array.from(t).forEach(n=>{(n.getAttribute("class")||"").split(/\s+/).forEach(i=>{if(i.startsWith("ql-")&&(i=i.slice(3),e[i]!=null))if(i==="direction")n.innerHTML=e[i][""]+e[i].rtl;else if(typeof e[i]=="string")n.innerHTML=e[i];else{const o=n.value||"";o!=null&&e[i][o]&&(n.innerHTML=e[i][o])}})})}buildPickers(t,e){this.pickers=Array.from(t).map(s=>{if(s.classList.contains("ql-align")&&(s.querySelector("option")==null&&Sn(s,qg),typeof e.align=="object"))return new jo(s,e.align);if(s.classList.contains("ql-background")||s.classList.contains("ql-color")){const i=s.classList.contains("ql-background")?"background":"color";return s.querySelector("option")==null&&Sn(s,Cg,i==="background"?"#ffffff":"#000000"),new $o(s,e[i])}return s.querySelector("option")==null&&(s.classList.contains("ql-font")?Sn(s,Ig):s.classList.contains("ql-header")?Sn(s,Rg):s.classList.contains("ql-size")&&Sn(s,kg)),new $r(s)});const n=()=>{this.pickers.forEach(s=>{s.update()})};this.quill.on(R.events.EDITOR_CHANGE,n)}}Wn.DEFAULTS=be({},on.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let r=this.container.querySelector("input.ql-image[type=file]");r==null&&(r=document.createElement("input"),r.setAttribute("type","file"),r.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),r.classList.add("ql-image"),r.addEventListener("change",()=>{const t=this.quill.getSelection(!0);this.quill.uploader.upload(t,r.files),r.value=""}),this.container.appendChild(r)),r.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});class Uo extends Po{constructor(t,e){super(t,e),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",t=>{t.key==="Enter"?(this.save(),t.preventDefault()):t.key==="Escape"&&(this.cancel(),t.preventDefault())})}cancel(){this.hide(),this.restoreFocus()}edit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"link",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),this.textbox==null)return;e!=null?this.textbox.value=e:t!==this.root.getAttribute("data-mode")&&(this.textbox.value="");const n=this.quill.getBounds(this.quill.selection.savedRange);n!=null&&this.position(n),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${t}`)||""),this.root.setAttribute("data-mode",t)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:t}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{const{scrollTop:e}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",t,R.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",t,R.sources.USER)),this.quill.root.scrollTop=e;break}case"video":t=Bg(t);case"formula":{if(!t)break;const e=this.quill.getSelection(!0);if(e!=null){const n=e.index+e.length;this.quill.insertEmbed(n,this.root.getAttribute("data-mode"),t,R.sources.USER),this.root.getAttribute("data-mode")==="formula"&&this.quill.insertText(n+1," ",R.sources.USER),this.quill.setSelection(n+2,R.sources.USER)}break}}this.textbox.value="",this.hide()}}function Bg(r){let t=r.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||r.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return t?`${t[1]||"https"}://www.youtube.com/embed/${t[2]}?showinfo=0`:(t=r.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${t[1]||"https"}://player.vimeo.com/video/${t[2]}/`:r}function Sn(r,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;t.forEach(n=>{const s=document.createElement("option");n===e?s.setAttribute("selected","selected"):s.setAttribute("value",String(n)),r.appendChild(s)})}const Mg=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]];class Fo extends Uo{constructor(t,e){super(t,e),this.quill.on(R.events.EDITOR_CHANGE,(n,s,i,o)=>{if(n===R.events.SELECTION_CHANGE)if(s!=null&&s.length>0&&o===R.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;const a=this.quill.getLines(s.index,s.length);if(a.length===1){const u=this.quill.getBounds(s);u!=null&&this.position(u)}else{const u=a[a.length-1],h=this.quill.getIndex(u),p=Math.min(u.length()-1,s.index+s.length-h),y=this.quill.getBounds(new qe(h,p));y!=null&&this.position(y)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()})}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",()=>{this.root.classList.remove("ql-editing")}),this.quill.on(R.events.SCROLL_OPTIMIZE,()=>{setTimeout(()=>{if(this.root.classList.contains("ql-hidden"))return;const t=this.quill.getSelection();if(t!=null){const e=this.quill.getBounds(t);e!=null&&this.position(e)}},1)})}cancel(){this.show()}position(t){const e=super.position(t),n=this.root.querySelector(".ql-tooltip-arrow");return n.style.marginLeft="",e!==0&&(n.style.marginLeft=`${-1*e-n.offsetWidth/2}px`),e}}q(Fo,"TEMPLATE",['','
    ','','',"
    "].join(""));class Ho extends Wn{constructor(t,e){e.modules.toolbar!=null&&e.modules.toolbar.container==null&&(e.modules.toolbar.container=Mg),super(t,e),this.quill.container.classList.add("ql-bubble")}extendToolbar(t){this.tooltip=new Fo(this.quill,this.options.bounds),t.container!=null&&(this.tooltip.root.appendChild(t.container),this.buildButtons(t.container.querySelectorAll("button"),Un),this.buildPickers(t.container.querySelectorAll("select"),Un))}}Ho.DEFAULTS=be({},Wn.DEFAULTS,{modules:{toolbar:{handlers:{link(r){r?this.quill.theme.tooltip.edit():this.quill.format("link",!1,N.sources.USER)}}}}});const Dg=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]];class zo extends Uo{constructor(){super(...arguments);q(this,"preview",this.root.querySelector("a.ql-preview"))}listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",e=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),e.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",e=>{if(this.linkRange!=null){const n=this.linkRange;this.restoreFocus(),this.quill.formatText(n,"link",!1,R.sources.USER),delete this.linkRange}e.preventDefault(),this.hide()}),this.quill.on(R.events.SELECTION_CHANGE,(e,n,s)=>{if(e!=null){if(e.length===0&&s===R.sources.USER){const[i,o]=this.quill.scroll.descendant(me,e.index);if(i!=null){this.linkRange=new qe(e.index-o,i.length());const a=me.formats(i.domNode);this.preview.textContent=a,this.preview.setAttribute("href",a),this.show();const u=this.quill.getBounds(this.linkRange);u!=null&&this.position(u);return}}else delete this.linkRange;this.hide()}})}show(){super.show(),this.root.removeAttribute("data-mode")}}q(zo,"TEMPLATE",['','','',''].join(""));class Go extends Wn{constructor(t,e){e.modules.toolbar!=null&&e.modules.toolbar.container==null&&(e.modules.toolbar.container=Dg),super(t,e),this.quill.container.classList.add("ql-snow")}extendToolbar(t){t.container!=null&&(t.container.classList.add("ql-snow"),this.buildButtons(t.container.querySelectorAll("button"),Un),this.buildPickers(t.container.querySelectorAll("select"),Un),this.tooltip=new zo(this.quill,this.options.bounds),t.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},(e,n)=>{t.handlers.link.call(t,!n.format.link)}))}}Go.DEFAULTS=be({},Wn.DEFAULTS,{modules:{toolbar:{handlers:{link(r){if(r){const t=this.quill.getSelection();if(t==null||t.length===0)return;let e=this.quill.getText(t);/^\S+@\S+\.\S+$/.test(e)&&e.indexOf("mailto:")!==0&&(e=`mailto:${e}`);const{tooltip:n}=this.quill.theme;n.edit("link",e)}else this.quill.format("link",!1,N.sources.USER)}}}}});N.register({"attributors/attribute/direction":To,"attributors/class/align":Eo,"attributors/class/background":ed,"attributors/class/color":td,"attributors/class/direction":xo,"attributors/class/font":_o,"attributors/class/size":qo,"attributors/style/align":No,"attributors/style/background":Ti,"attributors/style/color":wi,"attributors/style/direction":Lo,"attributors/style/font":Oo,"attributors/style/size":Co},!0);N.register({"formats/align":Eo,"formats/direction":xo,"formats/indent":Gd,"formats/background":Ti,"formats/color":wi,"formats/font":_o,"formats/size":qo,"formats/blockquote":ni,"formats/code-block":Et,"formats/header":ri,"formats/list":Vn,"formats/bold":Pn,"formats/code":xi,"formats/italic":si,"formats/link":me,"formats/script":ii,"formats/strike":li,"formats/underline":oi,"formats/formula":xr,"formats/image":ai,"formats/video":Lr,"modules/syntax":Do,"modules/table":Vd,"modules/toolbar":qi,"themes/bubble":Ho,"themes/snow":Go,"ui/icons":Un,"ui/picker":$r,"ui/icon-picker":jo,"ui/color-picker":$o,"ui/tooltip":Po},!0);const Gg=wt.AttributeMap,Kg=wt.Op,Vg=wt.OpIterator;export{Gg as AttributeMap,B as Delta,zt as Module,Kg as Op,Vg as OpIterator,qf as Parchment,qe as Range,N as default};