|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["-"],{"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js":function(je,se,ot){ot.r(se),ot.d(se,{conf:function(){return G},language:function(){return et}});var E=ot("include-loader!./node_modules/monaco-editor/esm/vs/editor/editor.api.js");var C=Object.defineProperty,U=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,ae=Object.prototype.hasOwnProperty,Ot=(ut,mt,Qt,le)=>{if(mt&&typeof mt=="object"||typeof mt=="function")for(let Zt of w(mt))!ae.call(ut,Zt)&&Zt!==Qt&&C(ut,Zt,{get:()=>mt[Zt],enumerable:!(le=U(mt,Zt))||le.enumerable});return ut},Rt=(ut,mt,Qt)=>(Ot(ut,mt,"default"),Qt&&Ot(Qt,mt,"default")),N={};Rt(N,E);var G={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:N.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:N.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:N.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:N.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},et={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","</",">>",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}},"./node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js":function(je,se,ot){ot.d(se,{H:function(){return C}});var E=ot("./node_modules/dagre-d3-es/src/dagre-js/util.js");function C(U,w){var ae=U.append("foreignObject").attr("width","100000"),Ot=ae.append("xhtml:div");Ot.attr("xmlns","http://www.w3.org/1999/xhtml");var Rt=w.label;switch(typeof Rt){case"function":Ot.insert(Rt);break;case"object":Ot.insert(function(){return Rt});break;default:Ot.html(Rt)}E.AV(Ot,w.labelStyle),Ot.style("display","inline-block"),Ot.style("white-space","nowrap");var N=Ot.node().getBoundingClientRect();return ae.attr("width",N.width).attr("height",N.height),ae}},"./node_modules/dagre-d3-es/src/dagre-js/util.js":function(je,se,ot){ot.d(se,{AV:function(){return Rt},De:function(){return U},c$:function(){return G},gh:function(){return w},nh:function(){return N}});var E=ot("./node_modules/lodash-es/isPlainObject.js"),C=ot("./node_modules/lodash-es/isFunction.js");function U(et,ut){return!!et.children(ut).length}function w(et){return Ot(et.v)+":"+Ot(et.w)+":"+Ot(et.name)}var ae=/:/g;function Ot(et){return et?String(et).replace(ae,"\\:"):""}function Rt(et,ut){ut&&et.attr("style",ut)}function N(et,ut,mt){ut&&et.attr("class",ut).attr("class",mt+" "+et.attr("class"))}function G(et,ut){var mt=ut.graph();if(E.A(mt)){var Qt=mt.transition;if(C.A(Qt))return Qt(et)}return et}},"./node_modules/dagre-d3-es/src/graphlib/json.js":function(je,se,ot){ot.d(se,{M:function(){return ae}});var E=ot("./node_modules/lodash-es/isUndefined.js"),C=ot("./node_modules/lodash-es/clone.js"),U=ot("./node_modules/lodash-es/map.js"),w=ot("./node_modules/dagre-d3-es/src/graphlib/graph.js");function ae(G){var et={options:{directed:G.isDirected(),multigraph:G.isMultigraph(),compound:G.isCompound()},nodes:Ot(G),edges:Rt(G)};return E.A(G.graph())||(et.value=C.A(G.graph())),et}function Ot(G){return U.A(G.nodes(),function(et){var ut=G.node(et),mt=G.parent(et),Qt={v:et};return E.A(ut)||(Qt.value=ut),E.A(mt)||(Qt.parent=mt),Qt})}function Rt(G){return U.A(G.edges(),function(et){var ut=G.edge(et),mt={v:et.v,w:et.w};return E.A(et.name)||(mt.name=et.name),E.A(ut)||(mt.value=ut),mt})}function N(G){var et=new Graph(G.options).setGraph(G.value);return _.each(G.nodes,function(ut){et.setNode(ut.v,ut.value),ut.parent&&et.setParent(ut.v,ut.parent)}),_.each(G.edges,function(ut){et.setEdge({v:ut.v,w:ut.w,name:ut.name},ut.value)}),et}},"./node_modules/khroma/dist/methods/channel.js":function(je,se,ot){var E=ot("./node_modules/khroma/dist/utils/index.js"),C=ot("./node_modules/khroma/dist/color/index.js");const U=(w,ae)=>E.A.lang.round(C.A.parse(w)[ae]);se.A=U},"./node_modules/lodash-es/clone.js":function(je,se,ot){var E=ot("./node_modules/lodash-es/_baseClone.js"),C=4;function U(w){return(0,E.A)(w,C)}se.A=U},"./node_modules/mermaid/dist/edges-d32062c0.js":function(je,se,ot){ot.d(se,{a:function(){return Zt},b:function(){return j},c:function(){return At},d:function(){return ct},e:function(){return b},f:function(){return Ee},g:function(){return xt},h:function(){return Jt},i:function(){return J},j:function(){return Te},k:function(){return ee},l:function(){return kt},m:function(){return wt},p:function(){return K},s:function(){return v},u:function(){return bt}});var E=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),C=ot("./node_modules/d3/src/index.js"),U=ot("./node_modules/mermaid/dist/createText-6b48ae7d.js");const w=(s,t,e,a)=>{t.forEach(c=>{le[c](s,e,a)})},le={extension:(s,t,e)=>{E.l.trace("Making markers for ",e),s.append("defs").append("marker").attr("id",e+"_"+t+"-extensionStart").attr("class","marker extension "+t).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"),s.append("defs").append("marker").attr("id",e+"_"+t+"-extensionEnd").attr("class","marker extension "+t).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:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-compositionStart").attr("class","marker composition "+t).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"),s.append("defs").append("marker").attr("id",e+"_"+t+"-compositionEnd").attr("class","marker composition "+t).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:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).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"),s.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).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:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).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"),s.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).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:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).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),s.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).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:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-pointEnd").attr("class","marker "+t).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"),s.append("marker").attr("id",e+"_"+t+"-pointStart").attr("class","marker "+t).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:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-circleEnd").attr("class","marker "+t).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"),s.append("marker").attr("id",e+"_"+t+"-circleStart").attr("class","marker "+t).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:(s,t,e)=>{s.append("marker").attr("id",e+"_"+t+"-crossEnd").attr("class","marker cross "+t).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"),s.append("marker").attr("id",e+"_"+t+"-crossStart").attr("class","marker cross "+t).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:(s,t,e)=>{s.append("defs").append("marker").attr("id",e+"_"+t+"-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")}},Zt=w;function Mt(s,t){t&&s.attr("style",t)}function ye(s){const t=(0,C.Ltv)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),e=t.append("xhtml:div"),a=s.label,c=s.isNode?"nodeLabel":"edgeLabel";return e.html('<span class="'+c+'" '+(s.labelStyle?'style="'+s.labelStyle+'"':"")+">"+a+"</span>"),Mt(e,s.labelStyle),e.style("display","inline-block"),e.style("white-space","nowrap"),e.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const At=(s,t,e,a)=>{let c=s||"";if(typeof c=="object"&&(c=c[0]),(0,E.m)((0,E.c)().flowchart.htmlLabels)){c=c.replace(/\\n|\n/g,"<br />"),E.l.debug("vertexText"+c);const i={isNode:a,label:(0,E.M)(c).replace(/fa[blrs]?:fa-[\w-]+/g,h=>`<i class='${h.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return ye(i)}else{const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("style",t.replace("color:","fill:"));let o=[];typeof c=="string"?o=c.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(c)?o=c:o=[];for(const h of o){const g=document.createElementNS("http://www.w3.org/2000/svg","tspan");g.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),g.setAttribute("dy","1em"),g.setAttribute("x","0"),e?g.setAttribute("class","title-row"):g.setAttribute("class","row"),g.textContent=h.trim(),i.appendChild(g)}return i}},kt=async(s,t,e,a)=>{let c;const i=t.useHtmlLabels||(0,E.m)((0,E.c)().flowchart.htmlLabels);e?c=e:c="node default";const o=s.insert("g").attr("class",c).attr("id",t.domId||t.id),h=o.insert("g").attr("class","label").attr("style",t.labelStyle);let g;t.labelText===void 0?g="":g=typeof t.labelText=="string"?t.labelText:t.labelText[0];const R=h.node();let m;t.labelType==="markdown"?m=(0,U.a)(h,(0,E.d)((0,E.M)(g),(0,E.c)()),{useHtmlLabels:i,width:t.width||(0,E.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):m=R.appendChild(At((0,E.d)((0,E.M)(g),(0,E.c)()),t.labelStyle,!1,a));let x=m.getBBox();const D=t.padding/2;if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const T=m.children[0],Y=(0,C.Ltv)(m),nt=T.getElementsByTagName("img");if(nt){const S=g.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...nt].map(Et=>new Promise(X=>{function It(){if(Et.style.display="flex",Et.style.flexDirection="column",S){const St=(0,E.c)().fontSize?(0,E.c)().fontSize:window.getComputedStyle(document.body).fontSize,pe=parseInt(St,10)*5+"px";Et.style.minWidth=pe,Et.style.maxWidth=pe}else Et.style.width="100%";X(Et)}setTimeout(()=>{Et.complete&&It()}),Et.addEventListener("error",It),Et.addEventListener("load",It)})))}x=T.getBoundingClientRect(),Y.attr("width",x.width),Y.attr("height",x.height)}return i?h.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"):h.attr("transform","translate(0, "+-x.height/2+")"),t.centerLabel&&h.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),h.insert("rect",":first-child"),{shapeSvg:o,bbox:x,halfPadding:D,label:h}},bt=(s,t)=>{const e=t.node().getBBox();s.width=e.width,s.height=e.height};function Dt(s,t,e,a){return s.insert("polygon",":first-child").attr("points",a.map(function(c){return c.x+","+c.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function Ht(s,t){return s.intersect(t)}function re(s,t,e,a){var c=s.x,i=s.y,o=c-a.x,h=i-a.y,g=Math.sqrt(t*t*h*h+e*e*o*o),R=Math.abs(t*e*o/g);a.x<c&&(R=-R);var m=Math.abs(t*e*h/g);return a.y<i&&(m=-m),{x:c+R,y:i+m}}function vt(s,t,e){return re(s,t,t,e)}function Tt(s,t,e,a){var c,i,o,h,g,R,m,x,D,T,Y,nt,S,Et,X;if(c=t.y-s.y,o=s.x-t.x,g=t.x*s.y-s.x*t.y,D=c*e.x+o*e.y+g,T=c*a.x+o*a.y+g,!(D!==0&&T!==0&<(D,T))&&(i=a.y-e.y,h=e.x-a.x,R=a.x*e.y-e.x*a.y,m=i*s.x+h*s.y+R,x=i*t.x+h*t.y+R,!(m!==0&&x!==0&<(m,x))&&(Y=c*h-i*o,Y!==0)))return nt=Math.abs(Y/2),S=o*R-h*g,Et=S<0?(S-nt)/Y:(S+nt)/Y,S=i*g-c*R,X=S<0?(S-nt)/Y:(S+nt)/Y,{x:Et,y:X}}function lt(s,t){return s*t>0}function te(s,t,e){var a=s.x,c=s.y,i=[],o=Number.POSITIVE_INFINITY,h=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(Y){o=Math.min(o,Y.x),h=Math.min(h,Y.y)}):(o=Math.min(o,t.x),h=Math.min(h,t.y));for(var g=a-s.width/2-o,R=c-s.height/2-h,m=0;m<t.length;m++){var x=t[m],D=t[m<t.length-1?m+1:0],T=Tt(s,e,{x:g+x.x,y:R+x.y},{x:g+D.x,y:R+D.y});T&&i.push(T)}return i.length?(i.length>1&&i.sort(function(Y,nt){var S=Y.x-e.x,Et=Y.y-e.y,X=Math.sqrt(S*S+Et*Et),It=nt.x-e.x,St=nt.y-e.y,ue=Math.sqrt(It*It+St*St);return X<ue?-1:X===ue?0:1}),i[0]):s}const J=(s,t)=>{var e=s.x,a=s.y,c=t.x-e,i=t.y-a,o=s.width/2,h=s.height/2,g,R;return Math.abs(i)*o>Math.abs(c)*h?(i<0&&(h=-h),g=i===0?0:h*c/i,R=h):(c<0&&(o=-o),g=o,R=c===0?0:o*i/c),{x:e+g,y:a+R}},Z={node:Ht,circle:vt,ellipse:re,polygon:te,rect:J},u=async(s,t)=>{t.useHtmlLabels||(0,E.c)().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:a,bbox:c,halfPadding:i}=await kt(s,t,"node "+t.classes,!0);E.l.info("Classes = ",t.classes);const o=a.insert("rect",":first-child");return o.attr("rx",t.rx).attr("ry",t.ry).attr("x",-c.width/2-i).attr("y",-c.height/2-i).attr("width",c.width+t.padding).attr("height",c.height+t.padding),bt(t,o),t.intersect=function(h){return Z.rect(t,h)},a},A=s=>{const t=new Set;for(const e of s)switch(e){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(e);break}return t},P=(s,t,e)=>{const a=A(s),c=2,i=t.height+2*e.padding,o=i/c,h=t.width+2*o+e.padding,g=e.padding/2;return a.has("right")&&a.has("left")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:o,y:0},{x:h/2,y:2*g},{x:h-o,y:0},{x:h,y:0},{x:h,y:-i/3},{x:h+2*g,y:-i/2},{x:h,y:-2*i/3},{x:h,y:-i},{x:h-o,y:-i},{x:h/2,y:-i-2*g},{x:o,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*g,y:-i/2},{x:0,y:-i/3}]:a.has("right")&&a.has("left")&&a.has("up")?[{x:o,y:0},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:o,y:-i},{x:0,y:-i/2}]:a.has("right")&&a.has("left")&&a.has("down")?[{x:0,y:0},{x:o,y:-i},{x:h-o,y:-i},{x:h,y:0}]:a.has("right")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:h,y:-o},{x:h,y:-i+o},{x:0,y:-i}]:a.has("left")&&a.has("up")&&a.has("down")?[{x:h,y:0},{x:0,y:-o},{x:0,y:-i+o},{x:h,y:-i}]:a.has("right")&&a.has("left")?[{x:o,y:0},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i},{x:0,y:-i/2}]:a.has("up")&&a.has("down")?[{x:h/2,y:0},{x:0,y:-g},{x:o,y:-g},{x:o,y:-i+g},{x:0,y:-i+g},{x:h/2,y:-i},{x:h,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g},{x:h,y:-g}]:a.has("right")&&a.has("up")?[{x:0,y:0},{x:h,y:-o},{x:0,y:-i}]:a.has("right")&&a.has("down")?[{x:0,y:0},{x:h,y:0},{x:0,y:-i}]:a.has("left")&&a.has("up")?[{x:h,y:0},{x:0,y:-o},{x:h,y:-i}]:a.has("left")&&a.has("down")?[{x:h,y:0},{x:0,y:0},{x:h,y:-i}]:a.has("right")?[{x:o,y:-g},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i+g}]:a.has("left")?[{x:o,y:0},{x:o,y:-g},{x:h-o,y:-g},{x:h-o,y:-i+g},{x:o,y:-i+g},{x:o,y:-i},{x:0,y:-i/2}]:a.has("up")?[{x:o,y:-g},{x:o,y:-i+g},{x:0,y:-i+g},{x:h/2,y:-i},{x:h,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g}]:a.has("down")?[{x:h/2,y:0},{x:0,y:-g},{x:o,y:-g},{x:o,y:-i+g},{x:h-o,y:-i+g},{x:h-o,y:-g},{x:h,y:-g}]:[{x:0,y:0}]},L=s=>s?" "+s:"",O=(s,t)=>`${t||"node default"}${L(s.classes)} ${L(s.class)}`,ft=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=c+i,h=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}];E.l.info("Question main (Circle)");const g=Dt(e,o,o,h);return g.attr("style",t.style),bt(t,g),t.intersect=function(R){return E.l.warn("Intersect called"),Z.polygon(t,h,R)},e},rt=(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=28,c=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}];return e.insert("polygon",":first-child").attr("points",c.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(o){return Z.circle(t,14,o)},e},st=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=4,i=a.height+t.padding,o=i/c,h=a.width+2*o+t.padding,g=[{x:o,y:0},{x:h-o,y:0},{x:h,y:-i/2},{x:h-o,y:-i},{x:o,y:-i},{x:0,y:-i/2}],R=Dt(e,h,i,g);return R.attr("style",t.style),bt(t,R),t.intersect=function(m){return Z.polygon(t,g,m)},e},Bt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,void 0,!0),c=2,i=a.height+2*t.padding,o=i/c,h=a.width+2*o+t.padding,g=P(t.directions,a,t),R=Dt(e,h,i,g);return R.attr("style",t.style),bt(t,R),t.intersect=function(m){return Z.polygon(t,g,m)},e},Vt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-i/2,y:0},{x:c,y:0},{x:c,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return Dt(e,c,i,o).attr("style",t.style),t.width=c+i,t.height=i,t.intersect=function(g){return Z.polygon(t,o,g)},e},ie=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-2*i/6,y:0},{x:c-i/6,y:0},{x:c+2*i/6,y:-i},{x:i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},de=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:2*i/6,y:0},{x:c+i/6,y:0},{x:c-2*i/6,y:-i},{x:-i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},ne=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:-2*i/6,y:0},{x:c+2*i/6,y:0},{x:c-i/6,y:-i},{x:i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},z=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:i/6,y:0},{x:c-i/6,y:0},{x:c+2*i/6,y:-i},{x:-2*i/6,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},Q=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:0,y:0},{x:c+i/2,y:0},{x:c,y:-i/2},{x:c+i/2,y:-i},{x:0,y:-i}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},be=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=c/2,o=i/(2.5+c/50),h=a.height+o+t.padding,g="M 0,"+o+" a "+i+","+o+" 0,0,0 "+c+" 0 a "+i+","+o+" 0,0,0 "+-c+" 0 l 0,"+h+" a "+i+","+o+" 0,0,0 "+c+" 0 l 0,"+-h,R=e.attr("label-offset-y",o).insert("path",":first-child").attr("style",t.style).attr("d",g).attr("transform","translate("+-c/2+","+-(h/2+o)+")");return bt(t,R),t.intersect=function(m){const x=Z.rect(t,m),D=x.x-t.x;if(i!=0&&(Math.abs(D)<t.width/2||Math.abs(D)==t.width/2&&Math.abs(x.y-t.y)>t.height/2-o)){let T=o*o*(1-D*D/(i*i));T!=0&&(T=Math.sqrt(T)),T=o-T,m.y-t.y>0&&(T=-T),x.y+=T}return x},e},Ae=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,"node "+t.classes+" "+t.class,!0),i=e.insert("rect",":first-child"),o=t.positioned?t.width:a.width+t.padding,h=t.positioned?t.height:a.height+t.padding,g=t.positioned?-o/2:-a.width/2-c,R=t.positioned?-h/2:-a.height/2-c;if(i.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",g).attr("y",R).attr("width",o).attr("height",h),t.props){const m=new Set(Object.keys(t.props));t.props.borders&&(f(i,t.props.borders,o,h),m.delete("borders")),m.forEach(x=>{E.l.warn(`Unknown node property ${x}`)})}return bt(t,i),t.intersect=function(m){return Z.rect(t,m)},e},ns=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,"node "+t.classes,!0),i=e.insert("rect",":first-child"),o=t.positioned?t.width:a.width+t.padding,h=t.positioned?t.height:a.height+t.padding,g=t.positioned?-o/2:-a.width/2-c,R=t.positioned?-h/2:-a.height/2-c;if(i.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",g).attr("y",R).attr("width",o).attr("height",h),t.props){const m=new Set(Object.keys(t.props));t.props.borders&&(f(i,t.props.borders,o,h),m.delete("borders")),m.forEach(x=>{E.l.warn(`Unknown node property ${x}`)})}return bt(t,i),t.intersect=function(m){return Z.rect(t,m)},e},ss=async(s,t)=>{const{shapeSvg:e}=await kt(s,t,"label",!0);E.l.trace("Classes = ",t.class);const a=e.insert("rect",":first-child"),c=0,i=0;if(a.attr("width",c).attr("height",i),e.attr("class","label edgeLabel"),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(f(a,t.props.borders,c,i),o.delete("borders")),o.forEach(h=>{E.l.warn(`Unknown node property ${h}`)})}return bt(t,a),t.intersect=function(o){return Z.rect(t,o)},e};function f(s,t,e,a){const c=[],i=h=>{c.push(h,0)},o=h=>{c.push(0,h)};t.includes("t")?(E.l.debug("add top border"),i(e)):o(e),t.includes("r")?(E.l.debug("add right border"),i(a)):o(a),t.includes("b")?(E.l.debug("add bottom border"),i(e)):o(e),t.includes("l")?(E.l.debug("add left border"),i(a)):o(a),s.attr("stroke-dasharray",c.join(" "))}const M=(s,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const a=s.insert("g").attr("class",e).attr("id",t.domId||t.id),c=a.insert("rect",":first-child"),i=a.insert("line"),o=a.insert("g").attr("class","label"),h=t.labelText.flat?t.labelText.flat():t.labelText;let g="";typeof h=="object"?g=h[0]:g=h,E.l.info("Label text abc79",g,h,typeof h=="object");const R=o.node().appendChild(At(g,t.labelStyle,!0,!0));let m={width:0,height:0};if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const nt=R.children[0],S=(0,C.Ltv)(R);m=nt.getBoundingClientRect(),S.attr("width",m.width),S.attr("height",m.height)}E.l.info("Text 2",h);const x=h.slice(1,h.length);let D=R.getBBox();const T=o.node().appendChild(At(x.join?x.join("<br/>"):x,t.labelStyle,!0,!0));if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const nt=T.children[0],S=(0,C.Ltv)(T);m=nt.getBoundingClientRect(),S.attr("width",m.width),S.attr("height",m.height)}const Y=t.padding/2;return(0,C.Ltv)(T).attr("transform","translate( "+(m.width>D.width?0:(D.width-m.width)/2)+", "+(D.height+Y+5)+")"),(0,C.Ltv)(R).attr("transform","translate( "+(m.width<D.width?0:-(D.width-m.width)/2)+", 0)"),m=o.node().getBBox(),o.attr("transform","translate("+-m.width/2+", "+(-m.height/2-Y+3)+")"),c.attr("class","outer title-state").attr("x",-m.width/2-Y).attr("y",-m.height/2-Y).attr("width",m.width+t.padding).attr("height",m.height+t.padding),i.attr("class","divider").attr("x1",-m.width/2-Y).attr("x2",m.width/2+Y).attr("y1",-m.height/2-Y+D.height+Y).attr("y2",-m.height/2-Y+D.height+Y),bt(t,c),t.intersect=function(nt){return Z.rect(t,nt)},a},it=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.height+t.padding,i=a.width+c/4+t.padding,o=e.insert("rect",":first-child").attr("style",t.style).attr("rx",c/2).attr("ry",c/2).attr("x",-i/2).attr("y",-c/2).attr("width",i).attr("height",c);return bt(t,o),t.intersect=function(h){return Z.rect(t,h)},e},pt=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,O(t,void 0),!0),i=e.insert("circle",":first-child");return i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c).attr("width",a.width+t.padding).attr("height",a.height+t.padding),E.l.info("Circle main"),bt(t,i),t.intersect=function(o){return E.l.info("Circle intersect",t,a.width/2+c,o),Z.circle(t,a.width/2+c,o)},e},yt=async(s,t)=>{const{shapeSvg:e,bbox:a,halfPadding:c}=await kt(s,t,O(t,void 0),!0),i=5,o=e.insert("g",":first-child"),h=o.insert("circle"),g=o.insert("circle");return o.attr("class",t.class),h.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c+i).attr("width",a.width+t.padding+i*2).attr("height",a.height+t.padding+i*2),g.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+c).attr("width",a.width+t.padding).attr("height",a.height+t.padding),E.l.info("DoubleCircle main"),bt(t,h),t.intersect=function(R){return E.l.info("DoubleCircle intersect",t,a.width/2+c+i,R),Z.circle(t,a.width/2+c+i,R)},e},Yt=async(s,t)=>{const{shapeSvg:e,bbox:a}=await kt(s,t,O(t,void 0),!0),c=a.width+t.padding,i=a.height+t.padding,o=[{x:0,y:0},{x:c,y:0},{x:c,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:c+8,y:0},{x:c+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],h=Dt(e,c,i,o);return h.attr("style",t.style),bt(t,h),t.intersect=function(g){return Z.polygon(t,o,g)},e},fe=(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=e.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),bt(t,a),t.intersect=function(c){return Z.circle(t,7,c)},e},me=(s,t,e)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id);let c=70,i=10;e==="LR"&&(c=10,i=70);const o=a.append("rect").attr("x",-1*c/2).attr("y",-1*i/2).attr("width",c).attr("height",i).attr("class","fork-join");return bt(t,o),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(h){return Z.rect(t,h)},a},F={rhombus:ft,composite:ns,question:ft,rect:Ae,labelRect:ss,rectWithTitle:M,choice:rt,circle:pt,doublecircle:yt,stadium:it,hexagon:st,block_arrow:Bt,rect_left_inv_arrow:Vt,lean_right:ie,lean_left:de,trapezoid:ne,inv_trapezoid:z,rect_right_inv_arrow:Q,cylinder:be,start:fe,end:(s,t)=>{const e=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=e.insert("circle",":first-child"),c=e.insert("circle",":first-child");return c.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),bt(t,c),t.intersect=function(i){return Z.circle(t,7,i)},e},note:u,subroutine:Yt,fork:me,join:me,class_box:(s,t)=>{const e=t.padding/2,a=4,c=8;let i;t.classes?i="node "+t.classes:i="node default";const o=s.insert("g").attr("class",i).attr("id",t.domId||t.id),h=o.insert("rect",":first-child"),g=o.insert("line"),R=o.insert("line");let m=0,x=a;const D=o.insert("g").attr("class","label");let T=0;const Y=t.classData.annotations&&t.classData.annotations[0],nt=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",S=D.node().appendChild(At(nt,t.labelStyle,!0,!0));let Et=S.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const ht=S.children[0],I=(0,C.Ltv)(S);Et=ht.getBoundingClientRect(),I.attr("width",Et.width),I.attr("height",Et.height)}t.classData.annotations[0]&&(x+=Et.height+a,m+=Et.width);let X=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&((0,E.c)().flowchart.htmlLabels?X+="<"+t.classData.type+">":X+="<"+t.classData.type+">");const It=D.node().appendChild(At(X,t.labelStyle,!0,!0));(0,C.Ltv)(It).attr("class","classTitle");let St=It.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const ht=It.children[0],I=(0,C.Ltv)(It);St=ht.getBoundingClientRect(),I.attr("width",St.width),I.attr("height",St.height)}x+=St.height+a,St.width>m&&(m=St.width);const ue=[];t.classData.members.forEach(ht=>{const I=ht.getDisplayDetails();let H=I.displayText;(0,E.c)().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const W=D.node().appendChild(At(H,I.cssStyle?I.cssStyle:t.labelStyle,!0,!0));let B=W.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const Pt=W.children[0],p=(0,C.Ltv)(W);B=Pt.getBoundingClientRect(),p.attr("width",B.width),p.attr("height",B.height)}B.width>m&&(m=B.width),x+=B.height+a,ue.push(W)}),x+=c;const pe=[];if(t.classData.methods.forEach(ht=>{const I=ht.getDisplayDetails();let H=I.displayText;(0,E.c)().flowchart.htmlLabels&&(H=H.replace(/</g,"<").replace(/>/g,">"));const W=D.node().appendChild(At(H,I.cssStyle?I.cssStyle:t.labelStyle,!0,!0));let B=W.getBBox();if((0,E.m)((0,E.c)().flowchart.htmlLabels)){const Pt=W.children[0],p=(0,C.Ltv)(W);B=Pt.getBoundingClientRect(),p.attr("width",B.width),p.attr("height",B.height)}B.width>m&&(m=B.width),x+=B.height+a,pe.push(W)}),x+=c,Y){let ht=(m-Et.width)/2;(0,C.Ltv)(S).attr("transform","translate( "+(-1*m/2+ht)+", "+-1*x/2+")"),T=Et.height+a}let Se=(m-St.width)/2;return(0,C.Ltv)(It).attr("transform","translate( "+(-1*m/2+Se)+", "+(-1*x/2+T)+")"),T+=St.height+a,g.attr("class","divider").attr("x1",-m/2-e).attr("x2",m/2+e).attr("y1",-x/2-e+c+T).attr("y2",-x/2-e+c+T),T+=c,ue.forEach(ht=>{(0,C.Ltv)(ht).attr("transform","translate( "+-m/2+", "+(-1*x/2+T+c/2)+")");const I=ht?.getBBox();T+=(I?.height??0)+a}),T+=c,R.attr("class","divider").attr("x1",-m/2-e).attr("x2",m/2+e).attr("y1",-x/2-e+c+T).attr("y2",-x/2-e+c+T),T+=c,pe.forEach(ht=>{(0,C.Ltv)(ht).attr("transform","translate( "+-m/2+", "+(-1*x/2+T)+")");const I=ht?.getBBox();T+=(I?.height??0)+a}),h.attr("style",t.style).attr("class","outer title-state").attr("x",-m/2-e).attr("y",-(x/2)-e).attr("width",m+t.padding).attr("height",x+t.padding),bt(t,h),t.intersect=function(ht){return Z.rect(t,ht)},o}};let r={};const b=async(s,t,e)=>{let a,c;if(t.link){let i;(0,E.c)().securityLevel==="sandbox"?i="_top":t.linkTarget&&(i=t.linkTarget||"_blank"),a=s.insert("svg:a").attr("xlink:href",t.link).attr("target",i),c=await F[t.shape](a,t,e)}else c=await F[t.shape](s,t,e),a=c;return t.tooltip&&c.attr("title",t.tooltip),t.class&&c.attr("class","node default "+t.class),a.attr("data-node","true"),a.attr("data-id",t.id),r[t.id]=a,t.haveCallback&&r[t.id].attr("class",r[t.id].attr("class")+" clickable"),a},v=(s,t)=>{r[t.id]=s},j=()=>{r={}},K=s=>{const t=r[s.id];E.l.trace("Transforming node",s.diff,s,"translate("+(s.x-s.width/2-5)+", "+s.width/2+")");const e=8,a=s.diff||0;return s.clusterNode?t.attr("transform","translate("+(s.x+a-s.width/2)+", "+(s.y-s.height/2-e)+")"):t.attr("transform","translate("+s.x+", "+s.y+")"),a},xt=({flowchart:s})=>{var t,e;const a=((t=s?.subGraphTitleMargin)==null?void 0:t.top)??0,c=((e=s?.subGraphTitleMargin)==null?void 0:e.bottom)??0,i=a+c;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:c,subGraphTitleTotalMargin:i}},$={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Lt(s,t){if(s===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};s=tt(s),t=tt(t);const[e,a]=[s.x,s.y],[c,i]=[t.x,t.y],o=c-e,h=i-a;return{angle:Math.atan(h/o),deltaX:o,deltaY:h}}const tt=s=>Array.isArray(s)?{x:s[0],y:s[1]}:s,ee=s=>({x:function(t,e,a){let c=0;if(e===0&&Object.hasOwn($,s.arrowTypeStart)){const{angle:i,deltaX:o}=Lt(a[0],a[1]);c=$[s.arrowTypeStart]*Math.cos(i)*(o>=0?1:-1)}else if(e===a.length-1&&Object.hasOwn($,s.arrowTypeEnd)){const{angle:i,deltaX:o}=Lt(a[a.length-1],a[a.length-2]);c=$[s.arrowTypeEnd]*Math.cos(i)*(o>=0?1:-1)}return tt(t).x+c},y:function(t,e,a){let c=0;if(e===0&&Object.hasOwn($,s.arrowTypeStart)){const{angle:i,deltaY:o}=Lt(a[0],a[1]);c=$[s.arrowTypeStart]*Math.abs(Math.sin(i))*(o>=0?1:-1)}else if(e===a.length-1&&Object.hasOwn($,s.arrowTypeEnd)){const{angle:i,deltaY:o}=Lt(a[a.length-1],a[a.length-2]);c=$[s.arrowTypeEnd]*Math.abs(Math.sin(i))*(o>=0?1:-1)}return tt(t).y+c}}),wt=(s,t,e,a,c)=>{t.arrowTypeStart&&_t(s,"start",t.arrowTypeStart,e,a,c),t.arrowTypeEnd&&_t(s,"end",t.arrowTypeEnd,e,a,c)},Nt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},_t=(s,t,e,a,c,i)=>{const o=Nt[e];if(!o){E.l.warn(`Unknown arrow type: ${e}`);return}const h=t==="start"?"Start":"End";s.attr(`marker-${t}`,`url(${a}#${c}_${i}-${o}${h})`)};let dt={},Ft={};const ct=()=>{dt={},Ft={}},Ee=(s,t)=>{const e=(0,E.m)((0,E.c)().flowchart.htmlLabels),a=t.labelType==="markdown"?(0,U.a)(s,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):At(t.label,t.labelStyle),c=s.insert("g").attr("class","edgeLabel"),i=c.insert("g").attr("class","label");i.node().appendChild(a);let o=a.getBBox();if(e){const g=a.children[0],R=(0,C.Ltv)(a);o=g.getBoundingClientRect(),R.attr("width",o.width),R.attr("height",o.height)}i.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),dt[t.id]=c,t.width=o.width,t.height=o.height;let h;if(t.startLabelLeft){const g=At(t.startLabelLeft,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].startLeft=R,ge(h,t.startLabelLeft)}if(t.startLabelRight){const g=At(t.startLabelRight,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=R.node().appendChild(g),m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].startRight=R,ge(h,t.startLabelRight)}if(t.endLabelLeft){const g=At(t.endLabelLeft,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),R.node().appendChild(g),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].endLeft=R,ge(h,t.endLabelLeft)}if(t.endLabelRight){const g=At(t.endLabelRight,t.labelStyle),R=s.insert("g").attr("class","edgeTerminals"),m=R.insert("g").attr("class","inner");h=m.node().appendChild(g);const x=g.getBBox();m.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),R.node().appendChild(g),Ft[t.id]||(Ft[t.id]={}),Ft[t.id].endRight=R,ge(h,t.endLabelRight)}return a};function ge(s,t){(0,E.c)().flowchart.htmlLabels&&s&&(s.style.width=t.length*9+"px",s.style.height="12px")}const Te=(s,t)=>{E.l.debug("Moving label abc88 ",s.id,s.label,dt[s.id],t);let e=t.updatedPath?t.updatedPath:t.originalPath;const a=(0,E.c)(),{subGraphTitleTotalMargin:c}=xt(a);if(s.label){const i=dt[s.id];let o=s.x,h=s.y;if(e){const g=E.u.calcLabelPosition(e);E.l.debug("Moving label "+s.label+" from (",o,",",h,") to (",g.x,",",g.y,") abc88"),t.updatedPath&&(o=g.x,h=g.y)}i.attr("transform",`translate(${o}, ${h+c/2})`)}if(s.startLabelLeft){const i=Ft[s.id].startLeft;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_left",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.startLabelRight){const i=Ft[s.id].startRight;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_right",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.endLabelLeft){const i=Ft[s.id].endLeft;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_left",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}if(s.endLabelRight){const i=Ft[s.id].endRight;let o=s.x,h=s.y;if(e){const g=E.u.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_right",e);o=g.x,h=g.y}i.attr("transform",`translate(${o}, ${h})`)}},Wt=(s,t)=>{const e=s.x,a=s.y,c=Math.abs(t.x-e),i=Math.abs(t.y-a),o=s.width/2,h=s.height/2;return c>=o||i>=h},Kt=(s,t,e)=>{E.l.debug(`intersection calc abc89:
|
|
outsidePoint: ${JSON.stringify(t)}
|
|
insidePoint : ${JSON.stringify(e)}
|
|
node : x:${s.x} y:${s.y} w:${s.width} h:${s.height}`);const a=s.x,c=s.y,i=Math.abs(a-e.x),o=s.width/2;let h=e.x<t.x?o-i:o+i;const g=s.height/2,R=Math.abs(t.y-e.y),m=Math.abs(t.x-e.x);if(Math.abs(c-t.y)*o>Math.abs(a-t.x)*g){let x=e.y<t.y?t.y-g-c:c-g-t.y;h=m*x/R;const D={x:e.x<t.x?e.x+h:e.x-m+h,y:e.y<t.y?e.y+R-x:e.y-R+x};return h===0&&(D.x=t.x,D.y=t.y),m===0&&(D.x=t.x),R===0&&(D.y=t.y),E.l.debug(`abc89 topp/bott calc, Q ${R}, q ${x}, R ${m}, r ${h}`,D),D}else{e.x<t.x?h=t.x-o-a:h=a-o-t.x;let x=R*h/m,D=e.x<t.x?e.x+m-h:e.x-m+h,T=e.y<t.y?e.y+x:e.y-x;return E.l.debug(`sides calc abc89, Q ${R}, q ${x}, R ${m}, r ${h}`,{_x:D,_y:T}),h===0&&(D=t.x,T=t.y),m===0&&(D=t.x),R===0&&(T=t.y),{x:D,y:T}}},zt=(s,t)=>{E.l.debug("abc88 cutPathAtIntersect",s,t);let e=[],a=s[0],c=!1;return s.forEach(i=>{if(!Wt(t,i)&&!c){const o=Kt(t,a,i);let h=!1;e.forEach(g=>{h=h||g.x===o.x&&g.y===o.y}),e.some(g=>g.x===o.x&&g.y===o.y)||e.push(o),c=!0}else a=i,c||e.push(i)}),e},Jt=function(s,t,e,a,c,i,o){let h=e.points;E.l.debug("abc88 InsertEdge: edge=",e,"e=",t);let g=!1;const R=i.node(t.v);var m=i.node(t.w);m?.intersect&&R?.intersect&&(h=h.slice(1,e.points.length-1),h.unshift(R.intersect(h[0])),h.push(m.intersect(h[h.length-1]))),e.toCluster&&(E.l.debug("to cluster abc88",a[e.toCluster]),h=zt(e.points,a[e.toCluster].node),g=!0),e.fromCluster&&(E.l.debug("from cluster abc88",a[e.fromCluster]),h=zt(h.reverse(),a[e.fromCluster].node).reverse(),g=!0);const x=h.filter(St=>!Number.isNaN(St.y));let D=C.qrM;e.curve&&(c==="graph"||c==="flowchart")&&(D=e.curve);const{x:T,y:Y}=ee(e),nt=(0,C.n8j)().x(T).y(Y).curve(D);let S;switch(e.thickness){case"normal":S="edge-thickness-normal";break;case"thick":S="edge-thickness-thick";break;case"invisible":S="edge-thickness-thick";break;default:S=""}switch(e.pattern){case"solid":S+=" edge-pattern-solid";break;case"dotted":S+=" edge-pattern-dotted";break;case"dashed":S+=" edge-pattern-dashed";break}const Et=s.append("path").attr("d",nt(x)).attr("id",e.id).attr("class"," "+S+(e.classes?" "+e.classes:"")).attr("style",e.style);let X="";((0,E.c)().flowchart.arrowMarkerAbsolute||(0,E.c)().state.arrowMarkerAbsolute)&&(X=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,X=X.replace(/\(/g,"\\("),X=X.replace(/\)/g,"\\)")),wt(Et,e,X,o,c);let It={};return g&&(It.updatedPath=h),It.originalPath=e.points,It}},"./node_modules/mermaid/dist/flowDb-4b19a42f.js":function(je,se,ot){ot.d(se,{d:function(){return ke},f:function(){return me},p:function(){return w}});var E=ot("./node_modules/d3/src/index.js"),C=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),U=function(){var n=function(is,at,gt,Ct){for(gt=gt||{},Ct=is.length;Ct--;gt[is[Ct]]=at);return gt},F=[1,4],r=[1,3],b=[1,5],v=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],j=[2,2],K=[1,13],xt=[1,14],$=[1,15],Lt=[1,16],tt=[1,23],ee=[1,25],wt=[1,26],Nt=[1,27],_t=[1,49],dt=[1,48],Ft=[1,29],ct=[1,30],Ee=[1,31],ge=[1,32],Te=[1,33],Wt=[1,44],Kt=[1,46],zt=[1,42],Jt=[1,47],s=[1,43],t=[1,50],e=[1,45],a=[1,51],c=[1,52],i=[1,34],o=[1,35],h=[1,36],g=[1,37],R=[1,57],m=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],x=[1,61],D=[1,60],T=[1,62],Y=[8,9,11,73,75],nt=[1,88],S=[1,93],Et=[1,92],X=[1,89],It=[1,85],St=[1,91],ue=[1,87],pe=[1,94],Se=[1,90],ht=[1,95],I=[1,86],H=[8,9,10,11,73,75],W=[8,9,10,11,44,73,75],B=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Pt=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],p=[42,58,86,99,102,103,106,108,111,112,113],we=[1,121],y=[1,120],Ue=[1,128],Re=[1,142],Ye=[1,143],Be=[1,144],as=[1,145],qt=[1,130],Fe=[1,132],Ce=[1,136],hs=[1,137],xs=[1,138],_s=[1,139],_e=[1,140],Ge=[1,141],Le=[1,146],ds=[1,147],We=[1,126],ls=[1,127],Me=[1,134],bs=[1,129],cs=[1,133],fs=[1,131],Ie=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Ds=[1,149],ce=[8,9,11],Oe=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],jt=[1,169],ve=[1,165],De=[1,166],Ut=[1,170],Gt=[1,167],Xt=[1,168],ps=[75,113,116],$t=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Bs=[10,103],rs=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Ke=[1,235],ze=[1,233],He=[1,237],Je=[1,231],Qe=[1,232],Ze=[1,234],qe=[1,236],$e=[1,238],gs=[1,255],Ls=[8,9,11,103],Xe=[8,9,10,11,58,81,102,103,106,107,108,109],Es={trace:function(){},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,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$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",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"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],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,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],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(at,gt,Ct,V,oe,l,ms){var d=l.length-1;switch(oe){case 2:this.$=[];break;case 3:(!Array.isArray(l[d])||l[d].length>0)&&l[d-1].push(l[d]),this.$=l[d-1];break;case 4:case 176:this.$=l[d];break;case 11:V.setDirection("TB"),this.$="TB";break;case 12:V.setDirection(l[d-1]),this.$=l[d-1];break;case 27:this.$=l[d-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=V.addSubGraph(l[d-6],l[d-1],l[d-4]);break;case 34:this.$=V.addSubGraph(l[d-3],l[d-1],l[d-3]);break;case 35:this.$=V.addSubGraph(void 0,l[d-1],void 0);break;case 37:this.$=l[d].trim(),V.setAccTitle(this.$);break;case 38:case 39:this.$=l[d].trim(),V.setAccDescription(this.$);break;case 43:V.addLink(l[d-2].stmt,l[d],l[d-1]),this.$={stmt:l[d],nodes:l[d].concat(l[d-2].nodes)};break;case 44:V.addLink(l[d-3].stmt,l[d-1],l[d-2]),this.$={stmt:l[d-1],nodes:l[d-1].concat(l[d-3].nodes)};break;case 45:this.$={stmt:l[d-1],nodes:l[d-1]};break;case 46:this.$={stmt:l[d],nodes:l[d]};break;case 47:this.$=[l[d]];break;case 48:this.$=l[d-4].concat(l[d]);break;case 49:this.$=l[d];break;case 50:this.$=l[d-2],V.setClass(l[d-2],l[d]);break;case 51:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"square");break;case 52:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"doublecircle");break;case 53:this.$=l[d-5],V.addVertex(l[d-5],l[d-2],"circle");break;case 54:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"ellipse");break;case 55:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"stadium");break;case 56:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"subroutine");break;case 57:this.$=l[d-7],V.addVertex(l[d-7],l[d-1],"rect",void 0,void 0,void 0,Object.fromEntries([[l[d-5],l[d-3]]]));break;case 58:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"cylinder");break;case 59:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"round");break;case 60:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"diamond");break;case 61:this.$=l[d-5],V.addVertex(l[d-5],l[d-2],"hexagon");break;case 62:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"odd");break;case 63:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"trapezoid");break;case 64:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"inv_trapezoid");break;case 65:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"lean_right");break;case 66:this.$=l[d-3],V.addVertex(l[d-3],l[d-1],"lean_left");break;case 67:this.$=l[d],V.addVertex(l[d]);break;case 68:l[d-1].text=l[d],this.$=l[d-1];break;case 69:case 70:l[d-2].text=l[d-1],this.$=l[d-2];break;case 71:this.$=l[d];break;case 72:var Ve=V.destructLink(l[d],l[d-2]);this.$={type:Ve.type,stroke:Ve.stroke,length:Ve.length,text:l[d-1]};break;case 73:this.$={text:l[d],type:"text"};break;case 74:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 75:this.$={text:l[d],type:"string"};break;case 76:this.$={text:l[d],type:"markdown"};break;case 77:var Ve=V.destructLink(l[d]);this.$={type:Ve.type,stroke:Ve.stroke,length:Ve.length};break;case 78:this.$=l[d-1];break;case 79:this.$={text:l[d],type:"text"};break;case 80:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 81:this.$={text:l[d],type:"string"};break;case 82:case 97:this.$={text:l[d],type:"markdown"};break;case 94:this.$={text:l[d],type:"text"};break;case 95:this.$={text:l[d-1].text+""+l[d],type:l[d-1].type};break;case 96:this.$={text:l[d],type:"text"};break;case 98:this.$=l[d-4],V.addClass(l[d-2],l[d]);break;case 99:this.$=l[d-4],V.setClass(l[d-2],l[d]);break;case 100:case 108:this.$=l[d-1],V.setClickEvent(l[d-1],l[d]);break;case 101:case 109:this.$=l[d-3],V.setClickEvent(l[d-3],l[d-2]),V.setTooltip(l[d-3],l[d]);break;case 102:this.$=l[d-2],V.setClickEvent(l[d-2],l[d-1],l[d]);break;case 103:this.$=l[d-4],V.setClickEvent(l[d-4],l[d-3],l[d-2]),V.setTooltip(l[d-4],l[d]);break;case 104:this.$=l[d-2],V.setLink(l[d-2],l[d]);break;case 105:this.$=l[d-4],V.setLink(l[d-4],l[d-2]),V.setTooltip(l[d-4],l[d]);break;case 106:this.$=l[d-4],V.setLink(l[d-4],l[d-2],l[d]);break;case 107:this.$=l[d-6],V.setLink(l[d-6],l[d-4],l[d]),V.setTooltip(l[d-6],l[d-2]);break;case 110:this.$=l[d-1],V.setLink(l[d-1],l[d]);break;case 111:this.$=l[d-3],V.setLink(l[d-3],l[d-2]),V.setTooltip(l[d-3],l[d]);break;case 112:this.$=l[d-3],V.setLink(l[d-3],l[d-2],l[d]);break;case 113:this.$=l[d-5],V.setLink(l[d-5],l[d-4],l[d]),V.setTooltip(l[d-5],l[d-2]);break;case 114:this.$=l[d-4],V.addVertex(l[d-2],void 0,void 0,l[d]);break;case 115:this.$=l[d-4],V.updateLink([l[d-2]],l[d]);break;case 116:this.$=l[d-4],V.updateLink(l[d-2],l[d]);break;case 117:this.$=l[d-8],V.updateLinkInterpolate([l[d-6]],l[d-2]),V.updateLink([l[d-6]],l[d]);break;case 118:this.$=l[d-8],V.updateLinkInterpolate(l[d-6],l[d-2]),V.updateLink(l[d-6],l[d]);break;case 119:this.$=l[d-6],V.updateLinkInterpolate([l[d-4]],l[d]);break;case 120:this.$=l[d-6],V.updateLinkInterpolate(l[d-4],l[d]);break;case 121:case 123:this.$=[l[d]];break;case 122:case 124:l[d-2].push(l[d]),this.$=l[d-2];break;case 126:this.$=l[d-1]+l[d];break;case 174:this.$=l[d];break;case 175:this.$=l[d-1]+""+l[d];break;case 177:this.$=l[d-1]+""+l[d];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:F,10:r,12:b},{1:[3]},n(v,j,{5:6}),{4:7,9:F,10:r,12:b},{4:8,9:F,10:r,12:b},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},n(v,[2,9]),n(v,[2,10]),n(v,[2,11]),{8:[1,54],9:[1,55],10:R,15:53,18:56},n(m,[2,3]),n(m,[2,4]),n(m,[2,5]),n(m,[2,6]),n(m,[2,7]),n(m,[2,8]),{8:x,9:D,11:T,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:x,9:D,11:T,21:66},{8:x,9:D,11:T,21:67},{8:x,9:D,11:T,21:68},{8:x,9:D,11:T,21:69},{8:x,9:D,11:T,21:70},{8:x,9:D,10:[1,71],11:T,21:72},n(m,[2,36]),{35:[1,73]},{37:[1,74]},n(m,[2,39]),n(Y,[2,46],{18:75,10:R}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:nt,42:S,58:Et,77:[1,83],86:X,92:[1,80],94:[1,81],98:82,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},n(m,[2,178]),n(m,[2,179]),n(m,[2,180]),n(m,[2,181]),n(H,[2,47]),n(H,[2,49],{44:[1,96]}),n(W,[2,67],{110:109,29:[1,97],42:_t,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:dt,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),n(B,[2,174]),n(B,[2,135]),n(B,[2,136]),n(B,[2,137]),n(B,[2,138]),n(B,[2,139]),n(B,[2,140]),n(B,[2,141]),n(B,[2,142]),n(B,[2,143]),n(B,[2,144]),n(B,[2,145]),n(v,[2,12]),n(v,[2,18]),n(v,[2,19]),{9:[1,110]},n(Pt,[2,26],{18:111,10:R}),n(m,[2,27]),{40:112,41:38,42:_t,43:39,45:40,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(m,[2,40]),n(m,[2,41]),n(m,[2,42]),n(p,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:we,116:y},n([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),n(m,[2,28]),n(m,[2,29]),n(m,[2,30]),n(m,[2,31]),n(m,[2,32]),{10:Ue,12:Re,14:Ye,27:Be,28:122,32:as,42:qt,58:Fe,73:Ce,77:[1,124],78:[1,125],80:135,81:hs,82:xs,83:_s,84:_e,85:Ge,86:Le,87:ds,88:123,102:We,106:ls,108:Me,111:bs,112:cs,113:fs},n(Ie,j,{5:148}),n(m,[2,37]),n(m,[2,38]),n(Y,[2,45],{42:Ds}),{42:_t,45:150,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{99:[1,151],100:152,102:[1,153]},{42:_t,45:154,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{42:_t,45:155,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(ce,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},n(ce,[2,108],{117:160,10:[1,159],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,110],{10:[1,161]}),n(Oe,[2,176]),n(Oe,[2,163]),n(Oe,[2,164]),n(Oe,[2,165]),n(Oe,[2,166]),n(Oe,[2,167]),n(Oe,[2,168]),n(Oe,[2,169]),n(Oe,[2,170]),n(Oe,[2,171]),n(Oe,[2,172]),n(Oe,[2,173]),{42:_t,45:162,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{30:163,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:171,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:173,48:[1,172],65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:174,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:175,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:176,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{106:[1,177]},{30:178,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:179,63:[1,180],65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:181,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:182,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{30:183,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(B,[2,175]),n(v,[2,20]),n(Pt,[2,25]),n(Y,[2,43],{18:184,10:R}),n(p,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{75:[1,188],76:189,113:we,116:y},n(ps,[2,73]),n(ps,[2,75]),n(ps,[2,76]),n(ps,[2,161]),n(ps,[2,162]),{8:x,9:D,10:Ue,11:T,12:Re,14:Ye,21:191,27:Be,29:[1,190],32:as,42:qt,58:Fe,73:Ce,80:135,81:hs,82:xs,83:_s,84:_e,85:Ge,86:Le,87:ds,88:192,102:We,106:ls,108:Me,111:bs,112:cs,113:fs},n($t,[2,94]),n($t,[2,96]),n($t,[2,97]),n($t,[2,150]),n($t,[2,151]),n($t,[2,152]),n($t,[2,153]),n($t,[2,154]),n($t,[2,155]),n($t,[2,156]),n($t,[2,157]),n($t,[2,158]),n($t,[2,159]),n($t,[2,160]),n($t,[2,83]),n($t,[2,84]),n($t,[2,85]),n($t,[2,86]),n($t,[2,87]),n($t,[2,88]),n($t,[2,89]),n($t,[2,90]),n($t,[2,91]),n($t,[2,92]),n($t,[2,93]),{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,193],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},{10:R,18:194},{10:[1,195],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{10:[1,196]},{10:[1,197],103:[1,198]},n(Bs,[2,121]),{10:[1,199],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{10:[1,200],42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:109,111:e,112:a,113:c},{77:[1,201]},n(ce,[2,102],{10:[1,202]}),n(ce,[2,104],{10:[1,203]}),{77:[1,204]},n(Oe,[2,177]),{77:[1,205],95:[1,206]},n(H,[2,50],{110:109,42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),{31:[1,207],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(rs,[2,79]),n(rs,[2,81]),n(rs,[2,82]),n(rs,[2,146]),n(rs,[2,147]),n(rs,[2,148]),n(rs,[2,149]),{47:[1,209],65:jt,79:208,113:Ut,114:Gt,115:Xt},{30:210,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{49:[1,211],65:jt,79:208,113:Ut,114:Gt,115:Xt},{51:[1,212],65:jt,79:208,113:Ut,114:Gt,115:Xt},{53:[1,213],65:jt,79:208,113:Ut,114:Gt,115:Xt},{55:[1,214],65:jt,79:208,113:Ut,114:Gt,115:Xt},{58:[1,215]},{62:[1,216],65:jt,79:208,113:Ut,114:Gt,115:Xt},{64:[1,217],65:jt,79:208,113:Ut,114:Gt,115:Xt},{30:218,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},{31:[1,219],65:jt,79:208,113:Ut,114:Gt,115:Xt},{65:jt,67:[1,220],69:[1,221],79:208,113:Ut,114:Gt,115:Xt},{65:jt,67:[1,223],69:[1,222],79:208,113:Ut,114:Gt,115:Xt},n(Y,[2,44],{42:Ds}),n(p,[2,70]),n(p,[2,69]),{60:[1,224],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(p,[2,72]),n(ps,[2,74]),{30:225,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(Ie,j,{5:226}),n($t,[2,95]),n(m,[2,35]),{41:227,42:_t,43:39,45:40,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},{10:Ke,58:ze,81:He,89:228,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:239,101:[1,240],102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:241,101:[1,242],102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{102:[1,243]},{10:Ke,58:ze,81:He,89:244,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{42:_t,45:245,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c},n(ce,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},n(ce,[2,109]),n(ce,[2,111],{10:[1,249]}),n(ce,[2,112]),n(W,[2,51]),n(rs,[2,80]),n(W,[2,52]),{49:[1,250],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(W,[2,59]),n(W,[2,54]),n(W,[2,55]),n(W,[2,56]),{106:[1,251]},n(W,[2,58]),n(W,[2,60]),{64:[1,252],65:jt,79:208,113:Ut,114:Gt,115:Xt},n(W,[2,62]),n(W,[2,63]),n(W,[2,65]),n(W,[2,64]),n(W,[2,66]),n([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:jt,79:208,113:Ut,114:Gt,115:Xt},{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,254],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},n(H,[2,48]),n(ce,[2,114],{103:gs}),n(Ls,[2,123],{105:256,10:Ke,58:ze,81:He,102:Je,106:Qe,107:Ze,108:qe,109:$e}),n(Xe,[2,125]),n(Xe,[2,127]),n(Xe,[2,128]),n(Xe,[2,129]),n(Xe,[2,130]),n(Xe,[2,131]),n(Xe,[2,132]),n(Xe,[2,133]),n(Xe,[2,134]),n(ce,[2,115],{103:gs}),{10:[1,257]},n(ce,[2,116],{103:gs}),{10:[1,258]},n(Bs,[2,122]),n(ce,[2,98],{103:gs}),n(ce,[2,99],{110:109,42:_t,58:dt,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,111:e,112:a,113:c}),n(ce,[2,103]),n(ce,[2,105],{10:[1,259]}),n(ce,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:x,9:D,11:T,21:264},n(m,[2,34]),{10:Ke,58:ze,81:He,102:Je,104:265,105:230,106:Qe,107:Ze,108:qe,109:$e},n(Xe,[2,126]),{14:nt,42:S,58:Et,86:X,98:266,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},{14:nt,42:S,58:Et,86:X,98:267,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I,117:84},{95:[1,268]},n(ce,[2,113]),n(W,[2,53]),{30:269,65:jt,77:ve,78:De,79:164,113:Ut,114:Gt,115:Xt},n(W,[2,61]),n(Ie,j,{5:270}),n(Ls,[2,124],{105:256,10:Ke,58:ze,81:He,102:Je,106:Qe,107:Ze,108:qe,109:$e}),n(ce,[2,119],{117:160,10:[1,271],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,120],{117:160,10:[1,272],14:nt,42:S,58:Et,86:X,102:It,103:St,106:ue,108:pe,111:Se,112:ht,113:I}),n(ce,[2,107]),{31:[1,273],65:jt,79:208,113:Ut,114:Gt,115:Xt},{6:11,7:12,8:K,9:xt,10:$,11:Lt,20:17,22:18,23:19,24:20,25:21,26:22,27:tt,32:[1,274],33:24,34:ee,36:wt,38:Nt,40:28,41:38,42:_t,43:39,45:40,58:dt,81:Ft,82:ct,83:Ee,84:ge,85:Te,86:Wt,99:Kt,102:zt,103:Jt,106:s,108:t,110:41,111:e,112:a,113:c,118:i,119:o,120:h,121:g},{10:Ke,58:ze,81:He,89:275,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},{10:Ke,58:ze,81:He,89:276,102:Je,104:229,105:230,106:Qe,107:Ze,108:qe,109:$e},n(W,[2,57]),n(m,[2,33]),n(ce,[2,117],{103:gs}),n(ce,[2,118],{103:gs})],defaultActions:{},parseError:function(at,gt){if(gt.recoverable)this.trace(at);else{var Ct=new Error(at);throw Ct.hash=gt,Ct}},parse:function(at){var gt=this,Ct=[0],V=[],oe=[null],l=[],ms=this.table,d="",Ve=0,Fs=0,Rs=2,Ns=1,Ms=l.slice.call(arguments,1),xe=Object.create(this.lexer),os={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(os.yy[Ss]=this.yy[Ss]);xe.setInput(at,os.yy),os.yy.lexer=xe,os.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var ws=xe.yylloc;l.push(ws);var Vs=xe.options&&xe.options.ranges;typeof os.yy.parseError=="function"?this.parseError=os.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ps(){var es;return es=V.pop()||xe.lex()||Ns,typeof es!="number"&&(es instanceof Array&&(V=es,es=V.pop()),es=gt.symbols_[es]||es),es}for(var Ne,us,Pe,Cs,ys={},As,ts,Is,ks;;){if(us=Ct[Ct.length-1],this.defaultActions[us]?Pe=this.defaultActions[us]:((Ne===null||typeof Ne>"u")&&(Ne=Ps()),Pe=ms[us]&&ms[us][Ne]),typeof Pe>"u"||!Pe.length||!Pe[0]){var vs="";ks=[];for(As in ms[us])this.terminals_[As]&&As>Rs&&ks.push("'"+this.terminals_[As]+"'");xe.showPosition?vs="Parse error on line "+(Ve+1)+`:
|
|
`+xe.showPosition()+`
|
|
Expecting `+ks.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":vs="Parse error on line "+(Ve+1)+": Unexpected "+(Ne==Ns?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(vs,{text:xe.match,token:this.terminals_[Ne]||Ne,line:xe.yylineno,loc:ws,expected:ks})}if(Pe[0]instanceof Array&&Pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+us+", token: "+Ne);switch(Pe[0]){case 1:Ct.push(Ne),oe.push(xe.yytext),l.push(xe.yylloc),Ct.push(Pe[1]),Ne=null,Fs=xe.yyleng,d=xe.yytext,Ve=xe.yylineno,ws=xe.yylloc;break;case 2:if(ts=this.productions_[Pe[1]][1],ys.$=oe[oe.length-ts],ys._$={first_line:l[l.length-(ts||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(ts||1)].first_column,last_column:l[l.length-1].last_column},Vs&&(ys._$.range=[l[l.length-(ts||1)].range[0],l[l.length-1].range[1]]),Cs=this.performAction.apply(ys,[d,Fs,Ve,os.yy,Pe[1],oe,l].concat(Ms)),typeof Cs<"u")return Cs;ts&&(Ct=Ct.slice(0,-1*ts*2),oe=oe.slice(0,-1*ts),l=l.slice(0,-1*ts)),Ct.push(this.productions_[Pe[1]][0]),oe.push(ys.$),l.push(ys._$),Is=ms[Ct[Ct.length-2]][Ct[Ct.length-1]],Ct.push(Is);break;case 3:return!0}}return!0}},Os=function(){var is={EOF:1,parseError:function(gt,Ct){if(this.yy.parser)this.yy.parser.parseError(gt,Ct);else throw new Error(gt)},setInput:function(at,gt){return this.yy=gt||this.yy||{},this._input=at,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},input:function(){var at=this._input[0];this.yytext+=at,this.yyleng++,this.offset++,this.match+=at,this.matched+=at;var gt=at.match(/(?:\r\n?|\n).*/g);return gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),at},unput:function(at){var gt=at.length,Ct=at.split(/(?:\r\n?|\n)/g);this._input=at+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-gt),this.offset-=gt;var V=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),Ct.length-1&&(this.yylineno-=Ct.length-1);var oe=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:Ct?(Ct.length===V.length?this.yylloc.first_column:0)+V[V.length-Ct.length].length-Ct[0].length:this.yylloc.first_column-gt},this.options.ranges&&(this.yylloc.range=[oe[0],oe[0]+this.yyleng-gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(at){this.unput(this.match.slice(at))},pastInput:function(){var at=this.matched.substr(0,this.matched.length-this.match.length);return(at.length>20?"...":"")+at.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var at=this.match;return at.length<20&&(at+=this._input.substr(0,20-at.length)),(at.substr(0,20)+(at.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var at=this.pastInput(),gt=new Array(at.length+1).join("-");return at+this.upcomingInput()+`
|
|
`+gt+"^"},test_match:function(at,gt){var Ct,V,oe;if(this.options.backtrack_lexer&&(oe={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&&(oe.yylloc.range=this.yylloc.range.slice(0))),V=at[0].match(/(?:\r\n?|\n).*/g),V&&(this.yylineno+=V.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+at[0].length},this.yytext+=at[0],this.match+=at[0],this.matches=at,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(at[0].length),this.matched+=at[0],Ct=this.performAction.call(this,this.yy,this,gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ct)return Ct;if(this._backtrack){for(var l in oe)this[l]=oe[l];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var at,gt,Ct,V;this._more||(this.yytext="",this.match="");for(var oe=this._currentRules(),l=0;l<oe.length;l++)if(Ct=this._input.match(this.rules[oe[l]]),Ct&&(!gt||Ct[0].length>gt[0].length)){if(gt=Ct,V=l,this.options.backtrack_lexer){if(at=this.test_match(Ct,oe[l]),at!==!1)return at;if(this._backtrack){gt=!1;continue}else return!1}else if(!this.options.flex)break}return gt?(at=this.test_match(gt,oe[V]),at!==!1?at:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var gt=this.next();return gt||this.lex()},begin:function(gt){this.conditionStack.push(gt)},popState:function(){var gt=this.conditionStack.length-1;return gt>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(gt){return gt=this.conditionStack.length-1-Math.abs(gt||0),gt>=0?this.conditionStack[gt]:"INITIAL"},pushState:function(gt){this.begin(gt)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(gt,Ct,V,oe){switch(V){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return gt.lex.firstGraph()&&this.begin("dir"),12;case 30:return gt.lex.firstGraph()&&this.begin("dir"),12;case 31:return gt.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},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]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return is}();Es.lexer=Os;function Ts(){this.yy={}}return Ts.prototype=Es,Es.Parser=Ts,new Ts}();U.parser=U;const w=U,ae="flowchart-";let Ot=0,Rt=(0,C.c)(),N={},G=[],et={},ut=[],mt={},Qt={},le=0,Zt=!0,Mt,ye,q=[];const At=n=>C.e.sanitizeText(n,Rt),kt=function(n){const F=Object.keys(N);for(const r of F)if(N[r].id===n)return N[r].domId;return n},bt=function(n,F,r,b,v,j,K={}){let xt,$=n;$!==void 0&&$.trim().length!==0&&(N[$]===void 0&&(N[$]={id:$,labelType:"text",domId:ae+$+"-"+Ot,styles:[],classes:[]}),Ot++,F!==void 0?(Rt=(0,C.c)(),xt=At(F.text.trim()),N[$].labelType=F.type,xt[0]==='"'&&xt[xt.length-1]==='"'&&(xt=xt.substring(1,xt.length-1)),N[$].text=xt):N[$].text===void 0&&(N[$].text=n),r!==void 0&&(N[$].type=r),b?.forEach(function(Lt){N[$].styles.push(Lt)}),v?.forEach(function(Lt){N[$].classes.push(Lt)}),j!==void 0&&(N[$].dir=j),N[$].props===void 0?N[$].props=K:K!==void 0&&Object.assign(N[$].props,K))},Dt=function(n,F,r){const j={start:n,end:F,type:void 0,text:"",labelType:"text"};C.l.info("abc78 Got edge...",j);const K=r.text;if(K!==void 0&&(j.text=At(K.text.trim()),j.text[0]==='"'&&j.text[j.text.length-1]==='"'&&(j.text=j.text.substring(1,j.text.length-1)),j.labelType=K.type),r!==void 0&&(j.type=r.type,j.stroke=r.stroke,j.length=r.length),j?.length>10&&(j.length=10),G.length<(Rt.maxEdges??500))C.l.info("abc78 pushing edge..."),G.push(j);else throw new Error(`Edge limit exceeded. ${G.length} edges found, but the limit is ${Rt.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.`)},Ht=function(n,F,r){C.l.info("addLink (abc78)",n,F,r);let b,v;for(b=0;b<n.length;b++)for(v=0;v<F.length;v++)Dt(n[b],F[v],r)},re=function(n,F){n.forEach(function(r){r==="default"?G.defaultInterpolate=F:G[r].interpolate=F})},vt=function(n,F){n.forEach(function(r){if(r>=G.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${G.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?G.defaultStyle=F:(C.u.isSubstringInArray("fill",F)===-1&&F.push("fill:none"),G[r].style=F)})},Tt=function(n,F){n.split(",").forEach(function(r){et[r]===void 0&&(et[r]={id:r,styles:[],textStyles:[]}),F?.forEach(function(b){if(b.match("color")){const v=b.replace("fill","bgFill").replace("color","fill");et[r].textStyles.push(v)}et[r].styles.push(b)})})},lt=function(n){Mt=n,Mt.match(/.*</)&&(Mt="RL"),Mt.match(/.*\^/)&&(Mt="BT"),Mt.match(/.*>/)&&(Mt="LR"),Mt.match(/.*v/)&&(Mt="TB"),Mt==="TD"&&(Mt="TB")},te=function(n,F){n.split(",").forEach(function(r){let b=r;N[b]!==void 0&&N[b].classes.push(F),mt[b]!==void 0&&mt[b].classes.push(F)})},he=function(n,F){n.split(",").forEach(function(r){F!==void 0&&(Qt[ye==="gen-1"?kt(r):r]=At(F))})},J=function(n,F,r){let b=kt(n);if((0,C.c)().securityLevel!=="loose"||F===void 0)return;let v=[];if(typeof r=="string"){v=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let j=0;j<v.length;j++){let K=v[j].trim();K.charAt(0)==='"'&&K.charAt(K.length-1)==='"'&&(K=K.substr(1,K.length-2)),v[j]=K}}v.length===0&&v.push(n),N[n]!==void 0&&(N[n].haveCallback=!0,q.push(function(){const j=document.querySelector(`[id="${b}"]`);j!==null&&j.addEventListener("click",function(){C.u.runFunc(F,...v)},!1)}))},Z=function(n,F,r){n.split(",").forEach(function(b){N[b]!==void 0&&(N[b].link=C.u.formatUrl(F,Rt),N[b].linkTarget=r)}),te(n,"clickable")},k=function(n){if(Qt.hasOwnProperty(n))return Qt[n]},u=function(n,F,r){n.split(",").forEach(function(b){J(b,F,r)}),te(n,"clickable")},A=function(n){q.forEach(function(F){F(n)})},P=function(){return Mt.trim()},L=function(){return N},O=function(){return G},ft=function(){return et},rt=function(n){let F=(0,E.Ltv)(".mermaidTooltip");(F._groups||F)[0][0]===null&&(F=(0,E.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,E.Ltv)(n).select("svg").selectAll("g.node").on("mouseover",function(){const v=(0,E.Ltv)(this);if(v.attr("title")===null)return;const K=this.getBoundingClientRect();F.transition().duration(200).style("opacity",".9"),F.text(v.attr("title")).style("left",window.scrollX+K.left+(K.right-K.left)/2+"px").style("top",window.scrollY+K.bottom+"px"),F.html(F.html().replace(/<br\/>/g,"<br/>")),v.classed("hover",!0)}).on("mouseout",function(){F.transition().duration(500).style("opacity",0),(0,E.Ltv)(this).classed("hover",!1)})};q.push(rt);const st=function(n="gen-1"){N={},et={},G=[],q=[rt],ut=[],mt={},le=0,Qt={},Zt=!0,ye=n,Rt=(0,C.c)(),(0,C.v)()},Bt=n=>{ye=n||"gen-2"},Vt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},ie=function(n,F,r){let b=n.text.trim(),v=r.text;n===r&&r.text.match(/\s/)&&(b=void 0);function j(tt){const ee={boolean:{},number:{},string:{}},wt=[];let Nt;return{nodeList:tt.filter(function(dt){const Ft=typeof dt;return dt.stmt&&dt.stmt==="dir"?(Nt=dt.value,!1):dt.trim()===""?!1:Ft in ee?ee[Ft].hasOwnProperty(dt)?!1:ee[Ft][dt]=!0:wt.includes(dt)?!1:wt.push(dt)}),dir:Nt}}let K=[];const{nodeList:xt,dir:$}=j(K.concat.apply(K,F));if(K=xt,ye==="gen-1")for(let tt=0;tt<K.length;tt++)K[tt]=kt(K[tt]);b=b||"subGraph"+le,v=v||"",v=At(v),le=le+1;const Lt={id:b,nodes:K,title:v.trim(),classes:[],dir:$,labelType:r.type};return C.l.info("Adding",Lt.id,Lt.nodes,Lt.dir),Lt.nodes=Yt(Lt,ut).nodes,ut.push(Lt),mt[b]=Lt,b},de=function(n){for(const[F,r]of ut.entries())if(r.id===n)return F;return-1};let ne=-1;const z=[],Q=function(n,F){const r=ut[F].nodes;if(ne=ne+1,ne>2e3)return;if(z[ne]=F,ut[F].id===n)return{result:!0,count:0};let b=0,v=1;for(;b<r.length;){const j=de(r[b]);if(j>=0){const K=Q(n,j);if(K.result)return{result:!0,count:v+K.count};v=v+K.count}b=b+1}return{result:!1,count:v}},be=function(n){return z[n]},Ae=function(){ne=-1,ut.length>0&&Q("none",ut.length-1)},ns=function(){return ut},ss=()=>Zt?(Zt=!1,!0):!1,f=n=>{let F=n.trim(),r="arrow_open";switch(F[0]){case"<":r="arrow_point",F=F.slice(1);break;case"x":r="arrow_cross",F=F.slice(1);break;case"o":r="arrow_circle",F=F.slice(1);break}let b="normal";return F.includes("=")&&(b="thick"),F.includes(".")&&(b="dotted"),{type:r,stroke:b}},M=(n,F)=>{const r=F.length;let b=0;for(let v=0;v<r;++v)F[v]===n&&++b;return b},it=n=>{const F=n.trim();let r=F.slice(0,-1),b="arrow_open";switch(F.slice(-1)){case"x":b="arrow_cross",F[0]==="x"&&(b="double_"+b,r=r.slice(1));break;case">":b="arrow_point",F[0]==="<"&&(b="double_"+b,r=r.slice(1));break;case"o":b="arrow_circle",F[0]==="o"&&(b="double_"+b,r=r.slice(1));break}let v="normal",j=r.length-1;r[0]==="="&&(v="thick"),r[0]==="~"&&(v="invisible");let K=M(".",r);return K&&(v="dotted",j=K),{type:b,stroke:v,length:j}},pt=(n,F)=>{const r=it(n);let b;if(F){if(b=f(F),b.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(b.type==="arrow_open")b.type=r.type;else{if(b.type!==r.type)return{type:"INVALID",stroke:"INVALID"};b.type="double_"+b.type}return b.type==="double_arrow"&&(b.type="double_arrow_point"),b.length=r.length,b}return r},yt=(n,F)=>{let r=!1;return n.forEach(b=>{b.nodes.indexOf(F)>=0&&(r=!0)}),r},Yt=(n,F)=>{const r=[];return n.nodes.forEach((b,v)=>{yt(F,b)||r.push(n.nodes[v])}),{nodes:r}},fe={firstGraph:ss},me={defaultConfig:()=>C.K.flowchart,setAccTitle:C.s,getAccTitle:C.g,getAccDescription:C.a,setAccDescription:C.b,addVertex:bt,lookUpDomId:kt,addLink:Ht,updateLinkInterpolate:re,updateLink:vt,addClass:Tt,setDirection:lt,setClass:te,setTooltip:he,getTooltip:k,setClickEvent:u,setLink:Z,bindFunctions:A,getDirection:P,getVertices:L,getEdges:O,getClasses:ft,clear:st,setGen:Bt,defaultStyle:Vt,addSubGraph:ie,getDepthFirstPos:be,indexNodes:Ae,getSubGraphs:ns,destructLink:pt,lex:fe,exists:yt,makeUniq:Yt,setDiagramTitle:C.q,getDiagramTitle:C.t},ke=Object.freeze(Object.defineProperty({__proto__:null,addClass:Tt,addLink:Ht,addSingleLink:Dt,addSubGraph:ie,addVertex:bt,bindFunctions:A,clear:st,default:me,defaultStyle:Vt,destructLink:pt,firstGraph:ss,getClasses:ft,getDepthFirstPos:be,getDirection:P,getEdges:O,getSubGraphs:ns,getTooltip:k,getVertices:L,indexNodes:Ae,lex:fe,lookUpDomId:kt,setClass:te,setClickEvent:u,setDirection:lt,setGen:Bt,setLink:Z,updateLink:vt,updateLinkInterpolate:re},Symbol.toStringTag,{value:"Module"}))},"./node_modules/mermaid/dist/index-fc10efb0.js":function(je,se,ot){ot.d(se,{r:function(){return Z}});var E=ot("./node_modules/dagre-d3-es/src/dagre/index.js"),C=ot("./node_modules/dagre-d3-es/src/graphlib/json.js"),U=ot("./node_modules/mermaid/dist/edges-d32062c0.js"),w=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),ae=ot("./node_modules/dagre-d3-es/src/graphlib/index.js"),Ot=ot("./node_modules/mermaid/dist/createText-6b48ae7d.js"),Rt=ot("./node_modules/d3/src/index.js");let N={},G={},et={};const ut=()=>{G={},et={},N={}},mt=(k,u)=>(w.l.trace("In isDescendant",u," ",k," = ",G[u].includes(k)),!!G[u].includes(k)),Qt=(k,u)=>(w.l.info("Descendants of ",u," is ",G[u]),w.l.info("Edge is ",k),k.v===u||k.w===u?!1:G[u]?G[u].includes(k.v)||mt(k.v,u)||mt(k.w,u)||G[u].includes(k.w):(w.l.debug("Tilt, ",u,",not in descendants"),!1)),le=(k,u,A,P)=>{w.l.warn("Copying children of ",k,"root",P,"data",u.node(k),P);const L=u.children(k)||[];k!==P&&L.push(k),w.l.warn("Copying (nodes) clusterId",k,"nodes",L),L.forEach(O=>{if(u.children(O).length>0)le(O,u,A,P);else{const ft=u.node(O);w.l.info("cp ",O," to ",P," with parent ",k),A.setNode(O,ft),P!==u.parent(O)&&(w.l.warn("Setting parent",O,u.parent(O)),A.setParent(O,u.parent(O))),k!==P&&O!==k?(w.l.debug("Setting parent",O,k),A.setParent(O,k)):(w.l.info("In copy ",k,"root",P,"data",u.node(k),P),w.l.debug("Not Setting parent for node=",O,"cluster!==rootId",k!==P,"node!==clusterId",O!==k));const rt=u.edges(O);w.l.debug("Copying Edges",rt),rt.forEach(st=>{w.l.info("Edge",st);const Bt=u.edge(st.v,st.w,st.name);w.l.info("Edge data",Bt,P);try{Qt(st,P)?(w.l.info("Copying as ",st.v,st.w,Bt,st.name),A.setEdge(st.v,st.w,Bt,st.name),w.l.info("newGraph edges ",A.edges(),A.edge(A.edges()[0]))):w.l.info("Skipping copy of edge ",st.v,"-->",st.w," rootId: ",P," clusterId:",k)}catch(Vt){w.l.error(Vt)}})}w.l.debug("Removing node",O),u.removeNode(O)})},Zt=(k,u)=>{const A=u.children(k);let P=[...A];for(const L of A)et[L]=k,P=[...P,...Zt(L,u)];return P},Mt=(k,u)=>{w.l.trace("Searching",k);const A=u.children(k);if(w.l.trace("Searching children of id ",k,A),A.length<1)return w.l.trace("This is a valid node",k),k;for(const P of A){const L=Mt(P,u);if(L)return w.l.trace("Found replacement for",k," => ",L),L}},ye=k=>!N[k]||!N[k].externalConnections?k:N[k]?N[k].id:k,q=(k,u)=>{if(!k||u>10){w.l.debug("Opting out, no graph ");return}else w.l.debug("Opting in, graph ");k.nodes().forEach(function(A){k.children(A).length>0&&(w.l.warn("Cluster identified",A," Replacement id in edges: ",Mt(A,k)),G[A]=Zt(A,k),N[A]={id:Mt(A,k),clusterData:k.node(A)})}),k.nodes().forEach(function(A){const P=k.children(A),L=k.edges();P.length>0?(w.l.debug("Cluster identified",A,G),L.forEach(O=>{if(O.v!==A&&O.w!==A){const ft=mt(O.v,A),rt=mt(O.w,A);ft^rt&&(w.l.warn("Edge: ",O," leaves cluster ",A),w.l.warn("Descendants of XXX ",A,": ",G[A]),N[A].externalConnections=!0)}})):w.l.debug("Not a cluster ",A,G)});for(let A of Object.keys(N)){const P=N[A].id,L=k.parent(P);L!==A&&N[L]&&!N[L].externalConnections&&(N[A].id=L)}k.edges().forEach(function(A){const P=k.edge(A);w.l.warn("Edge "+A.v+" -> "+A.w+": "+JSON.stringify(A)),w.l.warn("Edge "+A.v+" -> "+A.w+": "+JSON.stringify(k.edge(A)));let L=A.v,O=A.w;if(w.l.warn("Fix XXX",N,"ids:",A.v,A.w,"Translating: ",N[A.v]," --- ",N[A.w]),N[A.v]&&N[A.w]&&N[A.v]===N[A.w]){w.l.warn("Fixing and trixing link to self - removing XXX",A.v,A.w,A.name),w.l.warn("Fixing and trixing - removing XXX",A.v,A.w,A.name),L=ye(A.v),O=ye(A.w),k.removeEdge(A.v,A.w,A.name);const ft=A.w+"---"+A.v;k.setNode(ft,{domId:ft,id:ft,labelStyle:"",labelText:P.label,padding:0,shape:"labelRect",style:""});const rt=structuredClone(P),st=structuredClone(P);rt.label="",rt.arrowTypeEnd="none",st.label="",rt.fromCluster=A.v,st.toCluster=A.v,k.setEdge(L,ft,rt,A.name+"-cyclic-special"),k.setEdge(ft,O,st,A.name+"-cyclic-special")}else if(N[A.v]||N[A.w]){if(w.l.warn("Fixing and trixing - removing XXX",A.v,A.w,A.name),L=ye(A.v),O=ye(A.w),k.removeEdge(A.v,A.w,A.name),L!==A.v){const ft=k.parent(L);N[ft].externalConnections=!0,P.fromCluster=A.v}if(O!==A.w){const ft=k.parent(O);N[ft].externalConnections=!0,P.toCluster=A.w}w.l.warn("Fix Replacing with XXX",L,O,A.name),k.setEdge(L,O,P,A.name)}}),w.l.warn("Adjusted Graph",C.M(k)),At(k,0),w.l.trace(N)},At=(k,u)=>{if(w.l.warn("extractor - ",u,C.M(k),k.children("D")),u>10){w.l.error("Bailing out");return}let A=k.nodes(),P=!1;for(const L of A){const O=k.children(L);P=P||O.length>0}if(!P){w.l.debug("Done, no node has children",k.nodes());return}w.l.debug("Nodes = ",A,u);for(const L of A)if(w.l.debug("Extracting node",L,N,N[L]&&!N[L].externalConnections,!k.parent(L),k.node(L),k.children("D")," Depth ",u),!N[L])w.l.debug("Not a cluster",L,u);else if(!N[L].externalConnections&&k.children(L)&&k.children(L).length>0){w.l.warn("Cluster without external connections, without a parent and with children",L,u);let ft=k.graph().rankdir==="TB"?"LR":"TB";N[L]&&N[L].clusterData&&N[L].clusterData.dir&&(ft=N[L].clusterData.dir,w.l.warn("Fixing dir",N[L].clusterData.dir,ft));const rt=new ae.T({multigraph:!0,compound:!0}).setGraph({rankdir:ft,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});w.l.warn("Old graph before copy",C.M(k)),le(L,k,rt,L),k.setNode(L,{clusterNode:!0,id:L,clusterData:N[L].clusterData,labelText:N[L].labelText,graph:rt}),w.l.warn("New graph after copy node: (",L,")",C.M(rt)),w.l.debug("Old graph after copy",C.M(k))}else w.l.warn("Cluster ** ",L," **not meeting the criteria !externalConnections:",!N[L].externalConnections," no parent: ",!k.parent(L)," children ",k.children(L)&&k.children(L).length>0,k.children("D"),u),w.l.debug(N);A=k.nodes(),w.l.warn("New list of nodes",A);for(const L of A){const O=k.node(L);w.l.warn(" Now next level",L,O),O.clusterNode&&At(O.graph,u+1)}},kt=(k,u)=>{if(u.length===0)return[];let A=Object.assign(u);return u.forEach(P=>{const L=k.children(P),O=kt(k,L);A=[...A,...O]}),A},bt=k=>kt(k,k.children()),Tt={rect:(k,u)=>{w.l.info("Creating subgraph rect for ",u.id,u);const A=(0,w.c)(),P=k.insert("g").attr("class","cluster"+(u.class?" "+u.class:"")).attr("id",u.id),L=P.insert("rect",":first-child"),O=(0,w.m)(A.flowchart.htmlLabels),ft=P.insert("g").attr("class","cluster-label"),rt=u.labelType==="markdown"?(0,Ot.a)(ft,u.labelText,{style:u.labelStyle,useHtmlLabels:O}):ft.node().appendChild((0,U.c)(u.labelText,u.labelStyle,void 0,!0));let st=rt.getBBox();if((0,w.m)(A.flowchart.htmlLabels)){const z=rt.children[0],Q=(0,Rt.Ltv)(rt);st=z.getBoundingClientRect(),Q.attr("width",st.width),Q.attr("height",st.height)}const Bt=0*u.padding,Vt=Bt/2,ie=u.width<=st.width+Bt?st.width+Bt:u.width;u.width<=st.width+Bt?u.diff=(st.width-u.width)/2-u.padding/2:u.diff=-u.padding/2,w.l.trace("Data ",u,JSON.stringify(u)),L.attr("style",u.style).attr("rx",u.rx).attr("ry",u.ry).attr("x",u.x-ie/2).attr("y",u.y-u.height/2-Vt).attr("width",ie).attr("height",u.height+Bt);const{subGraphTitleTopMargin:de}=(0,U.g)(A);O?ft.attr("transform",`translate(${u.x-st.width/2}, ${u.y-u.height/2+de})`):ft.attr("transform",`translate(${u.x}, ${u.y-u.height/2+de})`);const ne=L.node().getBBox();return u.width=ne.width,u.height=ne.height,u.intersect=function(z){return(0,U.i)(u,z)},P},roundedWithTitle:(k,u)=>{const A=(0,w.c)(),P=k.insert("g").attr("class",u.classes).attr("id",u.id),L=P.insert("rect",":first-child"),O=P.insert("g").attr("class","cluster-label"),ft=P.append("rect"),rt=O.node().appendChild((0,U.c)(u.labelText,u.labelStyle,void 0,!0));let st=rt.getBBox();if((0,w.m)(A.flowchart.htmlLabels)){const z=rt.children[0],Q=(0,Rt.Ltv)(rt);st=z.getBoundingClientRect(),Q.attr("width",st.width),Q.attr("height",st.height)}st=rt.getBBox();const Bt=0*u.padding,Vt=Bt/2,ie=u.width<=st.width+u.padding?st.width+u.padding:u.width;u.width<=st.width+u.padding?u.diff=(st.width+u.padding*0-u.width)/2:u.diff=-u.padding/2,L.attr("class","outer").attr("x",u.x-ie/2-Vt).attr("y",u.y-u.height/2-Vt).attr("width",ie+Bt).attr("height",u.height+Bt),ft.attr("class","inner").attr("x",u.x-ie/2-Vt).attr("y",u.y-u.height/2-Vt+st.height-1).attr("width",ie+Bt).attr("height",u.height+Bt-st.height-3);const{subGraphTitleTopMargin:de}=(0,U.g)(A);O.attr("transform",`translate(${u.x-st.width/2}, ${u.y-u.height/2-u.padding/3+((0,w.m)(A.flowchart.htmlLabels)?5:3)+de})`);const ne=L.node().getBBox();return u.height=ne.height,u.intersect=function(z){return(0,U.i)(u,z)},P},noteGroup:(k,u)=>{const A=k.insert("g").attr("class","note-cluster").attr("id",u.id),P=A.insert("rect",":first-child"),L=0*u.padding,O=L/2;P.attr("rx",u.rx).attr("ry",u.ry).attr("x",u.x-u.width/2-O).attr("y",u.y-u.height/2-O).attr("width",u.width+L).attr("height",u.height+L).attr("fill","none");const ft=P.node().getBBox();return u.width=ft.width,u.height=ft.height,u.intersect=function(rt){return(0,U.i)(u,rt)},A},divider:(k,u)=>{const A=k.insert("g").attr("class",u.classes).attr("id",u.id),P=A.insert("rect",":first-child"),L=0*u.padding,O=L/2;P.attr("class","divider").attr("x",u.x-u.width/2-O).attr("y",u.y-u.height/2).attr("width",u.width+L).attr("height",u.height+L);const ft=P.node().getBBox();return u.width=ft.width,u.height=ft.height,u.diff=-u.padding/2,u.intersect=function(rt){return(0,U.i)(u,rt)},A}};let lt={};const te=(k,u)=>{w.l.trace("Inserting cluster");const A=u.shape||"rect";lt[u.id]=Tt[A](k,u)},he=()=>{lt={}},J=async(k,u,A,P,L,O)=>{w.l.info("Graph in recursive render: XXX",C.M(u),L);const ft=u.graph().rankdir;w.l.trace("Dir in recursive render - dir:",ft);const rt=k.insert("g").attr("class","root");u.nodes()?w.l.info("Recursive render XXX",u.nodes()):w.l.info("No nodes found for",u),u.edges().length>0&&w.l.trace("Recursive edges",u.edge(u.edges()[0]));const st=rt.insert("g").attr("class","clusters"),Bt=rt.insert("g").attr("class","edgePaths"),Vt=rt.insert("g").attr("class","edgeLabels"),ie=rt.insert("g").attr("class","nodes");await Promise.all(u.nodes().map(async function(z){const Q=u.node(z);if(L!==void 0){const be=JSON.parse(JSON.stringify(L.clusterData));w.l.info("Setting data for cluster XXX (",z,") ",be,L),u.setNode(L.id,be),u.parent(z)||(w.l.trace("Setting parent",z,L.id),u.setParent(z,L.id,be))}if(w.l.info("(Insert) Node XXX"+z+": "+JSON.stringify(u.node(z))),Q&&Q.clusterNode){w.l.info("Cluster identified",z,Q.width,u.node(z));const be=await J(ie,Q.graph,A,P,u.node(z),O),Ae=be.elem;(0,U.u)(Q,Ae),Q.diff=be.diff||0,w.l.info("Node bounds (abc123)",z,Q,Q.width,Q.x,Q.y),(0,U.s)(Ae,Q),w.l.warn("Recursive render complete ",Ae,Q)}else u.children(z).length>0?(w.l.info("Cluster - the non recursive path XXX",z,Q.id,Q,u),w.l.info(Mt(Q.id,u)),N[Q.id]={id:Mt(Q.id,u),node:Q}):(w.l.info("Node - the non recursive path",z,Q.id,Q),await(0,U.e)(ie,u.node(z),ft))})),u.edges().forEach(function(z){const Q=u.edge(z.v,z.w,z.name);w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z)),w.l.info("Edge "+z.v+" -> "+z.w+": ",z," ",JSON.stringify(u.edge(z))),w.l.info("Fix",N,"ids:",z.v,z.w,"Translating: ",N[z.v],N[z.w]),(0,U.f)(Vt,Q)}),u.edges().forEach(function(z){w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z))}),w.l.info("#############################################"),w.l.info("### Layout ###"),w.l.info("#############################################"),w.l.info(u),(0,E.Zp)(u),w.l.info("Graph after layout:",C.M(u));let de=0;const{subGraphTitleTotalMargin:ne}=(0,U.g)(O);return bt(u).forEach(function(z){const Q=u.node(z);w.l.info("Position "+z+": "+JSON.stringify(u.node(z))),w.l.info("Position "+z+": ("+Q.x,","+Q.y,") width: ",Q.width," height: ",Q.height),Q&&Q.clusterNode?(Q.y+=ne,(0,U.p)(Q)):u.children(z).length>0?(Q.height+=ne,te(st,Q),N[Q.id].node=Q):(Q.y+=ne/2,(0,U.p)(Q))}),u.edges().forEach(function(z){const Q=u.edge(z);w.l.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(Q),Q),Q.points.forEach(Ae=>Ae.y+=ne/2);const be=(0,U.h)(Bt,z,Q,N,A,u,P);(0,U.j)(Q,be)}),u.nodes().forEach(function(z){const Q=u.node(z);w.l.info(z,Q.type,Q.diff),Q.type==="group"&&(de=Q.diff)}),{elem:rt,diff:de}},Z=async(k,u,A,P,L)=>{(0,U.a)(k,A,P,L),(0,U.b)(),(0,U.d)(),he(),ut(),w.l.warn("Graph at first:",JSON.stringify(C.M(u))),q(u),w.l.warn("Graph after:",JSON.stringify(C.M(u)));const O=(0,w.c)();await J(k,u,P,L,void 0,O)}},"./node_modules/mermaid/dist/styles-3ed67cfa.js":function(je,se,ot){ot.d(se,{a:function(){return ye},f:function(){return le}});var E=ot("./node_modules/dagre-d3-es/src/graphlib/index.js"),C=ot("./node_modules/d3/src/index.js"),U=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),w=ot("./node_modules/mermaid/dist/index-fc10efb0.js"),ae=ot("./node_modules/dagre-d3-es/src/dagre-js/label/add-html-label.js"),Ot=ot("./node_modules/khroma/dist/methods/channel.js"),Rt=ot("./node_modules/khroma/dist/methods/rgba.js");const N={},G=function(q){const At=Object.keys(q);for(const kt of At)N[kt]=q[kt]},et=async function(q,At,kt,bt,Dt,Ht){const re=bt.select(`[id="${kt}"]`),vt=Object.keys(q);for(const Tt of vt){const lt=q[Tt];let te="default";lt.classes.length>0&&(te=lt.classes.join(" ")),te=te+" flowchart-label";const he=(0,U.k)(lt.styles);let J=lt.text!==void 0?lt.text:lt.id,Z;if(U.l.info("vertex",lt,lt.labelType),lt.labelType==="markdown")U.l.info("vertex",lt,lt.labelType);else if((0,U.m)((0,U.c)().flowchart.htmlLabels)){const P={label:J};Z=(0,ae.H)(re,P).node(),Z.parentNode.removeChild(Z)}else{const P=Dt.createElementNS("http://www.w3.org/2000/svg","text");P.setAttribute("style",he.labelStyle.replace("color:","fill:"));const L=J.split(U.e.lineBreakRegex);for(const O of L){const ft=Dt.createElementNS("http://www.w3.org/2000/svg","tspan");ft.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ft.setAttribute("dy","1em"),ft.setAttribute("x","1"),ft.textContent=O,P.appendChild(ft)}Z=P}let k=0,u="";switch(lt.type){case"round":k=5,u="rect";break;case"square":u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"odd":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"odd_right":u="rect_left_inv_arrow";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"group":u="rect";break;case"doublecircle":u="doublecircle";break;default:u="rect"}const A=await(0,U.r)(J,(0,U.c)());At.setNode(lt.id,{labelStyle:he.labelStyle,shape:u,labelText:A,labelType:lt.labelType,rx:k,ry:k,class:te,style:he.style,id:lt.id,link:lt.link,linkTarget:lt.linkTarget,tooltip:Ht.db.getTooltip(lt.id)||"",domId:Ht.db.lookUpDomId(lt.id),haveCallback:lt.haveCallback,width:lt.type==="group"?500:void 0,dir:lt.dir,type:lt.type,props:lt.props,padding:(0,U.c)().flowchart.padding}),U.l.info("setNode",{labelStyle:he.labelStyle,labelType:lt.labelType,shape:u,labelText:A,rx:k,ry:k,class:te,style:he.style,id:lt.id,domId:Ht.db.lookUpDomId(lt.id),width:lt.type==="group"?500:void 0,type:lt.type,dir:lt.dir,props:lt.props,padding:(0,U.c)().flowchart.padding})}},ut=async function(q,At,kt){U.l.info("abc78 edges = ",q);let bt=0,Dt={},Ht,re;if(q.defaultStyle!==void 0){const vt=(0,U.k)(q.defaultStyle);Ht=vt.style,re=vt.labelStyle}for(const vt of q){bt++;const Tt="L-"+vt.start+"-"+vt.end;Dt[Tt]===void 0?(Dt[Tt]=0,U.l.info("abc78 new entry",Tt,Dt[Tt])):(Dt[Tt]++,U.l.info("abc78 new entry",Tt,Dt[Tt]));let lt=Tt+"-"+Dt[Tt];U.l.info("abc78 new link id to be used is",Tt,lt,Dt[Tt]);const te="LS-"+vt.start,he="LE-"+vt.end,J={style:"",labelStyle:""};switch(J.minlen=vt.length||1,vt.type==="arrow_open"?J.arrowhead="none":J.arrowhead="normal",J.arrowTypeStart="arrow_open",J.arrowTypeEnd="arrow_open",vt.type){case"double_arrow_cross":J.arrowTypeStart="arrow_cross";case"arrow_cross":J.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":J.arrowTypeStart="arrow_point";case"arrow_point":J.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":J.arrowTypeStart="arrow_circle";case"arrow_circle":J.arrowTypeEnd="arrow_circle";break}let Z="",k="";switch(vt.stroke){case"normal":Z="fill:none;",Ht!==void 0&&(Z=Ht),re!==void 0&&(k=re),J.thickness="normal",J.pattern="solid";break;case"dotted":J.thickness="normal",J.pattern="dotted",J.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":J.thickness="thick",J.pattern="solid",J.style="stroke-width: 3.5px;fill:none;";break;case"invisible":J.thickness="invisible",J.pattern="solid",J.style="stroke-width: 0;fill:none;";break}if(vt.style!==void 0){const u=(0,U.k)(vt.style);Z=u.style,k=u.labelStyle}J.style=J.style+=Z,J.labelStyle=J.labelStyle+=k,vt.interpolate!==void 0?J.curve=(0,U.n)(vt.interpolate,C.lUB):q.defaultInterpolate!==void 0?J.curve=(0,U.n)(q.defaultInterpolate,C.lUB):J.curve=(0,U.n)(N.curve,C.lUB),vt.text===void 0?vt.style!==void 0&&(J.arrowheadStyle="fill: #333"):(J.arrowheadStyle="fill: #333",J.labelpos="c"),J.labelType=vt.labelType,J.label=await(0,U.r)(vt.text.replace(U.e.lineBreakRegex,`
|
|
`),(0,U.c)()),vt.style===void 0&&(J.style=J.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),J.labelStyle=J.labelStyle.replace("color:","fill:"),J.id=lt,J.classes="flowchart-link "+te+" "+he,At.setEdge(vt.start,vt.end,J,bt)}},le={setConf:G,addVertices:et,addEdges:ut,getClasses:function(q,At){return At.db.getClasses()},draw:async function(q,At,kt,bt){U.l.info("Drawing flowchart");let Dt=bt.db.getDirection();Dt===void 0&&(Dt="TD");const{securityLevel:Ht,flowchart:re}=(0,U.c)(),vt=re.nodeSpacing||50,Tt=re.rankSpacing||50;let lt;Ht==="sandbox"&&(lt=(0,C.Ltv)("#i"+At));const te=Ht==="sandbox"?(0,C.Ltv)(lt.nodes()[0].contentDocument.body):(0,C.Ltv)("body"),he=Ht==="sandbox"?lt.nodes()[0].contentDocument:document,J=new E.T({multigraph:!0,compound:!0}).setGraph({rankdir:Dt,nodesep:vt,ranksep:Tt,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let Z;const k=bt.db.getSubGraphs();U.l.info("Subgraphs - ",k);for(let rt=k.length-1;rt>=0;rt--)Z=k[rt],U.l.info("Subgraph - ",Z),bt.db.addVertex(Z.id,{text:Z.title,type:Z.labelType},"group",void 0,Z.classes,Z.dir);const u=bt.db.getVertices(),A=bt.db.getEdges();U.l.info("Edges",A);let P=0;for(P=k.length-1;P>=0;P--){Z=k[P],(0,C.Ubm)("cluster").append("text");for(let rt=0;rt<Z.nodes.length;rt++)U.l.info("Setting up subgraphs",Z.nodes[rt],Z.id),J.setParent(Z.nodes[rt],Z.id)}await et(u,J,At,te,he,bt),await ut(A,J);const L=te.select(`[id="${At}"]`),O=te.select("#"+At+" g");if(await(0,w.r)(O,J,["point","circle","cross"],"flowchart",At),U.u.insertTitle(L,"flowchartTitleText",re.titleTopMargin,bt.db.getDiagramTitle()),(0,U.o)(J,L,re.diagramPadding,re.useMaxWidth),bt.db.indexNodes("subGraph"+P),!re.htmlLabels){const rt=he.querySelectorAll('[id="'+At+'"] .edgeLabel .label');for(const st of rt){const Bt=st.getBBox(),Vt=he.createElementNS("http://www.w3.org/2000/svg","rect");Vt.setAttribute("rx",0),Vt.setAttribute("ry",0),Vt.setAttribute("width",Bt.width),Vt.setAttribute("height",Bt.height),st.insertBefore(Vt,st.firstChild)}}Object.keys(u).forEach(function(rt){const st=u[rt];if(st.link){const Bt=(0,C.Ltv)("#"+At+' [id="'+rt+'"]');if(Bt){const Vt=he.createElementNS("http://www.w3.org/2000/svg","a");Vt.setAttributeNS("http://www.w3.org/2000/svg","class",st.classes.join(" ")),Vt.setAttributeNS("http://www.w3.org/2000/svg","href",st.link),Vt.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),Ht==="sandbox"?Vt.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):st.linkTarget&&Vt.setAttributeNS("http://www.w3.org/2000/svg","target",st.linkTarget);const ie=Bt.insert(function(){return Vt},":first-child"),de=Bt.select(".label-container");de&&ie.append(function(){return de.node()});const ne=Bt.select(".label");ne&&ie.append(function(){return ne.node()})}}})}},Zt=(q,At)=>{const kt=Ot.A,bt=kt(q,"r"),Dt=kt(q,"g"),Ht=kt(q,"b");return Rt.A(bt,Dt,Ht,At)},ye=q=>`.label {
|
|
font-family: ${q.fontFamily};
|
|
color: ${q.nodeTextColor||q.textColor};
|
|
}
|
|
.cluster-label text {
|
|
fill: ${q.titleColor};
|
|
}
|
|
.cluster-label span,p {
|
|
color: ${q.titleColor};
|
|
}
|
|
|
|
.label text,span,p {
|
|
fill: ${q.nodeTextColor||q.textColor};
|
|
color: ${q.nodeTextColor||q.textColor};
|
|
}
|
|
|
|
.node rect,
|
|
.node circle,
|
|
.node ellipse,
|
|
.node polygon,
|
|
.node path {
|
|
fill: ${q.mainBkg};
|
|
stroke: ${q.nodeBorder};
|
|
stroke-width: 1px;
|
|
}
|
|
.flowchart-label text {
|
|
text-anchor: middle;
|
|
}
|
|
// .flowchart-label .text-outer-tspan {
|
|
// text-anchor: middle;
|
|
// }
|
|
// .flowchart-label .text-inner-tspan {
|
|
// text-anchor: start;
|
|
// }
|
|
|
|
.node .katex path {
|
|
fill: #000;
|
|
stroke: #000;
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
.node .label {
|
|
text-align: center;
|
|
}
|
|
.node.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.arrowheadPath {
|
|
fill: ${q.arrowheadColor};
|
|
}
|
|
|
|
.edgePath .path {
|
|
stroke: ${q.lineColor};
|
|
stroke-width: 2.0px;
|
|
}
|
|
|
|
.flowchart-link {
|
|
stroke: ${q.lineColor};
|
|
fill: none;
|
|
}
|
|
|
|
.edgeLabel {
|
|
background-color: ${q.edgeLabelBackground};
|
|
rect {
|
|
opacity: 0.5;
|
|
background-color: ${q.edgeLabelBackground};
|
|
fill: ${q.edgeLabelBackground};
|
|
}
|
|
text-align: center;
|
|
}
|
|
|
|
/* For html labels only */
|
|
.labelBkg {
|
|
background-color: ${Zt(q.edgeLabelBackground,.5)};
|
|
// background-color:
|
|
}
|
|
|
|
.cluster rect {
|
|
fill: ${q.clusterBkg};
|
|
stroke: ${q.clusterBorder};
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
.cluster text {
|
|
fill: ${q.titleColor};
|
|
}
|
|
|
|
.cluster span,p {
|
|
color: ${q.titleColor};
|
|
}
|
|
/* .cluster div {
|
|
color: ${q.titleColor};
|
|
} */
|
|
|
|
div.mermaidTooltip {
|
|
position: absolute;
|
|
text-align: center;
|
|
max-width: 200px;
|
|
padding: 2px;
|
|
font-family: ${q.fontFamily};
|
|
font-size: 12px;
|
|
background: ${q.tertiaryColor};
|
|
border: 1px solid ${q.border2};
|
|
border-radius: 2px;
|
|
pointer-events: none;
|
|
z-index: 100;
|
|
}
|
|
|
|
.flowchartTitleText {
|
|
text-anchor: middle;
|
|
font-size: 18px;
|
|
fill: ${q.textColor};
|
|
}
|
|
`},"./node_modules/mermaid/dist/styles-991ebdfc.js":function(je,se,ot){ot.d(se,{d:function(){return Ae},p:function(){return w},s:function(){return ss}});var E=ot("./node_modules/d3/src/index.js"),C=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),U=function(){var f=function(ht,I,H,W){for(H=H||{},W=ht.length;W--;H[ht[W]]=I);return H},M=[1,17],it=[1,18],pt=[1,19],yt=[1,39],Yt=[1,40],fe=[1,25],me=[1,23],ke=[1,24],n=[1,31],F=[1,32],r=[1,33],b=[1,34],v=[1,35],j=[1,36],K=[1,26],xt=[1,27],$=[1,28],Lt=[1,29],tt=[1,43],ee=[1,30],wt=[1,42],Nt=[1,44],_t=[1,41],dt=[1,45],Ft=[1,9],ct=[1,8,9],Ee=[1,56],ge=[1,57],Te=[1,58],Wt=[1,59],Kt=[1,60],zt=[1,61],Jt=[1,62],s=[1,8,9,39],t=[1,74],e=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],a=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],c=[13,74,80,95,97,98],i=[13,64,65,74,80,95,97,98],o=[13,59,60,61,62,63,74,80,95,97,98],h=[1,93],g=[1,110],R=[1,108],m=[1,102],x=[1,103],D=[1,104],T=[1,105],Y=[1,106],nt=[1,107],S=[1,109],Et=[1,8,9,37,39,42],X=[1,8,9,21],It=[1,8,9,78],St=[1,8,9,21,73,74,78,80,81,82,83,84,85],ue={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(I,H,W,B,Pt,p,we){var y=p.length-1;switch(Pt){case 8:this.$=p[y-1];break;case 9:case 11:case 12:this.$=p[y];break;case 10:case 13:this.$=p[y-1]+p[y];break;case 14:case 15:this.$=p[y-1]+"~"+p[y]+"~";break;case 16:B.addRelation(p[y]);break;case 17:p[y-1].title=B.cleanupLabel(p[y]),B.addRelation(p[y-1]);break;case 27:this.$=p[y].trim(),B.setAccTitle(this.$);break;case 28:case 29:this.$=p[y].trim(),B.setAccDescription(this.$);break;case 30:B.addClassesToNamespace(p[y-3],p[y-1]);break;case 31:B.addClassesToNamespace(p[y-4],p[y-1]);break;case 32:this.$=p[y],B.addNamespace(p[y]);break;case 33:this.$=[p[y]];break;case 34:this.$=[p[y-1]];break;case 35:p[y].unshift(p[y-2]),this.$=p[y];break;case 37:B.setCssClass(p[y-2],p[y]);break;case 38:B.addMembers(p[y-3],p[y-1]);break;case 39:B.setCssClass(p[y-5],p[y-3]),B.addMembers(p[y-5],p[y-1]);break;case 40:this.$=p[y],B.addClass(p[y]);break;case 41:this.$=p[y-1],B.addClass(p[y-1]),B.setClassLabel(p[y-1],p[y]);break;case 42:B.addAnnotation(p[y],p[y-2]);break;case 43:this.$=[p[y]];break;case 44:p[y].push(p[y-1]),this.$=p[y];break;case 45:break;case 46:B.addMember(p[y-1],B.cleanupLabel(p[y]));break;case 47:break;case 48:break;case 49:this.$={id1:p[y-2],id2:p[y],relation:p[y-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:p[y-3],id2:p[y],relation:p[y-1],relationTitle1:p[y-2],relationTitle2:"none"};break;case 51:this.$={id1:p[y-3],id2:p[y],relation:p[y-2],relationTitle1:"none",relationTitle2:p[y-1]};break;case 52:this.$={id1:p[y-4],id2:p[y],relation:p[y-2],relationTitle1:p[y-3],relationTitle2:p[y-1]};break;case 53:B.addNote(p[y],p[y-1]);break;case 54:B.addNote(p[y]);break;case 55:B.setDirection("TB");break;case 56:B.setDirection("BT");break;case 57:B.setDirection("RL");break;case 58:B.setDirection("LR");break;case 59:this.$={type1:p[y-2],type2:p[y],lineType:p[y-1]};break;case 60:this.$={type1:"none",type2:p[y],lineType:p[y-1]};break;case 61:this.$={type1:p[y-1],type2:"none",lineType:p[y]};break;case 62:this.$={type1:"none",type2:"none",lineType:p[y]};break;case 63:this.$=B.relationType.AGGREGATION;break;case 64:this.$=B.relationType.EXTENSION;break;case 65:this.$=B.relationType.COMPOSITION;break;case 66:this.$=B.relationType.DEPENDENCY;break;case 67:this.$=B.relationType.LOLLIPOP;break;case 68:this.$=B.lineType.LINE;break;case 69:this.$=B.lineType.DOTTED_LINE;break;case 70:case 76:this.$=p[y-2],B.setClickEvent(p[y-1],p[y]);break;case 71:case 77:this.$=p[y-3],B.setClickEvent(p[y-2],p[y-1]),B.setTooltip(p[y-2],p[y]);break;case 72:this.$=p[y-2],B.setLink(p[y-1],p[y]);break;case 73:this.$=p[y-3],B.setLink(p[y-2],p[y-1],p[y]);break;case 74:this.$=p[y-3],B.setLink(p[y-2],p[y-1]),B.setTooltip(p[y-2],p[y]);break;case 75:this.$=p[y-4],B.setLink(p[y-3],p[y-2],p[y]),B.setTooltip(p[y-3],p[y-1]);break;case 78:this.$=p[y-3],B.setClickEvent(p[y-2],p[y-1],p[y]);break;case 79:this.$=p[y-4],B.setClickEvent(p[y-3],p[y-2],p[y-1]),B.setTooltip(p[y-3],p[y]);break;case 80:this.$=p[y-3],B.setLink(p[y-2],p[y]);break;case 81:this.$=p[y-4],B.setLink(p[y-3],p[y-1],p[y]);break;case 82:this.$=p[y-4],B.setLink(p[y-3],p[y-1]),B.setTooltip(p[y-3],p[y]);break;case 83:this.$=p[y-5],B.setLink(p[y-4],p[y-2],p[y]),B.setTooltip(p[y-4],p[y-1]);break;case 84:this.$=p[y-2],B.setCssStyle(p[y-1],p[y]);break;case 85:B.setCssClass(p[y-1],p[y]);break;case 86:this.$=[p[y]];break;case 87:p[y-2].push(p[y]),this.$=p[y-2];break;case 89:this.$=p[y-1]+p[y];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:M,33:it,35:pt,36:21,40:yt,41:22,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},f(Ft,[2,5],{8:[1,46]}),{8:[1,47]},f(ct,[2,16],{21:[1,48]}),f(ct,[2,18]),f(ct,[2,19]),f(ct,[2,20]),f(ct,[2,21]),f(ct,[2,22]),f(ct,[2,23]),f(ct,[2,24]),f(ct,[2,25]),f(ct,[2,26]),{32:[1,49]},{34:[1,50]},f(ct,[2,29]),f(ct,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Ee,60:ge,61:Te,62:Wt,63:Kt,64:zt,65:Jt}),{37:[1,63]},f(s,[2,36],{37:[1,65],42:[1,64]}),f(ct,[2,47]),f(ct,[2,48]),{16:66,74:tt,80:wt,95:Nt,97:_t},{16:37,17:67,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{16:37,17:68,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{16:37,17:69,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{13:t,51:73},f(ct,[2,55]),f(ct,[2,56]),f(ct,[2,57]),f(ct,[2,58]),f(e,[2,11],{16:37,18:38,17:75,19:[1,76],74:tt,80:wt,95:Nt,97:_t,98:dt}),f(e,[2,12],{19:[1,77]}),{15:78,16:79,74:tt,80:wt,95:Nt,97:_t},{16:37,17:80,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(a,[2,112]),f(a,[2,113]),f(a,[2,114]),f(a,[2,115]),f([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),f(Ft,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:M,33:it,35:pt,40:yt,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:M,33:it,35:pt,36:21,40:yt,41:22,44:Yt,45:fe,47:me,48:ke,50:n,52:F,53:r,54:b,55:v,56:j,66:K,67:xt,69:$,73:Lt,74:tt,76:ee,80:wt,95:Nt,97:_t,98:dt},f(ct,[2,17]),f(ct,[2,27]),f(ct,[2,28]),{13:[1,84],16:37,17:83,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{49:85,57:54,58:55,59:Ee,60:ge,61:Te,62:Wt,63:Kt,64:zt,65:Jt},f(ct,[2,46]),{58:86,64:zt,65:Jt},f(c,[2,62],{57:87,59:Ee,60:ge,61:Te,62:Wt,63:Kt}),f(i,[2,63]),f(i,[2,64]),f(i,[2,65]),f(i,[2,66]),f(i,[2,67]),f(o,[2,68]),f(o,[2,69]),{8:[1,89],23:90,38:88,41:22,44:Yt},{16:91,74:tt,80:wt,95:Nt,97:_t},{43:92,47:h},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:g,73:R,74:m,75:99,77:100,79:101,80:x,81:D,82:T,83:Y,84:nt,85:S},{74:[1,111]},{13:t,51:112},f(ct,[2,54]),f(ct,[2,117]),f(e,[2,13]),f(e,[2,14]),f(e,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:tt,80:wt,95:Nt,97:_t},f(Et,[2,40],{11:114,12:[1,115]}),f(Ft,[2,7]),{9:[1,116]},f(X,[2,49]),{16:37,17:117,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},{13:[1,119],16:37,17:118,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(c,[2,61],{57:120,59:Ee,60:ge,61:Te,62:Wt,63:Kt}),f(c,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:Yt},{8:[1,123],39:[2,33]},f(s,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:h},{16:37,17:127,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(ct,[2,70],{13:[1,128]}),f(ct,[2,72],{13:[1,130],68:[1,129]}),f(ct,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},f(ct,[2,84],{78:[1,134]}),f(It,[2,86],{79:135,21:g,73:R,74:m,80:x,81:D,82:T,83:Y,84:nt,85:S}),f(St,[2,88]),f(St,[2,90]),f(St,[2,91]),f(St,[2,92]),f(St,[2,93]),f(St,[2,94]),f(St,[2,95]),f(St,[2,96]),f(St,[2,97]),f(St,[2,98]),f(ct,[2,85]),f(ct,[2,53]),{37:[2,10]},f(Et,[2,41]),{13:[1,136]},{1:[2,4]},f(X,[2,51]),f(X,[2,50]),{16:37,17:137,18:38,74:tt,80:wt,95:Nt,97:_t,98:dt},f(c,[2,59]),f(ct,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:Yt},{43:140,47:h},f(s,[2,38]),{39:[2,44]},f(ct,[2,42]),f(ct,[2,71]),f(ct,[2,73]),f(ct,[2,74],{68:[1,141]}),f(ct,[2,77]),f(ct,[2,78],{13:[1,142]}),f(ct,[2,80],{13:[1,144],68:[1,143]}),{21:g,73:R,74:m,77:145,79:101,80:x,81:D,82:T,83:Y,84:nt,85:S},f(St,[2,89]),{14:[1,146]},f(X,[2,52]),f(ct,[2,31]),{39:[2,35]},{39:[1,147]},f(ct,[2,75]),f(ct,[2,79]),f(ct,[2,81]),f(ct,[2,82],{68:[1,148]}),f(It,[2,87],{79:135,21:g,73:R,74:m,80:x,81:D,82:T,83:Y,84:nt,85:S}),f(Et,[2,8]),f(s,[2,39]),f(ct,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(I,H){if(H.recoverable)this.trace(I);else{var W=new Error(I);throw W.hash=H,W}},parse:function(I){var H=this,W=[0],B=[],Pt=[null],p=[],we=this.table,y="",Ue=0,Re=0,Ye=2,Be=1,as=p.slice.call(arguments,1),qt=Object.create(this.lexer),Fe={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Fe.yy[Ce]=this.yy[Ce]);qt.setInput(I,Fe.yy),Fe.yy.lexer=qt,Fe.yy.parser=this,typeof qt.yylloc>"u"&&(qt.yylloc={});var hs=qt.yylloc;p.push(hs);var xs=qt.options&&qt.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _s(){var Ie;return Ie=B.pop()||qt.lex()||Be,typeof Ie!="number"&&(Ie instanceof Array&&(B=Ie,Ie=B.pop()),Ie=H.symbols_[Ie]||Ie),Ie}for(var _e,Ge,Le,ds,We={},ls,Me,bs,cs;;){if(Ge=W[W.length-1],this.defaultActions[Ge]?Le=this.defaultActions[Ge]:((_e===null||typeof _e>"u")&&(_e=_s()),Le=we[Ge]&&we[Ge][_e]),typeof Le>"u"||!Le.length||!Le[0]){var fs="";cs=[];for(ls in we[Ge])this.terminals_[ls]&&ls>Ye&&cs.push("'"+this.terminals_[ls]+"'");qt.showPosition?fs="Parse error on line "+(Ue+1)+`:
|
|
`+qt.showPosition()+`
|
|
Expecting `+cs.join(", ")+", got '"+(this.terminals_[_e]||_e)+"'":fs="Parse error on line "+(Ue+1)+": Unexpected "+(_e==Be?"end of input":"'"+(this.terminals_[_e]||_e)+"'"),this.parseError(fs,{text:qt.match,token:this.terminals_[_e]||_e,line:qt.yylineno,loc:hs,expected:cs})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ge+", token: "+_e);switch(Le[0]){case 1:W.push(_e),Pt.push(qt.yytext),p.push(qt.yylloc),W.push(Le[1]),_e=null,Re=qt.yyleng,y=qt.yytext,Ue=qt.yylineno,hs=qt.yylloc;break;case 2:if(Me=this.productions_[Le[1]][1],We.$=Pt[Pt.length-Me],We._$={first_line:p[p.length-(Me||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(Me||1)].first_column,last_column:p[p.length-1].last_column},xs&&(We._$.range=[p[p.length-(Me||1)].range[0],p[p.length-1].range[1]]),ds=this.performAction.apply(We,[y,Re,Ue,Fe.yy,Le[1],Pt,p].concat(as)),typeof ds<"u")return ds;Me&&(W=W.slice(0,-1*Me*2),Pt=Pt.slice(0,-1*Me),p=p.slice(0,-1*Me)),W.push(this.productions_[Le[1]][0]),Pt.push(We.$),p.push(We._$),bs=we[W[W.length-2]][W[W.length-1]],W.push(bs);break;case 3:return!0}}return!0}},pe=function(){var ht={EOF:1,parseError:function(H,W){if(this.yy.parser)this.yy.parser.parseError(H,W);else throw new Error(H)},setInput:function(I,H){return this.yy=H||this.yy||{},this._input=I,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},input:function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var H=I.match(/(?:\r\n?|\n).*/g);return H?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},unput:function(I){var H=I.length,W=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-H),this.offset-=H;var B=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),W.length-1&&(this.yylineno-=W.length-1);var Pt=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:W?(W.length===B.length?this.yylloc.first_column:0)+B[B.length-W.length].length-W[0].length:this.yylloc.first_column-H},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-H]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(I){this.unput(this.match.slice(I))},pastInput:function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var I=this.pastInput(),H=new Array(I.length+1).join("-");return I+this.upcomingInput()+`
|
|
`+H+"^"},test_match:function(I,H){var W,B,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),B=I[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,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(I[0].length),this.matched+=I[0],W=this.performAction.call(this,this.yy,this,H,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var p in Pt)this[p]=Pt[p];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,H,W,B;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),p=0;p<Pt.length;p++)if(W=this._input.match(this.rules[Pt[p]]),W&&(!H||W[0].length>H[0].length)){if(H=W,B=p,this.options.backtrack_lexer){if(I=this.test_match(W,Pt[p]),I!==!1)return I;if(this._backtrack){H=!1;continue}else return!1}else if(!this.options.flex)break}return H?(I=this.test_match(H,Pt[B]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var H=this.next();return H||this.lex()},begin:function(H){this.conditionStack.push(H)},popState:function(){var H=this.conditionStack.length-1;return H>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(H){return H=this.conditionStack.length-1-Math.abs(H||0),H>=0?this.conditionStack[H]:"INITIAL"},pushState:function(H){this.begin(H)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(H,W,B,Pt){switch(B){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return ht}();ue.lexer=pe;function Se(){this.yy={}}return Se.prototype=ue,ue.Parser=Se,new Se}();U.parser=U;const w=U,ae=["#","+","~","-",""];class Ot{constructor(M,it){this.memberType=it,this.visibility="",this.classifier="";const pt=(0,C.d)(M,(0,C.c)());this.parseMember(pt)}getDisplayDetails(){let M=this.visibility+(0,C.x)(this.id);this.memberType==="method"&&(M+=`(${(0,C.x)(this.parameters.trim())})`,this.returnType&&(M+=" : "+(0,C.x)(this.returnType))),M=M.trim();const it=this.parseClassifier();return{displayText:M,cssStyle:it}}parseMember(M){let it="";if(this.memberType==="method"){const pt=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,yt=M.match(pt);if(yt){const Yt=yt[1]?yt[1].trim():"";if(ae.includes(Yt)&&(this.visibility=Yt),this.id=yt[2].trim(),this.parameters=yt[3]?yt[3].trim():"",it=yt[4]?yt[4].trim():"",this.returnType=yt[5]?yt[5].trim():"",it===""){const fe=this.returnType.substring(this.returnType.length-1);fe.match(/[$*]/)&&(it=fe,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const pt=M.length,yt=M.substring(0,1),Yt=M.substring(pt-1);ae.includes(yt)&&(this.visibility=yt),Yt.match(/[$*]/)&&(it=Yt),this.id=M.substring(this.visibility===""?0:1,it===""?pt:pt-1)}this.classifier=it}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const Rt="classId-";let N=[],G={},et=[],ut=0,mt={},Qt=0,le=[];const Zt=f=>C.e.sanitizeText(f,(0,C.c)()),Mt=function(f){const M=C.e.sanitizeText(f,(0,C.c)());let it="",pt=M;if(M.indexOf("~")>0){const yt=M.split("~");pt=Zt(yt[0]),it=Zt(yt[1])}return{className:pt,type:it}},ye=function(f,M){const it=C.e.sanitizeText(f,(0,C.c)());M&&(M=Zt(M));const{className:pt}=Mt(it);G[pt].label=M},q=function(f){const M=C.e.sanitizeText(f,(0,C.c)()),{className:it,type:pt}=Mt(M);if(Object.hasOwn(G,it))return;const yt=C.e.sanitizeText(it,(0,C.c)());G[yt]={id:yt,type:pt,label:yt,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:Rt+yt+"-"+ut},ut++},At=function(f){const M=C.e.sanitizeText(f,(0,C.c)());if(M in G)return G[M].domId;throw new Error("Class not found: "+M)},kt=function(){N=[],G={},et=[],le=[],le.push(st),mt={},Qt=0,(0,C.v)()},bt=function(f){return G[f]},Dt=function(){return G},Ht=function(){return N},re=function(){return et},vt=function(f){C.l.debug("Adding relation: "+JSON.stringify(f)),q(f.id1),q(f.id2),f.id1=Mt(f.id1).className,f.id2=Mt(f.id2).className,f.relationTitle1=C.e.sanitizeText(f.relationTitle1.trim(),(0,C.c)()),f.relationTitle2=C.e.sanitizeText(f.relationTitle2.trim(),(0,C.c)()),N.push(f)},Tt=function(f,M){const it=Mt(f).className;G[it].annotations.push(M)},lt=function(f,M){q(f);const it=Mt(f).className,pt=G[it];if(typeof M=="string"){const yt=M.trim();yt.startsWith("<<")&&yt.endsWith(">>")?pt.annotations.push(Zt(yt.substring(2,yt.length-2))):yt.indexOf(")")>0?pt.methods.push(new Ot(yt,"method")):yt&&pt.members.push(new Ot(yt,"attribute"))}},te=function(f,M){Array.isArray(M)&&(M.reverse(),M.forEach(it=>lt(f,it)))},he=function(f,M){const it={id:`note${et.length}`,class:M,text:f};et.push(it)},J=function(f){return f.startsWith(":")&&(f=f.substring(1)),Zt(f.trim())},Z=function(f,M){f.split(",").forEach(function(it){let pt=it;it[0].match(/\d/)&&(pt=Rt+pt),G[pt]!==void 0&&G[pt].cssClasses.push(M)})},k=function(f,M){f.split(",").forEach(function(it){M!==void 0&&(G[it].tooltip=Zt(M))})},u=function(f,M){return M?mt[M].classes[f].tooltip:G[f].tooltip},A=function(f,M,it){const pt=(0,C.c)();f.split(",").forEach(function(yt){let Yt=yt;yt[0].match(/\d/)&&(Yt=Rt+Yt),G[Yt]!==void 0&&(G[Yt].link=C.u.formatUrl(M,pt),pt.securityLevel==="sandbox"?G[Yt].linkTarget="_top":typeof it=="string"?G[Yt].linkTarget=Zt(it):G[Yt].linkTarget="_blank")}),Z(f,"clickable")},P=function(f,M,it){f.split(",").forEach(function(pt){L(pt,M,it),G[pt].haveCallback=!0}),Z(f,"clickable")},L=function(f,M,it){const pt=C.e.sanitizeText(f,(0,C.c)());if((0,C.c)().securityLevel!=="loose"||M===void 0)return;const Yt=pt;if(G[Yt]!==void 0){const fe=At(Yt);let me=[];if(typeof it=="string"){me=it.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let ke=0;ke<me.length;ke++){let n=me[ke].trim();n.charAt(0)==='"'&&n.charAt(n.length-1)==='"'&&(n=n.substr(1,n.length-2)),me[ke]=n}}me.length===0&&me.push(fe),le.push(function(){const ke=document.querySelector(`[id="${fe}"]`);ke!==null&&ke.addEventListener("click",function(){C.u.runFunc(M,...me)},!1)})}},O=function(f){le.forEach(function(M){M(f)})},ft={LINE:0,DOTTED_LINE:1},rt={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},st=function(f){let M=(0,E.Ltv)(".mermaidTooltip");(M._groups||M)[0][0]===null&&(M=(0,E.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,E.Ltv)(f).select("svg").selectAll("g.node").on("mouseover",function(){const yt=(0,E.Ltv)(this);if(yt.attr("title")===null)return;const fe=this.getBoundingClientRect();M.transition().duration(200).style("opacity",".9"),M.text(yt.attr("title")).style("left",window.scrollX+fe.left+(fe.right-fe.left)/2+"px").style("top",window.scrollY+fe.top-14+document.body.scrollTop+"px"),M.html(M.html().replace(/<br\/>/g,"<br/>")),yt.classed("hover",!0)}).on("mouseout",function(){M.transition().duration(500).style("opacity",0),(0,E.Ltv)(this).classed("hover",!1)})};le.push(st);let Bt="TB";const Vt=()=>Bt,ie=f=>{Bt=f},de=function(f){mt[f]===void 0&&(mt[f]={id:f,classes:{},children:{},domId:Rt+f+"-"+Qt},Qt++)},ne=function(f){return mt[f]},z=function(){return mt},Q=function(f,M){if(mt[f]!==void 0)for(const it of M){const{className:pt}=Mt(it);G[pt].parent=f,mt[f].classes[pt]=G[pt]}},be=function(f,M){const it=G[f];if(!(!M||!it))for(const pt of M)pt.includes(",")?it.styles.push(...pt.split(",")):it.styles.push(pt)},Ae={setAccTitle:C.s,getAccTitle:C.g,getAccDescription:C.a,setAccDescription:C.b,getConfig:()=>(0,C.c)().class,addClass:q,bindFunctions:O,clear:kt,getClass:bt,getClasses:Dt,getNotes:re,addAnnotation:Tt,addNote:he,getRelations:Ht,addRelation:vt,getDirection:Vt,setDirection:ie,addMember:lt,addMembers:te,cleanupLabel:J,lineType:ft,relationType:rt,setClickEvent:P,setCssClass:Z,setLink:A,getTooltip:u,setTooltip:k,lookUpDomId:At,setDiagramTitle:C.q,getDiagramTitle:C.t,setClassLabel:ye,addNamespace:de,addClassesToNamespace:Q,getNamespace:ne,getNamespaces:z,setCssStyle:be},ss=f=>`g.classGroup text {
|
|
fill: ${f.nodeBorder||f.classText};
|
|
stroke: none;
|
|
font-family: ${f.fontFamily};
|
|
font-size: 10px;
|
|
|
|
.title {
|
|
font-weight: bolder;
|
|
}
|
|
|
|
}
|
|
|
|
.nodeLabel, .edgeLabel {
|
|
color: ${f.classText};
|
|
}
|
|
.edgeLabel .label rect {
|
|
fill: ${f.mainBkg};
|
|
}
|
|
.label text {
|
|
fill: ${f.classText};
|
|
}
|
|
.edgeLabel .label span {
|
|
background: ${f.mainBkg};
|
|
}
|
|
|
|
.classTitle {
|
|
font-weight: bolder;
|
|
}
|
|
.node rect,
|
|
.node circle,
|
|
.node ellipse,
|
|
.node polygon,
|
|
.node path {
|
|
fill: ${f.mainBkg};
|
|
stroke: ${f.nodeBorder};
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
|
|
.divider {
|
|
stroke: ${f.nodeBorder};
|
|
stroke-width: 1;
|
|
}
|
|
|
|
g.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
g.classGroup rect {
|
|
fill: ${f.mainBkg};
|
|
stroke: ${f.nodeBorder};
|
|
}
|
|
|
|
g.classGroup line {
|
|
stroke: ${f.nodeBorder};
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.classLabel .box {
|
|
stroke: none;
|
|
stroke-width: 0;
|
|
fill: ${f.mainBkg};
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.classLabel .label {
|
|
fill: ${f.nodeBorder};
|
|
font-size: 10px;
|
|
}
|
|
|
|
.relation {
|
|
stroke: ${f.lineColor};
|
|
stroke-width: 1;
|
|
fill: none;
|
|
}
|
|
|
|
.dashed-line{
|
|
stroke-dasharray: 3;
|
|
}
|
|
|
|
.dotted-line{
|
|
stroke-dasharray: 1 2;
|
|
}
|
|
|
|
#compositionStart, .composition {
|
|
fill: ${f.lineColor} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#compositionEnd, .composition {
|
|
fill: ${f.lineColor} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#dependencyStart, .dependency {
|
|
fill: ${f.lineColor} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#dependencyStart, .dependency {
|
|
fill: ${f.lineColor} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#extensionStart, .extension {
|
|
fill: transparent !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#extensionEnd, .extension {
|
|
fill: transparent !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#aggregationStart, .aggregation {
|
|
fill: transparent !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#aggregationEnd, .aggregation {
|
|
fill: transparent !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#lollipopStart, .lollipop {
|
|
fill: ${f.mainBkg} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
#lollipopEnd, .lollipop {
|
|
fill: ${f.mainBkg} !important;
|
|
stroke: ${f.lineColor} !important;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.edgeTerminals {
|
|
font-size: 11px;
|
|
line-height: initial;
|
|
}
|
|
|
|
.classTitleText {
|
|
text-anchor: middle;
|
|
font-size: 18px;
|
|
fill: ${f.textColor};
|
|
}
|
|
`},"./node_modules/mermaid/dist/styles-d20c7d72.js":function(je,se,ot){ot.d(se,{D:function(){return et},S:function(){return Rt},a:function(){return ut},b:function(){return Ot},c:function(){return ae},d:function(){return ke},p:function(){return U},s:function(){return F}});var E=ot("./node_modules/mermaid/dist/mermaid-f47111a7.js"),C=function(){var r=function(m,x,D,T){for(D=D||{},T=m.length;T--;D[m[T]]=x);return D},b=[1,2],v=[1,3],j=[1,4],K=[2,4],xt=[1,9],$=[1,11],Lt=[1,15],tt=[1,16],ee=[1,17],wt=[1,18],Nt=[1,30],_t=[1,19],dt=[1,20],Ft=[1,21],ct=[1,22],Ee=[1,23],ge=[1,25],Te=[1,26],Wt=[1,27],Kt=[1,28],zt=[1,29],Jt=[1,32],s=[1,33],t=[1,34],e=[1,35],a=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],i=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],o=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],h={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(x,D,T,Y,nt,S,Et){var X=S.length-1;switch(nt){case 3:return Y.setRootDoc(S[X]),S[X];case 4:this.$=[];break;case 5:S[X]!="nl"&&(S[X-1].push(S[X]),this.$=S[X-1]);break;case 6:case 7:this.$=S[X];break;case 8:this.$="nl";break;case 11:this.$=S[X];break;case 12:const pe=S[X-1];pe.description=Y.trimColon(S[X]),this.$=pe;break;case 13:this.$={stmt:"relation",state1:S[X-2],state2:S[X]};break;case 14:const Se=Y.trimColon(S[X]);this.$={stmt:"relation",state1:S[X-3],state2:S[X-1],description:Se};break;case 18:this.$={stmt:"state",id:S[X-3],type:"default",description:"",doc:S[X-1]};break;case 19:var It=S[X],St=S[X-2].trim();if(S[X].match(":")){var ue=S[X].split(":");It=ue[0],St=[St,ue[1]]}this.$={stmt:"state",id:It,type:"default",description:St};break;case 20:this.$={stmt:"state",id:S[X-3],type:"default",description:S[X-5],doc:S[X-1]};break;case 21:this.$={stmt:"state",id:S[X],type:"fork"};break;case 22:this.$={stmt:"state",id:S[X],type:"join"};break;case 23:this.$={stmt:"state",id:S[X],type:"choice"};break;case 24:this.$={stmt:"state",id:Y.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:S[X-1].trim(),note:{position:S[X-2].trim(),text:S[X].trim()}};break;case 28:this.$=S[X].trim(),Y.setAccTitle(this.$);break;case 29:case 30:this.$=S[X].trim(),Y.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:S[X-1].trim(),classes:S[X].trim()};break;case 33:this.$={stmt:"applyClass",id:S[X-1].trim(),styleClass:S[X].trim()};break;case 34:Y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:S[X].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:S[X-2].trim(),classes:[S[X].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:S[X-2].trim(),classes:[S[X].trim()],type:"default",description:""};break}},table:[{3:1,4:b,5:v,6:j},{1:[3]},{3:5,4:b,5:v,6:j},{3:6,4:b,5:v,6:j},r([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],K,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,5]),{9:36,10:12,11:13,12:14,15:Lt,16:tt,18:ee,21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,7]),r(c,[2,8]),r(c,[2,9]),r(c,[2,10]),r(c,[2,11],{13:[1,37],14:[1,38]}),r(c,[2,15]),{17:[1,39]},r(c,[2,17],{19:[1,40]}),{22:[1,41]},r(c,[2,21]),r(c,[2,22]),r(c,[2,23]),r(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},r(c,[2,27]),{33:[1,46]},{35:[1,47]},r(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},r(i,[2,40],{51:[1,51]}),r(i,[2,41],{51:[1,52]}),r(c,[2,34]),r(c,[2,35]),r(c,[2,36]),r(c,[2,37]),r(c,[2,6]),r(c,[2,12]),{12:53,23:Nt,50:a},r(c,[2,16]),r(o,K,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},r(c,[2,28]),r(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},r(c,[2,13],{13:[1,63]}),{4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,20:[1,64],21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},r(c,[2,31]),r(c,[2,32]),r(c,[2,33]),r(i,[2,42]),r(i,[2,43]),r(c,[2,14]),r(c,[2,18]),r(o,K,{7:68}),r(c,[2,25]),r(c,[2,26]),{4:xt,5:$,8:8,9:10,10:12,11:13,12:14,15:Lt,16:tt,18:ee,20:[1,69],21:wt,23:Nt,24:_t,25:dt,26:Ft,27:ct,28:Ee,31:24,32:ge,34:Te,36:Wt,37:Kt,41:zt,44:Jt,45:s,46:t,47:e,50:a},r(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(x,D){if(D.recoverable)this.trace(x);else{var T=new Error(x);throw T.hash=D,T}},parse:function(x){var D=this,T=[0],Y=[],nt=[null],S=[],Et=this.table,X="",It=0,St=0,ue=2,pe=1,Se=S.slice.call(arguments,1),ht=Object.create(this.lexer),I={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&(I.yy[H]=this.yy[H]);ht.setInput(x,I.yy),I.yy.lexer=ht,I.yy.parser=this,typeof ht.yylloc>"u"&&(ht.yylloc={});var W=ht.yylloc;S.push(W);var B=ht.options&&ht.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var Ce;return Ce=Y.pop()||ht.lex()||pe,typeof Ce!="number"&&(Ce instanceof Array&&(Y=Ce,Ce=Y.pop()),Ce=D.symbols_[Ce]||Ce),Ce}for(var p,we,y,Ue,Re={},Ye,Be,as,qt;;){if(we=T[T.length-1],this.defaultActions[we]?y=this.defaultActions[we]:((p===null||typeof p>"u")&&(p=Pt()),y=Et[we]&&Et[we][p]),typeof y>"u"||!y.length||!y[0]){var Fe="";qt=[];for(Ye in Et[we])this.terminals_[Ye]&&Ye>ue&&qt.push("'"+this.terminals_[Ye]+"'");ht.showPosition?Fe="Parse error on line "+(It+1)+`:
|
|
`+ht.showPosition()+`
|
|
Expecting `+qt.join(", ")+", got '"+(this.terminals_[p]||p)+"'":Fe="Parse error on line "+(It+1)+": Unexpected "+(p==pe?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(Fe,{text:ht.match,token:this.terminals_[p]||p,line:ht.yylineno,loc:W,expected:qt})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+we+", token: "+p);switch(y[0]){case 1:T.push(p),nt.push(ht.yytext),S.push(ht.yylloc),T.push(y[1]),p=null,St=ht.yyleng,X=ht.yytext,It=ht.yylineno,W=ht.yylloc;break;case 2:if(Be=this.productions_[y[1]][1],Re.$=nt[nt.length-Be],Re._$={first_line:S[S.length-(Be||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(Be||1)].first_column,last_column:S[S.length-1].last_column},B&&(Re._$.range=[S[S.length-(Be||1)].range[0],S[S.length-1].range[1]]),Ue=this.performAction.apply(Re,[X,St,It,I.yy,y[1],nt,S].concat(Se)),typeof Ue<"u")return Ue;Be&&(T=T.slice(0,-1*Be*2),nt=nt.slice(0,-1*Be),S=S.slice(0,-1*Be)),T.push(this.productions_[y[1]][0]),nt.push(Re.$),S.push(Re._$),as=Et[T[T.length-2]][T[T.length-1]],T.push(as);break;case 3:return!0}}return!0}},g=function(){var m={EOF:1,parseError:function(D,T){if(this.yy.parser)this.yy.parser.parseError(D,T);else throw new Error(D)},setInput:function(x,D){return this.yy=D||this.yy||{},this._input=x,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},input:function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var D=x.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),x},unput:function(x){var D=x.length,T=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var Y=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),T.length-1&&(this.yylineno-=T.length-1);var nt=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:T?(T.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-T.length].length-T[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[nt[0],nt[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(x){this.unput(this.match.slice(x))},pastInput:function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var x=this.pastInput(),D=new Array(x.length+1).join("-");return x+this.upcomingInput()+`
|
|
`+D+"^"},test_match:function(x,D){var T,Y,nt;if(this.options.backtrack_lexer&&(nt={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&&(nt.yylloc.range=this.yylloc.range.slice(0))),Y=x[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,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(x[0].length),this.matched+=x[0],T=this.performAction.call(this,this.yy,this,D,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var S in nt)this[S]=nt[S];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var x,D,T,Y;this._more||(this.yytext="",this.match="");for(var nt=this._currentRules(),S=0;S<nt.length;S++)if(T=this._input.match(this.rules[nt[S]]),T&&(!D||T[0].length>D[0].length)){if(D=T,Y=S,this.options.backtrack_lexer){if(x=this.test_match(T,nt[S]),x!==!1)return x;if(this._backtrack){D=!1;continue}else return!1}else if(!this.options.flex)break}return D?(x=this.test_match(D,nt[Y]),x!==!1?x:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var D=this.next();return D||this.lex()},begin:function(D){this.conditionStack.push(D)},popState:function(){var D=this.conditionStack.length-1;return D>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(D){return D=this.conditionStack.length-1-Math.abs(D||0),D>=0?this.conditionStack[D]:"INITIAL"},pushState:function(D){this.begin(D)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(D,T,Y,nt){switch(Y){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),T.yytext=T.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),T.yytext=T.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),T.yytext=T.yytext.substr(2).trim(),30;case 64:return this.popState(),T.yytext=T.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return T.yytext=T.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return m}();h.lexer=g;function R(){this.yy={}}return R.prototype=h,h.Parser=R,new R}();C.parser=C;const U=C,w="LR",ae="TB",Ot="state",Rt="relation",N="classDef",G="applyClass",et="default",ut="divider",mt="[*]",Qt="start",le=mt,Zt="end",Mt="color",ye="fill",q="bgFill",At=",";function kt(){return{}}let bt=w,Dt=[],Ht=kt();const re=()=>({relations:[],states:{},documents:{}});let vt={root:re()},Tt=vt.root,lt=0,te=0;const he={LINE:0,DOTTED_LINE:1},J={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Z=r=>JSON.parse(JSON.stringify(r)),k=r=>{E.l.info("Setting root doc",r),Dt=r},u=()=>Dt,A=(r,b,v)=>{if(b.stmt===Rt)A(r,b.state1,!0),A(r,b.state2,!1);else if(b.stmt===Ot&&(b.id==="[*]"?(b.id=v?r.id+"_start":r.id+"_end",b.start=v):b.id=b.id.trim()),b.doc){const j=[];let K=[],xt;for(xt=0;xt<b.doc.length;xt++)if(b.doc[xt].type===ut){const $=Z(b.doc[xt]);$.doc=Z(K),j.push($),K=[]}else K.push(b.doc[xt]);if(j.length>0&&K.length>0){const $={stmt:Ot,id:(0,E.I)(),type:"divider",doc:Z(K)};j.push(Z($)),b.doc=j}b.doc.forEach($=>A(b,$,!0))}},P=()=>(A({id:"root"},{id:"root",doc:Dt},!0),{id:"root",doc:Dt}),L=r=>{let b;r.doc?b=r.doc:b=r,E.l.info(b),ft(!0),E.l.info("Extract",b),b.forEach(v=>{switch(v.stmt){case Ot:O(v.id.trim(),v.type,v.doc,v.description,v.note,v.classes,v.styles,v.textStyles);break;case Rt:be(v.state1,v.state2,v.description);break;case N:f(v.id.trim(),v.classes);break;case G:it(v.id.trim(),v.styleClass);break}})},O=function(r,b=et,v=null,j=null,K=null,xt=null,$=null,Lt=null){const tt=r?.trim();Tt.states[tt]===void 0?(E.l.info("Adding state ",tt,j),Tt.states[tt]={id:tt,descriptions:[],type:b,doc:v,note:K,classes:[],styles:[],textStyles:[]}):(Tt.states[tt].doc||(Tt.states[tt].doc=v),Tt.states[tt].type||(Tt.states[tt].type=b)),j&&(E.l.info("Setting state description",tt,j),typeof j=="string"&&Ae(tt,j.trim()),typeof j=="object"&&j.forEach(ee=>Ae(tt,ee.trim()))),K&&(Tt.states[tt].note=K,Tt.states[tt].note.text=E.e.sanitizeText(Tt.states[tt].note.text,(0,E.c)())),xt&&(E.l.info("Setting state classes",tt,xt),(typeof xt=="string"?[xt]:xt).forEach(wt=>it(tt,wt.trim()))),$&&(E.l.info("Setting state styles",tt,$),(typeof $=="string"?[$]:$).forEach(wt=>pt(tt,wt.trim()))),Lt&&(E.l.info("Setting state styles",tt,$),(typeof Lt=="string"?[Lt]:Lt).forEach(wt=>yt(tt,wt.trim())))},ft=function(r){vt={root:re()},Tt=vt.root,lt=0,Ht=kt(),r||(0,E.v)()},rt=function(r){return Tt.states[r]},st=function(){return Tt.states},Bt=function(){E.l.info("Documents = ",vt)},Vt=function(){return Tt.relations};function ie(r=""){let b=r;return r===mt&&(lt++,b=`${Qt}${lt}`),b}function de(r="",b=et){return r===mt?Qt:b}function ne(r=""){let b=r;return r===le&&(lt++,b=`${Zt}${lt}`),b}function z(r="",b=et){return r===le?Zt:b}function Q(r,b,v){let j=ie(r.id.trim()),K=de(r.id.trim(),r.type),xt=ie(b.id.trim()),$=de(b.id.trim(),b.type);O(j,K,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),O(xt,$,b.doc,b.description,b.note,b.classes,b.styles,b.textStyles),Tt.relations.push({id1:j,id2:xt,relationTitle:E.e.sanitizeText(v,(0,E.c)())})}const be=function(r,b,v){if(typeof r=="object")Q(r,b,v);else{const j=ie(r.trim()),K=de(r),xt=ne(b.trim()),$=z(b);O(j,K),O(xt,$),Tt.relations.push({id1:j,id2:xt,title:E.e.sanitizeText(v,(0,E.c)())})}},Ae=function(r,b){const v=Tt.states[r],j=b.startsWith(":")?b.replace(":","").trim():b;v.descriptions.push(E.e.sanitizeText(j,(0,E.c)()))},ns=function(r){return r.substring(0,1)===":"?r.substr(2).trim():r.trim()},ss=()=>(te++,"divider-id-"+te),f=function(r,b=""){Ht[r]===void 0&&(Ht[r]={id:r,styles:[],textStyles:[]});const v=Ht[r];b?.split(At).forEach(j=>{const K=j.replace(/([^;]*);/,"$1").trim();if(j.match(Mt)){const $=K.replace(ye,q).replace(Mt,ye);v.textStyles.push($)}v.styles.push(K)})},M=function(){return Ht},it=function(r,b){r.split(",").forEach(function(v){let j=rt(v);if(j===void 0){const K=v.trim();O(K),j=rt(K)}j.classes.push(b)})},pt=function(r,b){const v=rt(r);v!==void 0&&v.textStyles.push(b)},yt=function(r,b){const v=rt(r);v!==void 0&&v.textStyles.push(b)},ke={getConfig:()=>(0,E.c)().state,addState:O,clear:ft,getState:rt,getStates:st,getRelations:Vt,getClasses:M,getDirection:()=>bt,addRelation:be,getDividerId:ss,setDirection:r=>{bt=r},cleanupLabel:ns,lineType:he,relationType:J,logDocuments:Bt,getRootDoc:u,setRootDoc:k,getRootDocV2:P,extract:L,trimColon:r=>r&&r[0]===":"?r.substr(1).trim():r.trim(),getAccTitle:E.g,setAccTitle:E.s,getAccDescription:E.a,setAccDescription:E.b,addStyleClass:f,setCssClass:it,addDescription:Ae,setDiagramTitle:E.q,getDiagramTitle:E.t},F=r=>`
|
|
defs #statediagram-barbEnd {
|
|
fill: ${r.transitionColor};
|
|
stroke: ${r.transitionColor};
|
|
}
|
|
g.stateGroup text {
|
|
fill: ${r.nodeBorder};
|
|
stroke: none;
|
|
font-size: 10px;
|
|
}
|
|
g.stateGroup text {
|
|
fill: ${r.textColor};
|
|
stroke: none;
|
|
font-size: 10px;
|
|
|
|
}
|
|
g.stateGroup .state-title {
|
|
font-weight: bolder;
|
|
fill: ${r.stateLabelColor};
|
|
}
|
|
|
|
g.stateGroup rect {
|
|
fill: ${r.mainBkg};
|
|
stroke: ${r.nodeBorder};
|
|
}
|
|
|
|
g.stateGroup line {
|
|
stroke: ${r.lineColor};
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.transition {
|
|
stroke: ${r.transitionColor};
|
|
stroke-width: 1;
|
|
fill: none;
|
|
}
|
|
|
|
.stateGroup .composit {
|
|
fill: ${r.background};
|
|
border-bottom: 1px
|
|
}
|
|
|
|
.stateGroup .alt-composit {
|
|
fill: #e0e0e0;
|
|
border-bottom: 1px
|
|
}
|
|
|
|
.state-note {
|
|
stroke: ${r.noteBorderColor};
|
|
fill: ${r.noteBkgColor};
|
|
|
|
text {
|
|
fill: ${r.noteTextColor};
|
|
stroke: none;
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
.stateLabel .box {
|
|
stroke: none;
|
|
stroke-width: 0;
|
|
fill: ${r.mainBkg};
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.edgeLabel .label rect {
|
|
fill: ${r.labelBackgroundColor};
|
|
opacity: 0.5;
|
|
}
|
|
.edgeLabel .label text {
|
|
fill: ${r.transitionLabelColor||r.tertiaryTextColor};
|
|
}
|
|
.label div .edgeLabel {
|
|
color: ${r.transitionLabelColor||r.tertiaryTextColor};
|
|
}
|
|
|
|
.stateLabel text {
|
|
fill: ${r.stateLabelColor};
|
|
font-size: 10px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.node circle.state-start {
|
|
fill: ${r.specialStateColor};
|
|
stroke: ${r.specialStateColor};
|
|
}
|
|
|
|
.node .fork-join {
|
|
fill: ${r.specialStateColor};
|
|
stroke: ${r.specialStateColor};
|
|
}
|
|
|
|
.node circle.state-end {
|
|
fill: ${r.innerEndBackground};
|
|
stroke: ${r.background};
|
|
stroke-width: 1.5
|
|
}
|
|
.end-state-inner {
|
|
fill: ${r.compositeBackground||r.background};
|
|
// stroke: ${r.background};
|
|
stroke-width: 1.5
|
|
}
|
|
|
|
.node rect {
|
|
fill: ${r.stateBkg||r.mainBkg};
|
|
stroke: ${r.stateBorder||r.nodeBorder};
|
|
stroke-width: 1px;
|
|
}
|
|
.node polygon {
|
|
fill: ${r.mainBkg};
|
|
stroke: ${r.stateBorder||r.nodeBorder};;
|
|
stroke-width: 1px;
|
|
}
|
|
#statediagram-barbEnd {
|
|
fill: ${r.lineColor};
|
|
}
|
|
|
|
.statediagram-cluster rect {
|
|
fill: ${r.compositeTitleBackground};
|
|
stroke: ${r.stateBorder||r.nodeBorder};
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
.cluster-label, .nodeLabel {
|
|
color: ${r.stateLabelColor};
|
|
}
|
|
|
|
.statediagram-cluster rect.outer {
|
|
rx: 5px;
|
|
ry: 5px;
|
|
}
|
|
.statediagram-state .divider {
|
|
stroke: ${r.stateBorder||r.nodeBorder};
|
|
}
|
|
|
|
.statediagram-state .title-state {
|
|
rx: 5px;
|
|
ry: 5px;
|
|
}
|
|
.statediagram-cluster.statediagram-cluster .inner {
|
|
fill: ${r.compositeBackground||r.background};
|
|
}
|
|
.statediagram-cluster.statediagram-cluster-alt .inner {
|
|
fill: ${r.altBackground?r.altBackground:"#efefef"};
|
|
}
|
|
|
|
.statediagram-cluster .inner {
|
|
rx:0;
|
|
ry:0;
|
|
}
|
|
|
|
.statediagram-state rect.basic {
|
|
rx: 5px;
|
|
ry: 5px;
|
|
}
|
|
.statediagram-state rect.divider {
|
|
stroke-dasharray: 10,10;
|
|
fill: ${r.altBackground?r.altBackground:"#efefef"};
|
|
}
|
|
|
|
.note-edge {
|
|
stroke-dasharray: 5;
|
|
}
|
|
|
|
.statediagram-note rect {
|
|
fill: ${r.noteBkgColor};
|
|
stroke: ${r.noteBorderColor};
|
|
stroke-width: 1px;
|
|
rx: 0;
|
|
ry: 0;
|
|
}
|
|
.statediagram-note rect {
|
|
fill: ${r.noteBkgColor};
|
|
stroke: ${r.noteBorderColor};
|
|
stroke-width: 1px;
|
|
rx: 0;
|
|
ry: 0;
|
|
}
|
|
|
|
.statediagram-note text {
|
|
fill: ${r.noteTextColor};
|
|
}
|
|
|
|
.statediagram-note .nodeLabel {
|
|
color: ${r.noteTextColor};
|
|
}
|
|
.statediagram .edgeLabel {
|
|
color: red; // ${r.noteTextColor};
|
|
}
|
|
|
|
#dependencyStart, #dependencyEnd {
|
|
fill: ${r.lineColor};
|
|
stroke: ${r.lineColor};
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.statediagramTitleText {
|
|
text-anchor: middle;
|
|
font-size: 18px;
|
|
fill: ${r.textColor};
|
|
}
|
|
`}}]);
|