mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
14 lines (13 loc) • 60.6 kB
JavaScript
import{a as $t,b as e1}from"./chunk-7LIB5WBN.mjs";import{a as s1,b as n1}from"./chunk-BOXWCURE.mjs";import{b as i1,c as r1}from"./chunk-SK5YHT3J.mjs";import"./chunk-NRZZIP3R.mjs";import{f as t1}from"./chunk-KTJJRPYF.mjs";import"./chunk-S67DUUA5.mjs";import"./chunk-LM6QDVU5.mjs";import"./chunk-UCQ5T4NL.mjs";import"./chunk-I5SP4YIW.mjs";import{m as Pe,p as qe}from"./chunk-QS5O44OF.mjs";import"./chunk-TI4EEUUG.mjs";import{L as zt,P as Kt,Q as Yt,R as Ht,S as Xt,T as qt,U as Qt,V as Jt,X as be,Y as nt,Z as Zt,b as Q,ga as he,l as jt,m as Wt}from"./chunk-QJLC67TO.mjs";import"./chunk-6BY5RJGC.mjs";import{a as b}from"./chunk-GTKDMUJJ.mjs";var b1="flowchart-",Qe=class{constructor(){this.vertexCounter=0;this.config=be();this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=Yt;this.setAccDescription=Xt;this.setDiagramTitle=Qt;this.getAccTitle=Ht;this.getAccDescription=qt;this.getDiagramTitle=Jt;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{b(this,"FlowDB")}sanitizeText(i){return zt.sanitizeText(i,this.config)}lookUpDomId(i){for(let r of this.vertices.values())if(r.id===i)return r.domId;return i}addVertex(i,r,n,u,l,f,c={},A){if(!i||i.trim().length===0)return;let a;if(A!==void 0){let E;A.includes(`
`)?E=A+`
`:E=`{
`+A+`
}`,a=e1(E,{schema:$t})}let g=this.edges.find(E=>E.id===i);if(g){let E=a;E?.animate!==void 0&&(g.animate=E.animate),E?.animation!==void 0&&(g.animation=E.animation);return}let w,k=this.vertices.get(i);if(k===void 0&&(k={id:i,labelType:"text",domId:b1+i+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(i,k)),this.vertexCounter++,r!==void 0?(this.config=be(),w=this.sanitizeText(r.text.trim()),k.labelType=r.type,w.startsWith('"')&&w.endsWith('"')&&(w=w.substring(1,w.length-1)),k.text=w):k.text===void 0&&(k.text=i),n!==void 0&&(k.type=n),u?.forEach(E=>{k.styles.push(E)}),l?.forEach(E=>{k.classes.push(E)}),f!==void 0&&(k.dir=f),k.props===void 0?k.props=c:c!==void 0&&Object.assign(k.props,c),a!==void 0){if(a.shape){if(a.shape!==a.shape.toLowerCase()||a.shape.includes("_"))throw new Error(`No such shape: ${a.shape}. Shape names should be lowercase.`);if(!t1(a.shape))throw new Error(`No such shape: ${a.shape}.`);k.type=a?.shape}a?.label&&(k.text=a?.label),a?.icon&&(k.icon=a?.icon,!a.label?.trim()&&k.text===i&&(k.text="")),a?.form&&(k.form=a?.form),a?.pos&&(k.pos=a?.pos),a?.img&&(k.img=a?.img,!a.label?.trim()&&k.text===i&&(k.text="")),a?.constraint&&(k.constraint=a.constraint),a.w&&(k.assetWidth=Number(a.w)),a.h&&(k.assetHeight=Number(a.h))}}addSingleLink(i,r,n,u){let c={start:i,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1};Q.info("abc78 Got edge...",c);let A=n.text;if(A!==void 0&&(c.text=this.sanitizeText(A.text.trim()),c.text.startsWith('"')&&c.text.endsWith('"')&&(c.text=c.text.substring(1,c.text.length-1)),c.labelType=A.type),n!==void 0&&(c.type=n.type,c.stroke=n.stroke,c.length=n.length>10?10:n.length),u&&!this.edges.some(a=>a.id===u))c.id=u,c.isUserDefinedId=!0;else{let a=this.edges.filter(g=>g.start===c.start&&g.end===c.end);a.length===0?c.id=qe(c.start,c.end,{counter:0,prefix:"L"}):c.id=qe(c.start,c.end,{counter:a.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))Q.info("Pushing edge..."),this.edges.push(c);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.
Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`)}isLinkData(i){return i!==null&&typeof i=="object"&&"id"in i&&typeof i.id=="string"}addLink(i,r,n){let u=this.isLinkData(n)?n.id.replace("@",""):void 0;Q.info("addLink",i,r,u);for(let l of i)for(let f of r){let c=l===i[i.length-1],A=f===r[0];c&&A?this.addSingleLink(l,f,n,u):this.addSingleLink(l,f,n,void 0)}}updateLinkInterpolate(i,r){i.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(i,r){i.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(u=>u?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(i,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i.split(",").forEach(u=>{let l=this.classes.get(u);l===void 0&&(l={id:u,styles:[],textStyles:[]},this.classes.set(u,l)),n?.forEach(f=>{if(/color/.exec(f)){let c=f.replace("fill","bgFill");l.textStyles.push(c)}l.styles.push(f)})})}setDirection(i){this.direction=i,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(i,r){for(let n of i.split(",")){let u=this.vertices.get(n);u&&u.classes.push(r);let l=this.edges.find(c=>c.id===n);l&&l.classes.push(r);let f=this.subGraphLookup.get(n);f&&f.classes.push(r)}}setTooltip(i,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of i.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(i,r,n){let u=this.lookUpDomId(i);if(be().securityLevel!=="loose"||r===void 0)return;let l=[];if(typeof n=="string"){l=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let c=0;c<l.length;c++){let A=l[c].trim();A.startsWith('"')&&A.endsWith('"')&&(A=A.substr(1,A.length-2)),l[c]=A}}l.length===0&&l.push(i);let f=this.vertices.get(i);f&&(f.haveCallback=!0,this.funs.push(()=>{let c=document.querySelector(`[id="${u}"]`);c!==null&&c.addEventListener("click",()=>{Pe.runFunc(r,...l)},!1)}))}setLink(i,r,n){i.split(",").forEach(u=>{let l=this.vertices.get(u);l!==void 0&&(l.link=Pe.formatUrl(r,this.config),l.linkTarget=n)}),this.setClass(i,"clickable")}getTooltip(i){return this.tooltips.get(i)}setClickEvent(i,r,n){i.split(",").forEach(u=>{this.setClickFun(u,r,n)}),this.setClass(i,"clickable")}bindFunctions(i){this.funs.forEach(r=>{r(i)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(i){let r=he(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=he("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),he(i).select("svg").selectAll("g.node").on("mouseover",l=>{let f=he(l.currentTarget);if(f.attr("title")===null)return;let A=l.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(f.attr("title")).style("left",window.scrollX+A.left+(A.right-A.left)/2+"px").style("top",window.scrollY+A.bottom+"px"),r.html(r.html().replace(/<br\/>/g,"<br/>")),f.classed("hover",!0)}).on("mouseout",l=>{r.transition().duration(500).style("opacity",0),he(l.currentTarget).classed("hover",!1)})}clear(i="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=i,this.config=be(),Kt()}setGen(i){this.version=i||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(i,r,n){let u=i.text.trim(),l=n.text;i===n&&/\s/.exec(n.text)&&(u=void 0);let f=b(g=>{let w={boolean:{},number:{},string:{}},k=[],E;return{nodeList:g.filter(function(m){let J=typeof m;return m.stmt&&m.stmt==="dir"?(E=m.value,!1):m.trim()===""?!1:J in w?w[J].hasOwnProperty(m)?!1:w[J][m]=!0:k.includes(m)?!1:k.push(m)}),dir:E}},"uniq"),{nodeList:c,dir:A}=f(r.flat());if(this.version==="gen-1")for(let g=0;g<c.length;g++)c[g]=this.lookUpDomId(c[g]);u=u??"subGraph"+this.subCount,l=l||"",l=this.sanitizeText(l),this.subCount=this.subCount+1;let a={id:u,nodes:c,title:l.trim(),classes:[],dir:A,labelType:n.type};return Q.info("Adding",a.id,a.nodes,a.dir),a.nodes=this.makeUniq(a,this.subGraphs).nodes,this.subGraphs.push(a),this.subGraphLookup.set(u,a),u}getPosForId(i){for(let[r,n]of this.subGraphs.entries())if(n.id===i)return r;return-1}indexNodes2(i,r){let n=this.subGraphs[r].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===i)return{result:!0,count:0};let u=0,l=1;for(;u<n.length;){let f=this.getPosForId(n[u]);if(f>=0){let c=this.indexNodes2(i,f);if(c.result)return{result:!0,count:l+c.count};l=l+c.count}u=u+1}return{result:!1,count:l}}getDepthFirstPos(i){return this.posCrossRef[i]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(i){let r=i.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let u="normal";return r.includes("=")&&(u="thick"),r.includes(".")&&(u="dotted"),{type:n,stroke:u}}countChar(i,r){let n=r.length,u=0;for(let l=0;l<n;++l)r[l]===i&&++u;return u}destructEndLink(i){let r=i.trim(),n=r.slice(0,-1),u="arrow_open";switch(r.slice(-1)){case"x":u="arrow_cross",r.startsWith("x")&&(u="double_"+u,n=n.slice(1));break;case">":u="arrow_point",r.startsWith("<")&&(u="double_"+u,n=n.slice(1));break;case"o":u="arrow_circle",r.startsWith("o")&&(u="double_"+u,n=n.slice(1));break}let l="normal",f=n.length-1;n.startsWith("=")&&(l="thick"),n.startsWith("~")&&(l="invisible");let c=this.countChar(".",n);return c&&(l="dotted",f=c),{type:u,stroke:l,length:f}}destructLink(i,r){let n=this.destructEndLink(i),u;if(r){if(u=this.destructStartLink(r),u.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(u.type==="arrow_open")u.type=n.type;else{if(u.type!==n.type)return{type:"INVALID",stroke:"INVALID"};u.type="double_"+u.type}return u.type==="double_arrow"&&(u.type="double_arrow_point"),u.length=n.length,u}return n}exists(i,r){for(let n of i)if(n.nodes.includes(r))return!0;return!1}makeUniq(i,r){let n=[];return i.nodes.forEach((u,l)=>{this.exists(r,u)||n.push(i.nodes[l])}),{nodes:n}}getTypeFromVertex(i){if(i.img)return"imageSquare";if(i.icon)return i.form==="circle"?"iconCircle":i.form==="square"?"iconSquare":i.form==="rounded"?"iconRounded":"icon";switch(i.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return i.type}}findNode(i,r){return i.find(n=>n.id===r)}destructEdgeType(i){let r="none",n="arrow_point";switch(i){case"arrow_point":case"arrow_circle":case"arrow_cross":n=i;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=i.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(i,r,n,u,l,f){let c=n.get(i.id),A=u.get(i.id)??!1,a=this.findNode(r,i.id);if(a)a.cssStyles=i.styles,a.cssCompiledStyles=this.getCompiledStyles(i.classes),a.cssClasses=i.classes.join(" ");else{let g={id:i.id,label:i.text,labelStyle:"",parentId:c,padding:l.flowchart?.padding||8,cssStyles:i.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...i.classes]),cssClasses:"default "+i.classes.join(" "),dir:i.dir,domId:i.domId,look:f,link:i.link,linkTarget:i.linkTarget,tooltip:this.getTooltip(i.id),icon:i.icon,pos:i.pos,img:i.img,assetWidth:i.assetWidth,assetHeight:i.assetHeight,constraint:i.constraint};A?r.push({...g,isGroup:!0,shape:"rect"}):r.push({...g,isGroup:!1,shape:this.getTypeFromVertex(i)})}}getCompiledStyles(i){let r=[];for(let n of i){let u=this.classes.get(n);u?.styles&&(r=[...r,...u.styles??[]].map(l=>l.trim())),u?.textStyles&&(r=[...r,...u.textStyles??[]].map(l=>l.trim()))}return r}getData(){let i=be(),r=[],n=[],u=this.getSubGraphs(),l=new Map,f=new Map;for(let a=u.length-1;a>=0;a--){let g=u[a];g.nodes.length>0&&f.set(g.id,!0);for(let w of g.nodes)l.set(w,g.id)}for(let a=u.length-1;a>=0;a--){let g=u[a];r.push({id:g.id,label:g.title,labelStyle:"",parentId:l.get(g.id),padding:8,cssCompiledStyles:this.getCompiledStyles(g.classes),cssClasses:g.classes.join(" "),shape:"rect",dir:g.dir,isGroup:!0,look:i.look})}this.getVertices().forEach(a=>{this.addNodeFromVertex(a,r,l,f,i,i.look||"classic")});let A=this.getEdges();return A.forEach((a,g)=>{let{arrowTypeStart:w,arrowTypeEnd:k}=this.destructEdgeType(a.type),E=[...A.defaultStyle??[]];a.style&&E.push(...a.style);let S={id:qe(a.start,a.end,{counter:g,prefix:"L"},a.id),isUserDefinedId:a.isUserDefinedId,start:a.start,end:a.end,type:a.type??"normal",label:a.text,labelpos:"c",thickness:a.stroke,minlen:a.length,classes:a?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:a?.stroke==="invisible"||a?.type==="arrow_open"?"none":w,arrowTypeEnd:a?.stroke==="invisible"||a?.type==="arrow_open"?"none":k,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(a.classes),labelStyle:E,style:E,pattern:a.stroke,look:i.look,animate:a.animate,animation:a.animation};n.push(S)}),{nodes:r,edges:n,other:{},config:i}}defaultConfig(){return Zt.flowchart}};var g1=b(function(s,i){return i.db.getClasses()},"getClasses"),k1=b(async function(s,i,r,n){Q.info("REF0:"),Q.info("Drawing state diagram (v2)",i);let{securityLevel:u,flowchart:l,layout:f}=be(),c;u==="sandbox"&&(c=he("#i"+i));let A=u==="sandbox"?c.nodes()[0].contentDocument:document;Q.debug("Before getData: ");let a=n.db.getData();Q.debug("Data: ",a);let g=s1(i,u),w=n.db.getDirection();a.type=n.type,a.layoutAlgorithm=r1(f),a.layoutAlgorithm==="dagre"&&f==="elk"&&Q.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),a.direction=w,a.nodeSpacing=l?.nodeSpacing||50,a.rankSpacing=l?.rankSpacing||50,a.markers=["point","circle","cross"],a.diagramId=i,Q.debug("REF1:",a),await i1(a,g);let k=a.config.flowchart?.diagramPadding??8;Pe.insertTitle(g,"flowchartTitleText",l?.titleTopMargin||0,n.db.getDiagramTitle()),n1(g,k,"flowchart",l?.useMaxWidth||!1);for(let E of a.nodes){let S=he(`#${i} [id="${E.id}"]`);if(!S||!E.link)continue;let m=A.createElementNS("http://www.w3.org/2000/svg","a");m.setAttributeNS("http://www.w3.org/2000/svg","class",E.cssClasses),m.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),u==="sandbox"?m.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):E.linkTarget&&m.setAttributeNS("http://www.w3.org/2000/svg","target",E.linkTarget);let J=S.insert(function(){return m},":first-child"),ge=S.select(".label-container");ge&&J.append(function(){return ge.node()});let ke=S.select(".label");ke&&J.append(function(){return ke.node()})}},"draw"),a1={getClasses:g1,draw:k1};var at=function(){var s=b(function(fe,h,d,p){for(d=d||{},p=fe.length;p--;d[fe[p]]=h);return d},"o"),i=[1,4],r=[1,3],n=[1,5],u=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],l=[2,2],f=[1,13],c=[1,14],A=[1,15],a=[1,16],g=[1,23],w=[1,25],k=[1,26],E=[1,27],S=[1,49],m=[1,48],J=[1,29],ge=[1,30],ke=[1,31],Me=[1,32],Oe=[1,33],V=[1,44],v=[1,46],I=[1,42],N=[1,47],R=[1,43],G=[1,50],P=[1,45],M=[1,51],O=[1,52],Ue=[1,34],je=[1,35],We=[1,36],ze=[1,37],de=[1,57],F=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],$=[1,61],ee=[1,60],te=[1,62],De=[8,9,11,75,77,78],ot=[1,78],ye=[1,91],xe=[1,96],Se=[1,95],Fe=[1,92],Te=[1,88],Be=[1,94],_e=[1,90],we=[1,97],Le=[1,93],Ve=[1,98],ve=[1,89],Ae=[8,9,10,11,40,75,77,78],j=[8,9,10,11,40,46,75,77,78],Y=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],lt=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Ie=[44,60,89,102,105,106,109,111,114,115,116],ct=[1,121],ht=[1,122],Ke=[1,124],Ye=[1,123],dt=[44,60,62,74,89,102,105,106,109,111,114,115,116],pt=[1,133],ft=[1,147],bt=[1,148],gt=[1,149],kt=[1,150],At=[1,135],mt=[1,137],Et=[1,141],Ct=[1,142],Dt=[1,143],yt=[1,144],xt=[1,145],St=[1,146],Ft=[1,151],Tt=[1,152],Bt=[1,131],_t=[1,132],wt=[1,139],Lt=[1,134],Vt=[1,138],vt=[1,136],Je=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],It=[1,154],Nt=[1,156],_=[8,9,11],H=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],C=[1,176],W=[1,172],z=[1,173],D=[1,177],y=[1,174],x=[1,175],Ne=[77,116,119],T=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Rt=[10,106],pe=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],se=[1,247],ie=[1,245],re=[1,249],ne=[1,243],ae=[1,244],ue=[1,246],oe=[1,248],le=[1,250],Re=[1,268],Gt=[8,9,11,106],Z=[8,9,10,11,60,84,105,106,109,110,111,112],Ze={trace:b(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:b(function(h,d,p,o,B,e,me){var t=e.length-1;switch(B){case 2:this.$=[];break;case 3:(!Array.isArray(e[t])||e[t].length>0)&&e[t-1].push(e[t]),this.$=e[t-1];break;case 4:case 183:this.$=e[t];break;case 11:o.setDirection("TB"),this.$="TB";break;case 12:o.setDirection(e[t-1]),this.$=e[t-1];break;case 27:this.$=e[t-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=o.addSubGraph(e[t-6],e[t-1],e[t-4]);break;case 34:this.$=o.addSubGraph(e[t-3],e[t-1],e[t-3]);break;case 35:this.$=o.addSubGraph(void 0,e[t-1],void 0);break;case 37:this.$=e[t].trim(),o.setAccTitle(this.$);break;case 38:case 39:this.$=e[t].trim(),o.setAccDescription(this.$);break;case 43:this.$=e[t-1]+e[t];break;case 44:this.$=e[t];break;case 45:o.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),o.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 46:o.addLink(e[t-2].stmt,e[t],e[t-1]),this.$={stmt:e[t],nodes:e[t].concat(e[t-2].nodes)};break;case 47:o.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 48:this.$={stmt:e[t-1],nodes:e[t-1]};break;case 49:o.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),this.$={stmt:e[t-1],nodes:e[t-1],shapeData:e[t]};break;case 50:this.$={stmt:e[t],nodes:e[t]};break;case 51:this.$=[e[t]];break;case 52:o.addVertex(e[t-5][e[t-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t-4]),this.$=e[t-5].concat(e[t]);break;case 53:this.$=e[t-4].concat(e[t]);break;case 54:this.$=e[t];break;case 55:this.$=e[t-2],o.setClass(e[t-2],e[t]);break;case 56:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"square");break;case 57:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"doublecircle");break;case 58:this.$=e[t-5],o.addVertex(e[t-5],e[t-2],"circle");break;case 59:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"ellipse");break;case 60:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"stadium");break;case 61:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"subroutine");break;case 62:this.$=e[t-7],o.addVertex(e[t-7],e[t-1],"rect",void 0,void 0,void 0,Object.fromEntries([[e[t-5],e[t-3]]]));break;case 63:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"cylinder");break;case 64:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"round");break;case 65:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"diamond");break;case 66:this.$=e[t-5],o.addVertex(e[t-5],e[t-2],"hexagon");break;case 67:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"odd");break;case 68:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"trapezoid");break;case 69:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"inv_trapezoid");break;case 70:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"lean_right");break;case 71:this.$=e[t-3],o.addVertex(e[t-3],e[t-1],"lean_left");break;case 72:this.$=e[t],o.addVertex(e[t]);break;case 73:e[t-1].text=e[t],this.$=e[t-1];break;case 74:case 75:e[t-2].text=e[t-1],this.$=e[t-2];break;case 76:this.$=e[t];break;case 77:var L=o.destructLink(e[t],e[t-2]);this.$={type:L.type,stroke:L.stroke,length:L.length,text:e[t-1]};break;case 78:var L=o.destructLink(e[t],e[t-2]);this.$={type:L.type,stroke:L.stroke,length:L.length,text:e[t-1],id:e[t-3]};break;case 79:this.$={text:e[t],type:"text"};break;case 80:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 81:this.$={text:e[t],type:"string"};break;case 82:this.$={text:e[t],type:"markdown"};break;case 83:var L=o.destructLink(e[t]);this.$={type:L.type,stroke:L.stroke,length:L.length};break;case 84:var L=o.destructLink(e[t]);this.$={type:L.type,stroke:L.stroke,length:L.length,id:e[t-1]};break;case 85:this.$=e[t-1];break;case 86:this.$={text:e[t],type:"text"};break;case 87:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 88:this.$={text:e[t],type:"string"};break;case 89:case 104:this.$={text:e[t],type:"markdown"};break;case 101:this.$={text:e[t],type:"text"};break;case 102:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 103:this.$={text:e[t],type:"text"};break;case 105:this.$=e[t-4],o.addClass(e[t-2],e[t]);break;case 106:this.$=e[t-4],o.setClass(e[t-2],e[t]);break;case 107:case 115:this.$=e[t-1],o.setClickEvent(e[t-1],e[t]);break;case 108:case 116:this.$=e[t-3],o.setClickEvent(e[t-3],e[t-2]),o.setTooltip(e[t-3],e[t]);break;case 109:this.$=e[t-2],o.setClickEvent(e[t-2],e[t-1],e[t]);break;case 110:this.$=e[t-4],o.setClickEvent(e[t-4],e[t-3],e[t-2]),o.setTooltip(e[t-4],e[t]);break;case 111:this.$=e[t-2],o.setLink(e[t-2],e[t]);break;case 112:this.$=e[t-4],o.setLink(e[t-4],e[t-2]),o.setTooltip(e[t-4],e[t]);break;case 113:this.$=e[t-4],o.setLink(e[t-4],e[t-2],e[t]);break;case 114:this.$=e[t-6],o.setLink(e[t-6],e[t-4],e[t]),o.setTooltip(e[t-6],e[t-2]);break;case 117:this.$=e[t-1],o.setLink(e[t-1],e[t]);break;case 118:this.$=e[t-3],o.setLink(e[t-3],e[t-2]),o.setTooltip(e[t-3],e[t]);break;case 119:this.$=e[t-3],o.setLink(e[t-3],e[t-2],e[t]);break;case 120:this.$=e[t-5],o.setLink(e[t-5],e[t-4],e[t]),o.setTooltip(e[t-5],e[t-2]);break;case 121:this.$=e[t-4],o.addVertex(e[t-2],void 0,void 0,e[t]);break;case 122:this.$=e[t-4],o.updateLink([e[t-2]],e[t]);break;case 123:this.$=e[t-4],o.updateLink(e[t-2],e[t]);break;case 124:this.$=e[t-8],o.updateLinkInterpolate([e[t-6]],e[t-2]),o.updateLink([e[t-6]],e[t]);break;case 125:this.$=e[t-8],o.updateLinkInterpolate(e[t-6],e[t-2]),o.updateLink(e[t-6],e[t]);break;case 126:this.$=e[t-6],o.updateLinkInterpolate([e[t-4]],e[t]);break;case 127:this.$=e[t-6],o.updateLinkInterpolate(e[t-4],e[t]);break;case 128:case 130:this.$=[e[t]];break;case 129:case 131:e[t-2].push(e[t]),this.$=e[t-2];break;case 133:this.$=e[t-1]+e[t];break;case 181:this.$=e[t];break;case 182:this.$=e[t-1]+""+e[t];break;case 184:this.$=e[t-1]+""+e[t];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:i,10:r,12:n},{1:[3]},s(u,l,{5:6}),{4:7,9:i,10:r,12:n},{4:8,9:i,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:f,9:c,10:A,11:a,20:17,22:18,23:19,24:20,25:21,26:22,27:g,33:24,34:w,36:k,38:E,42:28,43:38,44:S,45:39,47:40,60:m,84:J,85:ge,86:ke,87:Me,88:Oe,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O,121:Ue,122:je,123:We,124:ze},s(u,[2,9]),s(u,[2,10]),s(u,[2,11]),{8:[1,54],9:[1,55],10:de,15:53,18:56},s(F,[2,3]),s(F,[2,4]),s(F,[2,5]),s(F,[2,6]),s(F,[2,7]),s(F,[2,8]),{8:$,9:ee,11:te,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:$,9:ee,11:te,21:67},{8:$,9:ee,11:te,21:68},{8:$,9:ee,11:te,21:69},{8:$,9:ee,11:te,21:70},{8:$,9:ee,11:te,21:71},{8:$,9:ee,10:[1,72],11:te,21:73},s(F,[2,36]),{35:[1,74]},{37:[1,75]},s(F,[2,39]),s(De,[2,50],{18:76,39:77,10:de,40:ot}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:ye,44:xe,60:Se,80:[1,86],89:Fe,95:[1,83],97:[1,84],101:85,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve,120:87},s(F,[2,185]),s(F,[2,186]),s(F,[2,187]),s(F,[2,188]),s(Ae,[2,51]),s(Ae,[2,54],{46:[1,99]}),s(j,[2,72],{113:112,29:[1,100],44:S,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:m,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:V,102:v,105:I,106:N,109:R,111:G,114:P,115:M,116:O}),s(Y,[2,181]),s(Y,[2,142]),s(Y,[2,143]),s(Y,[2,144]),s(Y,[2,145]),s(Y,[2,146]),s(Y,[2,147]),s(Y,[2,148]),s(Y,[2,149]),s(Y,[2,150]),s(Y,[2,151]),s(Y,[2,152]),s(u,[2,12]),s(u,[2,18]),s(u,[2,19]),{9:[1,113]},s(lt,[2,26],{18:114,10:de}),s(F,[2,27]),{42:115,43:38,44:S,45:39,47:40,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},s(F,[2,40]),s(F,[2,41]),s(F,[2,42]),s(Ie,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:ct,81:ht,116:Ke,119:Ye},{75:[1,125],77:[1,126]},s(dt,[2,83]),s(F,[2,28]),s(F,[2,29]),s(F,[2,30]),s(F,[2,31]),s(F,[2,32]),{10:pt,12:ft,14:bt,27:gt,28:127,32:kt,44:At,60:mt,75:Et,80:[1,129],81:[1,130],83:140,84:Ct,85:Dt,86:yt,87:xt,88:St,89:Ft,90:Tt,91:128,105:Bt,109:_t,111:wt,114:Lt,115:Vt,116:vt},s(Je,l,{5:153}),s(F,[2,37]),s(F,[2,38]),s(De,[2,48],{44:It}),s(De,[2,49],{18:155,10:de,40:Nt}),s(Ae,[2,44]),{44:S,47:157,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},{102:[1,158],103:159,105:[1,160]},{44:S,47:161,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},{44:S,47:162,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},s(_,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},s(_,[2,115],{120:167,10:[1,166],14:ye,44:xe,60:Se,89:Fe,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve}),s(_,[2,117],{10:[1,168]}),s(H,[2,183]),s(H,[2,170]),s(H,[2,171]),s(H,[2,172]),s(H,[2,173]),s(H,[2,174]),s(H,[2,175]),s(H,[2,176]),s(H,[2,177]),s(H,[2,178]),s(H,[2,179]),s(H,[2,180]),{44:S,47:169,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},{30:170,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:178,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:180,50:[1,179],67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:181,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:182,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:183,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{109:[1,184]},{30:185,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:186,65:[1,187],67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:188,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:189,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{30:190,67:C,80:W,81:z,82:171,116:D,117:y,118:x},s(Y,[2,182]),s(u,[2,20]),s(lt,[2,25]),s(De,[2,46],{39:191,18:192,10:de,40:ot}),s(Ie,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{77:[1,196],79:197,116:Ke,119:Ye},s(Ne,[2,79]),s(Ne,[2,81]),s(Ne,[2,82]),s(Ne,[2,168]),s(Ne,[2,169]),{76:198,79:120,80:ct,81:ht,116:Ke,119:Ye},s(dt,[2,84]),{8:$,9:ee,10:pt,11:te,12:ft,14:bt,21:200,27:gt,29:[1,199],32:kt,44:At,60:mt,75:Et,83:140,84:Ct,85:Dt,86:yt,87:xt,88:St,89:Ft,90:Tt,91:201,105:Bt,109:_t,111:wt,114:Lt,115:Vt,116:vt},s(T,[2,101]),s(T,[2,103]),s(T,[2,104]),s(T,[2,157]),s(T,[2,158]),s(T,[2,159]),s(T,[2,160]),s(T,[2,161]),s(T,[2,162]),s(T,[2,163]),s(T,[2,164]),s(T,[2,165]),s(T,[2,166]),s(T,[2,167]),s(T,[2,90]),s(T,[2,91]),s(T,[2,92]),s(T,[2,93]),s(T,[2,94]),s(T,[2,95]),s(T,[2,96]),s(T,[2,97]),s(T,[2,98]),s(T,[2,99]),s(T,[2,100]),{6:11,7:12,8:f,9:c,10:A,11:a,20:17,22:18,23:19,24:20,25:21,26:22,27:g,32:[1,202],33:24,34:w,36:k,38:E,42:28,43:38,44:S,45:39,47:40,60:m,84:J,85:ge,86:ke,87:Me,88:Oe,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O,121:Ue,122:je,123:We,124:ze},{10:de,18:203},{44:[1,204]},s(Ae,[2,43]),{10:[1,205],44:S,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:112,114:P,115:M,116:O},{10:[1,206]},{10:[1,207],106:[1,208]},s(Rt,[2,128]),{10:[1,209],44:S,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:112,114:P,115:M,116:O},{10:[1,210],44:S,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:112,114:P,115:M,116:O},{80:[1,211]},s(_,[2,109],{10:[1,212]}),s(_,[2,111],{10:[1,213]}),{80:[1,214]},s(H,[2,184]),{80:[1,215],98:[1,216]},s(Ae,[2,55],{113:112,44:S,60:m,89:V,102:v,105:I,106:N,109:R,111:G,114:P,115:M,116:O}),{31:[1,217],67:C,82:218,116:D,117:y,118:x},s(pe,[2,86]),s(pe,[2,88]),s(pe,[2,89]),s(pe,[2,153]),s(pe,[2,154]),s(pe,[2,155]),s(pe,[2,156]),{49:[1,219],67:C,82:218,116:D,117:y,118:x},{30:220,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{51:[1,221],67:C,82:218,116:D,117:y,118:x},{53:[1,222],67:C,82:218,116:D,117:y,118:x},{55:[1,223],67:C,82:218,116:D,117:y,118:x},{57:[1,224],67:C,82:218,116:D,117:y,118:x},{60:[1,225]},{64:[1,226],67:C,82:218,116:D,117:y,118:x},{66:[1,227],67:C,82:218,116:D,117:y,118:x},{30:228,67:C,80:W,81:z,82:171,116:D,117:y,118:x},{31:[1,229],67:C,82:218,116:D,117:y,118:x},{67:C,69:[1,230],71:[1,231],82:218,116:D,117:y,118:x},{67:C,69:[1,233],71:[1,232],82:218,116:D,117:y,118:x},s(De,[2,45],{18:155,10:de,40:Nt}),s(De,[2,47],{44:It}),s(Ie,[2,75]),s(Ie,[2,74]),{62:[1,234],67:C,82:218,116:D,117:y,118:x},s(Ie,[2,77]),s(Ne,[2,80]),{77:[1,235],79:197,116:Ke,119:Ye},{30:236,67:C,80:W,81:z,82:171,116:D,117:y,118:x},s(Je,l,{5:237}),s(T,[2,102]),s(F,[2,35]),{43:238,44:S,45:39,47:40,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},{10:de,18:239},{10:se,60:ie,84:re,92:240,105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},{10:se,60:ie,84:re,92:251,104:[1,252],105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},{10:se,60:ie,84:re,92:253,104:[1,254],105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},{105:[1,255]},{10:se,60:ie,84:re,92:256,105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},{44:S,47:257,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},s(_,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},s(_,[2,116]),s(_,[2,118],{10:[1,261]}),s(_,[2,119]),s(j,[2,56]),s(pe,[2,87]),s(j,[2,57]),{51:[1,262],67:C,82:218,116:D,117:y,118:x},s(j,[2,64]),s(j,[2,59]),s(j,[2,60]),s(j,[2,61]),{109:[1,263]},s(j,[2,63]),s(j,[2,65]),{66:[1,264],67:C,82:218,116:D,117:y,118:x},s(j,[2,67]),s(j,[2,68]),s(j,[2,70]),s(j,[2,69]),s(j,[2,71]),s([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),s(Ie,[2,78]),{31:[1,265],67:C,82:218,116:D,117:y,118:x},{6:11,7:12,8:f,9:c,10:A,11:a,20:17,22:18,23:19,24:20,25:21,26:22,27:g,32:[1,266],33:24,34:w,36:k,38:E,42:28,43:38,44:S,45:39,47:40,60:m,84:J,85:ge,86:ke,87:Me,88:Oe,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O,121:Ue,122:je,123:We,124:ze},s(Ae,[2,53]),{43:267,44:S,45:39,47:40,60:m,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O},s(_,[2,121],{106:Re}),s(Gt,[2,130],{108:269,10:se,60:ie,84:re,105:ne,109:ae,110:ue,111:oe,112:le}),s(Z,[2,132]),s(Z,[2,134]),s(Z,[2,135]),s(Z,[2,136]),s(Z,[2,137]),s(Z,[2,138]),s(Z,[2,139]),s(Z,[2,140]),s(Z,[2,141]),s(_,[2,122],{106:Re}),{10:[1,270]},s(_,[2,123],{106:Re}),{10:[1,271]},s(Rt,[2,129]),s(_,[2,105],{106:Re}),s(_,[2,106],{113:112,44:S,60:m,89:V,102:v,105:I,106:N,109:R,111:G,114:P,115:M,116:O}),s(_,[2,110]),s(_,[2,112],{10:[1,272]}),s(_,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:$,9:ee,11:te,21:277},s(F,[2,34]),s(Ae,[2,52]),{10:se,60:ie,84:re,105:ne,107:278,108:242,109:ae,110:ue,111:oe,112:le},s(Z,[2,133]),{14:ye,44:xe,60:Se,89:Fe,101:279,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve,120:87},{14:ye,44:xe,60:Se,89:Fe,101:280,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve,120:87},{98:[1,281]},s(_,[2,120]),s(j,[2,58]),{30:282,67:C,80:W,81:z,82:171,116:D,117:y,118:x},s(j,[2,66]),s(Je,l,{5:283}),s(Gt,[2,131],{108:269,10:se,60:ie,84:re,105:ne,109:ae,110:ue,111:oe,112:le}),s(_,[2,126],{120:167,10:[1,284],14:ye,44:xe,60:Se,89:Fe,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve}),s(_,[2,127],{120:167,10:[1,285],14:ye,44:xe,60:Se,89:Fe,105:Te,106:Be,109:_e,111:we,114:Le,115:Ve,116:ve}),s(_,[2,114]),{31:[1,286],67:C,82:218,116:D,117:y,118:x},{6:11,7:12,8:f,9:c,10:A,11:a,20:17,22:18,23:19,24:20,25:21,26:22,27:g,32:[1,287],33:24,34:w,36:k,38:E,42:28,43:38,44:S,45:39,47:40,60:m,84:J,85:ge,86:ke,87:Me,88:Oe,89:V,102:v,105:I,106:N,109:R,111:G,113:41,114:P,115:M,116:O,121:Ue,122:je,123:We,124:ze},{10:se,60:ie,84:re,92:288,105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},{10:se,60:ie,84:re,92:289,105:ne,107:241,108:242,109:ae,110:ue,111:oe,112:le},s(j,[2,62]),s(F,[2,33]),s(_,[2,124],{106:Re}),s(_,[2,125],{106:Re})],defaultActions:{},parseError:b(function(h,d){if(d.recoverable)this.trace(h);else{var p=new Error(h);throw p.hash=d,p}},"parseError"),parse:b(function(h){var d=this,p=[0],o=[],B=[null],e=[],me=this.table,t="",L=0,Pt=0,Mt=0,h1=2,Ot=1,d1=e.slice.call(arguments,1),U=Object.create(this.lexer),Ee={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(Ee.yy[et]=this.yy[et]);U.setInput(h,Ee.yy),Ee.yy.lexer=U,Ee.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var tt=U.yylloc;e.push(tt);var p1=U.options&&U.options.ranges;typeof Ee.yy.parseError=="function"?this.parseError=Ee.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E1(X){p.length=p.length-2*X,B.length=B.length-X,e.length=e.length-X}b(E1,"popStack");function f1(){var X;return X=o.pop()||U.lex()||Ot,typeof X!="number"&&(X instanceof Array&&(o=X,X=o.pop()),X=d.symbols_[X]||X),X}b(f1,"lex");for(var K,st,Ce,q,C1,it,Ge={},He,ce,Ut,Xe;;){if(Ce=p[p.length-1],this.defaultActions[Ce]?q=this.defaultActions[Ce]:((K===null||typeof K>"u")&&(K=f1()),q=me[Ce]&&me[Ce][K]),typeof q>"u"||!q.length||!q[0]){var rt="";Xe=[];for(He in me[Ce])this.terminals_[He]&&He>h1&&Xe.push("'"+this.terminals_[He]+"'");U.showPosition?rt="Parse error on line "+(L+1)+`:
`+U.showPosition()+`
Expecting `+Xe.join(", ")+", got '"+(this.terminals_[K]||K)+"'":rt="Parse error on line "+(L+1)+": Unexpected "+(K==Ot?"end of input":"'"+(this.terminals_[K]||K)+"'"),this.parseError(rt,{text:U.match,token:this.terminals_[K]||K,line:U.yylineno,loc:tt,expected:Xe})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ce+", token: "+K);switch(q[0]){case 1:p.push(K),B.push(U.yytext),e.push(U.yylloc),p.push(q[1]),K=null,st?(K=st,st=null):(Pt=U.yyleng,t=U.yytext,L=U.yylineno,tt=U.yylloc,Mt>0&&Mt--);break;case 2:if(ce=this.productions_[q[1]][1],Ge.$=B[B.length-ce],Ge._$={first_line:e[e.length-(ce||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(ce||1)].first_column,last_column:e[e.length-1].last_column},p1&&(Ge._$.range=[e[e.length-(ce||1)].range[0],e[e.length-1].range[1]]),it=this.performAction.apply(Ge,[t,Pt,L,Ee.yy,q[1],B,e].concat(d1)),typeof it<"u")return it;ce&&(p=p.slice(0,-1*ce*2),B=B.slice(0,-1*ce),e=e.slice(0,-1*ce)),p.push(this.productions_[q[1]][0]),B.push(Ge.$),e.push(Ge._$),Ut=me[p[p.length-2]][p[p.length-1]],p.push(Ut);break;case 3:return!0}}return!0},"parse")},c1=function(){var fe={EOF:1,parseError:b(function(d,p){if(this.yy.parser)this.yy.parser.parseError(d,p);else throw new Error(d)},"parseError"),setInput:b(function(h,d){return this.yy=d||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:b(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var d=h.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:b(function(h){var d=h.length,p=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var B=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===o.length?this.yylloc.first_column:0)+o[o.length-p.length].length-p[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:b(function(){return this._more=!0,this},"more"),reject:b(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:b(function(h){this.unput(this.match.slice(h))},"less"),pastInput:b(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:b(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:b(function(){var h=this.pastInput(),d=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
`+d+"^"},"showPosition"),test_match:b(function(h,d){var p,o,B;if(this.options.backtrack_lexer&&(B={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(B.yylloc.range=this.yylloc.range.slice(0))),o=h[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],p=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var e in B)this[e]=B[e];return!1}return!1},"test_match"),next:b(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,d,p,o;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),e=0;e<B.length;e++)if(p=this._input.match(this.rules[B[e]]),p&&(!d||p[0].length>d[0].length)){if(d=p,o=e,this.options.backtrack_lexer){if(h=this.test_match(p,B[e]),h!==!1)return h;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(h=this.test_match(d,B[o]),h!==!1?h:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:b(function(){var d=this.next();return d||this.lex()},"lex"),begin:b(function(d){this.conditionStack.push(d)},"begin"),popState:b(function(){var d=this.conditionStack.length-1;return d>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:b(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:b(function(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},"topState"),pushState:b(function(d){this.begin(d)},"pushState"),stateStackSize:b(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:b(function(d,p,o,B){var e=B;switch(o){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),p.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let me=/\n\s*/g;return p.yytext=p.yytext.replace(me,"<br/>"),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return d.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return d.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return d.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]