Lines Matching defs:column

9 `,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Kt.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let g;const w=[];for(;(g=TF.exec(i))!==null;)if(g.index===TF.lastIndex&&TF.lastIndex++,g&&!a||a&&g[1]&&g[1].match(a)||a&&g[2]&&g[2].match(a)){const v=g[1]?g[1]:g[2],b=g[3]?g[3].trim():g[4]?JSON.parse(g[4].trim()):null;w.push({type:v,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Kt.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},uNe=function(i){return i.replace(TF,"")},lNe=function(i,a){for(const[f,g]of a.entries())if(g.match(i))return f;return-1};function Xw(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return aNe[f]??a}function hNe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?h8(f):f}const fNe=(i,...a)=>{const f=i.split("."),g=f.length-1,w=f[g];let v=window;for(let b=0;b<g;b++)if(v=v[f[b]],!v){Kt.error(`Function name: ${i} not found in window`);return}v[w](...a)};function TFt(i,a){return!i||!a?0:Math.sqrt(Math.pow(a.x-i.x,2)+Math.pow(a.y-i.y,2))}function dNe(i){let a,f=0;i.forEach(w=>{f+=TFt(w,a),a=w});const g=f/2;return Egt(i,g)}function gNe(i){return i.length===1?i[0]:dNe(i)}const CFt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},Egt=(i,a)=>{let f,g=a;for(const w of i){if(f){const v=TFt(w,f);if(v<g)g-=v;else{const b=g/v;if(b<=0)return f;if(b>=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:CFt((1-b)*f.x+b*w.x,5),y:CFt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},pNe=(i,a,f)=>{Kt.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=Egt(a,25),v=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*v+(a[0].x+w.x)/2,E.y=-Math.cos(b)*v+(a[0].y+w.y)/2,E};function bNe(i,a,f){const g=structuredClone(f);Kt.info("our points",g),a!=="start_left"&&a!=="start_right"&&g.reverse();const w=25+i,v=Egt(g,w),b=10+i*.5,E=Math.atan2(g[0].y-v.y,g[0].x-v.x),S={x:0,y:0};return a==="start_left"?(S.x=Math.sin(E+Math.PI)*b+(g[0].x+v.x)/2,S.y=-Math.cos(E+Math.PI)*b+(g[0].y+v.y)/2):a==="end_right"?(S.x=Math.sin(E-Math.PI)*b+(g[0].x+v.x)/2-5,S.y=-Math.cos(E-Math.PI)*b+(g[0].y+v.y)/2-5):a==="end_left"?(S.x=Math.sin(E)*b+(g[0].x+v.x)/2-5,S.y=-Math.cos(E)*b+(g[0].y+v.y)/2-5):(S.x=Math.sin(E)*b+(g[0].x+v.x)/2,S.y=-Math.cos(E)*b+(g[0].y+v.y)/2),S}function C2(i){let a="",f="";for(const g of i)g!==void 0&&(g.startsWith("color:")||g.startsWith("text-align:")?f=f+g+";":a=a+g+";");return{style:a,labelStyle:f}}let SFt=0;const _Ft=()=>(SFt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+SFt);function wNe(i){let a="";const f="0123456789abcdef",g=f.length;for(let w=0;w<i;w++)a+=f.charAt(Math.floor(Math.random()*g));return a}const AFt=i=>wNe(i.length),mNe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},vNe=function(i,a){const f=a.text.replace(ei.lineBreakRegex," "),[,g]=k9(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",g),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const v=w.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.attr("fill",a.fill),v.text(f),w},LFt=eD((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},f),ei.lineBreakRegex.test(i)))return i;const g=i.split(" "),w=[];let v="";return g.forEach((b,E)=>{const S=n4(`${b} `,f),_=n4(v,f);if(S>a){const{hyphenatedStrings:R,remainingWord:B}=yNe(b,a,"-",f);w.push(v,...R),v=B}else _+S>=a?(w.push(v),v=b):v=[v,b].filter(Boolean).join(" ");E+1===g.length&&w.push(v)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),yNe=eD((i,a,f="-",g)=>{g=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},g);const w=[...i],v=[];let b="";return w.forEach((E,S)=>{const _=`${b}${E}`;if(n4(_,g)>=a){const F=S+1,R=w.length===F,B=`${_}${f}`;v.push(R?_:B),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,a,f="-",g)=>`${i}${a}${f}${g.fontSize}${g.fontWeight}${g.fontFamily}`);function Tgt(i,a){return Cgt(i,a).height}function n4(i,a){return Cgt(i,a).width}const Cgt=eD((i,a)=>{const{fontSize:f=12,fontFamily:g="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,v]=k9(f),b=["sans-serif",g],E=i.split(ei.lineBreakRegex),S=[],_=Tr("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const M=_.append("svg");for(const R of b){let B=0;const z={width:0,height:0,lineHeight:0};for(const Y of E){const nt=mNe();nt.text=Y||kFt;const ot=vNe(M,nt).style("font-size",v).style("font-weight",w).style("font-family",R),ft=(ot._groups||ot)[0][0].getBBox();if(ft.width===0&&ft.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,ft.width)),B=Math.round(ft.height),z.height+=B,z.lineHeight=Math.round(Math.max(z.lineHeight,B))}S.push(z)}M.remove();const F=isNaN(S[1].height)||isNaN(S[1].width)||isNaN(S[1].lineHeight)||S[0].height>S[1].height&&S[0].width>S[1].width&&S[0].lineHeight>S[1].lineHeight?0:1;return S[F]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class xNe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let lY;const kNe=function(i){return lY=lY||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),lY.innerHTML=i,unescape(lY.textContent)};function DFt(i){return"str"in i}const ENe=(i,a,f,g)=>{var v;if(!g)return;const w=(v=i.node())==null?void 0:v.getBBox();w&&i.append("text").text(g).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},k9=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function MF(i,a){return uY({},i,a)}const uo={assignWithDepth:Ld,wrapLabel:LFt,calculateTextHeight:Tgt,calculateTextWidth:n4,calculateTextDimensions:Cgt,cleanAndMerge:MF,detectInit:cNe,detectDirective:EFt,isSubstringInArray:lNe,interpolateToCurve:Xw,calcLabelPosition:gNe,calcCardinalityPosition:pNe,calcTerminalLabelPosition:bNe,formatUrl:hNe,getStylesFromArray:C2,generateId:_Ft,random:AFt,runFunc:fNe,entityDecode:kNe,insertTitle:ENe,parseFontSize:k9,InitIDGenerator:xNe},TNe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const g=f.substring(1,f.length-1);return/^\+?\d+$/.test(g)?"fl°°"+g+"¶ß":"fl°"+g+"¶ß"}),a},IF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var MFt="comm",IFt="rule",OFt="decl",CNe="@import",SNe="@keyframes",_Ne=Math.abs,Sgt=String.fromCharCode;function NFt(i){return i.trim()}function _gt(i,a,f){return i.replace(a,f)}function ANe(i,a){return i.indexOf(a)}function OF(i,a){return i.charCodeAt(a)|0}function NF(i,a,f){return i.slice(a,f)}function b8(i){return i.length}function PFt(i){return i.length}function hY(i,a){return a.push(i),i}var fY=1,aD=1,FFt=0,Qw=0,a1=0,oD="";function Agt(i,a,f,g,w,v,b){return{value:i,root:a,parent:f,type:g,props:w,children:v,line:fY,column:aD,length:b,return:""}}function LNe(){return a1}function DNe(){return a1=Qw>0?OF(oD,--Qw):0,aD--,a1===10&&(aD=1,fY--),a1}function Kv(){return a1=Qw<FFt?OF(oD,Qw++):0,aD++,a1===10&&(aD=1,fY++),a1}function E9(){return OF(oD,Qw)}function dY(){return Qw}function gY(i,a){return NF(oD,i,a)}function Lgt(i){switch(i){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function MNe(i){return fY=aD=1,FFt=b8(oD=i),Qw=0,[]}function INe(i){return oD="",i}function Dgt(i){return NFt(gY(Qw-1,Mgt(i===91?i+2:i===40?i+1:i)))}function ONe(i){for(;(a1=E9())&&a1<33;)Kv();return Lgt(i)>2||Lgt(a1)>3?"":" "}function NNe(i,a){for(;--a&&Kv()&&!(a1<48||a1>102||a1>57&&a1<65||a1>70&&a1<97););return gY(i,dY()+(a<6&&E9()==32&&Kv()==32))}function Mgt(i){for(;Kv();)switch(a1){case i:return Qw;case 34:case 39:i!==34&&i!==39&&Mgt(a1);break;case 40:i===41&&Mgt(i);break;case 92:Kv();break}return Qw}function PNe(i,a){for(;Kv()&&i+a1!==47+10;)if(i+a1===42+42&&E9()===47)break;return"/*"+gY(a,Qw-1)+"*"+Sgt(i===47?i:Kv())}function FNe(i){for(;!Lgt(E9());)Kv();return gY(i,Qw)}function BNe(i){return INe(pY("",null,null,null,[""],i=MNe(i),0,[0],i))}function pY(i,a,f,g,w,v,b,E,S){for(var _=0,M=0,F=b,R=0,B=0,z=0,Y=1,nt=1,ot=1,ft=0,wt="",mt=w,ct=v,rt=g,it=wt;nt;)switch(z=ft,ft=Kv()){case 40:if(z!=108&&OF(it,F-1)==58){ANe(it+=_gt(Dgt(ft),"&","&\f"),"&\f")!=-1&&(ot=-1);break}case 34:case 39:case 91:it+=Dgt(ft);break;case 9:case 10:case 13:case 32:it+=ONe(z);break;case 92:it+=NNe(dY()-1,7);continue;case 47:switch(E9()){case 42:case 47:hY(RNe(PNe(Kv(),dY()),a,f),S);break;default:it+="/"}break;case 123*Y:E[_++]=b8(it)*ot;case 125*Y:case 59:case 0:switch(ft){case 0:case 125:nt=0;case 59+M:B>0&&b8(it)-F&&hY(B>32?RFt(it+";",g,f,F-1):RFt(_gt(it," ","")+";",g,f,F-2),S);break;case 59:it+=";";default:if(hY(rt=BFt(it,a,f,_,M,w,E,wt,mt=[],ct=[],F),v),ft===123)if(M===0)pY(it,a,rt,rt,mt,v,F,E,ct);else switch(R===99&&OF(it,3)===110?100:R){case 100:case 109:case 115:pY(i,rt,rt,g&&hY(BFt(i,rt,rt,0,0,w,E,wt,w,mt=[],F),ct),w,ct,F,E,g?mt:ct);break;default:pY(it,rt,rt,rt,[""],ct,0,E,ct)}}_=M=B=0,Y=ot=1,wt=it="",F=b;break;case 58:F=1+b8(it),B=z;default:if(Y<1){if(ft==123)--Y;else if(ft==125&&Y++==0&&DNe()==125)continue}switch(it+=Sgt(ft),ft*Y){case 38:ot=M>0?1:(it+="\f",-1);break;case 44:E[_++]=(b8(it)-1)*ot,ot=1;break;case 64:E9()===45&&(it+=Dgt(Kv())),R=E9(),M=F=b8(wt=it+=FNe(dY())),ft++;break;case 45:z===45&&b8(it)==2&&(Y=0)}}return v}function BFt(i,a,f,g,w,v,b,E,S,_,M){for(var F=w-1,R=w===0?v:[""],B=PFt(R),z=0,Y=0,nt=0;z<g;++z)for(var ot=0,ft=NF(i,F+1,F=_Ne(Y=b[z])),wt=i;ot<B;++ot)(wt=NFt(Y>0?R[ot]+" "+ft:_gt(ft,/&\f/g,R[ot])))&&(S[nt++]=wt);return Agt(i,a,f,w===0?IFt:E,S,_,M)}function RNe(i,a,f){return Agt(i,a,f,MFt,Sgt(LNe()),NF(i,2,-2),0)}function RFt(i,a,f,g){return Agt(i,a,f,OFt,NF(i,0,g),NF(i,g+1,-1),g)}function Igt(i,a){for(var f="",g=PFt(i),w=0;w<g;w++)f+=a(i[w],w,i,a)||"";return f}function jNe(i,a,f,g){switch(i.type){case CNe:case OFt:return i.return=i.return||i.value;case MFt:return"";case SNe:return i.return=i.value+"{"+Igt(i.children,g)+"}";case IFt:i.value=i.props.join(",")}return b8(f=Igt(i.children,g))?i.return=i.value+"{"+f+"}":""}const jFt="10.8.0",cD=Object.freeze(Bl);let ib=Ld({},cD),$Ft,uD=[],PF=Ld({},cD);const bY=(i,a)=>{let f=Ld({},i),g={};for(const w of a)HFt(w),g=Ld(g,w);if(f=Ld(f,g),g.theme&&g.theme in Lx){const w=Ld({},$Ft),v=Ld(w.themeVariables||{},g.themeVariables);f.theme&&f.theme in Lx&&(f.themeVariables=Lx[f.theme].getThemeVariables(v))}return PF=f,UFt(PF),PF},$Ne=i=>(ib=Ld({},cD),ib=Ld(ib,i),i.theme&&Lx[i.theme]&&(ib.themeVariables=Lx[i.theme].getThemeVariables(i.themeVariables)),bY(ib,uD),ib),zNe=i=>{$Ft=Ld({},i)},qNe=i=>(ib=Ld(ib,i),bY(ib,uD),ib),zFt=()=>Ld({},ib),qFt=i=>(UFt(i),Ld(PF,i),o1()),o1=()=>Ld({},PF),HFt=i=>{i&&(["secure",...ib.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Kt.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&HFt(i[a])}))},HNe=i=>{XW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),uD.push(i),bY(ib,uD)},wY=(i=ib)=>{uD=[],bY(i,uD)},VNe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},VFt={},UNe=i=>{VFt[i]||(Kt.warn(VNe[i]),VFt[i]=!0)},UFt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&UNe("LAZY_LOAD_DEPRECATED")},GFt="c4",GNe={id:GFt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uje);return{id:GFt,diagram:i}}},KFt="flowchart",KNe={id:KFt,detector:(i,a)=>{var f,g;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wWe);return{id:KFt,diagram:i}}},WFt="flowchart-v2",WNe={id:WFt,detector:(i,a)=>{var f,g,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mWe);return{id:WFt,diagram:i}}},YFt="er",YNe={id:YFt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>VWe);return{id:YFt,diagram:i}}},XFt="gitGraph",XNe={id:XFt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:XFt,diagram:i}}},QFt="gantt",QNe={id:QFt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sXe);return{id:QFt,diagram:i}}},JFt="info",JNe={id:JFt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>oXe);return{id:JFt,diagram:i}}},ZFt="pie",ZNe={id:ZFt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dXe);return{id:ZFt,diagram:i}}},tBt="quadrantChart",tPe={id:tBt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LXe);return{id:tBt,diagram:i}}},eBt="xychart",ePe={id:eBt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ZXe);return{id:eBt,diagram:i}}},nBt="requirement",nPe={id:nBt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uQe);return{id:nBt,diagram:i}}},rBt="sequence",rPe={id:rBt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>fJe);return{id:rBt,diagram:i}}},iBt="class",iPe={id:iBt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>FJe);return{id:iBt,diagram:i}}},sBt="classDiagram",sPe={id:sBt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>qJe);return{id:sBt,diagram:i}}},aBt="state",aPe={id:aBt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LZe);return{id:aBt,diagram:i}}},oBt="stateDiagram",oPe={id:oBt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>WZe);return{id:oBt,diagram:i}}},cBt="journey",cPe={id:cBt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dtn);return{id:cBt,diagram:i}}},uPe=function(i,a){for(let f of a)i.attr(f[0],f[1])},lPe=function(i,a,f){let g=new Map;return f?(g.set("width","100%"),g.set("style",`max-width: ${a}px;`)):(g.set("height",i),g.set("width",a)),g},sg=function(i,a,f,g){const w=lPe(a,f,g);uPe(i,w)},w8=function(i,a,f,g){const w=a.node().getBBox(),v=w.width,b=w.height;Kt.info(`SVG bounds: ${v}x${b}`,w);let E=0,S=0;Kt.info(`Graph bounds: ${E}x${S}`,i),E=v+f*2,S=b+f*2,Kt.info(`Calculated bounds: ${E}x${S}`),sg(a,S,E,g);const _=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",_)},mY={},hPe=(i,a,f)=>{let g="";return i in mY&&mY[i]?g=mY[i](f):Kt.warn(`No theme found for ${i}`),` & {

61 `;const g=o1();try{this.type=QW(a,g)}catch(v){this.type="error",this.detectError=v}const w=Bgt(this.type);Kt.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,g,w,v,b;if(this.detectError)throw this.detectError;(g=(f=this.db).clear)==null||g.call(f);const a=o1();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const _Pe=async(i,a={})=>{const f=QW(i,o1());try{Bgt(f)}catch{const w=DMe(f);if(!w)throw new VPt(`Diagram ${f} not found.`);const{id:v,diagram:b}=await w();yY(v,b)}return new vBt(i,a)};let yBt=[];const APe=()=>{yBt.forEach(i=>{i()}),yBt=[]};var LPe=sFt(Object.keys,Object);const DPe=LPe;var MPe=Object.prototype,IPe=MPe.hasOwnProperty;function xBt(i){if(!rY(i))return DPe(i);var a=[];for(var f in Object(i))IPe.call(i,f)&&f!="constructor"&&a.push(f);return a}var OPe=m9(Uv,"DataView");const jgt=OPe;var NPe=m9(Uv,"Promise");const $gt=NPe;var PPe=m9(Uv,"Set");const lD=PPe;var FPe=m9(Uv,"WeakMap");const zgt=FPe;var kBt="[object Map]",BPe="[object Object]",EBt="[object Promise]",TBt="[object Set]",CBt="[object WeakMap]",SBt="[object DataView]",RPe=w9(jgt),jPe=w9(_F),$Pe=w9($gt),zPe=w9(lD),qPe=w9(zgt),T9=b9;(jgt&&T9(new jgt(new ArrayBuffer(1)))!=SBt||_F&&T9(new _F)!=kBt||$gt&&T9($gt.resolve())!=EBt||lD&&T9(new lD)!=TBt||zgt&&T9(new zgt)!=CBt)&&(T9=function(i){var a=b9(i),f=a==BPe?i.constructor:void 0,g=f?w9(f):"";if(g)switch(g){case RPe:return SBt;case jPe:return kBt;case $Pe:return EBt;case zPe:return TBt;case qPe:return CBt}return a});const hD=T9;var HPe="[object Map]",VPe="[object Set]",UPe=Object.prototype,GPe=UPe.hasOwnProperty;function BF(i){if(i==null)return!0;if(p8(i)&&(s1(i)||typeof i=="string"||typeof i.splice=="function"||rD(i)||sY(i)||nD(i)))return!i.length;var a=hD(i);if(a==HPe||a==VPe)return!i.size;if(rY(i))return!xBt(i).length;for(var f in i)if(GPe.call(i,f))return!1;return!0}const KPe="graphics-document document";function WPe(i,a){i.attr("role",KPe),a!==""&&i.attr("aria-roledescription",a)}function YPe(i,a,f,g){if(i.insert!==void 0){if(f){const w=`chart-desc-${g}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${g}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const XPe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function _Bt(i){return typeof i>"u"||i===null}function QPe(i){return typeof i=="object"&&i!==null}function JPe(i){return Array.isArray(i)?i:_Bt(i)?[]:[i]}function ZPe(i,a){var f,g,w,v;if(a)for(v=Object.keys(a),f=0,g=v.length;f<g;f+=1)w=v[f],i[w]=a[w];return i}function tFe(i,a){var f="",g;for(g=0;g<a;g+=1)f+=i;return f}function eFe(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}var nFe=_Bt,rFe=QPe,iFe=JPe,sFe=tFe,aFe=eFe,oFe=ZPe,tp={isNothing:nFe,isObject:rFe,toArray:iFe,repeat:sFe,isNegativeZero:aFe,extend:oFe};function ABt(i,a){var f="",g=i.reason||"(unknown reason)";return i.mark?(i.mark.name&&(f+='in "'+i.mark.name+'" '),f+="("+(i.mark.line+1)+":"+(i.mark.column+1)+")",!a&&i.mark.snippet&&(f+=`
70 `:i===118?"\v":i===102?"\f":i===114?"\r":i===101?"\x1B":i===32?" ":i===34?'"':i===47?"/":i===92?"\\":i===78?"…":i===95?" ":i===76?"\u2028":i===80?"\u2029":""}function xBe(i){return i<=65535?String.fromCharCode(i):String.fromCharCode((i-65536>>10)+55296,(i-65536&1023)+56320)}for(var $Bt=new Array(256),zBt=new Array(256),dD=0;dD<256;dD++)$Bt[dD]=jBt(dD)?1:0,zBt[dD]=jBt(dD);function kBe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||dBe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function qBt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=uFe(f),new Ox(a,f)}function Ks(i,a){throw qBt(i,a)}function EY(i,a){i.onWarning&&i.onWarning.call(null,qBt(i,a))}var HBt={YAML:function(a,f,g){var w,v,b;a.version!==null&&Ks(a,"duplication of %YAML directive"),g.length!==1&&Ks(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(g[0]),w===null&&Ks(a,"ill-formed argument of the YAML directive"),v=parseInt(w[1],10),b=parseInt(w[2],10),v!==1&&Ks(a,"unacceptable YAML version of the document"),a.version=g[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&EY(a,"unsupported YAML version of the document")},TAG:function(a,f,g){var w,v;g.length!==2&&Ks(a,"TAG directive accepts exactly two arguments"),w=g[0],v=g[1],FBt.test(w)||Ks(a,"ill-formed tag handle (first argument) of the TAG directive"),m8.call(a.tagMap,w)&&Ks(a,'there is a previously declared suffix for "'+w+'" tag handle'),BBt.test(v)||Ks(a,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{Ks(a,"tag prefix is malformed: "+v)}a.tagMap[w]=v}};function v8(i,a,f,g){var w,v,b,E;if(a<f){if(E=i.input.slice(a,f),g)for(w=0,v=E.length;w<v;w+=1)b=E.charCodeAt(w),b===9||32<=b&&b<=1114111||Ks(i,"expected valid JSON character");else pBe.test(E)&&Ks(i,"the stream contains non-printable characters");i.result+=E}}function VBt(i,a,f,g){var w,v,b,E;for(tp.isObject(f)||Ks(i,"cannot merge mappings; the provided source object is unacceptable"),w=Object.keys(f),b=0,E=w.length;b<E;b+=1)v=w[b],m8.call(a,v)||(a[v]=f[v],g[v]=!0)}function gD(i,a,f,g,w,v,b,E,S){var _,M;if(Array.isArray(w))for(w=Array.prototype.slice.call(w),_=0,M=w.length;_<M;_+=1)Array.isArray(w[_])&&Ks(i,"nested arrays are not supported inside keys"),typeof w=="object"&&RBt(w[_])==="[object Object]"&&(w[_]="[object Object]");if(typeof w=="object"&&RBt(w)==="[object Object]"&&(w="[object Object]"),w=String(w),a===null&&(a={}),g==="tag:yaml.org,2002:merge")if(Array.isArray(v))for(_=0,M=v.length;_<M;_+=1)VBt(i,a,v[_],f);else VBt(i,a,v,f);else!i.json&&!m8.call(f,w)&&m8.call(a,w)&&(i.line=b||i.line,i.lineStart=E||i.lineStart,i.position=S||i.position,Ks(i,"duplicated mapping key")),w==="__proto__"?Object.defineProperty(a,w,{configurable:!0,enumerable:!0,writable:!0,value:v}):a[w]=v,delete f[w];return a}function Kgt(i){var a;a=i.input.charCodeAt(i.position),a===10?i.position++:a===13?(i.position++,i.input.charCodeAt(i.position)===10&&i.position++):Ks(i,"a line break is expected"),i.line+=1,i.lineStart=i.position,i.firstTabInLine=-1}function c1(i,a,f){for(var g=0,w=i.input.charCodeAt(i.position);w!==0;){for(;C9(w);)w===9&&i.firstTabInLine===-1&&(i.firstTabInLine=i.position),w=i.input.charCodeAt(++i.position);if(a&&w===35)do w=i.input.charCodeAt(++i.position);while(w!==10&&w!==13&&w!==0);if(r4(w))for(Kgt(i),w=i.input.charCodeAt(i.position),g++,i.lineIndent=0;w===32;)i.lineIndent++,w=i.input.charCodeAt(++i.position);else break}return f!==-1&&g!==0&&i.lineIndent<f&&EY(i,"deficient indentation"),g}function TY(i){var a=i.position,f;return f=i.input.charCodeAt(a),!!((f===45||f===46)&&f===i.input.charCodeAt(a+1)&&f===i.input.charCodeAt(a+2)&&(a+=3,f=i.input.charCodeAt(a),f===0||sb(f)))}function Wgt(i,a){a===1?i.result+=" ":a>1&&(i.result+=tp.repeat(`
108 `),b.style===void 0&&(M.style=M.style||"stroke: #333; stroke-width: 1.5px;fill:none"),M.labelStyle=M.labelStyle.replace("color:","fill:"))),M.id=E,M.class=S+" "+_,M.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),M,g)})},wUe={setConf:bUe,addVertices:v$t,addEdges:y$t,getClasses:function(i,a){return Kt.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,g){Kt.info("Drawing flowchart");const{securityLevel:w,flowchart:v}=Re();let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;let _=g.db.getDirection();_===void 0&&(_="TD");const M=v.nodeSpacing||50,F=v.rankSpacing||50,R=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:M,ranksep:F,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let B;const z=g.db.getSubGraphs();for(let rt=z.length-1;rt>=0;rt--)B=z[rt],g.db.addVertex(B.id,B.title,"group",void 0,B.classes);const Y=g.db.getVertices();Kt.warn("Get vertices",Y);const nt=g.db.getEdges();let ot=0;for(ot=z.length-1;ot>=0;ot--){B=z[ot],$Ot("cluster").append("text");for(let rt=0;rt<B.nodes.length;rt++)Kt.warn("Setting subgraph",B.nodes[rt],g.db.lookUpDomId(B.nodes[rt]),g.db.lookUpDomId(B.id)),R.setParent(g.db.lookUpDomId(B.nodes[rt]),g.db.lookUpDomId(B.id))}v$t(Y,R,a,E,S,g),y$t(nt,R,g);const ft=new cUe;pUe.addToRender(ft),ft.arrows().none=function(it,gt,Q,dt){const yt=it.append("marker").attr("id",gt).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a4(yt,Q[dt+"Style"])},ft.arrows().normal=function(it,gt){it.append("marker").attr("id",gt).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const wt=E.select(`[id="${a}"]`),mt=E.select("#"+a+" g");for(ft(mt,R),mt.selectAll("g.node").attr("title",function(){return g.db.getTooltip(this.id)}),g.db.indexNodes("subGraph"+ot),ot=0;ot<z.length;ot++)if(B=z[ot],B.title!=="undefined"){const rt=S.querySelectorAll("#"+a+' [id="'+g.db.lookUpDomId(B.id)+'"] rect'),it=S.querySelectorAll("#"+a+' [id="'+g.db.lookUpDomId(B.id)+'"]'),gt=rt[0].x.baseVal.value,Q=rt[0].y.baseVal.value,dt=rt[0].width.baseVal.value,yt=Tr(it[0]).select(".label");yt.attr("transform",`translate(${gt+dt/2}, ${Q+14})`),yt.attr("id",a+"Text");for(let V=0;V<B.classes.length;V++)it[0].classList.add(B.classes[V])}if(!v.htmlLabels){const rt=S.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const it of rt){const gt=it.getBBox(),Q=S.createElementNS("http://www.w3.org/2000/svg","rect");Q.setAttribute("rx",0),Q.setAttribute("ry",0),Q.setAttribute("width",gt.width),Q.setAttribute("height",gt.height),it.insertBefore(Q,it.firstChild)}}w8(R,wt,v.diagramPadding,v.useMaxWidth),Object.keys(Y).forEach(function(rt){const it=Y[rt];if(it.link){const gt=E.select("#"+a+' [id="'+g.db.lookUpDomId(rt)+'"]');if(gt){const Q=S.createElementNS("http://www.w3.org/2000/svg","a");Q.setAttributeNS("http://www.w3.org/2000/svg","class",it.classes.join(" ")),Q.setAttributeNS("http://www.w3.org/2000/svg","href",it.link),Q.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),w==="sandbox"?Q.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):it.linkTarget&&Q.setAttributeNS("http://www.w3.org/2000/svg","target",it.linkTarget);const dt=gt.insert(function(){return Q},":first-child"),K=gt.select(".label-container");K&&dt.append(function(){return K.node()});const yt=gt.select(".label");yt&&dt.append(function(){return yt.node()})}}})}};function jx(i){var a={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:mUe(i),edges:vUe(i)};return Tf(i.graph())||(a.value=fjt(i.graph())),a}function mUe(i){return u1(i.nodes(),function(a){var f=i.node(a),g=i.parent(a),w={v:a};return Tf(f)||(w.value=f),Tf(g)||(w.parent=g),w})}function vUe(i){return u1(i.edges(),function(a){var f=i.edge(a),g={v:a.v,w:a.w};return Tf(a.name)||(g.name=a.name),Tf(f)||(g.value=f),g})}const yUe=(i,a,f,g)=>{a.forEach(w=>{xUe[w](i,f,g)})},xUe={extension:(i,a,f)=>{Kt.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},jpt=yUe;function kUe(i,a){a&&i.attr("style",a)}function EUe(i){const a=Tr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),g=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('<span class="'+w+'" '+(i.labelStyle?'style="'+i.labelStyle+'"':"")+">"+g+"</span>"),kUe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const ab=(i,a,f,g)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),j1(Re().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"<br />"),Kt.debug("vertexText"+w);const v={isNode:g,label:IF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>`<i class='${E.replace(":"," ")}'></i>`),labelStyle:a.replace("fill:","color:")};return EUe(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const S=document.createElementNS("http://www.w3.org/2000/svg","tspan");S.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),S.setAttribute("dy","1em"),S.setAttribute("x","0"),f?S.setAttribute("class","title-row"):S.setAttribute("class","row"),S.textContent=E.trim(),v.appendChild(S)}return v}},TUe={};function CUe(i,a){const f=a||TUe,g=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return x$t(i,g,w)}function x$t(i,a,f){if(SUe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return k$t(i.children,a,f)}return Array.isArray(i)?k$t(i,a,f):""}function k$t(i,a,f){const g=[];let w=-1;for(;++w<i.length;)g[w]=x$t(i[w],a,f);return g.join("")}function SUe(i){return!!(i&&typeof i=="object")}function c4(i,a,f,g){const w=i.length;let v=0,b;if(a<0?a=-a>w?0:w+a:a=a>w?w:a,f=f>0?f:0,g.length<1e4)b=Array.from(g),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);v<g.length;)b=g.slice(v,v+1e4),b.unshift(a,0),i.splice(...b),v+=1e4,a+=1e4}function tm(i,a){return i.length>0?(c4(i,i.length,0,a),i):a}const E$t={}.hasOwnProperty;function _Ue(i){const a={};let f=-1;for(;++f<i.length;)AUe(a,i[f]);return a}function AUe(i,a){let f;for(f in a){const w=(E$t.call(i,f)?i[f]:void 0)||(i[f]={}),v=a[f];let b;if(v)for(b in v){E$t.call(w,b)||(w[b]=[]);const E=v[b];LUe(w[b],Array.isArray(E)?E:E?[E]:[])}}}function LUe(i,a){let f=-1;const g=[];for(;++f<a.length;)(a[f].add==="after"?i:g).push(a[f]);c4(i,0,0,g)}const DUe=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,u4=E8(/[A-Za-z]/),Zv=E8(/[\dA-Za-z]/),MUe=E8(/[#-'*+\--9=?A-Z^-~]/);function $pt(i){return i!==null&&(i<32||i===127)}const zpt=E8(/\d/),IUe=E8(/[\dA-Fa-f]/),OUe=E8(/[!-/:-@[-`{-~]/);function $a(i){return i!==null&&i<-2}function ob(i){return i!==null&&(i<0||i===32)}function du(i){return i===-2||i===-1||i===32}const NUe=E8(DUe),PUe=E8(/\s/);function E8(i){return a;function a(f){return f!==null&&i.test(String.fromCharCode(f))}}function Cl(i,a,f,g){const w=g?g-1:Number.POSITIVE_INFINITY;let v=0;return b;function b(S){return du(S)?(i.enter(f),E(S)):a(S)}function E(S){return du(S)&&v++<w?(i.consume(S),E):(i.exit(f),a(S))}}const FUe={tokenize:BUe};function BUe(i){const a=i.attempt(this.parser.constructs.contentInitial,g,w);let f;return a;function g(E){if(E===null){i.consume(E);return}return i.enter("lineEnding"),i.consume(E),i.exit("lineEnding"),Cl(i,a,"linePrefix")}function w(E){return i.enter("paragraph"),v(E)}function v(E){const S=i.enter("chunkText",{contentType:"text",previous:f});return f&&(f.next=S),f=S,b(E)}function b(E){if(E===null){i.exit("chunkText"),i.exit("paragraph"),i.consume(E);return}return $a(E)?(i.consume(E),i.exit("chunkText"),v):(i.consume(E),b)}}const RUe={tokenize:jUe},T$t={tokenize:$Ue};function jUe(i){const a=this,f=[];let g=0,w,v,b;return E;function E(wt){if(g<f.length){const mt=f[g];return a.containerState=mt[1],i.attempt(mt[0].continuation,S,_)(wt)}return _(wt)}function S(wt){if(g++,a.containerState._closeFlow){a.containerState._closeFlow=void 0,w&&ft();const mt=a.events.length;let ct=mt,rt;for(;ct--;)if(a.events[ct][0]==="exit"&&a.events[ct][1].type==="chunkFlow"){rt=a.events[ct][1].end;break}ot(g);let it=mt;for(;it<a.events.length;)a.events[it][1].end=Object.assign({},rt),it++;return c4(a.events,ct+1,0,a.events.slice(mt)),a.events.length=it,_(wt)}return E(wt)}function _(wt){if(g===f.length){if(!w)return R(wt);if(w.currentConstruct&&w.currentConstruct.concrete)return z(wt);a.interrupt=!!(w.currentConstruct&&!w._gfmTableDynamicInterruptHack)}return a.containerState={},i.check(T$t,M,F)(wt)}function M(wt){return w&&ft(),ot(g),R(wt)}function F(wt){return a.parser.lazy[a.now().line]=g!==f.length,b=a.now().offset,z(wt)}function R(wt){return a.containerState={},i.attempt(T$t,B,z)(wt)}function B(wt){return g++,f.push([a.currentConstruct,a.containerState]),R(wt)}function z(wt){if(wt===null){w&&ft(),ot(0),i.consume(wt);return}return w=w||a.parser.flow(a.now()),i.enter("chunkFlow",{contentType:"flow",previous:v,_tokenizer:w}),Y(wt)}function Y(wt){if(wt===null){nt(i.exit("chunkFlow"),!0),ot(0),i.consume(wt);return}return $a(wt)?(i.consume(wt),nt(i.exit("chunkFlow")),g=0,a.interrupt=void 0,E):(i.consume(wt),Y)}function nt(wt,mt){const ct=a.sliceStream(wt);if(mt&&ct.push(null),wt.previous=v,v&&(v.next=wt),v=wt,w.defineSkip(wt.start),w.write(ct),a.parser.lazy[wt.start.line]){let rt=w.events.length;for(;rt--;)if(w.events[rt][1].start.offset<b&&(!w.events[rt][1].end||w.events[rt][1].end.offset>b))return;const it=a.events.length;let gt=it,Q,dt;for(;gt--;)if(a.events[gt][0]==="exit"&&a.events[gt][1].type==="chunkFlow"){if(Q){dt=a.events[gt][1].end;break}Q=!0}for(ot(g),rt=it;rt<a.events.length;)a.events[rt][1].end=Object.assign({},dt),rt++;c4(a.events,gt+1,0,a.events.slice(it)),a.events.length=rt}}function ot(wt){let mt=f.length;for(;mt-- >wt;){const ct=f[mt];a.containerState=ct[1],ct[0].exit.call(a,i)}f.length=wt}function ft(){w.write([null]),v=void 0,w=void 0,a.containerState._closeFlow=void 0}}function $Ue(i,a,f){return Cl(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function C$t(i){if(i===null||ob(i)||PUe(i))return 1;if(NUe(i))return 2}function qpt(i,a,f){const g=[];let w=-1;for(;++w<i.length;){const v=i[w].resolveAll;v&&!g.includes(v)&&(a=v(a,f),g.push(v))}return a}const Hpt={name:"attention",tokenize:qUe,resolveAll:zUe};function zUe(i,a){let f=-1,g,w,v,b,E,S,_,M;for(;++f<i.length;)if(i[f][0]==="enter"&&i[f][1].type==="attentionSequence"&&i[f][1]._close){for(g=f;g--;)if(i[g][0]==="exit"&&i[g][1].type==="attentionSequence"&&i[g][1]._open&&a.sliceSerialize(i[g][1]).charCodeAt(0)===a.sliceSerialize(i[f][1]).charCodeAt(0)){if((i[g][1]._close||i[f][1]._open)&&(i[f][1].end.offset-i[f][1].start.offset)%3&&!((i[g][1].end.offset-i[g][1].start.offset+i[f][1].end.offset-i[f][1].start.offset)%3))continue;S=i[g][1].end.offset-i[g][1].start.offset>1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const F=Object.assign({},i[g][1].end),R=Object.assign({},i[f][1].start);S$t(F,-S),S$t(R,S),b={type:S>1?"strongSequence":"emphasisSequence",start:F,end:Object.assign({},i[g][1].end)},E={type:S>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:R},v={type:S>1?"strongText":"emphasisText",start:Object.assign({},i[g][1].end),end:Object.assign({},i[f][1].start)},w={type:S>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[g][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),_=[],i[g][1].end.offset-i[g][1].start.offset&&(_=tm(_,[["enter",i[g][1],a],["exit",i[g][1],a]])),_=tm(_,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",v,a]]),_=tm(_,qpt(a.parser.constructs.insideSpan.null,i.slice(g+1,f),a)),_=tm(_,[["exit",v,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(M=2,_=tm(_,[["enter",i[f][1],a],["exit",i[f][1],a]])):M=0,c4(i,g-1,f-g+3,_),f=g+_.length-M-2;break}}for(f=-1;++f<i.length;)i[f][1].type==="attentionSequence"&&(i[f][1].type="data");return i}function qUe(i,a){const f=this.parser.constructs.attentionMarkers.null,g=this.previous,w=C$t(g);let v;return b;function b(S){return v=S,i.enter("attentionSequence"),E(S)}function E(S){if(S===v)return i.consume(S),E;const _=i.exit("attentionSequence"),M=C$t(S),F=!M||M===2&&w||f.includes(S),R=!w||w===2&&M||f.includes(g);return _._open=!!(v===42?F:F&&(w||!R)),_._close=!!(v===42?R:R&&(M||!F)),a(S)}}function S$t(i,a){i.column+=a,i.offset+=a,i._bufferIndex+=a}const HUe={name:"autolink",tokenize:VUe};function VUe(i,a,f){let g=0;return w;function w(B){return i.enter("autolink"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.enter("autolinkProtocol"),v}function v(B){return u4(B)?(i.consume(B),b):_(B)}function b(B){return B===43||B===45||B===46||Zv(B)?(g=1,E(B)):_(B)}function E(B){return B===58?(i.consume(B),g=0,S):(B===43||B===45||B===46||Zv(B))&&g++<32?(i.consume(B),E):(g=0,_(B))}function S(B){return B===62?(i.exit("autolinkProtocol"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):B===null||B===32||B===60||$pt(B)?f(B):(i.consume(B),S)}function _(B){return B===64?(i.consume(B),M):MUe(B)?(i.consume(B),_):f(B)}function M(B){return Zv(B)?F(B):f(B)}function F(B){return B===46?(i.consume(B),g=0,M):B===62?(i.exit("autolinkProtocol").type="autolinkEmail",i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):R(B)}function R(B){if((B===45||Zv(B))&&g++<63){const z=B===45?R:F;return i.consume(B),z}return f(B)}}const XY={tokenize:UUe,partial:!0};function UUe(i,a,f){return g;function g(v){return du(v)?Cl(i,w,"linePrefix")(v):w(v)}function w(v){return v===null||$a(v)?a(v):f(v)}}const _$t={name:"blockQuote",tokenize:GUe,continuation:{tokenize:KUe},exit:WUe};function GUe(i,a,f){const g=this;return w;function w(b){if(b===62){const E=g.containerState;return E.open||(i.enter("blockQuote",{_container:!0}),E.open=!0),i.enter("blockQuotePrefix"),i.enter("blockQuoteMarker"),i.consume(b),i.exit("blockQuoteMarker"),v}return f(b)}function v(b){return du(b)?(i.enter("blockQuotePrefixWhitespace"),i.consume(b),i.exit("blockQuotePrefixWhitespace"),i.exit("blockQuotePrefix"),a):(i.exit("blockQuotePrefix"),a(b))}}function KUe(i,a,f){const g=this;return w;function w(b){return du(b)?Cl(i,v,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):v(b)}function v(b){return i.attempt(_$t,a,f)(b)}}function WUe(i){i.exit("blockQuote")}const A$t={name:"characterEscape",tokenize:YUe};function YUe(i,a,f){return g;function g(v){return i.enter("characterEscape"),i.enter("escapeMarker"),i.consume(v),i.exit("escapeMarker"),w}function w(v){return OUe(v)?(i.enter("characterEscapeValue"),i.consume(v),i.exit("characterEscapeValue"),i.exit("characterEscape"),a):f(v)}}const L$t=document.createElement("i");function Vpt(i){const a="&"+i+";";L$t.innerHTML=a;const f=L$t.textContent;return f.charCodeAt(f.length-1)===59&&i!=="semi"||f===a?!1:f}const D$t={name:"characterReference",tokenize:XUe};function XUe(i,a,f){const g=this;let w=0,v,b;return E;function E(F){return i.enter("characterReference"),i.enter("characterReferenceMarker"),i.consume(F),i.exit("characterReferenceMarker"),S}function S(F){return F===35?(i.enter("characterReferenceMarkerNumeric"),i.consume(F),i.exit("characterReferenceMarkerNumeric"),_):(i.enter("characterReferenceValue"),v=31,b=Zv,M(F))}function _(F){return F===88||F===120?(i.enter("characterReferenceMarkerHexadecimal"),i.consume(F),i.exit("characterReferenceMarkerHexadecimal"),i.enter("characterReferenceValue"),v=6,b=IUe,M):(i.enter("characterReferenceValue"),v=7,b=zpt,M(F))}function M(F){if(F===59&&w){const R=i.exit("characterReferenceValue");return b===Zv&&!Vpt(g.sliceSerialize(R))?f(F):(i.enter("characterReferenceMarker"),i.consume(F),i.exit("characterReferenceMarker"),i.exit("characterReference"),a)}return b(F)&&w++<v?(i.consume(F),M):f(F)}}const M$t={tokenize:JUe,partial:!0},I$t={name:"codeFenced",tokenize:QUe,concrete:!0};function QUe(i,a,f){const g=this,w={tokenize:ct,partial:!0};let v=0,b=0,E;return S;function S(rt){return _(rt)}function _(rt){const it=g.events[g.events.length-1];return v=it&&it[1].type==="linePrefix"?it[2].sliceSerialize(it[1],!0).length:0,E=rt,i.enter("codeFenced"),i.enter("codeFencedFence"),i.enter("codeFencedFenceSequence"),M(rt)}function M(rt){return rt===E?(b++,i.consume(rt),M):b<3?f(rt):(i.exit("codeFencedFenceSequence"),du(rt)?Cl(i,F,"whitespace")(rt):F(rt))}function F(rt){return rt===null||$a(rt)?(i.exit("codeFencedFence"),g.interrupt?a(rt):i.check(M$t,Y,mt)(rt)):(i.enter("codeFencedFenceInfo"),i.enter("chunkString",{contentType:"string"}),R(rt))}function R(rt){return rt===null||$a(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),F(rt)):du(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),Cl(i,B,"whitespace")(rt)):rt===96&&rt===E?f(rt):(i.consume(rt),R)}function B(rt){return rt===null||$a(rt)?F(rt):(i.enter("codeFencedFenceMeta"),i.enter("chunkString",{contentType:"string"}),z(rt))}function z(rt){return rt===null||$a(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceMeta"),F(rt)):rt===96&&rt===E?f(rt):(i.consume(rt),z)}function Y(rt){return i.attempt(w,mt,nt)(rt)}function nt(rt){return i.enter("lineEnding"),i.consume(rt),i.exit("lineEnding"),ot}function ot(rt){return v>0&&du(rt)?Cl(i,ft,"linePrefix",v+1)(rt):ft(rt)}function ft(rt){return rt===null||$a(rt)?i.check(M$t,Y,mt)(rt):(i.enter("codeFlowValue"),wt(rt))}function wt(rt){return rt===null||$a(rt)?(i.exit("codeFlowValue"),ft(rt)):(i.consume(rt),wt)}function mt(rt){return i.exit("codeFenced"),a(rt)}function ct(rt,it,gt){let Q=0;return dt;function dt(It){return rt.enter("lineEnding"),rt.consume(It),rt.exit("lineEnding"),K}function K(It){return rt.enter("codeFencedFence"),du(It)?Cl(rt,yt,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(It):yt(It)}function yt(It){return It===E?(rt.enter("codeFencedFenceSequence"),V(It)):gt(It)}function V(It){return It===E?(Q++,rt.consume(It),V):Q>=b?(rt.exit("codeFencedFenceSequence"),du(It)?Cl(rt,Ot,"whitespace")(It):Ot(It)):gt(It)}function Ot(It){return It===null||$a(It)?(rt.exit("codeFencedFence"),it(It)):gt(It)}}}function JUe(i,a,f){const g=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}const Upt={name:"codeIndented",tokenize:tGe},ZUe={tokenize:eGe,partial:!0};function tGe(i,a,f){const g=this;return w;function w(_){return i.enter("codeIndented"),Cl(i,v,"linePrefix",4+1)(_)}function v(_){const M=g.events[g.events.length-1];return M&&M[1].type==="linePrefix"&&M[2].sliceSerialize(M[1],!0).length>=4?b(_):f(_)}function b(_){return _===null?S(_):$a(_)?i.attempt(ZUe,b,S)(_):(i.enter("codeFlowValue"),E(_))}function E(_){return _===null||$a(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),E)}function S(_){return i.exit("codeIndented"),a(_)}}function eGe(i,a,f){const g=this;return w;function w(b){return g.parser.lazy[g.now().line]?f(b):$a(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):Cl(i,v,"linePrefix",4+1)(b)}function v(b){const E=g.events[g.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):$a(b)?w(b):f(b)}}const nGe={name:"codeText",tokenize:sGe,resolve:rGe,previous:iGe};function rGe(i){let a=i.length-4,f=3,g,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(g=f;++g<a;)if(i[g][1].type==="codeTextData"){i[f][1].type="codeTextPadding",i[a][1].type="codeTextPadding",f+=2,a-=2;break}}for(g=f-1,a++;++g<=a;)w===void 0?g!==a&&i[g][1].type!=="lineEnding"&&(w=g):(g===a||i[g][1].type==="lineEnding")&&(i[w][1].type="codeTextData",g!==w+2&&(i[w][1].end=i[g-1][1].end,i.splice(w+2,g-w-2),a-=g-w-2,g=w+2),w=void 0);return i}function iGe(i){return i!==96||this.events[this.events.length-1][1].type==="characterEscape"}function sGe(i,a,f){let g=0,w,v;return b;function b(F){return i.enter("codeText"),i.enter("codeTextSequence"),E(F)}function E(F){return F===96?(i.consume(F),g++,E):(i.exit("codeTextSequence"),S(F))}function S(F){return F===null?f(F):F===32?(i.enter("space"),i.consume(F),i.exit("space"),S):F===96?(v=i.enter("codeTextSequence"),w=0,M(F)):$a(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),S):(i.enter("codeTextData"),_(F))}function _(F){return F===null||F===32||F===96||$a(F)?(i.exit("codeTextData"),S(F)):(i.consume(F),_)}function M(F){return F===96?(i.consume(F),w++,M):w===g?(i.exit("codeTextSequence"),i.exit("codeText"),a(F)):(v.type="codeTextData",_(F))}}function O$t(i){const a={};let f=-1,g,w,v,b,E,S,_;for(;++f<i.length;){for(;f in a;)f=a[f];if(g=i[f],f&&g[1].type==="chunkFlow"&&i[f-1][1].type==="listItemPrefix"&&(S=g[1]._tokenizer.events,v=0,v<S.length&&S[v][1].type==="lineEndingBlank"&&(v+=2),v<S.length&&S[v][1].type==="content"))for(;++v<S.length&&S[v][1].type!=="content";)S[v][1].type==="chunkText"&&(S[v][1]._isInFirstContentOfListItem=!0,v++);if(g[0]==="enter")g[1].contentType&&(Object.assign(a,aGe(i,f)),f=a[f],_=!0);else if(g[1]._container){for(v=f,w=void 0;v--&&(b=i[v],b[1].type==="lineEnding"||b[1].type==="lineEndingBlank");)b[0]==="enter"&&(w&&(i[w][1].type="lineEndingBlank"),b[1].type="lineEnding",w=v);w&&(g[1].end=Object.assign({},i[w][1].start),E=i.slice(w,f),E.unshift(g),c4(i,w,f-w+1,E))}}return!_}function aGe(i,a){const f=i[a][1],g=i[a][2];let w=a-1;const v=[],b=f._tokenizer||g.parser[f.contentType](f.start),E=b.events,S=[],_={};let M,F,R=-1,B=f,z=0,Y=0;const nt=[Y];for(;B;){for(;i[++w][1]!==B;);v.push(w),B._tokenizer||(M=g.sliceStream(B),B.next||M.push(null),F&&b.defineSkip(B.start),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=!0),b.write(M),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=void 0)),F=B,B=B.next}for(B=f;++R<E.length;)E[R][0]==="exit"&&E[R-1][0]==="enter"&&E[R][1].type===E[R-1][1].type&&E[R][1].start.line!==E[R][1].end.line&&(Y=R+1,nt.push(Y),B._tokenizer=void 0,B.previous=void 0,B=B.next);for(b.events=[],B?(B._tokenizer=void 0,B.previous=void 0):nt.pop(),R=nt.length;R--;){const ot=E.slice(nt[R],nt[R+1]),ft=v.pop();S.unshift([ft,ft+ot.length-1]),c4(i,ft,2,ot)}for(R=-1;++R<S.length;)_[z+S[R][0]]=z+S[R][1],z+=S[R][1]-S[R][0]-1;return _}const oGe={tokenize:lGe,resolve:uGe},cGe={tokenize:hGe,partial:!0};function uGe(i){return O$t(i),i}function lGe(i,a){let f;return g;function g(E){return i.enter("content"),f=i.enter("chunkContent",{contentType:"content"}),w(E)}function w(E){return E===null?v(E):$a(E)?i.check(cGe,b,v)(E):(i.consume(E),w)}function v(E){return i.exit("chunkContent"),i.exit("content"),a(E)}function b(E){return i.consume(E),i.exit("chunkContent"),f.next=i.enter("chunkContent",{contentType:"content",previous:f}),f=f.next,w}}function hGe(i,a,f){const g=this;return w;function w(b){return i.exit("chunkContent"),i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),Cl(i,v,"linePrefix")}function v(b){if(b===null||$a(b))return f(b);const E=g.events[g.events.length-1];return!g.parser.constructs.disable.null.includes("codeIndented")&&E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):i.interrupt(g.parser.constructs.flow,f,a)(b)}}function N$t(i,a,f,g,w,v,b,E,S){const _=S||Number.POSITIVE_INFINITY;let M=0;return F;function F(ot){return ot===60?(i.enter(g),i.enter(w),i.enter(v),i.consume(ot),i.exit(v),R):ot===null||ot===32||ot===41||$pt(ot)?f(ot):(i.enter(g),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),Y(ot))}function R(ot){return ot===62?(i.enter(v),i.consume(ot),i.exit(v),i.exit(w),i.exit(g),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),B(ot))}function B(ot){return ot===62?(i.exit("chunkString"),i.exit(E),R(ot)):ot===null||ot===60||$a(ot)?f(ot):(i.consume(ot),ot===92?z:B)}function z(ot){return ot===60||ot===62||ot===92?(i.consume(ot),B):B(ot)}function Y(ot){return!M&&(ot===null||ot===41||ob(ot))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(g),a(ot)):M<_&&ot===40?(i.consume(ot),M++,Y):ot===41?(i.consume(ot),M--,Y):ot===null||ot===32||ot===40||$pt(ot)?f(ot):(i.consume(ot),ot===92?nt:Y)}function nt(ot){return ot===40||ot===41||ot===92?(i.consume(ot),Y):Y(ot)}}function P$t(i,a,f,g,w,v){const b=this;let E=0,S;return _;function _(B){return i.enter(g),i.enter(w),i.consume(B),i.exit(w),i.enter(v),M}function M(B){return E>999||B===null||B===91||B===93&&!S||B===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(B):B===93?(i.exit(v),i.enter(w),i.consume(B),i.exit(w),i.exit(g),a):$a(B)?(i.enter("lineEnding"),i.consume(B),i.exit("lineEnding"),M):(i.enter("chunkString",{contentType:"string"}),F(B))}function F(B){return B===null||B===91||B===93||$a(B)||E++>999?(i.exit("chunkString"),M(B)):(i.consume(B),S||(S=!du(B)),B===92?R:F)}function R(B){return B===91||B===92||B===93?(i.consume(B),E++,F):F(B)}}function F$t(i,a,f,g,w,v){let b;return E;function E(R){return R===34||R===39||R===40?(i.enter(g),i.enter(w),i.consume(R),i.exit(w),b=R===40?41:R,S):f(R)}function S(R){return R===b?(i.enter(w),i.consume(R),i.exit(w),i.exit(g),a):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),S(b)):R===null?f(R):$a(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Cl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),M(R))}function M(R){return R===b||R===null||$a(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?F:M)}function F(R){return R===b||R===92?(i.consume(R),M):M(R)}}function ZF(i,a){let f;return g;function g(w){return $a(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,g):du(w)?Cl(i,g,f?"linePrefix":"lineSuffix")(w):a(w)}}function ED(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const fGe={name:"definition",tokenize:gGe},dGe={tokenize:pGe,partial:!0};function gGe(i,a,f){const g=this;let w;return v;function v(B){return i.enter("definition"),b(B)}function b(B){return P$t.call(g,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(B)}function E(B){return w=ED(g.sliceSerialize(g.events[g.events.length-1][1]).slice(1,-1)),B===58?(i.enter("definitionMarker"),i.consume(B),i.exit("definitionMarker"),S):f(B)}function S(B){return ob(B)?ZF(i,_)(B):_(B)}function _(B){return N$t(i,M,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(B)}function M(B){return i.attempt(dGe,F,F)(B)}function F(B){return du(B)?Cl(i,R,"whitespace")(B):R(B)}function R(B){return B===null||$a(B)?(i.exit("definition"),g.parser.defined.push(w),a(B)):f(B)}}function pGe(i,a,f){return g;function g(E){return ob(E)?ZF(i,w)(E):f(E)}function w(E){return F$t(i,v,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function v(E){return du(E)?Cl(i,b,"whitespace")(E):b(E)}function b(E){return E===null||$a(E)?a(E):f(E)}}const bGe={name:"hardBreakEscape",tokenize:wGe};function wGe(i,a,f){return g;function g(v){return i.enter("hardBreakEscape"),i.consume(v),w}function w(v){return $a(v)?(i.exit("hardBreakEscape"),a(v)):f(v)}}const mGe={name:"headingAtx",tokenize:yGe,resolve:vGe};function vGe(i,a){let f=i.length-2,g=3,w,v;return i[g][1].type==="whitespace"&&(g+=2),f-2>g&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(g===f-1||f-4>g&&i[f-2][1].type==="whitespace")&&(f-=g+1===f?2:4),f>g&&(w={type:"atxHeadingText",start:i[g][1].start,end:i[f][1].end},v={type:"chunkText",start:i[g][1].start,end:i[f][1].end,contentType:"text"},c4(i,g,f-g+1,[["enter",w,a],["enter",v,a],["exit",v,a],["exit",w,a]])),i}function yGe(i,a,f){let g=0;return w;function w(M){return i.enter("atxHeading"),v(M)}function v(M){return i.enter("atxHeadingSequence"),b(M)}function b(M){return M===35&&g++<6?(i.consume(M),b):M===null||ob(M)?(i.exit("atxHeadingSequence"),E(M)):f(M)}function E(M){return M===35?(i.enter("atxHeadingSequence"),S(M)):M===null||$a(M)?(i.exit("atxHeading"),a(M)):du(M)?Cl(i,E,"whitespace")(M):(i.enter("atxHeadingText"),_(M))}function S(M){return M===35?(i.consume(M),S):(i.exit("atxHeadingSequence"),E(M))}function _(M){return M===null||M===35||ob(M)?(i.exit("atxHeadingText"),E(M)):(i.consume(M),_)}}const xGe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],B$t=["pre","script","style","textarea"],kGe={name:"htmlFlow",tokenize:SGe,resolveTo:CGe,concrete:!0},EGe={tokenize:AGe,partial:!0},TGe={tokenize:_Ge,partial:!0};function CGe(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function SGe(i,a,f){const g=this;let w,v,b,E,S;return _;function _(Mt){return M(Mt)}function M(Mt){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Mt),F}function F(Mt){return Mt===33?(i.consume(Mt),R):Mt===47?(i.consume(Mt),v=!0,Y):Mt===63?(i.consume(Mt),w=3,g.interrupt?a:kt):u4(Mt)?(i.consume(Mt),b=String.fromCharCode(Mt),nt):f(Mt)}function R(Mt){return Mt===45?(i.consume(Mt),w=2,B):Mt===91?(i.consume(Mt),w=5,E=0,z):u4(Mt)?(i.consume(Mt),w=4,g.interrupt?a:kt):f(Mt)}function B(Mt){return Mt===45?(i.consume(Mt),g.interrupt?a:kt):f(Mt)}function z(Mt){const pn="CDATA[";return Mt===pn.charCodeAt(E++)?(i.consume(Mt),E===pn.length?g.interrupt?a:yt:z):f(Mt)}function Y(Mt){return u4(Mt)?(i.consume(Mt),b=String.fromCharCode(Mt),nt):f(Mt)}function nt(Mt){if(Mt===null||Mt===47||Mt===62||ob(Mt)){const pn=Mt===47,Ae=b.toLowerCase();return!pn&&!v&&B$t.includes(Ae)?(w=1,g.interrupt?a(Mt):yt(Mt)):xGe.includes(b.toLowerCase())?(w=6,pn?(i.consume(Mt),ot):g.interrupt?a(Mt):yt(Mt)):(w=7,g.interrupt&&!g.parser.lazy[g.now().line]?f(Mt):v?ft(Mt):wt(Mt))}return Mt===45||Zv(Mt)?(i.consume(Mt),b+=String.fromCharCode(Mt),nt):f(Mt)}function ot(Mt){return Mt===62?(i.consume(Mt),g.interrupt?a:yt):f(Mt)}function ft(Mt){return du(Mt)?(i.consume(Mt),ft):dt(Mt)}function wt(Mt){return Mt===47?(i.consume(Mt),dt):Mt===58||Mt===95||u4(Mt)?(i.consume(Mt),mt):du(Mt)?(i.consume(Mt),wt):dt(Mt)}function mt(Mt){return Mt===45||Mt===46||Mt===58||Mt===95||Zv(Mt)?(i.consume(Mt),mt):ct(Mt)}function ct(Mt){return Mt===61?(i.consume(Mt),rt):du(Mt)?(i.consume(Mt),ct):wt(Mt)}function rt(Mt){return Mt===null||Mt===60||Mt===61||Mt===62||Mt===96?f(Mt):Mt===34||Mt===39?(i.consume(Mt),S=Mt,it):du(Mt)?(i.consume(Mt),rt):gt(Mt)}function it(Mt){return Mt===S?(i.consume(Mt),S=null,Q):Mt===null||$a(Mt)?f(Mt):(i.consume(Mt),it)}function gt(Mt){return Mt===null||Mt===34||Mt===39||Mt===47||Mt===60||Mt===61||Mt===62||Mt===96||ob(Mt)?ct(Mt):(i.consume(Mt),gt)}function Q(Mt){return Mt===47||Mt===62||du(Mt)?wt(Mt):f(Mt)}function dt(Mt){return Mt===62?(i.consume(Mt),K):f(Mt)}function K(Mt){return Mt===null||$a(Mt)?yt(Mt):du(Mt)?(i.consume(Mt),K):f(Mt)}function yt(Mt){return Mt===45&&w===2?(i.consume(Mt),jt):Mt===60&&w===1?(i.consume(Mt),xt):Mt===62&&w===4?(i.consume(Mt),Gt):Mt===63&&w===3?(i.consume(Mt),kt):Mt===93&&w===5?(i.consume(Mt),Ct):$a(Mt)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(EGe,Fe,V)(Mt)):Mt===null||$a(Mt)?(i.exit("htmlFlowData"),V(Mt)):(i.consume(Mt),yt)}function V(Mt){return i.check(TGe,Ot,Fe)(Mt)}function Ot(Mt){return i.enter("lineEnding"),i.consume(Mt),i.exit("lineEnding"),It}function It(Mt){return Mt===null||$a(Mt)?V(Mt):(i.enter("htmlFlowData"),yt(Mt))}function jt(Mt){return Mt===45?(i.consume(Mt),kt):yt(Mt)}function xt(Mt){return Mt===47?(i.consume(Mt),b="",Ft):yt(Mt)}function Ft(Mt){if(Mt===62){const pn=b.toLowerCase();return B$t.includes(pn)?(i.consume(Mt),Gt):yt(Mt)}return u4(Mt)&&b.length<8?(i.consume(Mt),b+=String.fromCharCode(Mt),Ft):yt(Mt)}function Ct(Mt){return Mt===93?(i.consume(Mt),kt):yt(Mt)}function kt(Mt){return Mt===62?(i.consume(Mt),Gt):Mt===45&&w===2?(i.consume(Mt),kt):yt(Mt)}function Gt(Mt){return Mt===null||$a(Mt)?(i.exit("htmlFlowData"),Fe(Mt)):(i.consume(Mt),Gt)}function Fe(Mt){return i.exit("htmlFlow"),a(Mt)}}function _Ge(i,a,f){const g=this;return w;function w(b){return $a(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):f(b)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}function AGe(i,a,f){return g;function g(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(XY,a,f)}}const LGe={name:"htmlText",tokenize:DGe};function DGe(i,a,f){const g=this;let w,v,b;return E;function E(kt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(kt),S}function S(kt){return kt===33?(i.consume(kt),_):kt===47?(i.consume(kt),ct):kt===63?(i.consume(kt),wt):u4(kt)?(i.consume(kt),gt):f(kt)}function _(kt){return kt===45?(i.consume(kt),M):kt===91?(i.consume(kt),v=0,z):u4(kt)?(i.consume(kt),ft):f(kt)}function M(kt){return kt===45?(i.consume(kt),B):f(kt)}function F(kt){return kt===null?f(kt):kt===45?(i.consume(kt),R):$a(kt)?(b=F,xt(kt)):(i.consume(kt),F)}function R(kt){return kt===45?(i.consume(kt),B):F(kt)}function B(kt){return kt===62?jt(kt):kt===45?R(kt):F(kt)}function z(kt){const Gt="CDATA[";return kt===Gt.charCodeAt(v++)?(i.consume(kt),v===Gt.length?Y:z):f(kt)}function Y(kt){return kt===null?f(kt):kt===93?(i.consume(kt),nt):$a(kt)?(b=Y,xt(kt)):(i.consume(kt),Y)}function nt(kt){return kt===93?(i.consume(kt),ot):Y(kt)}function ot(kt){return kt===62?jt(kt):kt===93?(i.consume(kt),ot):Y(kt)}function ft(kt){return kt===null||kt===62?jt(kt):$a(kt)?(b=ft,xt(kt)):(i.consume(kt),ft)}function wt(kt){return kt===null?f(kt):kt===63?(i.consume(kt),mt):$a(kt)?(b=wt,xt(kt)):(i.consume(kt),wt)}function mt(kt){return kt===62?jt(kt):wt(kt)}function ct(kt){return u4(kt)?(i.consume(kt),rt):f(kt)}function rt(kt){return kt===45||Zv(kt)?(i.consume(kt),rt):it(kt)}function it(kt){return $a(kt)?(b=it,xt(kt)):du(kt)?(i.consume(kt),it):jt(kt)}function gt(kt){return kt===45||Zv(kt)?(i.consume(kt),gt):kt===47||kt===62||ob(kt)?Q(kt):f(kt)}function Q(kt){return kt===47?(i.consume(kt),jt):kt===58||kt===95||u4(kt)?(i.consume(kt),dt):$a(kt)?(b=Q,xt(kt)):du(kt)?(i.consume(kt),Q):jt(kt)}function dt(kt){return kt===45||kt===46||kt===58||kt===95||Zv(kt)?(i.consume(kt),dt):K(kt)}function K(kt){return kt===61?(i.consume(kt),yt):$a(kt)?(b=K,xt(kt)):du(kt)?(i.consume(kt),K):Q(kt)}function yt(kt){return kt===null||kt===60||kt===61||kt===62||kt===96?f(kt):kt===34||kt===39?(i.consume(kt),w=kt,V):$a(kt)?(b=yt,xt(kt)):du(kt)?(i.consume(kt),yt):(i.consume(kt),Ot)}function V(kt){return kt===w?(i.consume(kt),w=void 0,It):kt===null?f(kt):$a(kt)?(b=V,xt(kt)):(i.consume(kt),V)}function Ot(kt){return kt===null||kt===34||kt===39||kt===60||kt===61||kt===96?f(kt):kt===47||kt===62||ob(kt)?Q(kt):(i.consume(kt),Ot)}function It(kt){return kt===47||kt===62||ob(kt)?Q(kt):f(kt)}function jt(kt){return kt===62?(i.consume(kt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(kt)}function xt(kt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(kt),i.exit("lineEnding"),Ft}function Ft(kt){return du(kt)?Cl(i,Ct,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(kt):Ct(kt)}function Ct(kt){return i.enter("htmlTextData"),b(kt)}}const Gpt={name:"labelEnd",tokenize:FGe,resolveTo:PGe,resolveAll:NGe},MGe={tokenize:BGe},IGe={tokenize:RGe},OGe={tokenize:jGe};function NGe(i){let a=-1;for(;++a<i.length;){const f=i[a][1];(f.type==="labelImage"||f.type==="labelLink"||f.type==="labelEnd")&&(i.splice(a+1,f.type==="labelImage"?4:2),f.type="data",a++)}return i}function PGe(i,a){let f=i.length,g=0,w,v,b,E;for(;f--;)if(w=i[f][1],v){if(w.type==="link"||w.type==="labelLink"&&w._inactive)break;i[f][0]==="enter"&&w.type==="labelLink"&&(w._inactive=!0)}else if(b){if(i[f][0]==="enter"&&(w.type==="labelImage"||w.type==="labelLink")&&!w._balanced&&(v=f,w.type!=="labelLink")){g=2;break}}else w.type==="labelEnd"&&(b=f);const S={type:i[v][1].type==="labelLink"?"link":"image",start:Object.assign({},i[v][1].start),end:Object.assign({},i[i.length-1][1].end)},_={type:"label",start:Object.assign({},i[v][1].start),end:Object.assign({},i[b][1].end)},M={type:"labelText",start:Object.assign({},i[v+g+2][1].end),end:Object.assign({},i[b-2][1].start)};return E=[["enter",S,a],["enter",_,a]],E=tm(E,i.slice(v+1,v+g+3)),E=tm(E,[["enter",M,a]]),E=tm(E,qpt(a.parser.constructs.insideSpan.null,i.slice(v+g+4,b-3),a)),E=tm(E,[["exit",M,a],i[b-2],i[b-1],["exit",_,a]]),E=tm(E,i.slice(b+1)),E=tm(E,[["exit",S,a]]),c4(i,v,i.length,E),i}function FGe(i,a,f){const g=this;let w=g.events.length,v,b;for(;w--;)if((g.events[w][1].type==="labelImage"||g.events[w][1].type==="labelLink")&&!g.events[w][1]._balanced){v=g.events[w][1];break}return E;function E(R){return v?v._inactive?F(R):(b=g.parser.defined.includes(ED(g.sliceSerialize({start:v.end,end:g.now()}))),i.enter("labelEnd"),i.enter("labelMarker"),i.consume(R),i.exit("labelMarker"),i.exit("labelEnd"),S):f(R)}function S(R){return R===40?i.attempt(MGe,M,b?M:F)(R):R===91?i.attempt(IGe,M,b?_:F)(R):b?M(R):F(R)}function _(R){return i.attempt(OGe,M,F)(R)}function M(R){return a(R)}function F(R){return v._balanced=!0,f(R)}}function BGe(i,a,f){return g;function g(F){return i.enter("resource"),i.enter("resourceMarker"),i.consume(F),i.exit("resourceMarker"),w}function w(F){return ob(F)?ZF(i,v)(F):v(F)}function v(F){return F===41?M(F):N$t(i,b,E,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(F)}function b(F){return ob(F)?ZF(i,S)(F):M(F)}function E(F){return f(F)}function S(F){return F===34||F===39||F===40?F$t(i,_,f,"resourceTitle","resourceTitleMarker","resourceTitleString")(F):M(F)}function _(F){return ob(F)?ZF(i,M)(F):M(F)}function M(F){return F===41?(i.enter("resourceMarker"),i.consume(F),i.exit("resourceMarker"),i.exit("resource"),a):f(F)}}function RGe(i,a,f){const g=this;return w;function w(E){return P$t.call(g,i,v,b,"reference","referenceMarker","referenceString")(E)}function v(E){return g.parser.defined.includes(ED(g.sliceSerialize(g.events[g.events.length-1][1]).slice(1,-1)))?a(E):f(E)}function b(E){return f(E)}}function jGe(i,a,f){return g;function g(v){return i.enter("reference"),i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),w}function w(v){return v===93?(i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),i.exit("reference"),a):f(v)}}const $Ge={name:"labelStartImage",tokenize:zGe,resolveAll:Gpt.resolveAll};function zGe(i,a,f){const g=this;return w;function w(E){return i.enter("labelImage"),i.enter("labelImageMarker"),i.consume(E),i.exit("labelImageMarker"),v}function v(E){return E===91?(i.enter("labelMarker"),i.consume(E),i.exit("labelMarker"),i.exit("labelImage"),b):f(E)}function b(E){return E===94&&"_hiddenFootnoteSupport"in g.parser.constructs?f(E):a(E)}}const qGe={name:"labelStartLink",tokenize:HGe,resolveAll:Gpt.resolveAll};function HGe(i,a,f){const g=this;return w;function w(b){return i.enter("labelLink"),i.enter("labelMarker"),i.consume(b),i.exit("labelMarker"),i.exit("labelLink"),v}function v(b){return b===94&&"_hiddenFootnoteSupport"in g.parser.constructs?f(b):a(b)}}const Kpt={name:"lineEnding",tokenize:VGe};function VGe(i,a){return f;function f(g){return i.enter("lineEnding"),i.consume(g),i.exit("lineEnding"),Cl(i,a,"linePrefix")}}const QY={name:"thematicBreak",tokenize:UGe};function UGe(i,a,f){let g=0,w;return v;function v(_){return i.enter("thematicBreak"),b(_)}function b(_){return w=_,E(_)}function E(_){return _===w?(i.enter("thematicBreakSequence"),S(_)):g>=3&&(_===null||$a(_))?(i.exit("thematicBreak"),a(_)):f(_)}function S(_){return _===w?(i.consume(_),g++,S):(i.exit("thematicBreakSequence"),du(_)?Cl(i,E,"whitespace")(_):E(_))}}const cb={name:"list",tokenize:WGe,continuation:{tokenize:YGe},exit:QGe},GGe={tokenize:JGe,partial:!0},KGe={tokenize:XGe,partial:!0};function WGe(i,a,f){const g=this,w=g.events[g.events.length-1];let v=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(B){const z=g.containerState.type||(B===42||B===43||B===45?"listUnordered":"listOrdered");if(z==="listUnordered"?!g.containerState.marker||B===g.containerState.marker:zpt(B)){if(g.containerState.type||(g.containerState.type=z,i.enter(z,{_container:!0})),z==="listUnordered")return i.enter("listItemPrefix"),B===42||B===45?i.check(QY,f,_)(B):_(B);if(!g.interrupt||B===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),S(B)}return f(B)}function S(B){return zpt(B)&&++b<10?(i.consume(B),S):(!g.interrupt||b<2)&&(g.containerState.marker?B===g.containerState.marker:B===41||B===46)?(i.exit("listItemValue"),_(B)):f(B)}function _(B){return i.enter("listItemMarker"),i.consume(B),i.exit("listItemMarker"),g.containerState.marker=g.containerState.marker||B,i.check(XY,g.interrupt?f:M,i.attempt(GGe,R,F))}function M(B){return g.containerState.initialBlankLine=!0,v++,R(B)}function F(B){return du(B)?(i.enter("listItemPrefixWhitespace"),i.consume(B),i.exit("listItemPrefixWhitespace"),R):f(B)}function R(B){return g.containerState.size=v+g.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(B)}}function YGe(i,a,f){const g=this;return g.containerState._closeFlow=void 0,i.check(XY,w,v);function w(E){return g.containerState.furtherBlankLines=g.containerState.furtherBlankLines||g.containerState.initialBlankLine,Cl(i,a,"listItemIndent",g.containerState.size+1)(E)}function v(E){return g.containerState.furtherBlankLines||!du(E)?(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,b(E)):(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,i.attempt(KGe,a,b)(E))}function b(E){return g.containerState._closeFlow=!0,g.interrupt=void 0,Cl(i,i.attempt(cb,a,f),"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function XGe(i,a,f){const g=this;return Cl(i,w,"listItemIndent",g.containerState.size+1);function w(v){const b=g.events[g.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===g.containerState.size?a(v):f(v)}}function QGe(i){i.exit(this.containerState.type)}function JGe(i,a,f){const g=this;return Cl(i,w,"listItemPrefixWhitespace",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(v){const b=g.events[g.events.length-1];return!du(v)&&b&&b[1].type==="listItemPrefixWhitespace"?a(v):f(v)}}const R$t={name:"setextUnderline",tokenize:tKe,resolveTo:ZGe};function ZGe(i,a){let f=i.length,g,w,v;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){g=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!v&&i[f][1].type==="definition"&&(v=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",v?(i.splice(w,0,["enter",b,a]),i.splice(v+1,0,["exit",i[g][1],a]),i[g][1].end=Object.assign({},i[v][1].end)):i[g][1]=b,i.push(["exit",b,a]),i}function tKe(i,a,f){const g=this;let w;return v;function v(_){let M=g.events.length,F;for(;M--;)if(g.events[M][1].type!=="lineEnding"&&g.events[M][1].type!=="linePrefix"&&g.events[M][1].type!=="content"){F=g.events[M][1].type==="paragraph";break}return!g.parser.lazy[g.now().line]&&(g.interrupt||F)?(i.enter("setextHeadingLine"),w=_,b(_)):f(_)}function b(_){return i.enter("setextHeadingLineSequence"),E(_)}function E(_){return _===w?(i.consume(_),E):(i.exit("setextHeadingLineSequence"),du(_)?Cl(i,S,"lineSuffix")(_):S(_))}function S(_){return _===null||$a(_)?(i.exit("setextHeadingLine"),a(_)):f(_)}}const eKe={tokenize:nKe};function nKe(i){const a=this,f=i.attempt(XY,g,i.attempt(this.parser.constructs.flowInitial,w,Cl(i,i.attempt(this.parser.constructs.flow,w,i.attempt(oGe,w)),"linePrefix")));return f;function g(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const rKe={resolveAll:$$t()},iKe=j$t("string"),sKe=j$t("text");function j$t(i){return{tokenize:a,resolveAll:$$t(i==="text"?aKe:void 0)};function a(f){const g=this,w=this.parser.constructs[i],v=f.attempt(w,b,E);return b;function b(M){return _(M)?v(M):E(M)}function E(M){if(M===null){f.consume(M);return}return f.enter("data"),f.consume(M),S}function S(M){return _(M)?(f.exit("data"),v(M)):(f.consume(M),S)}function _(M){if(M===null)return!0;const F=w[M];let R=-1;if(F)for(;++R<F.length;){const B=F[R];if(!B.previous||B.previous.call(g,g.previous))return!0}return!1}}}function $$t(i){return a;function a(f,g){let w=-1,v;for(;++w<=f.length;)v===void 0?f[w]&&f[w][1].type==="data"&&(v=w,w++):(!f[w]||f[w][1].type!=="data")&&(w!==v+2&&(f[v][1].end=f[w-1][1].end,f.splice(v+2,w-v-2),w=v+2),v=void 0);return i?i(f,g):f}}function aKe(i,a){let f=0;for(;++f<=i.length;)if((f===i.length||i[f][1].type==="lineEnding")&&i[f-1][1].type==="data"){const g=i[f-1][1],w=a.sliceStream(g);let v=w.length,b=-1,E=0,S;for(;v--;){const _=w[v];if(typeof _=="string"){for(b=_.length;_.charCodeAt(b-1)===32;)E++,b--;if(b)break;b=-1}else if(_===-2)S=!0,E++;else if(_!==-1){v++;break}}if(E){const _={type:f===i.length||S||E<2?"lineSuffix":"hardBreakTrailing",start:{line:g.end.line,column:g.end.column-E,offset:g.end.offset-E,_index:g.start._index+v,_bufferIndex:v?b:g.start._bufferIndex+b},end:Object.assign({},g.end)};g.end=Object.assign({},_.start),g.start.offset===g.end.offset?Object.assign(g,_):(i.splice(f,0,["enter",_,a],["exit",_,a]),f+=2)}f++}return i}function oKe(i,a,f){let g=Object.assign(f?Object.assign({},f):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const w={},v=[];let b=[],E=[];const S={consume:ft,enter:wt,exit:mt,attempt:it(ct),check:it(rt),interrupt:it(rt,{interrupt:!0})},_={previous:null,code:null,containerState:{},events:[],parser:i,sliceStream:B,sliceSerialize:R,now:z,defineSkip:Y,write:F};let M=a.tokenize.call(_,S);return a.resolveAll&&v.push(a),_;function F(K){return b=tm(b,K),nt(),b[b.length-1]!==null?[]:(gt(a,0),_.events=qpt(v,_.events,_),_.events)}function R(K,yt){return uKe(B(K),yt)}function B(K){return cKe(b,K)}function z(){const{line:K,column:yt,offset:V,_index:Ot,_bufferIndex:It}=g;return{line:K,column:yt,offset:V,_index:Ot,_bufferIndex:It}}function Y(K){w[K.line]=K.column,dt()}function nt(){let K;for(;g._index<b.length;){const yt=b[g._index];if(typeof yt=="string")for(K=g._index,g._bufferIndex<0&&(g._bufferIndex=0);g._index===K&&g._bufferIndex<yt.length;)ot(yt.charCodeAt(g._bufferIndex));else ot(yt)}}function ot(K){M=M(K)}function ft(K){$a(K)?(g.line++,g.column=1,g.offset+=K===-3?2:1,dt()):K!==-1&&(g.column++,g.offset++),g._bufferIndex<0?g._index++:(g._bufferIndex++,g._bufferIndex===b[g._index].length&&(g._bufferIndex=-1,g._index++)),_.previous=K}function wt(K,yt){const V=yt||{};return V.type=K,V.start=z(),_.events.push(["enter",V,_]),E.push(V),V}function mt(K){const yt=E.pop();return yt.end=z(),_.events.push(["exit",yt,_]),yt}function ct(K,yt){gt(K,yt.from)}function rt(K,yt){yt.restore()}function it(K,yt){return V;function V(Ot,It,jt){let xt,Ft,Ct,kt;return Array.isArray(Ot)?Fe(Ot):"tokenize"in Ot?Fe([Ot]):Gt(Ot);function Gt(ye){return tn;function tn(sn){const be=sn!==null&&ye[sn],Ne=sn!==null&&ye.null,Xt=[...Array.isArray(be)?be:be?[be]:[],...Array.isArray(Ne)?Ne:Ne?[Ne]:[]];return Fe(Xt)(sn)}}function Fe(ye){return xt=ye,Ft=0,ye.length===0?jt:Mt(ye[Ft])}function Mt(ye){return tn;function tn(sn){return kt=Q(),Ct=ye,ye.partial||(_.currentConstruct=ye),ye.name&&_.parser.constructs.disable.null.includes(ye.name)?Ae():ye.tokenize.call(yt?Object.assign(Object.create(_),yt):_,S,pn,Ae)(sn)}}function pn(ye){return K(Ct,kt),It}function Ae(ye){return kt.restore(),++Ft<xt.length?Mt(xt[Ft]):jt}}}function gt(K,yt){K.resolveAll&&!v.includes(K)&&v.push(K),K.resolve&&c4(_.events,yt,_.events.length-yt,K.resolve(_.events.slice(yt),_)),K.resolveTo&&(_.events=K.resolveTo(_.events,_))}function Q(){const K=z(),yt=_.previous,V=_.currentConstruct,Ot=_.events.length,It=Array.from(E);return{restore:jt,from:Ot};function jt(){g=K,_.previous=yt,_.currentConstruct=V,_.events.length=Ot,E=It,dt()}}function dt(){g.line in w&&g.column<2&&(g.column=w[g.line],g.offset+=w[g.line]-1)}}function cKe(i,a){const f=a.start._index,g=a.start._bufferIndex,w=a.end._index,v=a.end._bufferIndex;let b;if(f===w)b=[i[f].slice(g,v)];else{if(b=i.slice(f,w),g>-1){const E=b[0];typeof E=="string"?b[0]=E.slice(g):b.shift()}v>0&&b.push(i[w].slice(0,v))}return b}function uKe(i,a){let f=-1;const g=[];let w;for(;++f<i.length;){const v=i[f];let b;if(typeof v=="string")b=v;else switch(v){case-5:{b="\r";break}case-4:{b=`
110 `;break}case-2:{b=a?" ":" ";break}case-1:{if(!a&&w)continue;b=" ";break}default:b=String.fromCharCode(v)}w=v===-2,g.push(b)}return g.join("")}const lKe=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:{91:fGe},disable:{null:[]},document:{42:cb,43:cb,45:cb,48:cb,49:cb,50:cb,51:cb,52:cb,53:cb,54:cb,55:cb,56:cb,57:cb,62:_$t},flow:{35:mGe,42:QY,45:[R$t,QY],60:kGe,61:R$t,95:QY,96:I$t,126:I$t},flowInitial:{[-2]:Upt,[-1]:Upt,32:Upt},insideSpan:{null:[Hpt,rKe]},string:{38:D$t,92:A$t},text:{[-5]:Kpt,[-4]:Kpt,[-3]:Kpt,33:$Ge,38:D$t,42:Hpt,60:[HUe,LGe],91:qGe,92:[bGe,A$t],93:Gpt,95:Hpt,96:nGe}},Symbol.toStringTag,{value:"Module"}));function hKe(i){const f=_Ue([lKe,...(i||{}).extensions||[]]),g={defined:[],lazy:{},constructs:f,content:w(FUe),document:w(RUe),flow:w(eKe),string:w(iKe),text:w(sKe)};return g;function w(v){return b;function b(E){return oKe(g,v,E)}}}const z$t=/[\0\t\n\r]/g;function fKe(){let i=1,a="",f=!0,g;return w;function w(v,b,E){const S=[];let _,M,F,R,B;for(v=a+v.toString(b),F=0,a="",f&&(v.charCodeAt(0)===65279&&F++,f=void 0);F<v.length;){if(z$t.lastIndex=F,_=z$t.exec(v),R=_&&_.index!==void 0?_.index:v.length,B=v.charCodeAt(R),!_){a=v.slice(F);break}if(B===10&&F===R&&g)S.push(-3),g=void 0;else switch(g&&(S.push(-5),g=void 0),F<R&&(S.push(v.slice(F,R)),i+=R-F),B){case 0:{S.push(65533),i++;break}case 9:{for(M=Math.ceil(i/4)*4,S.push(-2);i++<M;)S.push(-1);break}case 10:{S.push(-4),i=1;break}default:g=!0,i=1}F=R+1}return E&&(g&&S.push(-5),a&&S.push(a),S.push(null)),S}}function dKe(i){for(;!O$t(i););return i}function q$t(i,a){const f=Number.parseInt(i,a);return f<9||f===11||f>13&&f<32||f>126&&f<160||f>55295&&f<57344||f>64975&&f<65008||(f&65535)===65535||(f&65535)===65534||f>1114111?"�":String.fromCharCode(f)}const gKe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function pKe(i){return i.replace(gKe,bKe)}function bKe(i,a,f){if(a)return a;if(f.charCodeAt(0)===35){const w=f.charCodeAt(1),v=w===120||w===88;return q$t(f.slice(v?2:1),v?16:10)}return Vpt(f)||i}function JY(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?H$t(i.position):"start"in i||"end"in i?H$t(i):"line"in i||"column"in i?Wpt(i):""}function Wpt(i){return V$t(i&&i.line)+":"+V$t(i&&i.column)}function H$t(i){return Wpt(i&&i.start)+"-"+Wpt(i&&i.end)}function V$t(i){return i&&typeof i=="number"?i:1}const U$t={}.hasOwnProperty,G$t=function(i,a,f){return typeof a!="string"&&(f=a,a=void 0),wKe(f)(dKe(hKe(f).document().write(fKe()(i,a,!0))))};function wKe(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:E(ga),autolinkProtocol:K,autolinkEmail:K,atxHeading:E(Br),blockQuote:E(Xt),characterEscape:K,characterReference:K,codeFenced:E(_e),codeFencedFenceInfo:S,codeFencedFenceMeta:S,codeIndented:E(_e,S),codeText:E(xe,S),codeTextData:K,data:K,codeFlowValue:K,definition:E(Mn),definitionDestinationString:S,definitionLabelString:S,definitionTitleString:S,emphasis:E(ce),hardBreakEscape:E(we),hardBreakTrailing:E(we),htmlFlow:E(Fi,S),htmlFlowData:K,htmlText:E(Fi,S),htmlTextData:K,image:E(mi),label:S,link:E(ga),listItem:E(za),listItemValue:z,listOrdered:E(Ss,B),listUnordered:E(Ss),paragraph:E(br),reference:Ae,referenceString:S,resourceDestinationString:S,resourceTitleString:S,setextHeading:E(Br),strong:E(An),thematicBreak:E(Bn)},exit:{atxHeading:M(),atxHeadingSequence:it,autolink:M(),autolinkEmail:Ne,autolinkProtocol:be,blockQuote:M(),characterEscapeValue:yt,characterReferenceMarkerHexadecimal:tn,characterReferenceMarkerNumeric:tn,characterReferenceValue:sn,codeFenced:M(ft),codeFencedFence:ot,codeFencedFenceInfo:Y,codeFencedFenceMeta:nt,codeFlowValue:yt,codeIndented:M(wt),codeText:M(xt),codeTextData:yt,data:yt,definition:M(),definitionDestinationString:rt,definitionLabelString:mt,definitionTitleString:ct,emphasis:M(),hardBreakEscape:M(Ot),hardBreakTrailing:M(Ot),htmlFlow:M(It),htmlFlowData:yt,htmlText:M(jt),htmlTextData:yt,image:M(Ct),label:Gt,labelText:kt,lineEnding:V,link:M(Ft),listItem:M(),listOrdered:M(),listUnordered:M(),paragraph:M(),referenceString:ye,resourceDestinationString:Fe,resourceTitleString:Mt,resource:pn,setextHeading:M(dt),setextHeadingLineSequence:Q,setextHeadingText:gt,strong:M(),thematicBreak:M()}};K$t(a,(i||{}).mdastExtensions||[]);const f={};return g;function g(ke){let pe={type:"root",children:[]};const Je={stack:[pe],tokenStack:[],config:a,enter:_,exit:F,buffer:S,resume:R,setData:v,getData:b},an=[];let xn=-1;for(;++xn<ke.length;)if(ke[xn][1].type==="listOrdered"||ke[xn][1].type==="listUnordered")if(ke[xn][0]==="enter")an.push(xn);else{const qa=an.pop();xn=w(ke,qa,xn)}for(xn=-1;++xn<ke.length;){const qa=a[ke[xn][0]];U$t.call(qa,ke[xn][1].type)&&qa[ke[xn][1].type].call(Object.assign({sliceSerialize:ke[xn][2].sliceSerialize},Je),ke[xn][1])}if(Je.tokenStack.length>0){const qa=Je.tokenStack[Je.tokenStack.length-1];(qa[1]||W$t).call(Je,void 0,qa[0])}for(pe.position={start:T8(ke.length>0?ke[0][1].start:{line:1,column:1,offset:0}),end:T8(ke.length>0?ke[ke.length-2][1].end:{line:1,column:1,offset:0})},xn=-1;++xn<a.transforms.length;)pe=a.transforms[xn](pe)||pe;return pe}function w(ke,pe,Je){let an=pe-1,xn=-1,qa=!1,xo,ko,va,Ha;for(;++an<=Je;){const ds=ke[an];if(ds[1].type==="listUnordered"||ds[1].type==="listOrdered"||ds[1].type==="blockQuote"?(ds[0]==="enter"?xn++:xn--,Ha=void 0):ds[1].type==="lineEndingBlank"?ds[0]==="enter"&&(xo&&!Ha&&!xn&&!va&&(va=an),Ha=void 0):ds[1].type==="linePrefix"||ds[1].type==="listItemValue"||ds[1].type==="listItemMarker"||ds[1].type==="listItemPrefix"||ds[1].type==="listItemPrefixWhitespace"||(Ha=void 0),!xn&&ds[0]==="enter"&&ds[1].type==="listItemPrefix"||xn===-1&&ds[0]==="exit"&&(ds[1].type==="listUnordered"||ds[1].type==="listOrdered")){if(xo){let Fu=an;for(ko=void 0;Fu--;){const Zs=ke[Fu];if(Zs[1].type==="lineEnding"||Zs[1].type==="lineEndingBlank"){if(Zs[0]==="exit")continue;ko&&(ke[ko][1].type="lineEndingBlank",qa=!0),Zs[1].type="lineEnding",ko=Fu}else if(!(Zs[1].type==="linePrefix"||Zs[1].type==="blockQuotePrefix"||Zs[1].type==="blockQuotePrefixWhitespace"||Zs[1].type==="blockQuoteMarker"||Zs[1].type==="listItemIndent"))break}va&&(!ko||va<ko)&&(xo._spread=!0),xo.end=Object.assign({},ko?ke[ko][1].start:ds[1].end),ke.splice(ko||an,0,["exit",xo,ds[2]]),an++,Je++}ds[1].type==="listItemPrefix"&&(xo={type:"listItem",_spread:!1,start:Object.assign({},ds[1].start)},ke.splice(an,0,["enter",xo,ds[2]]),an++,Je++,va=void 0,Ha=!0)}}return ke[pe][1]._spread=qa,Je}function v(ke,pe){f[ke]=pe}function b(ke){return f[ke]}function E(ke,pe){return Je;function Je(an){_.call(this,ke(an),an),pe&&pe.call(this,an)}}function S(){this.stack.push({type:"fragment",children:[]})}function _(ke,pe,Je){return this.stack[this.stack.length-1].children.push(ke),this.stack.push(ke),this.tokenStack.push([pe,Je]),ke.position={start:T8(pe.start)},ke}function M(ke){return pe;function pe(Je){ke&&ke.call(this,Je),F.call(this,Je)}}function F(ke,pe){const Je=this.stack.pop(),an=this.tokenStack.pop();if(an)an[0].type!==ke.type&&(pe?pe.call(this,ke,an[0]):(an[1]||W$t).call(this,ke,an[0]));else throw new Error("Cannot close `"+ke.type+"` ("+JY({start:ke.start,end:ke.end})+"): it’s not open");return Je.position.end=T8(ke.end),Je}function R(){return CUe(this.stack.pop())}function B(){v("expectingFirstListItemValue",!0)}function z(ke){if(b("expectingFirstListItemValue")){const pe=this.stack[this.stack.length-2];pe.start=Number.parseInt(this.sliceSerialize(ke),10),v("expectingFirstListItemValue")}}function Y(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.lang=ke}function nt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.meta=ke}function ot(){b("flowCodeInside")||(this.buffer(),v("flowCodeInside",!0))}function ft(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ke.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),v("flowCodeInside")}function wt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ke.replace(/(\r?\n|\r)$/g,"")}function mt(ke){const pe=this.resume(),Je=this.stack[this.stack.length-1];Je.label=pe,Je.identifier=ED(this.sliceSerialize(ke)).toLowerCase()}function ct(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.title=ke}function rt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.url=ke}function it(ke){const pe=this.stack[this.stack.length-1];if(!pe.depth){const Je=this.sliceSerialize(ke).length;pe.depth=Je}}function gt(){v("setextHeadingSlurpLineEnding",!0)}function Q(ke){const pe=this.stack[this.stack.length-1];pe.depth=this.sliceSerialize(ke).charCodeAt(0)===61?1:2}function dt(){v("setextHeadingSlurpLineEnding")}function K(ke){const pe=this.stack[this.stack.length-1];let Je=pe.children[pe.children.length-1];(!Je||Je.type!=="text")&&(Je=Nn(),Je.position={start:T8(ke.start)},pe.children.push(Je)),this.stack.push(Je)}function yt(ke){const pe=this.stack.pop();pe.value+=this.sliceSerialize(ke),pe.position.end=T8(ke.end)}function V(ke){const pe=this.stack[this.stack.length-1];if(b("atHardBreak")){const Je=pe.children[pe.children.length-1];Je.position.end=T8(ke.end),v("atHardBreak");return}!b("setextHeadingSlurpLineEnding")&&a.canContainEols.includes(pe.type)&&(K.call(this,ke),yt.call(this,ke))}function Ot(){v("atHardBreak",!0)}function It(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ke}function jt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ke}function xt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.value=ke}function Ft(){const ke=this.stack[this.stack.length-1];if(b("inReference")){const pe=b("referenceType")||"shortcut";ke.type+="Reference",ke.referenceType=pe,delete ke.url,delete ke.title}else delete ke.identifier,delete ke.label;v("referenceType")}function Ct(){const ke=this.stack[this.stack.length-1];if(b("inReference")){const pe=b("referenceType")||"shortcut";ke.type+="Reference",ke.referenceType=pe,delete ke.url,delete ke.title}else delete ke.identifier,delete ke.label;v("referenceType")}function kt(ke){const pe=this.sliceSerialize(ke),Je=this.stack[this.stack.length-2];Je.label=pKe(pe),Je.identifier=ED(pe).toLowerCase()}function Gt(){const ke=this.stack[this.stack.length-1],pe=this.resume(),Je=this.stack[this.stack.length-1];if(v("inReference",!0),Je.type==="link"){const an=ke.children;Je.children=an}else Je.alt=pe}function Fe(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.url=ke}function Mt(){const ke=this.resume(),pe=this.stack[this.stack.length-1];pe.title=ke}function pn(){v("inReference")}function Ae(){v("referenceType","collapsed")}function ye(ke){const pe=this.resume(),Je=this.stack[this.stack.length-1];Je.label=pe,Je.identifier=ED(this.sliceSerialize(ke)).toLowerCase(),v("referenceType","full")}function tn(ke){v("characterReferenceType",ke.type)}function sn(ke){const pe=this.sliceSerialize(ke),Je=b("characterReferenceType");let an;Je?(an=q$t(pe,Je==="characterReferenceMarkerNumeric"?10:16),v("characterReferenceType")):an=Vpt(pe);const xn=this.stack.pop();xn.value+=an,xn.position.end=T8(ke.end)}function be(ke){yt.call(this,ke);const pe=this.stack[this.stack.length-1];pe.url=this.sliceSerialize(ke)}function Ne(ke){yt.call(this,ke);const pe=this.stack[this.stack.length-1];pe.url="mailto:"+this.sliceSerialize(ke)}function Xt(){return{type:"blockquote",children:[]}}function _e(){return{type:"code",lang:null,meta:null,value:""}}function xe(){return{type:"inlineCode",value:""}}function Mn(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ce(){return{type:"emphasis",children:[]}}function Br(){return{type:"heading",depth:void 0,children:[]}}function we(){return{type:"break"}}function Fi(){return{type:"html",value:""}}function mi(){return{type:"image",title:null,url:"",alt:null}}function ga(){return{type:"link",title:null,url:"",children:[]}}function Ss(ke){return{type:"list",ordered:ke.type==="listOrdered",start:null,spread:ke._spread,children:[]}}function za(ke){return{type:"listItem",spread:ke._spread,checked:null,children:[]}}function br(){return{type:"paragraph",children:[]}}function An(){return{type:"strong",children:[]}}function Nn(){return{type:"text",value:""}}function Bn(){return{type:"thematicBreak"}}}function T8(i){return{line:i.line,column:i.column,offset:i.offset}}function K$t(i,a){let f=-1;for(;++f<a.length;){const g=a[f];Array.isArray(g)?K$t(i,g):mKe(i,g)}}function mKe(i,a){let f;for(f in a)if(U$t.call(a,f)){if(f==="canContainEols"){const g=a[f];g&&i[f].push(...g)}else if(f==="transforms"){const g=a[f];g&&i[f].push(...g)}else if(f==="enter"||f==="exit"){const g=a[f];g&&Object.assign(i[f],g)}}}function W$t(i,a){throw i?new Error("Cannot close `"+i.type+"` ("+JY({start:i.start,end:i.end})+"): a different token (`"+a.type+"`, "+JY({start:a.start,end:a.end})+") is open"):new Error("Cannot close document, a token (`"+a.type+"`, "+JY({start:a.start,end:a.end})+") is still open")}function vKe(i){const a=i.replace(/\n{2,}/g,`
114 <span class="${S} ${g}" `+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+E+"</span>"),CKe(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Xpt(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function _Ke(i,a,f){const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,f);const v=w.node().getComputedTextLength();return g.remove(),v}function AKe(i,a,f){var b;const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,[{content:f,type:"normal"}]);const v=(b=w.node())==null?void 0:b.getBoundingClientRect();return v&&g.remove(),v}function LKe(i,a,f,g=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),E=v.append("text").attr("y","-10.1");let S=0;for(const _ of f){const M=R=>_Ke(v,1.1,R)<=i,F=M(_)?[_]:TKe(_,M);for(const R of F){const B=Xpt(E,S,1.1);Qpt(B,R),S++}}if(g){const _=E.node().getBBox(),M=2;return b.attr("x",-M).attr("y",-M).attr("width",_.width+2*M).attr("height",_.height+2*M),v.node()}else return E.node()}function Qpt(i,a){i.text(""),a.forEach((f,g)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");g===0?w.text(f.content):w.text(" "+f.content)})}const ZY=(i,a="",{style:f="",isTitle:g=!1,classes:w="",useHtmlLabels:v=!0,isNode:b=!0,width:E=200,addSvgBackground:S=!1}={})=>{if(Kt.info("createText",a,f,g,w,v,b,S),v){const _=xKe(a),M={isNode:b,label:IF(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>`<i class='${R.replace(":"," ")}'></i>`),labelStyle:f.replace("fill:","color:")};return SKe(i,M,E,w,S)}else{const _=yKe(a);return LKe(E,i,_,S)}},$1=async(i,a,f,g)=>{let w;const v=a.useHtmlLabels||j1(Re().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let S;a.labelText===void 0?S="":S=typeof a.labelText=="string"?a.labelText:a.labelText[0];const _=E.node();let M;a.labelType==="markdown"?M=ZY(E,Ef(IF(S),Re()),{useHtmlLabels:v,width:a.width||Re().flowchart.wrappingWidth,classes:"markdown-node-label"}):M=_.appendChild(ab(Ef(IF(S),Re()),a.labelStyle,!1,g));let F=M.getBBox();const R=a.padding/2;if(j1(Re().flowchart.htmlLabels)){const B=M.children[0],z=Tr(M),Y=B.getElementsByTagName("img");if(Y){const nt=S.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...Y].map(ot=>new Promise(ft=>{function wt(){if(ot.style.display="flex",ot.style.flexDirection="column",nt){const mt=Re().fontSize?Re().fontSize:window.getComputedStyle(document.body).fontSize,ct=5,rt=parseInt(mt,10)*ct+"px";ot.style.minWidth=rt,ot.style.maxWidth=rt}else ot.style.width="100%";ft(ot)}setTimeout(()=>{ot.complete&&wt()}),ot.addEventListener("error",wt),ot.addEventListener("load",wt)})))}F=B.getBoundingClientRect(),z.attr("width",F.width),z.attr("height",F.height)}return v?E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"):E.attr("transform","translate(0, "+-F.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:F,halfPadding:R,label:E}},xh=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function l4(i,a,f,g){return i.insert("polygon",":first-child").attr("points",g.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let ho={},ty={},X$t={};const DKe=()=>{ty={},X$t={},ho={}},tX=(i,a)=>(Kt.trace("In isDecendant",a," ",i," = ",ty[a].includes(i)),!!ty[a].includes(i)),MKe=(i,a)=>(Kt.info("Decendants of ",a," is ",ty[a]),Kt.info("Edge is ",i),i.v===a||i.w===a?!1:ty[a]?ty[a].includes(i.v)||tX(i.v,a)||tX(i.w,a)||ty[a].includes(i.w):(Kt.debug("Tilt, ",a,",not in decendants"),!1)),Q$t=(i,a,f,g)=>{Kt.warn("Copying children of ",i,"root",g,"data",a.node(i),g);const w=a.children(i)||[];i!==g&&w.push(i),Kt.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(v=>{if(a.children(v).length>0)Q$t(v,a,f,g);else{const b=a.node(v);Kt.info("cp ",v," to ",g," with parent ",i),f.setNode(v,b),g!==a.parent(v)&&(Kt.warn("Setting parent",v,a.parent(v)),f.setParent(v,a.parent(v))),i!==g&&v!==i?(Kt.debug("Setting parent",v,i),f.setParent(v,i)):(Kt.info("In copy ",i,"root",g,"data",a.node(i),g),Kt.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==g,"node!==clusterId",v!==i));const E=a.edges(v);Kt.debug("Copying Edges",E),E.forEach(S=>{Kt.info("Edge",S);const _=a.edge(S.v,S.w,S.name);Kt.info("Edge data",_,g);try{MKe(S,g)?(Kt.info("Copying as ",S.v,S.w,_,S.name),f.setEdge(S.v,S.w,_,S.name),Kt.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Kt.info("Skipping copy of edge ",S.v,"-->",S.w," rootId: ",g," clusterId:",i)}catch(M){Kt.error(M)}})}Kt.debug("Removing node",v),a.removeNode(v)})},J$t=(i,a)=>{const f=a.children(i);let g=[...f];for(const w of f)X$t[w]=i,g=[...g,...J$t(w,a)];return g},tB=(i,a)=>{Kt.trace("Searching",i);const f=a.children(i);if(Kt.trace("Searching children of id ",i,f),f.length<1)return Kt.trace("This is a valid node",i),i;for(const g of f){const w=tB(g,a);if(w)return Kt.trace("Found replacement for",i," => ",w),w}},eX=i=>!ho[i]||!ho[i].externalConnections?i:ho[i]?ho[i].id:i,IKe=(i,a)=>{if(!i||a>10){Kt.debug("Opting out, no graph ");return}else Kt.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Kt.warn("Cluster identified",f," Replacement id in edges: ",tB(f,i)),ty[f]=J$t(f,i),ho[f]={id:tB(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const g=i.children(f),w=i.edges();g.length>0?(Kt.debug("Cluster identified",f,ty),w.forEach(v=>{if(v.v!==f&&v.w!==f){const b=tX(v.v,f),E=tX(v.w,f);b^E&&(Kt.warn("Edge: ",v," leaves cluster ",f),Kt.warn("Decendants of XXX ",f,": ",ty[f]),ho[f].externalConnections=!0)}})):Kt.debug("Not a cluster ",f,ty)});for(let f of Object.keys(ho)){const g=ho[f].id,w=i.parent(g);w!==f&&ho[w]&&!ho[w].externalConnections&&(ho[f].id=w)}i.edges().forEach(function(f){const g=i.edge(f);Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,v=f.w;if(Kt.warn("Fix XXX",ho,"ids:",f.v,f.w,"Translating: ",ho[f.v]," --- ",ho[f.w]),ho[f.v]&&ho[f.w]&&ho[f.v]===ho[f.w]){Kt.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:g.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(g),S=structuredClone(g);E.label="",E.arrowTypeEnd="none",S.label="",E.fromCluster=f.v,S.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,v,S,f.name+"-cyclic-special")}else if(ho[f.v]||ho[f.w]){if(Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v){const b=i.parent(w);ho[b].externalConnections=!0,g.fromCluster=f.v}if(v!==f.w){const b=i.parent(v);ho[b].externalConnections=!0,g.toCluster=f.w}Kt.warn("Fix Replacing with XXX",w,v,f.name),i.setEdge(w,v,g,f.name)}}),Kt.warn("Adjusted Graph",jx(i)),Z$t(i,0),Kt.trace(ho)},Z$t=(i,a)=>{if(Kt.warn("extractor - ",a,jx(i),i.children("D")),a>10){Kt.error("Bailing out");return}let f=i.nodes(),g=!1;for(const w of f){const v=i.children(w);g=g||v.length>0}if(!g){Kt.debug("Done, no node has children",i.nodes());return}Kt.debug("Nodes = ",f,a);for(const w of f)if(Kt.debug("Extracting node",w,ho,ho[w]&&!ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!ho[w])Kt.debug("Not a cluster",w,a);else if(!ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Kt.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";ho[w]&&ho[w].clusterData&&ho[w].clusterData.dir&&(b=ho[w].clusterData.dir,Kt.warn("Fixing dir",ho[w].clusterData.dir,b));const E=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Kt.warn("Old graph before copy",jx(i)),Q$t(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:ho[w].clusterData,labelText:ho[w].labelText,graph:E}),Kt.warn("New graph after copy node: (",w,")",jx(E)),Kt.debug("Old graph after copy",jx(i))}else Kt.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Kt.debug(ho);f=i.nodes(),Kt.warn("New list of nodes",f);for(const w of f){const v=i.node(w);Kt.warn(" Now next level",w,v),v.clusterNode&&Z$t(v.graph,a+1)}},tzt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(g=>{const w=i.children(g),v=tzt(i,w);f=[...f,...v]}),f},OKe=i=>tzt(i,i.children());function NKe(i,a){return i.intersect(a)}function ezt(i,a,f,g){var w=i.x,v=i.y,b=w-g.x,E=v-g.y,S=Math.sqrt(a*a*E*E+f*f*b*b),_=Math.abs(a*f*b/S);g.x<w&&(_=-_);var M=Math.abs(a*f*E/S);return g.y<v&&(M=-M),{x:w+_,y:v+M}}function PKe(i,a,f){return ezt(i,a,a,f)}function FKe(i,a,f,g){var w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;if(w=a.y-i.y,b=i.x-a.x,S=a.x*i.y-i.x*a.y,R=w*f.x+b*f.y+S,B=w*g.x+b*g.y+S,!(R!==0&&B!==0&&nzt(R,B))&&(v=g.y-f.y,E=f.x-g.x,_=g.x*f.y-f.x*g.y,M=v*i.x+E*i.y+_,F=v*a.x+E*a.y+_,!(M!==0&&F!==0&&nzt(M,F))&&(z=w*E-v*b,z!==0)))return Y=Math.abs(z/2),nt=b*_-E*S,ot=nt<0?(nt-Y)/z:(nt+Y)/z,nt=v*S-w*_,ft=nt<0?(nt-Y)/z:(nt+Y)/z,{x:ot,y:ft}}function nzt(i,a){return i*a>0}function BKe(i,a,f){var g=i.x,w=i.y,v=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var S=g-i.width/2-b,_=w-i.height/2-E,M=0;M<a.length;M++){var F=a[M],R=a[M<a.length-1?M+1:0],B=FKe(i,f,{x:S+F.x,y:_+F.y},{x:S+R.x,y:_+R.y});B&&v.push(B)}return v.length?(v.length>1&&v.sort(function(z,Y){var nt=z.x-f.x,ot=z.y-f.y,ft=Math.sqrt(nt*nt+ot*ot),wt=Y.x-f.x,mt=Y.y-f.y,ct=Math.sqrt(wt*wt+mt*mt);return ft<ct?-1:ft===ct?0:1}),v[0]):i}const eB=(i,a)=>{var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2,S,_;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),S=v===0?0:E*w/v,_=E):(w<0&&(b=-b),S=b,_=w===0?0:b*v/w),{x:f+S,y:g+_}},Ql={node:NKe,circle:PKe,ellipse:ezt,polygon:BKe,rect:eB},RKe=async(i,a)=>{a.useHtmlLabels||Re().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:g,bbox:w,halfPadding:v}=await $1(i,a,"node "+a.classes,!0);Kt.info("Classes = ",a.classes);const b=g.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-v).attr("y",-w.height/2-v).attr("width",w.width+a.padding).attr("height",w.height+a.padding),xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},g},jKe=i=>{const a=new Set;for(const f of i)switch(f){case"x":a.add("right"),a.add("left");break;case"y":a.add("up"),a.add("down");break;default:a.add(f);break}return a},$Ke=(i,a,f)=>{const g=jKe(i),w=2,v=a.height+2*f.padding,b=v/w,E=a.width+2*b+f.padding,S=f.padding/2;return g.has("right")&&g.has("left")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:b,y:0},{x:E/2,y:2*S},{x:E-b,y:0},{x:E,y:0},{x:E,y:-v/3},{x:E+2*S,y:-v/2},{x:E,y:-2*v/3},{x:E,y:-v},{x:E-b,y:-v},{x:E/2,y:-v-2*S},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*S,y:-v/2},{x:0,y:-v/3}]:g.has("right")&&g.has("left")&&g.has("up")?[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:g.has("right")&&g.has("left")&&g.has("down")?[{x:0,y:0},{x:b,y:-v},{x:E-b,y:-v},{x:E,y:0}]:g.has("right")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:E,y:-b},{x:E,y:-v+b},{x:0,y:-v}]:g.has("left")&&g.has("up")&&g.has("down")?[{x:E,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:E,y:-v}]:g.has("right")&&g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")&&g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:g.has("right")&&g.has("up")?[{x:0,y:0},{x:E,y:-b},{x:0,y:-v}]:g.has("right")&&g.has("down")?[{x:0,y:0},{x:E,y:0},{x:0,y:-v}]:g.has("left")&&g.has("up")?[{x:E,y:0},{x:0,y:-b},{x:E,y:-v}]:g.has("left")&&g.has("down")?[{x:E,y:0},{x:0,y:0},{x:E,y:-v}]:g.has("right")?[{x:b,y:-S},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v+S}]:g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")?[{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S}]:g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:[{x:0,y:0}]},rzt=i=>i?" "+i:"",L2=(i,a)=>`${a||"node default"}${rzt(i.classes)} ${rzt(i.class)}`,izt=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=w+v,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Kt.info("Question main (Circle)");const S=l4(f,b,b,E);return S.attr("style",a.style),xh(a,S),a.intersect=function(_){return Kt.warn("Intersect called"),Ql.polygon(a,E,_)},f},zKe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=28,w=[{x:0,y:g/2},{x:g/2,y:0},{x:0,y:-g/2},{x:-g/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return Ql.circle(a,14,b)},f},qKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=4,v=g.height+a.padding,b=v/w,E=g.width+2*b+a.padding,S=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},HKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,void 0,!0),w=2,v=g.height+2*a.padding,b=v/w,E=g.width+2*b+a.padding,S=$Ke(a.directions,g,a),_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},VKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-v/2,y:0},{x:w,y:0},{x:w,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return l4(f,w,v,b).attr("style",a.style),a.width=w+v,a.height=v,a.intersect=function(S){return Ql.polygon(a,b,S)},f},UKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},GKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:2*v/6,y:0},{x:w+v/6,y:0},{x:w-2*v/6,y:-v},{x:-v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},KKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w+2*v/6,y:0},{x:w-v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},WKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:-2*v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},YKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w+v/2,y:0},{x:w,y:-v/2},{x:w+v/2,y:-v},{x:0,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},XKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=w/2,b=v/(2.5+w/50),E=g.height+b+a.padding,S="M 0,"+b+" a "+v+","+b+" 0,0,0 "+w+" 0 a "+v+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+v+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,_=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",S).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return xh(a,_),a.intersect=function(M){const F=Ql.rect(a,M),R=F.x-a.x;if(v!=0&&(Math.abs(R)<a.width/2||Math.abs(R)==a.width/2&&Math.abs(F.y-a.y)>a.height/2-b)){let B=b*b*(1-R*R/(v*v));B!=0&&(B=Math.sqrt(B)),B=b-B,M.y-a.y>0&&(B=-B),F.y+=B}return F},f},QKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes+" "+a.class,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},JKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},ZKe=async(i,a)=>{const{shapeSvg:f}=await $1(i,a,"label",!0);Kt.trace("Classes = ",a.class);const g=f.insert("rect",":first-child"),w=0,v=0;if(g.attr("width",w).attr("height",v),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(Jpt(g,a.props.borders,w,v),b.delete("borders")),b.forEach(E=>{Kt.warn(`Unknown node property ${E}`)})}return xh(a,g),a.intersect=function(b){return Ql.rect(a,b)},f};function Jpt(i,a,f,g){const w=[],v=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Kt.debug("add top border"),v(f)):b(f),a.includes("r")?(Kt.debug("add right border"),v(g)):b(g),a.includes("b")?(Kt.debug("add bottom border"),v(f)):b(f),a.includes("l")?(Kt.debug("add left border"),v(g)):b(g),i.attr("stroke-dasharray",w.join(" "))}const tWe=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const g=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=g.insert("rect",":first-child"),v=g.insert("line"),b=g.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let S="";typeof E=="object"?S=E[0]:S=E,Kt.info("Label text abc79",S,E,typeof E=="object");const _=b.node().appendChild(ab(S,a.labelStyle,!0,!0));let M={width:0,height:0};if(j1(Re().flowchart.htmlLabels)){const Y=_.children[0],nt=Tr(_);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}Kt.info("Text 2",E);const F=E.slice(1,E.length);let R=_.getBBox();const B=b.node().appendChild(ab(F.join?F.join("<br/>"):F,a.labelStyle,!0,!0));if(j1(Re().flowchart.htmlLabels)){const Y=B.children[0],nt=Tr(B);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}const z=a.padding/2;return Tr(B).attr("transform","translate( "+(M.width>R.width?0:(R.width-M.width)/2)+", "+(R.height+z+5)+")"),Tr(_).attr("transform","translate( "+(M.width<R.width?0:-(R.width-M.width)/2)+", 0)"),M=b.node().getBBox(),b.attr("transform","translate("+-M.width/2+", "+(-M.height/2-z+3)+")"),w.attr("class","outer title-state").attr("x",-M.width/2-z).attr("y",-M.height/2-z).attr("width",M.width+a.padding).attr("height",M.height+a.padding),v.attr("class","divider").attr("x1",-M.width/2-z).attr("x2",M.width/2+z).attr("y1",-M.height/2-z+R.height+z).attr("y2",-M.height/2-z+R.height+z),xh(a,w),a.intersect=function(Y){return Ql.rect(a,Y)},g},eWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.height+a.padding,v=g.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-v/2).attr("y",-w/2).attr("width",v).attr("height",w);return xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},f},nWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=f.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("Circle main"),xh(a,v),a.intersect=function(b){return Kt.info("Circle intersect",a,g.width/2+w,b),Ql.circle(a,g.width/2+w,b)},f},rWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=5,b=f.insert("g",":first-child"),E=b.insert("circle"),S=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w+v).attr("width",g.width+a.padding+v*2).attr("height",g.height+a.padding+v*2),S.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("DoubleCircle main"),xh(a,E),a.intersect=function(_){return Kt.info("DoubleCircle intersect",a,g.width/2+w+v,_),Ql.circle(a,g.width/2+w+v,_)},f},iWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},sWe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child");return g.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xh(a,g),a.intersect=function(w){return Ql.circle(a,7,w)},f},szt=(i,a,f)=>{const g=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,v=10;f==="LR"&&(w=10,v=70);const b=g.append("rect").attr("x",-1*w/2).attr("y",-1*v/2).attr("width",w).attr("height",v).attr("class","fork-join");return xh(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return Ql.rect(a,E)},g},azt={rhombus:izt,composite:JKe,question:izt,rect:QKe,labelRect:ZKe,rectWithTitle:tWe,choice:zKe,circle:nWe,doublecircle:rWe,stadium:eWe,hexagon:qKe,block_arrow:HKe,rect_left_inv_arrow:VKe,lean_right:UKe,lean_left:GKe,trapezoid:KKe,inv_trapezoid:WKe,rect_right_inv_arrow:YKe,cylinder:XKe,start:sWe,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),g.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xh(a,w),a.intersect=function(v){return Ql.circle(a,7,v)},f},note:RKe,subroutine:iWe,fork:szt,join:szt,class_box:(i,a)=>{const f=a.padding/2,g=4,w=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),S=b.insert("line"),_=b.insert("line");let M=0,F=g;const R=b.insert("g").attr("class","label");let B=0;const z=a.classData.annotations&&a.classData.annotations[0],Y=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",nt=R.node().appendChild(ab(Y,a.labelStyle,!0,!0));let ot=nt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=nt.children[0],Q=Tr(nt);ot=gt.getBoundingClientRect(),Q.attr("width",ot.width),Q.attr("height",ot.height)}a.classData.annotations[0]&&(F+=ot.height+g,M+=ot.width);let ft=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Re().flowchart.htmlLabels?ft+="&lt;"+a.classData.type+"&gt;":ft+="<"+a.classData.type+">");const wt=R.node().appendChild(ab(ft,a.labelStyle,!0,!0));Tr(wt).attr("class","classTitle");let mt=wt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=wt.children[0],Q=Tr(wt);mt=gt.getBoundingClientRect(),Q.attr("width",mt.width),Q.attr("height",mt.height)}F+=mt.height+g,mt.width>M&&(M=mt.width);const ct=[];a.classData.members.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,ct.push(K)}),F+=w;const rt=[];if(a.classData.methods.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,rt.push(K)}),F+=w,z){let gt=(M-ot.width)/2;Tr(nt).attr("transform","translate( "+(-1*M/2+gt)+", "+-1*F/2+")"),B=ot.height+g}let it=(M-mt.width)/2;return Tr(wt).attr("transform","translate( "+(-1*M/2+it)+", "+(-1*F/2+B)+")"),B+=mt.height+g,S.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,ct.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B+w/2)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),B+=w,_.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,rt.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),E.attr("style",a.style).attr("class","outer title-state").attr("x",-M/2-f).attr("y",-(F/2)-f).attr("width",M+a.padding).attr("height",F+a.padding),xh(a,E),a.intersect=function(gt){return Ql.rect(a,gt)},b}};let TD={};const nX=async(i,a,f)=>{let g,w;if(a.link){let v;Re().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),g=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),w=await azt[a.shape](g,a,f)}else w=await azt[a.shape](i,a,f),g=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),g.attr("data-node","true"),g.attr("data-id",a.id),TD[a.id]=g,a.haveCallback&&TD[a.id].attr("class",TD[a.id].attr("class")+" clickable"),g},aWe=(i,a)=>{TD[a.id]=i},oWe=()=>{TD={}},Zpt=i=>{const a=TD[i.id];Kt.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,g=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+g-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),g},rX=({flowchart:i})=>{var w,v;const a=((w=i==null?void 0:i.subGraphTitleMargin)==null?void 0:w.top)??0,f=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,g=a+f;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:f,subGraphTitleTotalMargin:g}},cWe={rect:(i,a)=>{Kt.info("Creating subgraph rect for ",a.id,a);const f=Re(),g=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),w=g.insert("rect",":first-child"),v=j1(f.flowchart.htmlLabels),b=g.insert("g").attr("class","cluster-label"),E=a.labelType==="markdown"?ZY(b,a.labelText,{style:a.labelStyle,useHtmlLabels:v}):b.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}const _=0*a.padding,M=_/2,F=a.width<=S.width+_?S.width+_:a.width;a.width<=S.width+_?a.diff=(S.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Kt.trace("Data ",a,JSON.stringify(a)),w.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-F/2).attr("y",a.y-a.height/2-M).attr("width",F).attr("height",a.height+_);const{subGraphTitleTopMargin:R}=rX(f);v?b.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2+R})`):b.attr("transform",`translate(${a.x}, ${a.y-a.height/2+R})`);const B=w.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(z){return eB(a,z)},g},roundedWithTitle:(i,a)=>{const f=Re(),g=i.insert("g").attr("class",a.classes).attr("id",a.id),w=g.insert("rect",":first-child"),v=g.insert("g").attr("class","cluster-label"),b=g.append("rect"),E=v.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}S=E.getBBox();const _=0*a.padding,M=_/2,F=a.width<=S.width+a.padding?S.width+a.padding:a.width;a.width<=S.width+a.padding?a.diff=(S.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,w.attr("class","outer").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M).attr("width",F+_).attr("height",a.height+_),b.attr("class","inner").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M+S.height-1).attr("width",F+_).attr("height",a.height+_-S.height-3);const{subGraphTitleTopMargin:R}=rX(f);v.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2-a.padding/3+(j1(f.flowchart.htmlLabels)?5:3)+R})`);const B=w.node().getBBox();return a.height=B.height,a.intersect=function(z){return eB(a,z)},g},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return eB(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return eB(a,E)},f}};let ozt={};const uWe=(i,a)=>{Kt.trace("Inserting cluster");const f=a.shape||"rect";ozt[a.id]=cWe[f](i,a)},lWe=()=>{ozt={}},C8={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function iX(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=sX(i),a=sX(a);const[f,g]=[i.x,i.y],[w,v]=[a.x,a.y],b=w-f,E=v-g;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const sX=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,czt=i=>({x:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaX:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaX:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return sX(a).x+w},y:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaY:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaY:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return sX(a).y+w}}),uzt=(i,a,f,g,w)=>{a.arrowTypeStart&&lzt(i,"start",a.arrowTypeStart,f,g,w),a.arrowTypeEnd&&lzt(i,"end",a.arrowTypeEnd,f,g,w)},hWe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lzt=(i,a,f,g,w,v)=>{const b=hWe[f];if(!b){Kt.warn(`Unknown arrow type: ${f}`);return}const E=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${g}#${w}_${v}-${b}${E})`)};let aX={},p0={};const fWe=()=>{aX={},p0={}},tbt=(i,a)=>{const f=j1(Re().flowchart.htmlLabels),g=a.labelType==="markdown"?ZY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):ab(a.label,a.labelStyle),w=i.insert("g").attr("class","edgeLabel"),v=w.insert("g").attr("class","label");v.node().appendChild(g);let b=g.getBBox();if(f){const S=g.children[0],_=Tr(g);b=S.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),aX[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const S=ab(a.startLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startLeft=_,oX(E,a.startLabelLeft)}if(a.startLabelRight){const S=ab(a.startLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=_.node().appendChild(S),M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startRight=_,oX(E,a.startLabelRight)}if(a.endLabelLeft){const S=ab(a.endLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endLeft=_,oX(E,a.endLabelLeft)}if(a.endLabelRight){const S=ab(a.endLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endRight=_,oX(E,a.endLabelRight)}return g};function oX(i,a){Re().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const hzt=(i,a)=>{Kt.debug("Moving label abc88 ",i.id,i.label,aX[i.id],a);let f=a.updatedPath?a.updatedPath:a.originalPath;const g=Re(),{subGraphTitleTotalMargin:w}=rX(g);if(i.label){const v=aX[i.id];let b=i.x,E=i.y;if(f){const S=uo.calcLabelPosition(f);Kt.debug("Moving label "+i.label+" from (",b,",",E,") to (",S.x,",",S.y,") abc88"),a.updatedPath&&(b=S.x,E=S.y)}v.attr("transform",`translate(${b}, ${E+w/2})`)}if(i.startLabelLeft){const v=p0[i.id].startLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.startLabelRight){const v=p0[i.id].startRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelLeft){const v=p0[i.id].endLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelRight){const v=p0[i.id].endRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}},dWe=(i,a)=>{const f=i.x,g=i.y,w=Math.abs(a.x-f),v=Math.abs(a.y-g),b=i.width/2,E=i.height/2;return w>=b||v>=E},gWe=(i,a,f)=>{Kt.debug(`intersection calc abc89:
1643 `).trim(),Qen=NX.parse.bind(NX);NX.parse=i=>Qen(Xen(i));const Jen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:NX,db:_en,renderer:Yen}},Symbol.toStringTag,{value:"Module"}));var E2t=function(){var i=function(wt,mt,ct,rt){for(ct=ct||{},rt=wt.length;rt--;ct[wt[rt]]=mt);return ct},a=[1,7],f=[1,13],g=[1,14],w=[1,15],v=[1,19],b=[1,16],E=[1,17],S=[1,18],_=[8,30],M=[8,21,28,29,30,31,32,40,44,47],F=[1,23],R=[1,24],B=[8,15,16,21,28,29,30,31,32,40,44,47],z=[8,15,16,21,27,28,29,30,31,32,40,44,47],Y=[1,49],nt={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,seperator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(mt,ct,rt,it,gt,Q,dt){var K=Q.length-1;switch(gt){case 4:it.getLogger().debug("Rule: seperator (NL) ");break;case 5:it.getLogger().debug("Rule: seperator (Space) ");break;case 6:it.getLogger().debug("Rule: seperator (EOF) ");break;case 7:it.getLogger().debug("Rule: hierarchy: ",Q[K-1]),it.setHierarchy(Q[K-1]);break;case 8:it.getLogger().debug("Stop NL ");break;case 9:it.getLogger().debug("Stop EOF ");break;case 10:it.getLogger().debug("Stop NL2 ");break;case 11:it.getLogger().debug("Stop EOF2 ");break;case 12:it.getLogger().debug("Rule: statement: ",Q[K]),typeof Q[K].length=="number"?this.$=Q[K]:this.$=[Q[K]];break;case 13:it.getLogger().debug("Rule: statement #2: ",Q[K-1]),this.$=[Q[K-1]].concat(Q[K]);break;case 14:it.getLogger().debug("Rule: link: ",Q[K],mt),this.$={edgeTypeStr:Q[K],label:""};break;case 15:it.getLogger().debug("Rule: LABEL link: ",Q[K-3],Q[K-1],Q[K]),this.$={edgeTypeStr:Q[K],label:Q[K-1]};break;case 18:const yt=parseInt(Q[K]),V=it.generateId();this.$={id:V,type:"space",label:"",width:yt,children:[]};break;case 23:it.getLogger().debug("Rule: (nodeStatement link node) ",Q[K-2],Q[K-1],Q[K]," typestr: ",Q[K-1].edgeTypeStr);const Ot=it.edgeStrToEdgeData(Q[K-1].edgeTypeStr);this.$=[{id:Q[K-2].id,label:Q[K-2].label,type:Q[K-2].type,directions:Q[K-2].directions},{id:Q[K-2].id+"-"+Q[K].id,start:Q[K-2].id,end:Q[K].id,label:Q[K-1].label,type:"edge",directions:Q[K].directions,arrowTypeEnd:Ot,arrowTypeStart:"arrow_open"},{id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions}];break;case 24:it.getLogger().debug("Rule: nodeStatement (abc88 node size) ",Q[K-1],Q[K]),this.$={id:Q[K-1].id,label:Q[K-1].label,type:it.typeStr2Type(Q[K-1].typeStr),directions:Q[K-1].directions,widthInColumns:parseInt(Q[K],10)};break;case 25:it.getLogger().debug("Rule: nodeStatement (node) ",Q[K]),this.$={id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions,widthInColumns:1};break;case 26:it.getLogger().debug("APA123",this?this:"na"),it.getLogger().debug("COLUMNS: ",Q[K]),this.$={type:"column-setting",columns:Q[K]==="auto"?-1:parseInt(Q[K])};break;case 27:it.getLogger().debug("Rule: id-block statement : ",Q[K-2],Q[K-1]),it.generateId(),this.$={...Q[K-2],type:"composite",children:Q[K-1]};break;case 28:it.getLogger().debug("Rule: blockStatement : ",Q[K-2],Q[K-1],Q[K]);const It=it.generateId();this.$={id:It,type:"composite",label:"",children:Q[K-1]};break;case 29:it.getLogger().debug("Rule: node (NODE_ID seperator): ",Q[K]),this.$={id:Q[K]};break;case 30:it.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel seperator): ",Q[K-1],Q[K]),this.$={id:Q[K-1],label:Q[K].label,typeStr:Q[K].typeStr,directions:Q[K].directions};break;case 31:it.getLogger().debug("Rule: dirList: ",Q[K]),this.$=[Q[K]];break;case 32:it.getLogger().debug("Rule: dirList: ",Q[K-1],Q[K]),this.$=[Q[K-1]].concat(Q[K]);break;case 33:it.getLogger().debug("Rule: nodeShapeNLabel: ",Q[K-2],Q[K-1],Q[K]),this.$={typeStr:Q[K-2]+Q[K],label:Q[K-1]};break;case 34:it.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",Q[K-3],Q[K-2]," #3:",Q[K-1],Q[K]),this.$={typeStr:Q[K-3]+Q[K],label:Q[K-2],directions:Q[K-1]};break;case 35:case 36:this.$={type:"classDef",id:Q[K-1].trim(),css:Q[K].trim()};break;case 37:this.$={type:"applyClass",id:Q[K-1].trim(),styleClass:Q[K].trim()};break;case 38:this.$={type:"applyStyles",id:Q[K-1].trim(),stylesStr:Q[K].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:f,29:g,31:w,32:v,40:b,44:E,47:S}),i(M,[2,16],{14:22,15:F,16:R}),i(M,[2,17]),i(M,[2,18]),i(M,[2,19]),i(M,[2,20]),i(M,[2,21]),i(M,[2,22]),i(B,[2,25],{27:[1,25]}),i(M,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(z,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(B,[2,24]),{11:37,13:4,14:22,15:F,16:R,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(z,[2,30]),{18:[1,43]},{18:[1,44]},i(B,[2,23]),{18:[1,45]},{30:[1,46]},i(M,[2,28]),i(M,[2,35]),i(M,[2,36]),i(M,[2,37]),i(M,[2,38]),{37:[1,47]},{34:48,35:Y},{15:[1,50]},i(M,[2,27]),i(z,[2,33]),{39:[1,51]},{34:52,35:Y,39:[2,31]},{32:[2,15]},i(z,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(mt,ct){if(ct.recoverable)this.trace(mt);else{var rt=new Error(mt);throw rt.hash=ct,rt}},parse:function(mt){var ct=this,rt=[0],it=[],gt=[null],Q=[],dt=this.table,K="",yt=0,V=0,Ot=2,It=1,jt=Q.slice.call(arguments,1),xt=Object.create(this.lexer),Ft={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Ft.yy[Ct]=this.yy[Ct]);xt.setInput(mt,Ft.yy),Ft.yy.lexer=xt,Ft.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var kt=xt.yylloc;Q.push(kt);var Gt=xt.options&&xt.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var xe;return xe=it.pop()||xt.lex()||It,typeof xe!="number"&&(xe instanceof Array&&(it=xe,xe=it.pop()),xe=ct.symbols_[xe]||xe),xe}for(var Mt,pn,Ae,ye,tn={},sn,be,Ne,Xt;;){if(pn=rt[rt.length-1],this.defaultActions[pn]?Ae=this.defaultActions[pn]:((Mt===null||typeof Mt>"u")&&(Mt=Fe()),Ae=dt[pn]&&dt[pn][Mt]),typeof Ae>"u"||!Ae.length||!Ae[0]){var _e="";Xt=[];for(sn in dt[pn])this.terminals_[sn]&&sn>Ot&&Xt.push("'"+this.terminals_[sn]+"'");xt.showPosition?_e="Parse error on line "+(yt+1)+`:
1648 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ct=this.next();return ct||this.lex()},begin:function(ct){this.conditionStack.push(ct)},popState:function(){var ct=this.conditionStack.length-1;return ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ct){return ct=this.conditionStack.length-1-Math.abs(ct||0),ct>=0?this.conditionStack[ct]:"INITIAL"},pushState:function(ct){this.begin(ct)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ct,rt,it,gt){switch(it){case 0:return 10;case 1:return ct.getLogger().debug("Found space-block"),31;case 2:return ct.getLogger().debug("Found nl-block"),31;case 3:return ct.getLogger().debug("Found space-block"),29;case 4:ct.getLogger().debug(".",rt.yytext);break;case 5:ct.getLogger().debug("_",rt.yytext);break;case 6:return 5;case 7:return rt.yytext=-1,28;case 8:return rt.yytext=rt.yytext.replace(/columns\s+/,""),ct.getLogger().debug("COLUMNS (LEX)",rt.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ct.getLogger().debug("LEX: POPPING STR:",rt.yytext),this.popState();break;case 14:return ct.getLogger().debug("LEX: STR end:",rt.yytext),"STR";case 15:return rt.yytext=rt.yytext.replace(/space\:/,""),ct.getLogger().debug("SPACE NUM (LEX)",rt.yytext),21;case 16:return rt.yytext="1",ct.getLogger().debug("COLUMNS (LEX)",rt.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ct.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ct.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ct.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ct.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ct.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ct.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ct.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ct.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ct.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ct.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ct.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ct.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ct.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ct.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ct.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ct.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ct.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ct.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ct.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ct.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ct.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ct.getLogger().debug("LEX ARR START"),38;case 75:return ct.getLogger().debug("Lex: NODE_ID",rt.yytext),32;case 76:return ct.getLogger().debug("Lex: EOF",rt.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ct.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ct.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ct.getLogger().debug("LEX: NODE_DESCR:",rt.yytext),"NODE_DESCR";case 84:ct.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ct.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (right): dir:",rt.yytext),"DIR";case 87:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (left):",rt.yytext),"DIR";case 88:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (x):",rt.yytext),"DIR";case 89:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (y):",rt.yytext),"DIR";case 90:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (up):",rt.yytext),"DIR";case 91:return rt.yytext=rt.yytext.replace(/^,\s*/,""),ct.getLogger().debug("Lex (down):",rt.yytext),"DIR";case 92:return rt.yytext="]>",ct.getLogger().debug("Lex (ARROW_DIR end):",rt.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ct.getLogger().debug("Lex: LINK","#"+rt.yytext+"#"),15;case 94:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 95:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 96:return ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 97:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 98:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 99:return ct.getLogger().debug("Lex: START_LINK",rt.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ct.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ct.getLogger().debug("Lex: LINK","#"+rt.yytext+"#"),15;case 103:return this.popState(),ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 104:return this.popState(),ct.getLogger().debug("Lex: LINK",rt.yytext),15;case 105:return ct.getLogger().debug("Lex: COLON",rt.yytext),rt.yytext=rt.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return wt}();nt.lexer=ot;function ft(){this.yy={}}return ft.prototype=nt,nt.Parser=ft,new ft}();E2t.parser=E2t;const Zen=E2t;let lb={},T2t=[],AB={};const lVt="color",hVt="fill",tnn="bgFill",fVt=",";let LB={};const enn=function(i,a=""){LB[i]===void 0&&(LB[i]={id:i,styles:[],textStyles:[]});const f=LB[i];a!=null&&a.split(fVt).forEach(g=>{const w=g.replace(/([^;]*);/,"$1").trim();if(g.match(lVt)){const b=w.replace(hVt,tnn).replace(lVt,hVt);f.textStyles.push(b)}f.styles.push(w)})},nnn=function(i,a=""){const f=lb[i];a!=null&&(f.styles=a.split(fVt))},rnn=function(i,a){i.split(",").forEach(function(f){let g=lb[f];if(g===void 0){const w=f.trim();lb[w]={id:w,type:"na",children:[]},g=lb[w]}g.classes||(g.classes=[]),g.classes.push(a)})},dVt=(i,a)=>{const f=i.flat(),g=[];for(const w of f){if(w.type==="classDef"){enn(w.id,w.css);continue}if(w.type==="applyClass"){rnn(w.id,(w==null?void 0:w.styleClass)||"");continue}if(w.type==="applyStyles"){w!=null&&w.stylesStr&&nnn(w.id,w==null?void 0:w.stylesStr);continue}if(w.type==="column-setting")a.columns=w.columns||-1;else if(w.type==="edge")AB[w.id]?AB[w.id]++:AB[w.id]=1,w.id=AB[w.id]+"-"+w.id,T2t.push(w);else{w.label||(w.type==="composite"?w.label="":w.label=w.id);const v=!lb[w.id];if(v?lb[w.id]=w:(w.type!=="na"&&(lb[w.id].type=w.type),w.label!==w.id&&(lb[w.id].label=w.label)),w.children&&dVt(w.children,w),w.type==="space"){const b=w.width||1;for(let E=0;E<b;E++){const S=fjt(w);S.id=S.id+"-"+E,lb[S.id]=S,g.push(S)}}else v&&g.push(w)}}a.children=g};let C2t=[],DB={id:"root",type:"composite",children:[],columns:-1};const inn=()=>{Kt.debug("Clear called"),ag(),DB={id:"root",type:"composite",children:[],columns:-1},lb={root:DB},C2t=[],LB={},T2t=[],AB={}};function snn(i){switch(Kt.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Kt.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function ann(i){switch(Kt.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function onn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let gVt=0;const cnn={getConfig:()=>o1().block,typeStr2Type:snn,edgeTypeStr2Type:ann,edgeStrToEdgeData:onn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(lb)],getBlocks:()=>C2t||[],getEdges:()=>T2t,setHierarchy:i=>{DB.children=i,dVt(i,DB),C2t=DB.children},getBlock:i=>lb[i],setBlock:i=>{lb[i.id]=i},getColumns:i=>{const a=lb[i];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},getClasses:function(){return LB},clear:inn,generateId:()=>(gVt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+gVt)},jX=(i,a)=>{const f=jPt,g=f(i,"r"),w=f(i,"g"),v=f(i,"b");return g9(g,w,v,a)},unn=i=>`.label {