mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
11 lines (10 loc) • 38.1 kB
JavaScript
import{a as Lt}from"./chunk-2Z4JPSLF.mjs";import{f as D}from"./chunk-JUO4FS6R.mjs";import{a as Mt}from"./chunk-F6PIGZHG.mjs";import{c as bt,d as wt}from"./chunk-7PWWD3R6.mjs";import{c as st,e as xt}from"./chunk-VZ26ENTH.mjs";import{q as v,u as gt}from"./chunk-YF46JFGZ.mjs";import{$ as W,u as Y,y as et}from"./chunk-VSAMGZVZ.mjs";import{$ as yt,G as V,H as it,J as ct,K as lt,L as nt,P as dt,S as pt,W as ft,X as ht,Y as mt,Z as kt,_ as ut,b as x,h as T}from"./chunk-L2B47AAZ.mjs";import{a as d}from"./chunk-QVIEFLGF.mjs";var q=d((r,t)=>{if(t)return"translate("+-r.width/2+", "+-r.height/2+")";let a=r.x??0,e=r.y??0;return"translate("+-(a+r.width/2)+", "+-(e+r.height/2)+")"},"computeLabelTransform");var S={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},ot={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function F(r,t){if(r===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};r=b(r),t=b(t);let[a,e]=[r.x,r.y],[s,n]=[t.x,t.y],o=s-a,i=n-e;return{angle:Math.atan(i/o),deltaX:o,deltaY:i}}d(F,"calculateDeltaAndAngle");var b=d(r=>Array.isArray(r)?{x:r[0],y:r[1]}:r,"pointTransformer"),St=d(r=>({x:d(function(t,a,e){let s=0,n=b(e[0]).x<b(e[e.length-1]).x?"left":"right";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaX:u}=F(e[0],e[1]);s=S[r.arrowTypeStart]*Math.cos(l)*(u>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaX:u}=F(e[e.length-1],e[e.length-2]);s=S[r.arrowTypeEnd]*Math.cos(l)*(u>=0?1:-1)}let o=Math.abs(b(t).x-b(e[e.length-1]).x),i=Math.abs(b(t).y-b(e[e.length-1]).y),p=Math.abs(b(t).x-b(e[0]).x),k=Math.abs(b(t).y-b(e[0]).y),c=S[r.arrowTypeStart],m=S[r.arrowTypeEnd],h=1;if(o<m&&o>0&&i<m){let l=m+h-o;l*=n==="right"?-1:1,s-=l}if(p<c&&p>0&&k<c){let l=c+h-p;l*=n==="right"?-1:1,s+=l}return b(t).x+s},"x"),y:d(function(t,a,e){let s=0,n=b(e[0]).y<b(e[e.length-1]).y?"down":"up";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaY:u}=F(e[0],e[1]);s=S[r.arrowTypeStart]*Math.abs(Math.sin(l))*(u>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaY:u}=F(e[e.length-1],e[e.length-2]);s=S[r.arrowTypeEnd]*Math.abs(Math.sin(l))*(u>=0?1:-1)}let o=Math.abs(b(t).y-b(e[e.length-1]).y),i=Math.abs(b(t).x-b(e[e.length-1]).x),p=Math.abs(b(t).y-b(e[0]).y),k=Math.abs(b(t).x-b(e[0]).x),c=S[r.arrowTypeStart],m=S[r.arrowTypeEnd],h=1;if(o<m&&o>0&&i<m){let l=m+h-o;l*=n==="up"?-1:1,s-=l}if(p<c&&p>0&&k<c){let l=c+h-p;l*=n==="up"?-1:1,s+=l}return b(t).y+s},"y")}),"getLineFunctionsWithOffset");var _t=d((r,t,a,e,s,n=!1,o)=>{t.arrowTypeStart&&Ot(r,"start",t.arrowTypeStart,a,e,s,n,o),t.arrowTypeEnd&&Ot(r,"end",t.arrowTypeEnd,a,e,s,n,o)},"addEdgeMarkers"),Ht={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},arrow_hierarchy:{type:"hierarchy",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},Bt=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Ot=d((r,t,a,e,s,n,o=!1,i)=>{if(!a||a==="none")return;let p=Ht[a],k=p&&Bt.includes(p.type);if(!p){x.warn(`Unknown arrow type: ${a}`);return}let c=p.type,l=`${s}_${n}-${c}${t==="start"?"Start":"End"}${o&&k?"-margin":""}`;if(i&&i.trim()!==""){let u=i.replace(/[^\dA-Za-z]/g,"_"),g=`${l}_${u}`;if(!document.getElementById(g)){let f=document.getElementById(l);if(f){let M=f.cloneNode(!0);M.id=g,M.querySelectorAll("path, circle, line").forEach(A=>{A.setAttribute("stroke",i),p.fill&&A.setAttribute("fill",i)}),f.parentNode?.appendChild(M)}}r.attr(`marker-${t}`,`url(${e}#${g})`)}else r.attr(`marker-${t}`,`url(${e}#${l})`)},"addEdgeMarker");var At=d(r=>typeof r=="string"?r:W()?.flowchart?.curve,"resolveEdgeCurveType"),K=new Map,O=new Map,Pr=d(()=>{K.clear(),O.clear()},"clear"),Rr=d(r=>!!(r.label||r.startLabelLeft||r.startLabelRight||r.endLabelLeft||r.endLabelRight),"hasEdgeLabel"),N=d(r=>r?typeof r=="string"?r:r.reduce((t,a)=>t+";"+a,""):"","getLabelStyles"),zr=d(async(r,t)=>{let a=W(),e=et(a),{labelStyles:s}=wt(t);t.labelStyle=s;let n=r.insert("g").attr("class","edgeLabel"),o=n.insert("g").attr("class","label").attr("data-id",t.id),i=t.labelType==="markdown",k=await xt(r,t.label,{style:N(t.labelStyle),useHtmlLabels:e,addSvgBackground:!0,isNode:!1,markdown:i,width:i?void 0:void 0},a);o.node().appendChild(k),x.info("abc82",t,t.labelType);let c,m;if(e){let l=k.children[0],u=T(k);c=await st.measure(()=>l.getBoundingClientRect()),m=c,u.attr("width",c.width),u.attr("height",c.height)}else{let l=T(k).select("text").node();await st.measure(()=>{c=k.getBBox(),l&&typeof l.getBBox=="function"?m=l.getBBox():m=c})}o.attr("transform",q(m,e)),K.set(t.id,n),t.width=c.width,t.height=c.height;let h;if(t.startLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),g=await D(u,t.startLabelLeft,N(t.labelStyle)||"",!1,!1);h=g;let f=g.getBBox();if(e){let M=g.children[0],y=T(g);f=M.getBoundingClientRect(),y.attr("width",f.width),y.attr("height",f.height)}u.attr("transform",q(f,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startLeft=l,J(h,t.startLabelLeft,f),G(t,"startLeft",f)}if(t.startLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),g=await D(u,t.startLabelRight,N(t.labelStyle)||"",!1,!1);h=g;let f=g.getBBox();if(e){let M=g.children[0],y=T(g);f=M.getBoundingClientRect(),y.attr("width",f.width),y.attr("height",f.height)}u.attr("transform",q(f,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startRight=l,J(h,t.startLabelRight,f),G(t,"startRight",f)}if(t.endLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),g=await D(u,t.endLabelLeft,N(t.labelStyle)||"",!1,!1);h=g;let f=g.getBBox();if(e){let M=g.children[0],y=T(g);f=M.getBoundingClientRect(),y.attr("width",f.width),y.attr("height",f.height)}u.attr("transform",q(f,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endLeft=l,J(h,t.endLabelLeft,f),G(t,"endLeft",f)}if(t.endLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),g=await D(u,t.endLabelRight,N(t.labelStyle)||"",!1,!1);h=g;let f=g.getBBox();if(e){let M=g.children[0],y=T(g);f=M.getBoundingClientRect(),y.attr("width",f.width),y.attr("height",f.height)}u.attr("transform",q(f,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endRight=l,J(h,t.endLabelRight,f),G(t,"endRight",f)}return k},"insertEdgeLabel");function G(r,t,a){r.terminalLabelSizes??={},r.terminalLabelSizes[t]={width:a.width,height:a.height}}d(G,"recordTerminalLabelSize");function J(r,t,a){et(W())&&r&&(r.style.width=Math.max(t.length*9,a.width)+"px",r.style.height=a.height+"px")}d(J,"setTerminalWidth");var Ct=d((r,t)=>{let a=r.x,e=r.y;if(t?.updatedPath){let s=v.calcLabelPosition(t.updatedPath);if(t.originalPath){let n=v.calcLabelPosition(t.originalPath);a=r.x+(s.x-n.x),e=r.y+(s.y-n.y)}else a=s.x,e=s.y}return{x:a,y:e}},"resolveEdgeLabelPosition"),qr=d((r,t)=>{x.debug("Moving label abc88 ",r.id,r.label,K.get(r.id),t);let a=W(),{subGraphTitleTotalMargin:e}=Lt(a);if(r.label){let n=K.get(r.id),{x:o,y:i}=Ct(r,t);x.debug("Moving label "+r.label+" from (",r.x,",",r.y,") to (",o,",",i,") abc88"),n.attr("transform",`translate(${o}, ${i+e/2})`)}let s=t.updatedPath?t.updatedPath:t.originalPath;if(r.startLabelLeft){let n=O.get(r.id).startLeft,o=r.x,i=r.y;if(s){let p=v.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.startLabelRight){let n=O.get(r.id).startRight,o=r.x,i=r.y;if(s){let p=v.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.endLabelLeft){let n=O.get(r.id).endLeft,o=r.x,i=r.y;if(s){let p=v.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.endLabelRight){let n=O.get(r.id).endRight,o=r.x,i=r.y;if(s){let p=v.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}},"positionEdgeLabel"),Pt=d((r,t)=>{if(!r?.isLabelEdge||!r?.id?.endsWith("-to-label")||!Array.isArray(t)||t.length!==2)return t;let[a,e]=t,s=Math.abs(e.x-a.x),n=Math.abs(e.y-a.y);return s<.001||n<.001?t:n>=s?[a,{x:a.x,y:e.y},e]:[a,{x:e.x,y:a.y},e]},"orthogonalizeToLabelClippedPoints"),Rt=d((r,t)=>{let a=r.x,e=r.y,s=Math.abs(t.x-a),n=Math.abs(t.y-e),o=r.width/2,i=r.height/2;return s>=o||n>=i},"outsideNode"),zt=d((r,t,a)=>{x.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(t)}
insidePoint : ${JSON.stringify(a)}
node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);let e=r.x,s=r.y,n=Math.abs(e-a.x),o=r.width/2,i=a.x<t.x?o-n:o+n,p=r.height/2,k=Math.abs(t.y-a.y),c=Math.abs(t.x-a.x);if(Math.abs(s-t.y)*o>Math.abs(e-t.x)*p){let m=a.y<t.y?t.y-p-s:s-p-t.y;i=c*m/k;let h={x:a.x<t.x?a.x+i:a.x-c+i,y:a.y<t.y?a.y+k-m:a.y-k+m};return i===0&&(h.x=t.x,h.y=t.y),c===0&&(h.x=t.x),k===0&&(h.y=t.y),x.debug(`abc89 top/bottom calc, Q ${k}, q ${m}, R ${c}, r ${i}`,h),h}else{a.x<t.x?i=t.x-o-e:i=e-o-t.x;let m=k*i/c,h=a.x<t.x?a.x+c-i:a.x-c+i,l=a.y<t.y?a.y+m:a.y-m;return x.debug(`sides calc abc89, Q ${k}, q ${m}, R ${c}, r ${i}`,{_x:h,_y:l}),i===0&&(h=t.x,l=t.y),c===0&&(h=t.x),k===0&&(l=t.y),{x:h,y:l}}},"intersection"),Et=d((r,t)=>{x.warn("abc88 cutPathAtIntersect",r,t);let a=[],e=r[0],s=!1;return r.forEach(n=>{if(x.info("abc88 checking point",n,t),!Rt(t,n)&&!s){let o=zt(t,e,n);x.debug("abc88 inside",n,e,o),x.debug("abc88 intersection",o,t);let i=!1;a.forEach(p=>{i=i||p.x===o.x&&p.y===o.y}),a.some(p=>p.x===o.x&&p.y===o.y)?x.warn("abc88 no intersect",o,a):a.push(o),s=!0}else x.warn("abc88 outside",n,e),e=n,s||a.push(n)}),x.debug("returning points",a),a},"cutPathAtIntersect");function qt(r){let t=[],a=[];for(let e=1;e<r.length-1;e++){let s=r[e-1],n=r[e],o=r[e+1];(s.x===n.x&&n.y===o.y&&Math.abs(n.x-o.x)>5&&Math.abs(n.y-s.y)>5||s.y===n.y&&n.x===o.x&&Math.abs(n.x-s.x)>5&&Math.abs(n.y-o.y)>5)&&(t.push(n),a.push(e))}return{cornerPoints:t,cornerPointPositions:a}}d(qt,"extractCornerPoints");var Ut=d(function(r,t,a){let e=t.x-r.x,s=t.y-r.y,n=Math.sqrt(e*e+s*s),o=a/n;return{x:t.x-o*e,y:t.y-o*s}},"findAdjacentPoint"),It=d(function(r){let{cornerPointPositions:t}=qt(r),a=[];for(let e=0;e<r.length;e++)if(t.includes(e)){let s=r[e-1],n=r[e+1],o=r[e],i=Ut(s,o,5),p=Ut(n,o,5),k=p.x-i.x,c=p.y-i.y;a.push(i);let m=Math.sqrt(2)*2,h={x:o.x,y:o.y};if(Math.abs(n.x-s.x)>10&&Math.abs(n.y-s.y)>=10){x.debug("Corner point fixing",Math.abs(n.x-s.x),Math.abs(n.y-s.y));let l=5;o.x===i.x?h={x:k<0?i.x-l+m:i.x+l-m,y:c<0?i.y-m:i.y+m}:h={x:k<0?i.x-m:i.x+m,y:c<0?i.y-l+m:i.y+l-m}}else x.debug("Corner point skipping fixing",Math.abs(n.x-s.x),Math.abs(n.y-s.y));a.push(h,p)}else a.push(r[e]);return a},"fixCorners"),Dt=d((r,t,a)=>{let e=r-t-a,s=2,n=2,o=s+n,i=Math.floor(e/o),p=Number.isFinite(i)?Math.max(0,i):0,k=Array(p).fill(`${s} ${n}`).join(" ");return`0 ${t} ${k} ${a}`},"generateDashArray"),Ir=d(function(r,t,a,e,s,n,o,i=!1){if(!o)throw new Error(`insertEdge: missing diagramId for edge "${t.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:p,layout:k}=W(),c=t.points,m=!1,h=s;var l=n;let u=[];for(let w in t.cssCompiledStyles)bt(w)||u.push(t.cssCompiledStyles[w]);if(k==="swimlane"){if(l.intersect&&h.intersect&&Array.isArray(c)&&c.length>=2)if(c.length===2)c=[h.intersect(c[0]),l.intersect(c[1])];else{let w=c.slice(1,-1),X=w[0],E=w[w.length-1],U=.5,P=Math.abs(c[c.length-1].x-E.x)<U&&Math.abs(c[c.length-1].y-E.y)<U,H=h.intersect(X),B=P?E:l.intersect(E),R=Math.abs(B.x-E.x)<U&&Math.abs(B.y-E.y)<U,Tt=Math.abs(H.x-X.x)<U&&Math.abs(H.y-X.y)<U?[]:[H],vt=R?[]:[B];c=[...Tt,...w,...vt]}c=Pt(t,c)}else l.intersect&&h.intersect&&!i&&(c=c.slice(1,t.points.length-1),c.unshift(h.intersect(c[0])),c.push(l.intersect(c[c.length-1])));let g=btoa(JSON.stringify(c));t.toCluster&&(x.info("to cluster abc88",a.get(t.toCluster)),c=Et(t.points,a.get(t.toCluster).node),m=!0),t.fromCluster&&(x.debug("from cluster abc88",a.get(t.fromCluster),JSON.stringify(c,null,2)),c=Et(c.reverse(),a.get(t.fromCluster).node).reverse(),m=!0);let f=c.filter(w=>!Number.isNaN(w.y)),M=At(t.curve);M!=="rounded"&&(f=It(f));let y=V;switch(M){case"linear":y=V;break;case"basis":y=nt;break;case"cardinal":y=dt;break;case"bumpX":y=ct;break;case"bumpY":y=lt;break;case"catmullRom":y=pt;break;case"monotoneX":y=ft;break;case"monotoneY":y=ht;break;case"natural":y=mt;break;case"step":y=kt;break;case"stepAfter":y=yt;break;case"stepBefore":y=ut;break;case"rounded":y=V;break;default:y=nt}let{x:A,y:tt}=St(t),I=it().x(A).y(tt).curve(y),_;switch(t.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;case"invisible":_="edge-thickness-invisible";break;default:_="edge-thickness-normal"}switch(t.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed";break;default:_+=" edge-pattern-solid"}let L,Q=M==="rounded"?Nt(Qt(f,t),5):I(f),$=Array.isArray(t.style)?t.style:[t.style],Z=$.find(w=>w?.startsWith("stroke:")),C="";t.animate&&(C="edge-animation-fast"),t.animation&&(C="edge-animation-"+t.animation);let rt=!1;if(t.look==="handDrawn"){let w=Mt.svg(r);Object.assign([],f);let X=w.path(Q,{roughness:.3,seed:p});_+=" transition",L=T(X).select("path").attr("id",`${o}-${t.id}`).attr("class"," "+_+(t.classes?" "+t.classes:"")+(C?" "+C:"")).attr("style",$?$.reduce((U,P)=>U+";"+P,""):"");let E=L.attr("d");L.attr("d",E),r.node().appendChild(L.node())}else{let w=u.join(";"),X=$?$.reduce((R,z)=>R+z+";",""):"",E=(w?w+";"+X+";":X)+";"+($?$.reduce((R,z)=>R+";"+z,""):"");L=r.append("path").attr("d",Q).attr("id",`${o}-${t.id}`).attr("class"," "+_+(t.classes?" "+t.classes:"")+(C?" "+C:"")).attr("style",E),Z=E.match(/stroke:([^;]+)/)?.[1],rt=t.animate===!0||!!t.animation||w.includes("animation");let U=L.node(),P=typeof U.getTotalLength=="function"?U.getTotalLength():0,H=ot[t.arrowTypeStart]||0,B=ot[t.arrowTypeEnd]||0;if(t.look==="neo"&&!rt){let z=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?Dt(P,H,B):`0 ${H} ${P-H-B} ${B}`}; stroke-dashoffset: 0;`;L.attr("style",z+L.attr("style"))}}L.attr("data-edge",!0),L.attr("data-et","edge"),L.attr("data-id",t.id),L.attr("data-points",g),L.attr("data-look",gt(t.look)),t.showPoints&&f.forEach(w=>{r.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",w.x).attr("cy",w.y)});let j="";(W().flowchart.arrowMarkerAbsolute||W().state.arrowMarkerAbsolute)&&(j=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,j=j.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),x.info("arrowTypeStart",t.arrowTypeStart),x.info("arrowTypeEnd",t.arrowTypeEnd);let Xt=!rt&&t?.look==="neo";_t(L,t,j,o,e,Xt,Z);let Yt=Math.floor(c.length/2),Wt=c[Yt];v.isLabelCoordinateInPath(Wt,L.attr("d"))||(m=!0);let at={};return m&&(at.updatedPath=c),at.originalPath=t.points,at},"insertEdge");function Nt(r,t){if(r.length<2)return"";let a="",e=r.length,s=1e-5;for(let n=0;n<e;n++){let o=r[n],i=r[n-1],p=r[n+1];if(n===0)a+=`M${o.x},${o.y}`;else if(n===e-1)a+=`L${o.x},${o.y}`;else{let k=o.x-i.x,c=o.y-i.y,m=p.x-o.x,h=p.y-o.y,l=Math.hypot(k,c),u=Math.hypot(m,h);if(l<s||u<s){a+=`L${o.x},${o.y}`;continue}let g=k/l,f=c/l,M=m/u,y=h/u,A=g*M+f*y,tt=Math.max(-1,Math.min(1,A)),I=Math.acos(tt);if(I<s||Math.abs(Math.PI-I)<s){a+=`L${o.x},${o.y}`;continue}let _=Math.min(t/Math.sin(I/2),l/2,u/2),L=o.x-g*_,Q=o.y-f*_,$=o.x+M*_,Z=o.y+y*_;a+=`L${L},${Q}`,a+=`Q${o.x},${o.y} ${$},${Z}`}}return a}d(Nt,"generateRoundedPath");function $t(r,t){if(!r||!t)return{angle:0,deltaX:0,deltaY:0};let a=t.x-r.x,e=t.y-r.y;return{angle:Math.atan2(e,a),deltaX:a,deltaY:e}}d($t,"calculateDeltaAndAngle");function Qt(r,t){let a=r.map(s=>({...s}));if(r.length>=2&&S[t.arrowTypeStart]){let s=S[t.arrowTypeStart],n=r[0],o=r[1],{angle:i}=$t(n,o),p=s*Math.cos(i),k=s*Math.sin(i);a[0].x=n.x+p,a[0].y=n.y+k}let e=r.length;if(e>=2&&S[t.arrowTypeEnd]){let s=S[t.arrowTypeEnd],n=r[e-1],o=r[e-2],{angle:i}=$t(o,n),p=s*Math.cos(i),k=s*Math.sin(i);a[e-1].x=n.x-p,a[e-1].y=n.y-k}return a}d(Qt,"applyMarkerOffsetsToPoints");var Zt=d((r,t,a,e)=>{t.forEach(s=>{yr[s](r,a,e)})},"insertMarkers"),jt=d((r,t,a)=>{x.trace("Making markers for ",a),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,1 V 13 L18,7 Z"),r.append("marker").attr("id",a+"_"+t+"-extensionStart-margin").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd-margin").attr("class","marker extension "+t).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Vt=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart-margin").attr("class","marker composition "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd-margin").attr("class","marker composition "+t).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Ft=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart-margin").attr("class","marker aggregation "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd-margin").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Gt=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart-margin").attr("class","marker dependency "+t).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd-margin").attr("class","marker dependency "+t).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Jt=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart-margin").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd-margin").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Kt=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),r.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),r.append("marker").attr("id",a+"_"+t+"-pointEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-pointStart-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),tr=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+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"),r.append("marker").attr("id",a+"_"+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"),r.append("marker").attr("id",a+"_"+t+"-circleEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-circleStart-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),rr=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+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"),r.append("marker").attr("id",a+"_"+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"),r.append("marker").attr("id",a+"_"+t+"-crossEnd-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),r.append("marker").attr("id",a+"_"+t+"-crossStart-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),ar=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),er=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{transitionColor:n}=s;r.append("defs").append("marker").attr("id",a+"_"+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 L11,14 L13,7 L11,0 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${n}`)},"barbNeo"),nr=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),sr=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),e.append("path").attr("d","M9,0 L9,18");let s=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),s.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),or=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),ir=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),e.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let s=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),s.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),cr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${n}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${n}`)},"only_one_neo"),lr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n,mainBkg:o}=s,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");i.append("circle").attr("fill",o??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${n}`).attr("r",6),i.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${n}`);let p=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");p.append("circle").attr("fill",o??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${n}`).attr("r",6),p.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${n}`)},"zero_or_one_neo"),dr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${n}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${n}`)},"one_or_more_neo"),pr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n,mainBkg:o}=s,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");i.append("circle").attr("fill",o??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${n}`),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${n}`);let p=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");p.append("circle").attr("fill",o??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${n}`),p.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${n}`)},"zero_or_more_neo"),fr=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`)},"requirement_arrow"),hr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${n}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),mr=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),kr=d((r,t,a)=>{let e=Y(),{themeVariables:s}=e,{strokeWidth:n}=s,o=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${n}`)},"requirement_contains_neo"),ur=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-hierarchyEnd").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),r.append("marker").attr("id",a+"_"+t+"-hierarchyStart").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),yr={extension:jt,composition:Vt,aggregation:Ft,dependency:Gt,lollipop:Jt,point:Kt,circle:tr,cross:rr,barb:ar,barbNeo:er,hierarchy:ur,only_one:nr,zero_or_one:sr,one_or_more:or,zero_or_more:ir,only_one_neo:cr,zero_or_one_neo:lr,one_or_more_neo:dr,zero_or_more_neo:pr,requirement_arrow:fr,requirement_contains:mr,requirement_arrow_neo:hr,requirement_contains_neo:kr},jr=Zt;export{S as a,ot as b,K as c,O as d,Pr as e,Rr as f,zr as g,Ct as h,qr as i,Ir as j,jr as k};