-
Notifications
You must be signed in to change notification settings - Fork 0
/
602.c4b2a19e.iframe.bundle.js
1 lines (1 loc) · 54.8 KB
/
602.c4b2a19e.iframe.bundle.js
1
"use strict";(self.webpackChunk_gsmlg_lit=self.webpackChunk_gsmlg_lit||[]).push([[602],{"../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/edges-65da65dc.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{a:()=>insertMarkers$1,b:()=>clear$1,c:()=>createLabel$1,d:()=>clear,e:()=>insertNode,f:()=>insertEdgeLabel,g:()=>insertEdge,h:()=>positionEdgeLabel,i:()=>intersectRect$1,p:()=>positionNode,s:()=>setNodeElem,u:()=>updateNodeBounds});var _config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/config-389b86ff.js"),d3__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../common/temp/node_modules/.pnpm/d3@7.8.2/node_modules/d3/src/index.js"),_mermaidAPI_0716c7c2_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/mermaidAPI-0716c7c2.js"),_svgDraw_6a237a99_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/svgDraw-6a237a99.js"),_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/utils-d5eeff82.js");const markers={extension:(elem,type,id)=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.trace("Making markers for ",id),elem.append("defs").append("marker").attr("id",type+"-extensionStart").attr("class","marker extension "+type).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),elem.append("defs").append("marker").attr("id",type+"-extensionEnd").attr("class","marker extension "+type).attr("refX",19).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:(elem,type)=>{elem.append("defs").append("marker").attr("id",type+"-compositionStart").attr("class","marker composition "+type).attr("refX",0).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"),elem.append("defs").append("marker").attr("id",type+"-compositionEnd").attr("class","marker composition "+type).attr("refX",19).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:(elem,type)=>{elem.append("defs").append("marker").attr("id",type+"-aggregationStart").attr("class","marker aggregation "+type).attr("refX",0).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"),elem.append("defs").append("marker").attr("id",type+"-aggregationEnd").attr("class","marker aggregation "+type).attr("refX",19).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:(elem,type)=>{elem.append("defs").append("marker").attr("id",type+"-dependencyStart").attr("class","marker dependency "+type).attr("refX",0).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"),elem.append("defs").append("marker").attr("id",type+"-dependencyEnd").attr("class","marker dependency "+type).attr("refX",19).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:(elem,type)=>{elem.append("defs").append("marker").attr("id",type+"-lollipopStart").attr("class","marker lollipop "+type).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(elem,type)=>{elem.append("marker").attr("id",type+"-pointEnd").attr("class","marker "+type).attr("viewBox","0 0 12 20").attr("refX",10).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"),elem.append("marker").attr("id",type+"-pointStart").attr("class","marker "+type).attr("viewBox","0 0 10 10").attr("refX",0).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:(elem,type)=>{elem.append("marker").attr("id",type+"-circleEnd").attr("class","marker "+type).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"),elem.append("marker").attr("id",type+"-circleStart").attr("class","marker "+type).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:(elem,type)=>{elem.append("marker").attr("id",type+"-crossEnd").attr("class","marker cross "+type).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"),elem.append("marker").attr("id",type+"-crossStart").attr("class","marker cross "+type).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:(elem,type)=>{elem.append("defs").append("marker").attr("id",type+"-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")}},insertMarkers$1=(elem,markerArray,type,id)=>{markerArray.forEach((markerName=>{markers[markerName](elem,type,id)}))};const createLabel$1=(_vertexText,style,isTitle,isNode)=>{let vertexText=_vertexText||"";if("object"==typeof vertexText&&(vertexText=vertexText[0]),(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){vertexText=vertexText.replace(/\\n|\n/g,"<br />"),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("vertexText"+vertexText);let vertexNode=function addHtmlLabel(node){const fo=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),div=fo.append("xhtml:div"),label=node.label,labelClass=node.isNode?"nodeLabel":"edgeLabel";return div.html('<span class="'+labelClass+'" '+(node.labelStyle?'style="'+node.labelStyle+'"':"")+">"+label+"</span>"),function applyStyle(dom,styleFn){styleFn&&dom.attr("style",styleFn)}(div,node.labelStyle),div.style("display","inline-block"),div.style("white-space","nowrap"),div.attr("xmlns","http://www.w3.org/1999/xhtml"),fo.node()}({isNode,label:(0,_mermaidAPI_0716c7c2_js__WEBPACK_IMPORTED_MODULE_2__.d)(vertexText).replace(/fa[blrs]?:fa-[\w-]+/g,(s=>`<i class='${s.replace(":"," ")}'></i>`)),labelStyle:style.replace("fill:","color:")});return vertexNode}{const svgLabel=document.createElementNS("http://www.w3.org/2000/svg","text");svgLabel.setAttribute("style",style.replace("color:","fill:"));let rows=[];rows="string"==typeof vertexText?vertexText.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(vertexText)?vertexText:[];for(const row of rows){const tspan=document.createElementNS("http://www.w3.org/2000/svg","tspan");tspan.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),tspan.setAttribute("dy","1em"),tspan.setAttribute("x","0"),isTitle?tspan.setAttribute("class","title-row"):tspan.setAttribute("class","row"),tspan.textContent=row.trim(),svgLabel.appendChild(tspan)}return svgLabel}},labelHelper=(parent,node,_classes,isNode)=>{let classes;classes=_classes||"node default";const shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId||node.id),label=shapeSvg.insert("g").attr("class","label").attr("style",node.labelStyle);let labelText;labelText=void 0===node.labelText?"":"string"==typeof node.labelText?node.labelText:node.labelText[0];const text=label.node().appendChild(createLabel$1((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.b)((0,_mermaidAPI_0716c7c2_js__WEBPACK_IMPORTED_MODULE_2__.d)(labelText),(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)()),node.labelStyle,!1,isNode));let bbox=text.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=text.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(text);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const halfPadding=node.padding/2;return label.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),{shapeSvg,bbox,halfPadding,label}},updateNodeBounds=(node,element)=>{const bbox=element.node().getBBox();node.width=bbox.width,node.height=bbox.height};function insertPolygonShape(parent,w,h,points){return parent.insert("polygon",":first-child").attr("points",points.map((function(d){return d.x+","+d.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-w/2+","+h/2+")")}function intersectEllipse(node,rx,ry,point2){var cx=node.x,cy=node.y,px=cx-point2.x,py=cy-point2.y,det=Math.sqrt(rx*rx*py*py+ry*ry*px*px),dx=Math.abs(rx*ry*px/det);point2.x<cx&&(dx=-dx);var dy=Math.abs(rx*ry*py/det);return point2.y<cy&&(dy=-dy),{x:cx+dx,y:cy+dy}}function intersectLine(p1,p2,q1,q2){var a1,a2,b1,b2,c1,c2,r1,r2,r3,r4,denom,offset,num;if(a1=p2.y-p1.y,b1=p1.x-p2.x,c1=p2.x*p1.y-p1.x*p2.y,r3=a1*q1.x+b1*q1.y+c1,r4=a1*q2.x+b1*q2.y+c1,!(0!==r3&&0!==r4&&sameSign(r3,r4)||(a2=q2.y-q1.y,b2=q1.x-q2.x,c2=q2.x*q1.y-q1.x*q2.y,r1=a2*p1.x+b2*p1.y+c2,r2=a2*p2.x+b2*p2.y+c2,0!==r1&&0!==r2&&sameSign(r1,r2)||0==(denom=a1*b2-a2*b1))))return offset=Math.abs(denom/2),{x:(num=b1*c2-b2*c1)<0?(num-offset)/denom:(num+offset)/denom,y:(num=a2*c1-a1*c2)<0?(num-offset)/denom:(num+offset)/denom}}function sameSign(r1,r2){return r1*r2>0}const intersectRect$1=(node,point2)=>{var sx,sy,x=node.x,y=node.y,dx=point2.x-x,dy=point2.y-y,w=node.width/2,h=node.height/2;return Math.abs(dy)*w>Math.abs(dx)*h?(dy<0&&(h=-h),sx=0===dy?0:h*dx/dy,sy=h):(dx<0&&(w=-w),sx=w,sy=0===dx?0:w*dy/dx),{x:x+sx,y:y+sy}},intersect={node:function intersectNode(node,point2){return node.intersect(point2)},circle:function intersectCircle(node,rx,point2){return intersectEllipse(node,rx,rx,point2)},ellipse:intersectEllipse,polygon:function intersectPolygon(node,polyPoints,point2){var x1=node.x,y1=node.y,intersections=[],minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;"function"==typeof polyPoints.forEach?polyPoints.forEach((function(entry){minX=Math.min(minX,entry.x),minY=Math.min(minY,entry.y)})):(minX=Math.min(minX,polyPoints.x),minY=Math.min(minY,polyPoints.y));for(var left=x1-node.width/2-minX,top=y1-node.height/2-minY,i=0;i<polyPoints.length;i++){var p1=polyPoints[i],p2=polyPoints[i<polyPoints.length-1?i+1:0],intersect2=intersectLine(node,point2,{x:left+p1.x,y:top+p1.y},{x:left+p2.x,y:top+p2.y});intersect2&&intersections.push(intersect2)}return intersections.length?(intersections.length>1&&intersections.sort((function(p,q){var pdx=p.x-point2.x,pdy=p.y-point2.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q.x-point2.x,qdy=q.y-point2.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distp<distq?-1:distp===distq?0:1})),intersections[0]):node},rect:intersectRect$1},question=(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),s=bbox.width+node.padding+(bbox.height+node.padding),points=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Question main (Circle)");const questionElem=insertPolygonShape(shapeSvg,s,s,points);return questionElem.attr("style",node.style),updateNodeBounds(node,questionElem),node.intersect=function(point2){return _config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("Intersect called"),intersect.polygon(node,points,point2)},shapeSvg};function applyNodePropertyBorders(rect2,borders,totalWidth,totalHeight){const strokeDashArray=[],addBorder=length=>{strokeDashArray.push(length,0)},skipBorder=length=>{strokeDashArray.push(0,length)};borders.includes("t")?(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.debug("add top border"),addBorder(totalWidth)):skipBorder(totalWidth),borders.includes("r")?(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.debug("add right border"),addBorder(totalHeight)):skipBorder(totalHeight),borders.includes("b")?(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.debug("add bottom border"),addBorder(totalWidth)):skipBorder(totalWidth),borders.includes("l")?(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.debug("add left border"),addBorder(totalHeight)):skipBorder(totalHeight),rect2.attr("stroke-dasharray",strokeDashArray.join(" "))}const forkJoin=(parent,node,dir)=>{const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id);let width=70,height=10;"LR"===dir&&(width=10,height=70);const shape=shapeSvg.append("rect").attr("x",-1*width/2).attr("y",-1*height/2).attr("width",width).attr("height",height).attr("class","fork-join");return updateNodeBounds(node,shape),node.height=node.height+node.padding/2,node.width=node.width+node.padding/2,node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},shapes={rhombus:question,question,rect:(parent,node)=>{const{shapeSvg,bbox,halfPadding}=labelHelper(parent,node,"node "+node.classes,!0);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.trace("Classes = ",node.classes);const rect2=shapeSvg.insert("rect",":first-child"),totalWidth=bbox.width+node.padding,totalHeight=bbox.height+node.padding;if(rect2.attr("class","basic label-container").attr("style",node.style).attr("rx",node.rx).attr("ry",node.ry).attr("x",-bbox.width/2-halfPadding).attr("y",-bbox.height/2-halfPadding).attr("width",totalWidth).attr("height",totalHeight),node.props){const propKeys=new Set(Object.keys(node.props));node.props.borders&&(applyNodePropertyBorders(rect2,node.props.borders,totalWidth,totalHeight),propKeys.delete("borders")),propKeys.forEach((propKey=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn(`Unknown node property ${propKey}`)}))}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},labelRect:(parent,node)=>{const{shapeSvg}=labelHelper(parent,node,"label",!0);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.trace("Classes = ",node.classes);const rect2=shapeSvg.insert("rect",":first-child");if(rect2.attr("width",0).attr("height",0),shapeSvg.attr("class","label edgeLabel"),node.props){const propKeys=new Set(Object.keys(node.props));node.props.borders&&(applyNodePropertyBorders(rect2,node.props.borders,0,0),propKeys.delete("borders")),propKeys.forEach((propKey=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn(`Unknown node property ${propKey}`)}))}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},rectWithTitle:(parent,node)=>{let classes;classes=node.classes?"node "+node.classes:"node default";const shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId||node.id),rect2=shapeSvg.insert("rect",":first-child"),innerLine=shapeSvg.insert("line"),label=shapeSvg.insert("g").attr("class","label"),text2=node.labelText.flat?node.labelText.flat():node.labelText;let title="";title="object"==typeof text2?text2[0]:text2,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Label text abc79",title,text2,"object"==typeof text2);const text=label.node().appendChild(createLabel$1(title,node.labelStyle,!0,!0));let bbox={width:0,height:0};if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=text.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(text);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Text 2",text2);const textRows=text2.slice(1,text2.length);let titleBox=text.getBBox();const descr=label.node().appendChild(createLabel$1(textRows.join?textRows.join("<br/>"):textRows,node.labelStyle,!0,!0));if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=descr.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(descr);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const halfPadding=node.padding/2;return(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(descr).attr("transform","translate( "+(bbox.width>titleBox.width?0:(titleBox.width-bbox.width)/2)+", "+(titleBox.height+halfPadding+5)+")"),(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(text).attr("transform","translate( "+(bbox.width<titleBox.width?0:-(titleBox.width-bbox.width)/2)+", 0)"),bbox=label.node().getBBox(),label.attr("transform","translate("+-bbox.width/2+", "+(-bbox.height/2-halfPadding+3)+")"),rect2.attr("class","outer title-state").attr("x",-bbox.width/2-halfPadding).attr("y",-bbox.height/2-halfPadding).attr("width",bbox.width+node.padding).attr("height",bbox.height+node.padding),innerLine.attr("class","divider").attr("x1",-bbox.width/2-halfPadding).attr("x2",bbox.width/2+halfPadding).attr("y1",-bbox.height/2-halfPadding+titleBox.height+halfPadding).attr("y2",-bbox.height/2-halfPadding+titleBox.height+halfPadding),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},choice:(parent,node)=>{const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id),points=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return shapeSvg.insert("polygon",":first-child").attr("points",points.map((function(d){return d.x+","+d.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),node.width=28,node.height=28,node.intersect=function(point2){return intersect.circle(node,14,point2)},shapeSvg},circle:(parent,node)=>{const{shapeSvg,bbox,halfPadding}=labelHelper(parent,node,void 0,!0),circle2=shapeSvg.insert("circle",":first-child");return circle2.attr("style",node.style).attr("rx",node.rx).attr("ry",node.ry).attr("r",bbox.width/2+halfPadding).attr("width",bbox.width+node.padding).attr("height",bbox.height+node.padding),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Circle main"),updateNodeBounds(node,circle2),node.intersect=function(point2){return _config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Circle intersect",node,bbox.width/2+halfPadding,point2),intersect.circle(node,bbox.width/2+halfPadding,point2)},shapeSvg},doublecircle:(parent,node)=>{const{shapeSvg,bbox,halfPadding}=labelHelper(parent,node,void 0,!0),circleGroup=shapeSvg.insert("g",":first-child"),outerCircle=circleGroup.insert("circle"),innerCircle=circleGroup.insert("circle");return outerCircle.attr("style",node.style).attr("rx",node.rx).attr("ry",node.ry).attr("r",bbox.width/2+halfPadding+5).attr("width",bbox.width+node.padding+10).attr("height",bbox.height+node.padding+10),innerCircle.attr("style",node.style).attr("rx",node.rx).attr("ry",node.ry).attr("r",bbox.width/2+halfPadding).attr("width",bbox.width+node.padding).attr("height",bbox.height+node.padding),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("DoubleCircle main"),updateNodeBounds(node,outerCircle),node.intersect=function(point2){return _config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("DoubleCircle intersect",node,bbox.width/2+halfPadding+5,point2),intersect.circle(node,bbox.width/2+halfPadding+5,point2)},shapeSvg},stadium:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),h=bbox.height+node.padding,w=bbox.width+h/4+node.padding,rect2=shapeSvg.insert("rect",":first-child").attr("style",node.style).attr("rx",h/2).attr("ry",h/2).attr("x",-w/2).attr("y",-h/2).attr("width",w).attr("height",h);return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},hexagon:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),h=bbox.height+node.padding,m=h/4,w=bbox.width+2*m+node.padding,points=[{x:m,y:0},{x:w-m,y:0},{x:w,y:-h/2},{x:w-m,y:-h},{x:m,y:-h},{x:0,y:-h/2}],hex=insertPolygonShape(shapeSvg,w,h,points);return hex.attr("style",node.style),updateNodeBounds(node,hex),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},rect_left_inv_arrow:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:-h/2,y:0},{x:w,y:0},{x:w,y:-h},{x:-h/2,y:-h},{x:0,y:-h/2}];return insertPolygonShape(shapeSvg,w,h,points).attr("style",node.style),node.width=w+h,node.height=h,node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},lean_right:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:-2*h/6,y:0},{x:w-h/6,y:0},{x:w+2*h/6,y:-h},{x:h/6,y:-h}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},lean_left:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:2*h/6,y:0},{x:w+h/6,y:0},{x:w-2*h/6,y:-h},{x:-h/6,y:-h}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},trapezoid:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:-2*h/6,y:0},{x:w+2*h/6,y:0},{x:w-h/6,y:-h},{x:h/6,y:-h}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},inv_trapezoid:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:h/6,y:0},{x:w-h/6,y:0},{x:w+2*h/6,y:-h},{x:-2*h/6,y:-h}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},rect_right_inv_arrow:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:0,y:0},{x:w+h/2,y:0},{x:w,y:-h/2},{x:w+h/2,y:-h},{x:0,y:-h}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},cylinder:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,rx=w/2,ry=rx/(2.5+w/50),h=bbox.height+ry+node.padding,shape="M 0,"+ry+" a "+rx+","+ry+" 0,0,0 "+w+" 0 a "+rx+","+ry+" 0,0,0 "+-w+" 0 l 0,"+h+" a "+rx+","+ry+" 0,0,0 "+w+" 0 l 0,"+-h,el=shapeSvg.attr("label-offset-y",ry).insert("path",":first-child").attr("style",node.style).attr("d",shape).attr("transform","translate("+-w/2+","+-(h/2+ry)+")");return updateNodeBounds(node,el),node.intersect=function(point2){const pos=intersect.rect(node,point2),x=pos.x-node.x;if(0!=rx&&(Math.abs(x)<node.width/2||Math.abs(x)==node.width/2&&Math.abs(pos.y-node.y)>node.height/2-ry)){let y=ry*ry*(1-x*x/(rx*rx));0!=y&&(y=Math.sqrt(y)),y=ry-y,point2.y-node.y>0&&(y=-y),pos.y+=y}return pos},shapeSvg},start:(parent,node)=>{const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id),circle2=shapeSvg.insert("circle",":first-child");return circle2.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect.circle(node,7,point2)},shapeSvg},end:(parent,node)=>{const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id),innerCircle=shapeSvg.insert("circle",":first-child"),circle2=shapeSvg.insert("circle",":first-child");return circle2.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),innerCircle.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect.circle(node,7,point2)},shapeSvg},note:(parent,node)=>{const{shapeSvg,bbox,halfPadding}=labelHelper(parent,node,"node "+node.classes,!0);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Classes = ",node.classes);const rect2=shapeSvg.insert("rect",":first-child");return rect2.attr("rx",node.rx).attr("ry",node.ry).attr("x",-bbox.width/2-halfPadding).attr("y",-bbox.height/2-halfPadding).attr("width",bbox.width+node.padding).attr("height",bbox.height+node.padding),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg},subroutine:(parent,node)=>{const{shapeSvg,bbox}=labelHelper(parent,node,void 0,!0),w=bbox.width+node.padding,h=bbox.height+node.padding,points=[{x:0,y:0},{x:w,y:0},{x:w,y:-h},{x:0,y:-h},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-h},{x:-8,y:-h},{x:-8,y:0}],el=insertPolygonShape(shapeSvg,w,h,points);return el.attr("style",node.style),updateNodeBounds(node,el),node.intersect=function(point2){return intersect.polygon(node,points,point2)},shapeSvg},fork:forkJoin,join:forkJoin,class_box:(parent,node)=>{const halfPadding=node.padding/2;let classes;classes=node.classes?"node "+node.classes:"node default";const shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId||node.id),rect2=shapeSvg.insert("rect",":first-child"),topLine=shapeSvg.insert("line"),bottomLine=shapeSvg.insert("line");let maxWidth=0,maxHeight=4;const labelContainer=shapeSvg.insert("g").attr("class","label");let verticalPos=0;const hasInterface=node.classData.annotations&&node.classData.annotations[0],interfaceLabelText=node.classData.annotations[0]?"«"+node.classData.annotations[0]+"»":"",interfaceLabel=labelContainer.node().appendChild(createLabel$1(interfaceLabelText,node.labelStyle,!0,!0));let interfaceBBox=interfaceLabel.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=interfaceLabel.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(interfaceLabel);interfaceBBox=div.getBoundingClientRect(),dv.attr("width",interfaceBBox.width),dv.attr("height",interfaceBBox.height)}node.classData.annotations[0]&&(maxHeight+=interfaceBBox.height+4,maxWidth+=interfaceBBox.width);let classTitleString=node.classData.label;void 0!==node.classData.type&&""!==node.classData.type&&((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels?classTitleString+="<"+node.classData.type+">":classTitleString+="<"+node.classData.type+">");const classTitleLabel=labelContainer.node().appendChild(createLabel$1(classTitleString,node.labelStyle,!0,!0));(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(classTitleLabel).attr("class","classTitle");let classTitleBBox=classTitleLabel.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=classTitleLabel.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(classTitleLabel);classTitleBBox=div.getBoundingClientRect(),dv.attr("width",classTitleBBox.width),dv.attr("height",classTitleBBox.height)}maxHeight+=classTitleBBox.height+4,classTitleBBox.width>maxWidth&&(maxWidth=classTitleBBox.width);const classAttributes=[];node.classData.members.forEach((str=>{const parsedInfo=(0,_svgDraw_6a237a99_js__WEBPACK_IMPORTED_MODULE_3__.p)(str);let parsedText=parsedInfo.displayText;(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels&&(parsedText=parsedText.replace(/</g,"<").replace(/>/g,">"));const lbl=labelContainer.node().appendChild(createLabel$1(parsedText,parsedInfo.cssStyle?parsedInfo.cssStyle:node.labelStyle,!0,!0));let bbox=lbl.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=lbl.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(lbl);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}bbox.width>maxWidth&&(maxWidth=bbox.width),maxHeight+=bbox.height+4,classAttributes.push(lbl)})),maxHeight+=8;const classMethods=[];if(node.classData.methods.forEach((str=>{const parsedInfo=(0,_svgDraw_6a237a99_js__WEBPACK_IMPORTED_MODULE_3__.p)(str);let displayText=parsedInfo.displayText;(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels&&(displayText=displayText.replace(/</g,"<").replace(/>/g,">"));const lbl=labelContainer.node().appendChild(createLabel$1(displayText,parsedInfo.cssStyle?parsedInfo.cssStyle:node.labelStyle,!0,!0));let bbox=lbl.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=lbl.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(lbl);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}bbox.width>maxWidth&&(maxWidth=bbox.width),maxHeight+=bbox.height+4,classMethods.push(lbl)})),maxHeight+=8,hasInterface){let diffX2=(maxWidth-interfaceBBox.width)/2;(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(interfaceLabel).attr("transform","translate( "+(-1*maxWidth/2+diffX2)+", "+-1*maxHeight/2+")"),verticalPos=interfaceBBox.height+4}let diffX=(maxWidth-classTitleBBox.width)/2;return(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(classTitleLabel).attr("transform","translate( "+(-1*maxWidth/2+diffX)+", "+(-1*maxHeight/2+verticalPos)+")"),verticalPos+=classTitleBBox.height+4,topLine.attr("class","divider").attr("x1",-maxWidth/2-halfPadding).attr("x2",maxWidth/2+halfPadding).attr("y1",-maxHeight/2-halfPadding+8+verticalPos).attr("y2",-maxHeight/2-halfPadding+8+verticalPos),verticalPos+=8,classAttributes.forEach((lbl=>{(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(lbl).attr("transform","translate( "+-maxWidth/2+", "+(-1*maxHeight/2+verticalPos+4)+")"),verticalPos+=classTitleBBox.height+4})),verticalPos+=8,bottomLine.attr("class","divider").attr("x1",-maxWidth/2-halfPadding).attr("x2",maxWidth/2+halfPadding).attr("y1",-maxHeight/2-halfPadding+8+verticalPos).attr("y2",-maxHeight/2-halfPadding+8+verticalPos),verticalPos+=8,classMethods.forEach((lbl=>{(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(lbl).attr("transform","translate( "+-maxWidth/2+", "+(-1*maxHeight/2+verticalPos)+")"),verticalPos+=classTitleBBox.height+4})),rect2.attr("class","outer title-state").attr("x",-maxWidth/2-halfPadding).attr("y",-maxHeight/2-halfPadding).attr("width",maxWidth+node.padding).attr("height",maxHeight+node.padding),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect.rect(node,point2)},shapeSvg}};let nodeElems={};const insertNode=(elem,node,dir)=>{let newEl,el;if(node.link){let target;"sandbox"===(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().securityLevel?target="_top":node.linkTarget&&(target=node.linkTarget||"_blank"),newEl=elem.insert("svg:a").attr("xlink:href",node.link).attr("target",target),el=shapes[node.shape](newEl,node,dir)}else el=shapes[node.shape](elem,node,dir),newEl=el;return node.tooltip&&el.attr("title",node.tooltip),node.class&&el.attr("class","node default "+node.class),nodeElems[node.id]=newEl,node.haveCallback&&nodeElems[node.id].attr("class",nodeElems[node.id].attr("class")+" clickable"),newEl},setNodeElem=(elem,node)=>{nodeElems[node.id]=elem},clear$1=()=>{nodeElems={}},positionNode=node=>{const el=nodeElems[node.id];_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.trace("Transforming node",node.diff,node,"translate("+(node.x-node.width/2-5)+", "+node.width/2+")");const diff=node.diff||0;return node.clusterNode?el.attr("transform","translate("+(node.x+diff-node.width/2)+", "+(node.y-node.height/2-8)+")"):el.attr("transform","translate("+node.x+", "+node.y+")"),diff};let edgeLabels={},terminalLabels={};const clear=()=>{edgeLabels={},terminalLabels={}},insertEdgeLabel=(elem,edge)=>{const labelElement=createLabel$1(edge.label,edge.labelStyle),edgeLabel=elem.insert("g").attr("class","edgeLabel"),label=edgeLabel.insert("g").attr("class","label");label.node().appendChild(labelElement);let fo,bbox=labelElement.getBBox();if((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.j)((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels)){const div=labelElement.children[0],dv=(0,d3__WEBPACK_IMPORTED_MODULE_0__.Ys)(labelElement);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}if(label.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),edgeLabels[edge.id]=edgeLabel,edge.width=bbox.width,edge.height=bbox.height,edge.startLabelLeft){const startLabelElement=createLabel$1(edge.startLabelLeft,edge.labelStyle),startEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelLeft.insert("g").attr("class","inner");fo=inner.node().appendChild(startLabelElement);const slBox=startLabelElement.getBBox();inner.attr("transform","translate("+-slBox.width/2+", "+-slBox.height/2+")"),terminalLabels[edge.id]||(terminalLabels[edge.id]={}),terminalLabels[edge.id].startLeft=startEdgeLabelLeft,setTerminalWidth(fo,edge.startLabelLeft)}if(edge.startLabelRight){const startLabelElement=createLabel$1(edge.startLabelRight,edge.labelStyle),startEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelRight.insert("g").attr("class","inner");fo=startEdgeLabelRight.node().appendChild(startLabelElement),inner.node().appendChild(startLabelElement);const slBox=startLabelElement.getBBox();inner.attr("transform","translate("+-slBox.width/2+", "+-slBox.height/2+")"),terminalLabels[edge.id]||(terminalLabels[edge.id]={}),terminalLabels[edge.id].startRight=startEdgeLabelRight,setTerminalWidth(fo,edge.startLabelRight)}if(edge.endLabelLeft){const endLabelElement=createLabel$1(edge.endLabelLeft,edge.labelStyle),endEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelLeft.insert("g").attr("class","inner");fo=inner.node().appendChild(endLabelElement);const slBox=endLabelElement.getBBox();inner.attr("transform","translate("+-slBox.width/2+", "+-slBox.height/2+")"),endEdgeLabelLeft.node().appendChild(endLabelElement),terminalLabels[edge.id]||(terminalLabels[edge.id]={}),terminalLabels[edge.id].endLeft=endEdgeLabelLeft,setTerminalWidth(fo,edge.endLabelLeft)}if(edge.endLabelRight){const endLabelElement=createLabel$1(edge.endLabelRight,edge.labelStyle),endEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelRight.insert("g").attr("class","inner");fo=inner.node().appendChild(endLabelElement);const slBox=endLabelElement.getBBox();inner.attr("transform","translate("+-slBox.width/2+", "+-slBox.height/2+")"),endEdgeLabelRight.node().appendChild(endLabelElement),terminalLabels[edge.id]||(terminalLabels[edge.id]={}),terminalLabels[edge.id].endRight=endEdgeLabelRight,setTerminalWidth(fo,edge.endLabelRight)}return labelElement};function setTerminalWidth(fo,value){(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.htmlLabels&&fo&&(fo.style.width=9*value.length+"px",fo.style.height="12px")}const positionEdgeLabel=(edge,paths)=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Moving label abc78 ",edge.id,edge.label,edgeLabels[edge.id]);let path=paths.updatedPath?paths.updatedPath:paths.originalPath;if(edge.label){const el=edgeLabels[edge.id];let x=edge.x,y=edge.y;if(path){const pos=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__.u.calcLabelPosition(path);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Moving label "+edge.label+" from (",x,",",y,") to (",pos.x,",",pos.y,") abc78"),paths.updatedPath&&(x=pos.x,y=pos.y)}el.attr("transform","translate("+x+", "+y+")")}if(edge.startLabelLeft){const el=terminalLabels[edge.id].startLeft;let x=edge.x,y=edge.y;if(path){const pos=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__.u.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_left",path);x=pos.x,y=pos.y}el.attr("transform","translate("+x+", "+y+")")}if(edge.startLabelRight){const el=terminalLabels[edge.id].startRight;let x=edge.x,y=edge.y;if(path){const pos=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__.u.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_right",path);x=pos.x,y=pos.y}el.attr("transform","translate("+x+", "+y+")")}if(edge.endLabelLeft){const el=terminalLabels[edge.id].endLeft;let x=edge.x,y=edge.y;if(path){const pos=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__.u.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_left",path);x=pos.x,y=pos.y}el.attr("transform","translate("+x+", "+y+")")}if(edge.endLabelRight){const el=terminalLabels[edge.id].endRight;let x=edge.x,y=edge.y;if(path){const pos=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_4__.u.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_right",path);x=pos.x,y=pos.y}el.attr("transform","translate("+x+", "+y+")")}},cutPathAtIntersect=(_points,boundryNode)=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 cutPathAtIntersect",_points,boundryNode);let points=[],lastPointOutside=_points[0],isInside=!1;return _points.forEach((point2=>{if(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("abc88 checking point",point2,boundryNode),((node,point2)=>{const x=node.x,y=node.y,dx=Math.abs(point2.x-x),dy=Math.abs(point2.y-y),w=node.width/2,h=node.height/2;return dx>=w||dy>=h})(boundryNode,point2)||isInside)_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 outside",point2,lastPointOutside),lastPointOutside=point2,isInside||points.push(point2);else{const inter=((node,outsidePoint,insidePoint)=>{_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);const x=node.x,y=node.y,dx=Math.abs(x-insidePoint.x),w=node.width/2;let r=insidePoint.x<outsidePoint.x?w-dx:w+dx;const h=node.height/2,Q=Math.abs(outsidePoint.y-insidePoint.y),R=Math.abs(outsidePoint.x-insidePoint.x);if(Math.abs(y-outsidePoint.y)*w>Math.abs(x-outsidePoint.x)*h){let q=insidePoint.y<outsidePoint.y?outsidePoint.y-h-y:y-h-outsidePoint.y;r=R*q/Q;const res={x:insidePoint.x<outsidePoint.x?insidePoint.x+r:insidePoint.x-R+r,y:insidePoint.y<outsidePoint.y?insidePoint.y+Q-q:insidePoint.y-Q+q};return 0===r&&(res.x=outsidePoint.x,res.y=outsidePoint.y),0===R&&(res.x=outsidePoint.x),0===Q&&(res.y=outsidePoint.y),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`,res),res}{r=insidePoint.x<outsidePoint.x?outsidePoint.x-w-x:x-w-outsidePoint.x;let q=Q*r/R,_x=insidePoint.x<outsidePoint.x?insidePoint.x+R-r:insidePoint.x-R+r,_y=insidePoint.y<outsidePoint.y?insidePoint.y+q:insidePoint.y-q;return _config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`,{_x,_y}),0===r&&(_x=outsidePoint.x,_y=outsidePoint.y),0===R&&(_x=outsidePoint.x),0===Q&&(_y=outsidePoint.y),{x:_x,y:_y}}})(boundryNode,lastPointOutside,point2);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 inside",point2,lastPointOutside,inter),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 intersection",inter);let pointPresent=!1;points.forEach((p=>{pointPresent=pointPresent||p.x===inter.x&&p.y===inter.y})),points.some((e=>e.x===inter.x&&e.y===inter.y))?_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 no intersect",inter,points):points.push(inter),isInside=!0}})),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.warn("abc88 returning points",points),points},insertEdge=function(elem,e,edge,clusterDb,diagramType,graph){let points=edge.points,pointsHasChanged=!1;const tail=graph.node(e.v);var head=graph.node(e.w);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("abc88 InsertEdge: ",edge),head.intersect&&tail.intersect&&(points=points.slice(1,edge.points.length-1),points.unshift(tail.intersect(points[0])),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("Last point",points[points.length-1],head,head.intersect(points[points.length-1])),points.push(head.intersect(points[points.length-1]))),edge.toCluster&&(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("to cluster abc88",clusterDb[edge.toCluster]),points=cutPathAtIntersect(edge.points,clusterDb[edge.toCluster].node),pointsHasChanged=!0),edge.fromCluster&&(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("from cluster abc88",clusterDb[edge.fromCluster]),points=cutPathAtIntersect(points.reverse(),clusterDb[edge.fromCluster].node).reverse(),pointsHasChanged=!0);const lineData=points.filter((p=>!Number.isNaN(p.y)));let curve;curve=("graph"===diagramType||"flowchart"===diagramType)&&edge.curve||d3__WEBPACK_IMPORTED_MODULE_0__.$0Z;const lineFunction=(0,d3__WEBPACK_IMPORTED_MODULE_0__.jvg)().x((function(d){return d.x})).y((function(d){return d.y})).curve(curve);let strokeClasses;switch(edge.thickness){case"normal":strokeClasses="edge-thickness-normal";break;case"thick":case"invisible":strokeClasses="edge-thickness-thick";break;default:strokeClasses=""}switch(edge.pattern){case"solid":strokeClasses+=" edge-pattern-solid";break;case"dotted":strokeClasses+=" edge-pattern-dotted";break;case"dashed":strokeClasses+=" edge-pattern-dashed"}const svgPath=elem.append("path").attr("d",lineFunction(lineData)).attr("id",edge.id).attr("class"," "+strokeClasses+(edge.classes?" "+edge.classes:"")).attr("style",edge.style);let url="";switch(((0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().flowchart.arrowMarkerAbsolute||(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.g)().state.arrowMarkerAbsolute)&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=url.replace(/\(/g,"\\("),url=url.replace(/\)/g,"\\)")),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("arrowTypeStart",edge.arrowTypeStart),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_1__.l.info("arrowTypeEnd",edge.arrowTypeEnd),edge.arrowTypeStart){case"arrow_cross":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-crossStart)");break;case"arrow_point":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-pointStart)");break;case"arrow_barb":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-barbStart)");break;case"arrow_circle":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-circleStart)");break;case"aggregation":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-aggregationStart)");break;case"extension":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-extensionStart)");break;case"composition":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-compositionStart)");break;case"dependency":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-dependencyStart)");break;case"lollipop":svgPath.attr("marker-start","url("+url+"#"+diagramType+"-lollipopStart)")}switch(edge.arrowTypeEnd){case"arrow_cross":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-crossEnd)");break;case"arrow_point":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-pointEnd)");break;case"arrow_barb":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-barbEnd)");break;case"arrow_circle":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-circleEnd)");break;case"aggregation":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-aggregationEnd)");break;case"extension":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-extensionEnd)");break;case"composition":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-compositionEnd)");break;case"dependency":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-dependencyEnd)");break;case"lollipop":svgPath.attr("marker-end","url("+url+"#"+diagramType+"-lollipopEnd)")}let paths={};return pointsHasChanged&&(paths.updatedPath=points),paths.originalPath=edge.points,paths}},"../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/svgDraw-6a237a99.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{p:()=>parseMember,s:()=>svgDraw});var d3__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../common/temp/node_modules/.pnpm/d3@7.8.2/node_modules/d3/src/index.js"),_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/utils-d5eeff82.js"),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("../../common/temp/node_modules/.pnpm/mermaid@10.0.2/node_modules/mermaid/dist/config-389b86ff.js");let edgeCount=0;const parseMember=function(text){let fieldMatch=text.match(/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/),methodMatch=text.match(/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/);return fieldMatch&&!methodMatch?buildFieldDisplay(fieldMatch):methodMatch?buildMethodDisplay(methodMatch):buildLegacyDisplay(text)},buildFieldDisplay=function(parsedText){let cssStyle="",displayText="";try{let visibility=parsedText[1]?parsedText[1].trim():"",fieldType=parsedText[2]?parsedText[2].trim():"",genericType=parsedText[3]?(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(parsedText[3].trim()):"",fieldName=parsedText[4]?parsedText[4].trim():"",classifier=parsedText[5]?parsedText[5].trim():"";displayText=visibility+fieldType+genericType+" "+fieldName,cssStyle=parseClassifier(classifier)}catch(err){displayText=parsedText}return{displayText,cssStyle}},buildMethodDisplay=function(parsedText){let cssStyle="",displayText="";try{let visibility=parsedText[1]?parsedText[1].trim():"",methodName=parsedText[2]?parsedText[2].trim():"",parameters=parsedText[3]?(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(parsedText[3].trim()):"",classifier=parsedText[4]?parsedText[4].trim():"";displayText=visibility+methodName+"("+parameters+")"+(parsedText[5]?" : "+(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(parsedText[5]).trim():""),cssStyle=parseClassifier(classifier)}catch(err){displayText=parsedText}return{displayText,cssStyle}},buildLegacyDisplay=function(text){let displayText="",cssStyle="",returnType="",methodStart=text.indexOf("("),methodEnd=text.indexOf(")");if(methodStart>1&&methodEnd>methodStart&&methodEnd<=text.length){let visibility="",methodName="",firstChar=text.substring(0,1);firstChar.match(/\w/)?methodName=text.substring(0,methodStart).trim():(firstChar.match(/[#+~-]/)&&(visibility=firstChar),methodName=text.substring(1,methodStart).trim());const parameters=text.substring(methodStart+1,methodEnd);text.substring(methodEnd+1,1),cssStyle=parseClassifier(text.substring(methodEnd+1,methodEnd+2)),displayText=visibility+methodName+"("+(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(parameters.trim())+")",methodEnd<text.length&&(returnType=text.substring(methodEnd+2).trim(),""!==returnType&&(returnType=" : "+(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(returnType),displayText+=returnType))}else displayText=(0,_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.p)(text);return{displayText,cssStyle}},addTspan=function(textEl,txt,isFirst,conf){let member=parseMember(txt);const tSpan=textEl.append("tspan").attr("x",conf.padding).text(member.displayText);""!==member.cssStyle&&tSpan.attr("style",member.cssStyle),isFirst||tSpan.attr("dy",conf.textHeight)},parseClassifier=function(classifier){switch(classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},svgDraw={drawClass:function(elem,classDef,conf,diagObj){_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.debug("Rendering class ",classDef,conf);const id=classDef.id,classInfo={id,label:classDef.id,width:0,height:0},g=elem.append("g").attr("id",diagObj.db.lookUpDomId(id)).attr("class","classGroup");let title;title=classDef.link?g.append("svg:a").attr("xlink:href",classDef.link).attr("target",classDef.linkTarget).append("text").attr("y",conf.textHeight+conf.padding).attr("x",0):g.append("text").attr("y",conf.textHeight+conf.padding).attr("x",0);let isFirst=!0;classDef.annotations.forEach((function(member){const titleText2=title.append("tspan").text("«"+member+"»");isFirst||titleText2.attr("dy",conf.textHeight),isFirst=!1}));let classTitleString=classDef.id;void 0!==classDef.type&&""!==classDef.type&&(classTitleString+="<"+classDef.type+">");const classTitle=title.append("tspan").text(classTitleString).attr("class","title");isFirst||classTitle.attr("dy",conf.textHeight);const titleHeight=title.node().getBBox().height,membersLine=g.append("line").attr("x1",0).attr("y1",conf.padding+titleHeight+conf.dividerMargin/2).attr("y2",conf.padding+titleHeight+conf.dividerMargin/2),members=g.append("text").attr("x",conf.padding).attr("y",titleHeight+conf.dividerMargin+conf.textHeight).attr("fill","white").attr("class","classText");isFirst=!0,classDef.members.forEach((function(member){addTspan(members,member,isFirst,conf),isFirst=!1}));const membersBox=members.node().getBBox(),methodsLine=g.append("line").attr("x1",0).attr("y1",conf.padding+titleHeight+conf.dividerMargin+membersBox.height).attr("y2",conf.padding+titleHeight+conf.dividerMargin+membersBox.height),methods=g.append("text").attr("x",conf.padding).attr("y",titleHeight+2*conf.dividerMargin+membersBox.height+conf.textHeight).attr("fill","white").attr("class","classText");isFirst=!0,classDef.methods.forEach((function(method){addTspan(methods,method,isFirst,conf),isFirst=!1}));const classBox=g.node().getBBox();var cssClassStr=" ";classDef.cssClasses.length>0&&(cssClassStr+=classDef.cssClasses.join(" "));const rectWidth=g.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",classBox.width+2*conf.padding).attr("height",classBox.height+conf.padding+.5*conf.dividerMargin).attr("class",cssClassStr).node().getBBox().width;return title.node().childNodes.forEach((function(x){x.setAttribute("x",(rectWidth-x.getBBox().width)/2)})),classDef.tooltip&&title.insert("title").text(classDef.tooltip),membersLine.attr("x2",rectWidth),methodsLine.attr("x2",rectWidth),classInfo.width=rectWidth,classInfo.height=classBox.height+conf.padding+.5*conf.dividerMargin,classInfo},drawEdge:function(elem,path,relation,conf,diagObj){const getRelationType=function(type){switch(type){case diagObj.db.relationType.AGGREGATION:return"aggregation";case diagObj.db.relationType.EXTENSION:return"extension";case diagObj.db.relationType.COMPOSITION:return"composition";case diagObj.db.relationType.DEPENDENCY:return"dependency";case diagObj.db.relationType.LOLLIPOP:return"lollipop"}};path.points=path.points.filter((p=>!Number.isNaN(p.y)));const lineData=path.points,lineFunction=(0,d3__WEBPACK_IMPORTED_MODULE_0__.jvg)().x((function(d){return d.x})).y((function(d){return d.y})).curve(d3__WEBPACK_IMPORTED_MODULE_0__.$0Z),svgPath=elem.append("path").attr("d",lineFunction(lineData)).attr("id","edge"+edgeCount).attr("class","relation");let x,y,url="";conf.arrowMarkerAbsolute&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=url.replace(/\(/g,"\\("),url=url.replace(/\)/g,"\\)")),1==relation.relation.lineType&&svgPath.attr("class","relation dashed-line"),10==relation.relation.lineType&&svgPath.attr("class","relation dotted-line"),"none"!==relation.relation.type1&&svgPath.attr("marker-start","url("+url+"#"+getRelationType(relation.relation.type1)+"Start)"),"none"!==relation.relation.type2&&svgPath.attr("marker-end","url("+url+"#"+getRelationType(relation.relation.type2)+"End)");const l=path.points.length;let p1_card_x,p1_card_y,p2_card_x,p2_card_y,labelPosition=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_1__.u.calcLabelPosition(path.points);if(x=labelPosition.x,y=labelPosition.y,l%2!=0&&l>1){let cardinality_1_point=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_1__.u.calcCardinalityPosition("none"!==relation.relation.type1,path.points,path.points[0]),cardinality_2_point=_utils_d5eeff82_js__WEBPACK_IMPORTED_MODULE_1__.u.calcCardinalityPosition("none"!==relation.relation.type2,path.points,path.points[l-1]);_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.debug("cardinality_1_point "+JSON.stringify(cardinality_1_point)),_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.debug("cardinality_2_point "+JSON.stringify(cardinality_2_point)),p1_card_x=cardinality_1_point.x,p1_card_y=cardinality_1_point.y,p2_card_x=cardinality_2_point.x,p2_card_y=cardinality_2_point.y}if(void 0!==relation.title){const g=elem.append("g").attr("class","classLabel"),label=g.append("text").attr("class","label").attr("x",x).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(relation.title);window.label=label;const bounds=label.node().getBBox();g.insert("rect",":first-child").attr("class","box").attr("x",bounds.x-conf.padding/2).attr("y",bounds.y-conf.padding/2).attr("width",bounds.width+conf.padding).attr("height",bounds.height+conf.padding)}if(_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.info("Rendering relation "+JSON.stringify(relation)),void 0!==relation.relationTitle1&&"none"!==relation.relationTitle1){elem.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",p1_card_x).attr("y",p1_card_y).attr("fill","black").attr("font-size","6").text(relation.relationTitle1)}if(void 0!==relation.relationTitle2&&"none"!==relation.relationTitle2){elem.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",p2_card_x).attr("y",p2_card_y).attr("fill","black").attr("font-size","6").text(relation.relationTitle2)}edgeCount++},drawNote:function(elem,note,conf,diagObj){_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.debug("Rendering note ",note,conf);const id=note.id,noteInfo={id,text:note.text,width:0,height:0},g=elem.append("g").attr("id",id).attr("class","classGroup");let text=g.append("text").attr("y",conf.textHeight+conf.padding).attr("x",0);const lines=JSON.parse(`"${note.text}"`).split("\n");lines.forEach((function(line2){_config_389b86ff_js__WEBPACK_IMPORTED_MODULE_2__.l.debug(`Adding line: ${line2}`),text.append("tspan").text(line2).attr("class","title").attr("dy",conf.textHeight)}));const noteBox=g.node().getBBox(),rectWidth=g.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",noteBox.width+2*conf.padding).attr("height",noteBox.height+lines.length*conf.textHeight+conf.padding+.5*conf.dividerMargin).node().getBBox().width;return text.node().childNodes.forEach((function(x){x.setAttribute("x",(rectWidth-x.getBBox().width)/2)})),noteInfo.width=rectWidth,noteInfo.height=noteBox.height+lines.length*conf.textHeight+conf.padding+.5*conf.dividerMargin,noteInfo},parseMember}}}]);