From c36d868b55036f6357685ed87a018aa8910b63fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 23 Aug 2025 10:30:43 +0200 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20chore(deps):=20upgrade=20m?= =?UTF-8?q?ermaid=20to=20v11.10.1=20(#564)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: welpo --- static/js/mermaid.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/js/mermaid.min.js b/static/js/mermaid.min.js index aa6a180..897e738 100644 --- a/static/js/mermaid.min.js +++ b/static/js/mermaid.min.js @@ -1155,7 +1155,7 @@ Expecting `+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on l fill: ${e.titleColor||e.textColor}; font-family: ${e.fontFamily}; } -`,"getStyles"),hye=cye}),gye={};vBe(gye,{diagram:()=>fye});var fye,mye,yye,vye,xye,bye,wye,kye,Tye,Eye=b(()=>{Mfe(),uye(),dye(),pye(),fye={parser:Ife,db:tye,renderer:lye,styles:hye}}),Cye=b(()=>{s1e(),e(),mye={parse:mt(async e=>{e=await r1e("info",e),M.debug(e)},"parse")}}),Sye=b(()=>{yye={name:"mermaid",version:"11.10.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),_ye=b(()=>{Sye(),vye={version:yye.version+""},xye=mt(()=>vye.version,"getVersion"),bye={getVersion:xye}}),Aye=b(()=>{s6(),Cu(),wye=mt(e=>{let t=D().securityLevel,r=H("body"),n;return"sandbox"===t&&(n=H("#i"+e).node()?.contentDocument??document,r=H(n.body)),r.select("#"+e)},"selectSvgElement")}),Lye=b(()=>{e(),Aye(),hh(),kye=mt((e,t,r)=>{M.debug(`rendering info diagram +`,"getStyles"),hye=cye}),gye={};vBe(gye,{diagram:()=>fye});var fye,mye,yye,vye,xye,bye,wye,kye,Tye,Eye=b(()=>{Mfe(),uye(),dye(),pye(),fye={parser:Ife,db:tye,renderer:lye,styles:hye}}),Cye=b(()=>{s1e(),e(),mye={parse:mt(async e=>{e=await r1e("info",e),M.debug(e)},"parse")}}),Sye=b(()=>{yye={name:"mermaid",version:"11.10.1",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),_ye=b(()=>{Sye(),vye={version:yye.version+""},xye=mt(()=>vye.version,"getVersion"),bye={getVersion:xye}}),Aye=b(()=>{s6(),Cu(),wye=mt(e=>{let t=D().securityLevel,r=H("body"),n;return"sandbox"===t&&(n=H("#i"+e).node()?.contentDocument??document,r=H(n.body)),r.select("#"+e)},"selectSvgElement")}),Lye=b(()=>{e(),Aye(),hh(),kye=mt((e,t,r)=>{M.debug(`rendering info diagram `+e),e=wye(t),Jc(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text("v"+r)},"draw"),Tye={draw:kye}}),Nye={};vBe(Nye,{diagram:()=>Iye});var Iye,Rye,Mye,Dye,Oye,Pye,Bye,$ye,Fye,zye,Gye,Uye,qye,jye,Wye,Yye,Hye,Vye,Xye,Kye=b(()=>{Cye(),_ye(),Lye(),Iye={parser:mye,db:bye,renderer:Tye}}),Zye=b(()=>{e(),Eu(),rn(),Pye=Wt.pie,Rye={sections:new Map,showData:!1,config:Pye},Mye=Rye.sections,Dye=Rye.showData,Oye=structuredClone(Pye),Pye=mt(()=>structuredClone(Oye),"getConfig"),Bye=mt(()=>{Mye=new Map,Dye=Rye.showData,yh()},"clear"),$ye=mt(({label:e,value:t})=>{if(t<0)throw new Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);Mye.has(e)||(Mye.set(e,t),M.debug(`added new section: ${e}, with value: `+t))},"addSection"),Fye=mt(()=>Mye,"getSections"),zye=mt(e=>{Dye=e},"setShowData"),Gye=mt(()=>Dye,"getShowData"),Uye={getConfig:Pye,clear:Bye,setDiagramTitle:kh,getDiagramTitle:Th,setAccTitle:vh,getAccTitle:xh,setAccDescription:bh,getAccDescription:wh,addSection:$ye,getSections:Fye,setShowData:zye,getShowData:Gye}}),Qye=b(()=>{s1e(),e(),h1e(),Zye(),qye=mt((e,t)=>{o1e(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),jye={parse:mt(async e=>{e=await r1e("pie",e),M.debug(e),qye(e,Uye)},"parse")}}),Jye=b(()=>{Wye=mt(e=>` .pieCircle{ stroke: ${e.pieStrokeColor}; @@ -1381,7 +1381,7 @@ Expecting `+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on l fill: ${e.actorBkg}; stroke-width: 2px; } -`,"getStyles"),wxe=bxe}),nbe=b(()=>{function t(e,t,r,n,i,a,s){g(t.append("text").attr("x",r).attr("y",n).style("text-anchor","start").text(e),s)}function l(e,t,r,n,i,a,s,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split(L.lineBreakRegex);for(let e=0;er?o.width:r);if((e=l.append("rect")).attr("class","actorPopupMenuPanel"+i),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=a){var h,u=20;for(h in a){var d=l.append("a"),p=(0,kxe.sanitizeUrl)(a[h]);d.attr("xlink:href",p),d.attr("target","_blank"),Zxe(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),_xe=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Axe=mt(async function(n,i,a=null){var s=n.append("foreignObject"),o=await Lc(i.text,ar()),o=s.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(s.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===i.class)(n=n.node().firstChild).setAttribute("height",o.height+2*i.textMargin),n=n.getBBox(),s.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2));else if(a){let{startx:e,stopx:t,starty:r}=a;e>t&&(n=e,e=t,t=n),s.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===i.class?s.attr("y",Math.round(r)):s.attr("y",Math.round(r-o.height))}return[s]},"drawKatex"),Lxe=mt(function(e,t){let r=0,n=0,i=t.text.split(L.lineBreakRegex),[a,s]=tS(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(r+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(r+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle"}for(var[h,u]of i.entries()){void 0!==t.textMargin&&0===t.textMargin&&void 0!==a&&(l=h*a),(h=e.append("text")).attr("x",t.x),h.attr("y",c()),void 0!==t.anchor&&h.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),void 0!==t.fontFamily&&h.style("font-family",t.fontFamily),void 0!==s&&h.style("font-size",s),void 0!==t.fontWeight&&h.style("font-weight",t.fontWeight),void 0!==t.fill&&h.attr("fill",t.fill),void 0!==t.class&&h.attr("class",t.class),void 0!==t.dy?h.attr("dy",t.dy):0!==l&&h.attr("dy",l);var d,u=u||RC;(t.tspan?((d=h.append("tspan")).attr("x",t.x),void 0!==t.fill&&d.attr("fill",t.fill),d):h).text(u),void 0!==t.valign&&void 0!==t.textMargin&&0{r.select&&e.forEach(e=>{var e=n.get(e),t=r.select("#actor"+e.actorCnt);!i.mirrorActors&&e.stopy?t.attr("y2",e.stopy+e.height/2):i.mirrorActors&&t.attr("y2",e.stopy)})},"fixLifeLineHeights"),Mxe=mt(function(e,t,r,n){var i=n?t.stopy:t.starty,a=t.x+t.width/2,s=i+t.height,o=e=e.append("g").lower(),s=(n||(Ixe++,Object.keys(t.links||{}).length&&!r.forceMenus&&o.attr("onclick",_xe(`actor${Ixe}_popup`)).attr("cursor","pointer"),o.append("line").attr("id","actor"+Ixe).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),o=e.append("g"),t.actorCnt=Ixe,null!=t.links&&o.attr("id","root-"+Ixe)),Iw()),a="actor",e=(t.properties?.class?a=t.properties.class:s.fill="#eaeaea",a+=n?" "+Exe:" actor-top",s.x=t.x,s.y=i,s.width=t.width,s.height=t.height,s.class=a,s.rx=3,s.ry=3,s.name=t.name,Cxe(o,s));t.rectData=s,t.properties?.icon&&("@"===(n=t.properties.icon.trim()).charAt(0)?Nw(o,s.x+s.width-20,s.y+10,n.substr(1)):Lw(o,s.x+s.width-20,s.y+10,n)),Kxe(r,Sc(t.description))(t.description,o,s.x,s.y,s.width,s.height,{class:"actor actor-box"},r);let l=t.height;return e.node&&(i=e.node().getBBox(),t.height=i.height,l=i.height),l},"drawActorTypeParticipant"),Dxe=mt(function(e,t,r,n){var i=n?t.stopy:t.starty,a=t.x+t.width/2,s=i+80,o=e.append("g").lower(),l=(n||(Ixe++,o.append("line").attr("id","actor"+Ixe).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=Ixe),e.append("g")),c="actor-man";return l.attr("class",c+=n?" "+Exe:" actor-top"),l.attr("name",t.name),(o=Iw()).x=t.x,o.y=i,o.fill="#eaeaea",o.width=t.width,o.height=t.height,o.class="actor",o.rx=3,o.ry=3,l.append("line").attr("id","actor-man-torso"+Ixe).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),l.append("line").attr("id","actor-man-arms"+Ixe).attr("x1",a-Txe/2).attr("y1",i+33).attr("x2",a+Txe/2).attr("y2",i+33),l.append("line").attr("x1",a-Txe/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),l.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+Txe/2-2).attr("y2",i+60),(s=l.append("circle")).attr("cx",t.x+t.width/2),s.attr("cy",i+10),s.attr("r",15),s.attr("width",t.width),s.attr("height",t.height),e=l.node().getBBox(),t.height=e.height,Kxe(r,Sc(t.description))(t.description,l,o.x,o.y+35,o.width,o.height,{class:"actor actor-man"},r),t.height},"drawActorTypeActor"),Oxe=mt(async function(e,t,r,n){switch(t.type){case"actor":return Dxe(e,t,r,n);case"participant":return Mxe(e,t,r,n)}},"drawActor"),Pxe=mt(function(e,t,r){e=e.append("g"),zxe(e,t),t.name&&Kxe(r)(t.name,e,t.x,t.y+r.boxTextMargin+(t.textMaxHeight||0)/2,t.width,0,{class:"text"},r),e.lower()},"drawBox"),Bxe=mt(function(e){return e.append("g")},"anchorElement"),$xe=mt(function(e,t,r,n,i){var a=Iw(),s=t.anchored;a.x=t.startx,a.y=t.starty,a.class="activation"+i%3,a.width=t.stopx-t.startx,a.height=r-t.starty,Cxe(s,a)},"drawActivation"),Fxe=mt(async function(e,t,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:o,messageFontFamily:l,messageFontSize:c,messageFontWeight:h}=n,u=e.append("g"),d=mt(function(e,t,r,n){return u.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("class","loopLine")},"drawLoopLine"),p=(d(t.startx,t.starty,t.stopx,t.starty),d(t.stopx,t.starty,t.stopx,t.stopy),d(t.startx,t.stopy,t.stopx,t.stopy),d(t.startx,t.starty,t.startx,t.stopy),void 0!==t.sections&&t.sections.forEach(function(e){d(t.startx,e.y,t.stopx,e.y).style("stroke-dasharray","3, 3")}),Rw());p.text=r,p.x=t.startx,p.y=t.starty,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.anchor="middle",p.valign="middle",p.tspan=!1,p.width=o||50,p.height=s||20,p.textMargin=a,p.class="labelText",Nxe(u,p),(p=Vxe()).text=t.title,p.x=t.startx+o/2+(t.stopx-t.startx)/2,p.y=t.starty+i+a,p.anchor="middle",p.valign="middle",p.textMargin=a,p.class="loopText",p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=!0;var g=Sc(p.text)?await Axe(u,p,t):Lxe(u,p);if(void 0!==t.sectionTitles)for(var[f,m]of Object.entries(t.sectionTitles))m.message&&(p.text=m.message,p.x=t.startx+(t.stopx-t.startx)/2,p.y=t.sections[f].y+i+a,p.class="loopText",p.anchor="middle",p.valign="middle",p.tspan=!1,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=t.wrap,Sc(p.text)?(t.starty=t.sections[f].y,await Axe(u,p,t)):Lxe(u,p),m=Math.round(g.map(e=>(e._groups||e)[0][0].getBBox().height).reduce((e,t)=>e+t)),t.sections[f].height+=m-(i+a));return t.height=Math.round(t.stopy-t.starty),u},"drawLoop"),zxe=mt(function(e,t){_w(e,t)},"drawBackgroundRect"),Gxe=mt(function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Uxe=mt(function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),qxe=mt(function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),jxe=mt(function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Wxe=mt(function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).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")},"insertArrowFilledHead"),Yxe=mt(function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Hxe=mt(function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Vxe=mt(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Xxe=mt(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),mt(n,"byText"),mt(c,"byTspan"),mt(i,"byFo"),mt(a,"byKatex"),mt(f,"_setTextAttrs"),Kxe=function(e,t=!1){return t?a:"fo"===e.textPlacement?i:"old"===e.textPlacement?n:c},mt(t,"byText"),mt(l,"byTspan"),mt(r,"byFo"),mt(g,"_setTextAttrs"),Zxe=function(e){return"fo"===e.textPlacement?r:"old"===e.textPlacement?t:l},Qxe={drawRect:Cxe,drawText:Lxe,drawLabel:Nxe,drawActor:Oxe,drawBox:Pxe,drawPopup:Sxe,anchorElement:Bxe,drawActivation:$xe,drawLoop:Fxe,drawBackgroundRect:zxe,insertArrowHead:jxe,insertArrowFilledHead:Wxe,insertSequenceNumber:Yxe,insertArrowCrossHead:Hxe,insertDatabaseIcon:Gxe,insertComputerIcon:Uxe,insertClockIcon:qxe,getTextObj:Vxe,getNoteRect:Xxe,fixLifeLineHeights:Rxe,sanitizeUrl:kxe.sanitizeUrl}});async function ibe(e,t){P.bumpVerticalPos(10);var{startx:r,stopx:n,message:i}=t,a=L.splitBreaks(i).length,s=Sc(i),i=s?await _c(i,D()):rS.calculateTextDimensions(i,hbe(O));s||(s=i.height/a,t.height+=s,P.bumpVerticalPos(s));let o,l=i.height-10,c=i.width;return r===n?(o=P.getVerticalPos()+l,O.rightAngles||(l+=O.boxMargin,o=P.getVerticalPos()+l),l+=30,a=L.getMax(c/2,O.width/2),P.insert(r-a,P.getVerticalPos()-10+l,n+a,P.getVerticalPos()+30+l)):(l+=O.boxMargin,o=P.getVerticalPos()+l,P.insert(r,o-10,n,o)),P.bumpVerticalPos(l),t.height+=l,t.stopy=t.starty+t.height,P.insert(t.fromBounds,t.starty,t.toBounds,t.stopy),o}function abe(e,t,r,n,i){P.bumpVerticalPos(r);let a=n;t.id&&t.message&&e[t.id]&&(r=e[t.id].width,e=hbe(O),t.message=rS.wrapLabel(`[${t.message}]`,r-2*O.wrapPadding,e),t.width=r,t.wrap=!0,r=rS.calculateTextDimensions(t.message,e),e=L.getMax(r.height,O.labelBoxHeight),a=n+e,M.debug(e+" - "+t.message)),i(t),P.bumpVerticalPos(a)}function sbe(r,n,e,t,i,a,s){function o(e,t){e.x{var t=hbe(O),r=e.actorKeys.reduce((e,t)=>e+(n.get(t).width+(n.get(t).margin||0)),0),t=(r-=2*O.boxTextMargin,e.wrap&&(e.name=rS.wrapLabel(e.name,r-2*O.wrapPadding,t)),rS.calculateTextDimensions(e.name,t)),t=(c=L.getMax(t.height,c),L.getMax(r,t.width+2*O.wrapPadding));e.margin=O.boxTextMargin,re.textMaxHeight=c),L.getMax(r,O.height)}var O,P,cbe,hbe,ube,dbe,pbe,gbe,fbe,mbe,ybe,vbe,xbe,bbe,wbe,kbe,Tbe,Ebe,Cbe,Sbe=b(()=>{s6(),nbe(),e(),Bc(),Bc(),c6(),Cu(),vr(),sS(),hh(),O={},P={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:mt(function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(e=>e.height||0))+(0===this.loops.length?0:this.loops.map(e=>e.height||0).reduce((e,t)=>e+t))+(0===this.messages.length?0:this.messages.map(e=>e.height||0).reduce((e,t)=>e+t))+(0===this.notes.length?0:this.notes.map(e=>e.height||0).reduce((e,t)=>e+t))},"getHeight"),clear:mt(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:mt(function(e){this.boxes.push(e)},"addBox"),addActor:mt(function(e){this.actors.push(e)},"addActor"),addLoop:mt(function(e){this.loops.push(e)},"addLoop"),addMessage:mt(function(e){this.messages.push(e)},"addMessage"),addNote:mt(function(e){this.notes.push(e)},"addNote"),lastActor:mt(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:mt(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:mt(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:mt(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:mt(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ybe(D())},"init"),updateVal:mt(function(e,t,r,n){void 0===e[t]?e[t]=r:e[t]=n(r,e[t])},"updateVal"),updateBounds:mt(function(n,i,a,s){let o=this,l=0;function e(r){return mt(function(e){l++;var t=o.sequenceItems.length-l+1;o.updateVal(e,"starty",i-t*O.boxMargin,Math.min),o.updateVal(e,"stopy",s+t*O.boxMargin,Math.max),o.updateVal(P.data,"startx",n-t*O.boxMargin,Math.min),o.updateVal(P.data,"stopx",a+t*O.boxMargin,Math.max),"activation"!==r&&(o.updateVal(e,"startx",n-t*O.boxMargin,Math.min),o.updateVal(e,"stopx",a+t*O.boxMargin,Math.max),o.updateVal(P.data,"starty",i-t*O.boxMargin,Math.min),o.updateVal(P.data,"stopy",s+t*O.boxMargin,Math.max))},"updateItemBounds")}mt(e,"updateFn"),this.sequenceItems.forEach(e()),this.activations.forEach(e("activation"))},"updateBounds"),insert:mt(function(e,t,r,n){var i=L.getMin(e,r),e=L.getMax(e,r),r=L.getMin(t,n),t=L.getMax(t,n);this.updateVal(P.data,"startx",i,Math.min),this.updateVal(P.data,"starty",r,Math.min),this.updateVal(P.data,"stopx",e,Math.max),this.updateVal(P.data,"stopy",t,Math.max),this.updateBounds(i,r,e,t)},"insert"),newActivation:mt(function(e,t,r){var r=r.get(e.from),n=vbe(e.from).length||0,r=r.x+r.width/2+(n-1)*O.activationWidth/2;this.activations.push({startx:r,starty:this.verticalPos+2,stopx:r+O.activationWidth,stopy:void 0,actor:e.from,anchored:Qxe.anchorElement(t)})},"newActivation"),endActivation:mt(function(e){return e=this.activations.map(function(e){return e.actor}).lastIndexOf(e.from),this.activations.splice(e,1)[0]},"endActivation"),createLoop:mt(function(e={message:void 0,wrap:!1,width:void 0},t){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},"createLoop"),newLoop:mt(function(e={message:void 0,wrap:!1,width:void 0},t){this.sequenceItems.push(this.createLoop(e,t))},"newLoop"),endLoop:mt(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:mt(function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},"isLoopOverlap"),addSectionToLoop:mt(function(e){var t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:P.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},"addSectionToLoop"),saveVerticalPos:mt(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:mt(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:mt(function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=L.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:mt(function(){return this.verticalPos},"getVerticalPos"),getBounds:mt(function(){return{bounds:this.data,models:this.models}},"getBounds")},cbe=mt(async function(e,t){P.bumpVerticalPos(O.boxMargin),t.height=O.boxMargin,t.starty=P.getVerticalPos();var r=Iw(),e=(r.x=t.startx,r.y=t.starty,r.width=t.width||O.width,r.class="note",e.append("g")),n=Qxe.drawRect(e,r),e=((i=Rw()).x=t.startx,i.y=t.starty,i.width=r.width,i.dy="1em",i.text=t.message,i.class="noteText",i.fontFamily=O.noteFontFamily,i.fontSize=O.noteFontSize,i.fontWeight=O.noteFontWeight,i.anchor=O.noteAlign,i.textMargin=O.noteMargin,i.valign="center",Sc(i.text)?await Axe(e,i):Lxe(e,i)),i=Math.round(e.map(e=>(e._groups||e)[0][0].getBBox().height).reduce((e,t)=>e+t));n.attr("height",i+2*O.noteMargin),t.height+=i+2*O.noteMargin,P.bumpVerticalPos(i+2*O.noteMargin),t.stopy=t.starty+i+2*O.noteMargin,t.stopx=t.startx+r.width,P.insert(t.startx,t.starty,t.stopx,t.stopy),P.models.addNote(t)},"drawNote"),hbe=mt(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont"),ube=mt(e=>({fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}),"noteFont"),dbe=mt(e=>({fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}),"actorFont"),mt(ibe,"boundMessage"),pbe=mt(async function(e,t,r,n){var{startx:t,stopx:i,starty:a,message:s,type:o,sequenceIndex:l,sequenceVisible:c}=t,h=rS.calculateTextDimensions(s,hbe(O)),u=Rw();u.x=t,u.y=a+10,u.width=i-t,u.class="messageText",u.dy="1em",u.text=s,u.fontFamily=O.messageFontFamily,u.fontSize=O.messageFontSize,u.fontWeight=O.messageFontWeight,u.anchor=O.messageAlign,u.valign="center",u.textMargin=O.wrapPadding,u.tspan=!1,Sc(u.text)?await Axe(e,u,{startx:t,stopx:i,starty:r}):Lxe(e,u);let d=h.width,p,g=(t===i?p=O.rightAngles?e.append("path").attr("d",`M ${t},${r} H ${t+L.getMax(O.width/2,d/2)} V ${r+25} H `+t):e.append("path").attr("d","M "+t+","+r+" C "+(t+60)+","+(r-10)+" "+(t+60)+","+(r+30)+" "+t+","+(r+20)):((p=e.append("line")).attr("x1",t),p.attr("y1",r),p.attr("x2",i),p.attr("y2",r)),o===n.db.LINETYPE.DOTTED||o===n.db.LINETYPE.DOTTED_CROSS||o===n.db.LINETYPE.DOTTED_POINT||o===n.db.LINETYPE.DOTTED_OPEN||o===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(p.style("stroke-dasharray","3, 3"),p.attr("class","messageLine1")):p.attr("class","messageLine0"),"");O.arrowMarkerAbsolute&&(g=mc(!0)),p.attr("stroke-width",2),p.attr("stroke","none"),p.style("fill","none"),o!==n.db.LINETYPE.SOLID&&o!==n.db.LINETYPE.DOTTED||p.attr("marker-end","url("+g+"#arrowhead)"),o!==n.db.LINETYPE.BIDIRECTIONAL_SOLID&&o!==n.db.LINETYPE.BIDIRECTIONAL_DOTTED||(p.attr("marker-start","url("+g+"#arrowhead)"),p.attr("marker-end","url("+g+"#arrowhead)")),o!==n.db.LINETYPE.SOLID_POINT&&o!==n.db.LINETYPE.DOTTED_POINT||p.attr("marker-end","url("+g+"#filled-head)"),o!==n.db.LINETYPE.SOLID_CROSS&&o!==n.db.LINETYPE.DOTTED_CROSS||p.attr("marker-end","url("+g+"#crosshead)"),(c||O.showSequenceNumbers)&&(p.attr("marker-start","url("+g+"#sequencenumber)"),e.append("text").attr("x",t).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(l))},"drawMessage"),gbe=mt(function(e,t,r,n,i,a,s){let o=0,l=0,c,h=0;for(var u of n){var d=(u=t.get(u)).box;c&&c!=d&&(s||P.models.addBox(c),l+=O.boxMargin+c.margin),d&&d!=c&&(s||(d.x=o+l,d.y=i),l+=d.margin),u.width=u.width||O.width,u.height=L.getMax(u.height||O.height,O.height),u.margin=u.margin||O.actorMargin,h=L.getMax(h,u.height),r.get(u.name)&&(l+=u.width/2),u.x=o+l,u.starty=P.getVerticalPos(),P.insert(u.x,i,u.x+u.width,u.height),o+=u.width+l,u.box&&(u.box.width=o+d.margin-u.box.x),l=u.margin,c=u.box,P.models.addActor(u)}c&&!s&&P.models.addBox(c),P.bumpVerticalPos(h)},"addActorRenderingData"),fbe=mt(async function(t,r,n,e){if(e){let e=0;P.bumpVerticalPos(2*O.boxMargin);for(var i of n)(i=r.get(i)).stopy||(i.stopy=P.getVerticalPos()),i=await Qxe.drawActor(t,i,O,!0),e=L.getMax(e,i);P.bumpVerticalPos(e+O.boxMargin)}else for(var a of n)a=r.get(a),await Qxe.drawActor(t,a,O,!1)},"drawActors"),mbe=mt(function(e,t,r,n){let i=0,a=0;for(var s of r){var s=t.get(s),o=wbe(s);(o=Qxe.drawPopup(e,s,o,O,O.forceMenus,n)).height>i&&(i=o.height),o.width+s.x>a&&(a=o.width+s.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ybe=mt(function(e){Ae(O,e),e.fontFamily&&(O.actorFontFamily=O.noteFontFamily=O.messageFontFamily=e.fontFamily),e.fontSize&&(O.actorFontSize=O.noteFontSize=O.messageFontSize=e.fontSize),e.fontWeight&&(O.actorFontWeight=O.noteFontWeight=O.messageFontWeight=e.fontWeight)},"setConf"),vbe=mt(function(t){return P.activations.filter(function(e){return e.actor===t})},"actorActivations"),xbe=mt(function(e,t){return t=t.get(e),[(e=vbe(e)).reduce(function(e,t){return L.getMin(e,t.startx)},t.x+t.width/2-1),e.reduce(function(e,t){return L.getMax(e,t.stopx)},t.x+t.width/2+1)]},"activationBounds"),mt(abe,"adjustLoopHeightForWrap"),mt(sbe,"adjustCreatedDestroyedData"),bbe=mt(async function(n,e,t,i){var{securityLevel:r,sequence:a}=D();O=a;let s;"sandbox"===r&&(s=H("#i"+e));var a=H("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),o="sandbox"===r?s.nodes()[0].contentDocument:document;P.init(),M.debug(i.db);let l="sandbox"===r?a.select(`[id="${e}"]`):H(`[id="${e}"]`),c=i.db.getActors(),h=i.db.getCreatedActors(),u=i.db.getDestroyedActors(),d=i.db.getBoxes(),p=i.db.getActorKeys(),g=i.db.getMessages(),f=i.db.getDiagramTitle(),m=i.db.hasAtLeastOneBox(),y=i.db.hasAtLeastOneBoxWithTitle(),v=await obe(c,g,i);if(O.height=await lbe(c,v,d),Qxe.insertComputerIcon(l),Qxe.insertDatabaseIcon(l),Qxe.insertClockIcon(l),m&&(P.bumpVerticalPos(O.boxMargin),y)&&P.bumpVerticalPos(d[0].textMaxHeight),!0===O.hideUnusedParticipants){let t=new Set;g.forEach(e=>{t.add(e.from),t.add(e.to)}),p=p.filter(e=>t.has(e))}gbe(l,c,h,p,0,g,!1);var x,b,w,k=await Ebe(g,c,v,i);function T(e,t){var r=P.endActivation(e);r.starty+18>t&&(r.starty=t-6,t+=12),Qxe.drawActivation(l,r,t,O,vbe(e.from).length),P.insert(r.startx,t-10,r.stopx,t)}Qxe.insertArrowHead(l),Qxe.insertArrowCrossHead(l),Qxe.insertArrowFilledHead(l),Qxe.insertSequenceNumber(l),mt(T,"activeEnd");let E=1,C=1,S=[],_=[],A=0;for(x of g){let e,t,r;switch(x.type){case i.db.LINETYPE.NOTE:P.resetVerticalPos(),t=x.noteModel,await cbe(l,t);break;case i.db.LINETYPE.ACTIVE_START:P.newActivation(x,l,c);break;case i.db.LINETYPE.ACTIVE_END:T(x,P.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.LOOP_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"loop",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:abe(k,x,O.boxMargin,O.boxMargin,e=>P.newLoop(void 0,e.message));break;case i.db.LINETYPE.RECT_END:e=P.endLoop(),_.push(e),P.models.addLoop(e),P.bumpVerticalPos(e.stopy-P.getVerticalPos());break;case i.db.LINETYPE.OPT_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.OPT_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"opt",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.ALT_ELSE:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.ALT_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"alt",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e)),P.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.PAR_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"par",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:E=x.message.start||E,C=x.message.step||C,x.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.CRITICAL_OPTION:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.CRITICAL_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"critical",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.BREAK_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"break",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;default:try{(r=x.msgModel).starty=P.getVerticalPos(),r.sequenceIndex=E,r.sequenceVisible=i.db.showSequenceNumbers();var L=await ibe(l,r);sbe(x,r,L,A,c,h,u),S.push({messageModel:r,lineStartY:L}),P.models.addMessage(r)}catch(n){M.error("error while drawing message",n)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(x.type)&&(E+=C),A++}M.debug("createdActors",h),M.debug("destroyedActors",u),await fbe(l,c,p,!1);for(b of S)await pbe(l,b.messageModel,b.lineStartY,i);O.mirrorActors&&await fbe(l,c,p,!0),_.forEach(e=>Qxe.drawBackgroundRect(l,e)),Rxe(l,c,p,O);for(w of P.models.boxes)w.height=P.getVerticalPos()-w.y,P.insert(w.x,w.y,w.x+w.width,w.height),w.startx=w.x,w.starty=w.y,w.stopx=w.startx+w.width,w.stopy=w.starty+w.height,w.stroke="rgb(0,0,0, 0.5)",Qxe.drawBox(l,w,O);m&&P.bumpVerticalPos(O.boxMargin),r=mbe(l,c,p,o),void 0===(a=P.getBounds().bounds).startx&&(a.startx=0),void 0===a.starty&&(a.starty=0),void 0===a.stopx&&(a.stopx=0),void 0===a.stopy&&(a.stopy=0);let N=a.stopy-a.starty,I=(No?-e:e,"adjustValue");e.from===e.to?c=l:(e.activate&&!h&&(c+=u(O.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(e.type)||(c+=u(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(e.type)&&(l-=u(3)));var t=[n,i,a,s],r=Math.abs(l-c),d=(e.wrap&&e.message&&(e.message=rS.wrapLabel(e.message,L.getMax(r+2*O.wrapPadding,O.width),hbe(O))),rS.calculateTextDimensions(e.message,hbe(O)));return{width:L.getMax(e.wrap?0:d.width+2*O.wrapPadding,r+2*O.wrapPadding,O.width),height:0,startx:l,stopx:c,starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,t),toBounds:Math.max.apply(null,t)}},"buildMessageModel"),Ebe=mt(async function(e,n,t,i){let a={},s=[],o,l,c;for(let r of e){switch(r.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:s.push({id:r.id,msg:r.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:r.message&&(o=s.pop(),a[o.id]=o,a[r.id]=o,s.push(o));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:o=s.pop(),a[o.id]=o;break;case i.db.LINETYPE.ACTIVE_START:var h=n.get(r.from||r.to.actor),u=vbe(r.from||r.to.actor).length,u={startx:h=h.x+h.width/2+(u-1)*O.activationWidth/2,stopx:h+O.activationWidth,actor:r.from,enabled:!0};P.activations.push(u);break;case i.db.LINETYPE.ACTIVE_END:h=P.activations.map(e=>e.actor).lastIndexOf(r.from),P.activations.splice(h,1).splice(0,1)}void 0!==r.placement?(l=await kbe(r,n,i),r.noteModel=l,s.forEach(e=>{(o=e).from=L.getMin(o.from,l.startx),o.to=L.getMax(o.to,l.startx+l.width),o.width=L.getMax(o.width,Math.abs(o.from-o.to))-O.labelBoxWidth})):(c=Tbe(r,n,i),(r.msgModel=c).startx&&c.stopx&&0{var t;o=e,c.startx===c.stopx?(e=n.get(r.from),t=n.get(r.to),o.from=L.getMin(e.x-c.width/2,e.x-e.width/2,o.from),o.to=L.getMax(t.x+c.width/2,t.x+e.width/2,o.to),o.width=L.getMax(o.width,Math.abs(o.to-o.from))-O.labelBoxWidth):(o.from=L.getMin(c.startx,o.from),o.to=L.getMax(c.stopx,o.to),o.width=L.getMax(o.width,c.width)-O.labelBoxWidth)}))}return P.activations=[],M.debug("Loop type widths:",a),a},"calculateLoopBounds"),Cbe={bounds:P,drawActors:fbe,drawActorsPopup:mbe,setConf:ybe,draw:bbe}}),_be={};vBe(_be,{diagram:()=>Abe});var Abe,Lbe,Nbe,Ibe,Rbe,Mbe,Dbe,Obe,Pbe,Bbe,$be,Fbe,zbe,Gbe,Ube,qbe=b(()=>{ebe(),tbe(),rbe(),Cu(),Sbe(),Abe={parser:fxe,get db(){return new xxe},renderer:Cbe,styles:wxe,init:mt(e=>{e.sequence||(e.sequence={}),e.wrap&&(e.sequence.wrap=e.wrap,Sh({sequence:{wrap:e.wrap}}))},"init")}}),jbe=b(()=>{function e(){this.yy={}}var t=mt(function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},"o"),r=[1,18],n=[1,19],i=[1,20],a=[1,41],s=[1,42],o=[1,26],l=[1,24],P=[1,25],B=[1,32],$=[1,33],F=[1,34],c=[1,45],z=[1,35],G=[1,36],U=[1,37],q=[1,38],j=[1,27],W=[1,28],Y=[1,29],H=[1,30],V=[1,31],h=[1,44],u=[1,46],d=[1,43],p=[1,47],X=[1,9],g=[1,8,9],f=[1,58],m=[1,59],y=[1,60],v=[1,61],x=[1,62],K=[1,63],Z=[1,64],b=[1,8,9,41],Q=[1,76],w=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],k=[1,8,9,12,13,18,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],T=[13,58,84,99,101,102],E=[13,58,71,72,84,99,101,102],J=[13,58,66,67,68,69,70,84,99,101,102],ee=[1,99],C=[1,116],S=[1,108],_=[1,114],A=[1,109],L=[1,110],N=[1,111],I=[1,112],R=[1,113],M=[1,115],te=[22,58,59,80,84,85,86,87,88,89],re=[1,8,9,39,41,44],D=[1,8,9,22],ne=[1,144],ie=[1,8,9,59],O=[1,8,9,22,58,59,80,84,85,86,87,88,89],k={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[17,1],[53,1]],performAction:mt(function(e,t,r,n,i,a,s){var o=a.length-1;switch(i){case 8:this.$=a[o-1];break;case 9:case 10:case 13:case 15:this.$=a[o];break;case 11:case 14:this.$=a[o-2]+"."+a[o];break;case 12:case 16:this.$=a[o-1]+a[o];break;case 17:case 18:this.$=a[o-1]+"~"+a[o]+"~";break;case 19:n.addRelation(a[o]);break;case 20:a[o-1].title=n.cleanupLabel(a[o]),n.addRelation(a[o-1]);break;case 31:this.$=a[o].trim(),n.setAccTitle(this.$);break;case 32:case 33:this.$=a[o].trim(),n.setAccDescription(this.$);break;case 34:n.addClassesToNamespace(a[o-3],a[o-1]);break;case 35:n.addClassesToNamespace(a[o-4],a[o-1]);break;case 36:this.$=a[o],n.addNamespace(a[o]);break;case 37:this.$=[a[o]];break;case 38:this.$=[a[o-1]];break;case 39:a[o].unshift(a[o-2]),this.$=a[o];break;case 41:n.setCssClass(a[o-2],a[o]);break;case 42:n.addMembers(a[o-3],a[o-1]);break;case 43:n.setCssClass(a[o-5],a[o-3]),n.addMembers(a[o-5],a[o-1]);break;case 44:this.$=a[o],n.addClass(a[o]);break;case 45:this.$=a[o-1],n.addClass(a[o-1]),n.setClassLabel(a[o-1],a[o]);break;case 46:n.addAnnotation(a[o],a[o-2]);break;case 47:case 60:this.$=[a[o]];break;case 48:a[o].push(a[o-1]),this.$=a[o];break;case 49:break;case 50:n.addMember(a[o-1],n.cleanupLabel(a[o]));break;case 51:case 52:break;case 53:this.$={id1:a[o-2],id2:a[o],relation:a[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 54:this.$={id1:a[o-3],id2:a[o],relation:a[o-1],relationTitle1:a[o-2],relationTitle2:"none"};break;case 55:this.$={id1:a[o-3],id2:a[o],relation:a[o-2],relationTitle1:"none",relationTitle2:a[o-1]};break;case 56:this.$={id1:a[o-4],id2:a[o],relation:a[o-2],relationTitle1:a[o-3],relationTitle2:a[o-1]};break;case 57:n.addNote(a[o],a[o-1]);break;case 58:n.addNote(a[o]);break;case 59:this.$=a[o-2],n.defineClass(a[o-1],a[o]);break;case 61:this.$=a[o-2].concat([a[o]]);break;case 62:n.setDirection("TB");break;case 63:n.setDirection("BT");break;case 64:n.setDirection("RL");break;case 65:n.setDirection("LR");break;case 66:this.$={type1:a[o-2],type2:a[o],lineType:a[o-1]};break;case 67:this.$={type1:"none",type2:a[o],lineType:a[o-1]};break;case 68:this.$={type1:a[o-1],type2:"none",lineType:a[o]};break;case 69:this.$={type1:"none",type2:"none",lineType:a[o]};break;case 70:this.$=n.relationType.AGGREGATION;break;case 71:this.$=n.relationType.EXTENSION;break;case 72:this.$=n.relationType.COMPOSITION;break;case 73:this.$=n.relationType.DEPENDENCY;break;case 74:this.$=n.relationType.LOLLIPOP;break;case 75:this.$=n.lineType.LINE;break;case 76:this.$=n.lineType.DOTTED_LINE;break;case 77:case 83:this.$=a[o-2],n.setClickEvent(a[o-1],a[o]);break;case 78:case 84:this.$=a[o-3],n.setClickEvent(a[o-2],a[o-1]),n.setTooltip(a[o-2],a[o]);break;case 79:this.$=a[o-2],n.setLink(a[o-1],a[o]);break;case 80:this.$=a[o-3],n.setLink(a[o-2],a[o-1],a[o]);break;case 81:this.$=a[o-3],n.setLink(a[o-2],a[o-1]),n.setTooltip(a[o-2],a[o]);break;case 82:this.$=a[o-4],n.setLink(a[o-3],a[o-2],a[o]),n.setTooltip(a[o-3],a[o-1]);break;case 85:this.$=a[o-3],n.setClickEvent(a[o-2],a[o-1],a[o]);break;case 86:this.$=a[o-4],n.setClickEvent(a[o-3],a[o-2],a[o-1]),n.setTooltip(a[o-3],a[o]);break;case 87:this.$=a[o-3],n.setLink(a[o-2],a[o]);break;case 88:this.$=a[o-4],n.setLink(a[o-3],a[o-1],a[o]);break;case 89:this.$=a[o-4],n.setLink(a[o-3],a[o-1]),n.setTooltip(a[o-3],a[o]);break;case 90:this.$=a[o-5],n.setLink(a[o-4],a[o-2],a[o]),n.setTooltip(a[o-4],a[o-1]);break;case 91:this.$=a[o-2],n.setCssStyle(a[o-1],a[o]);break;case 92:n.setCssClass(a[o-1],a[o]);break;case 93:this.$=[a[o]];break;case 94:a[o-2].push(a[o]),this.$=a[o-2];break;case 96:this.$=a[o-1]+a[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:r,35:n,37:i,38:22,42:a,43:23,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(X,[2,5],{8:[1,48]}),{8:[1,49]},t(g,[2,19],{22:[1,50]}),t(g,[2,21]),t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(g,[2,26]),t(g,[2,27]),t(g,[2,28]),t(g,[2,29]),t(g,[2,30]),{34:[1,51]},{36:[1,52]},t(g,[2,33]),t(g,[2,49],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:f,67:m,68:y,69:v,70:x,71:K,72:Z}),{39:[1,65]},t(b,[2,40],{39:[1,67],44:[1,66]}),t(g,[2,51]),t(g,[2,52]),{16:68,58:c,84:h,99:u,101:d},{16:39,17:40,19:69,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:70,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:71,58:c,84:h,99:u,101:d,102:p},{58:[1,72]},{13:[1,73]},{16:39,17:40,19:74,58:c,84:h,99:u,101:d,102:p},{13:Q,53:75},{56:77,58:[1,78]},t(g,[2,62]),t(g,[2,63]),t(g,[2,64]),t(g,[2,65]),t(w,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],58:c,84:h,99:u,101:d,102:p}),t(w,[2,15],{20:[1,82]}),{15:83,16:84,17:85,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:86,58:c,84:h,99:u,101:d,102:p},t(k,[2,119]),t(k,[2,120]),t(k,[2,121]),t(k,[2,122]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,123]),t(X,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:r,35:n,37:i,42:a,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:r,35:n,37:i,38:22,42:a,43:23,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p},t(g,[2,20]),t(g,[2,31]),t(g,[2,32]),{13:[1,90],16:39,17:40,19:89,58:c,84:h,99:u,101:d,102:p},{51:91,64:56,65:57,66:f,67:m,68:y,69:v,70:x,71:K,72:Z},t(g,[2,50]),{65:92,71:K,72:Z},t(T,[2,69],{64:93,66:f,67:m,68:y,69:v,70:x}),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(J,[2,75]),t(J,[2,76]),{8:[1,95],24:96,40:94,43:23,46:s},{16:97,58:c,84:h,99:u,101:d},{45:98,49:ee},{48:[1,100]},{13:[1,101]},{13:[1,102]},{77:[1,103],79:[1,104]},{22:C,57:105,58:S,80:_,82:106,83:107,84:A,85:L,86:N,87:I,88:R,89:M},{58:[1,117]},{13:Q,53:118},t(g,[2,58]),t(g,[2,124]),{22:C,57:119,58:S,59:[1,120],80:_,82:106,83:107,84:A,85:L,86:N,87:I,88:R,89:M},t(te,[2,60]),{16:39,17:40,19:121,58:c,84:h,99:u,101:d,102:p},t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),{39:[2,36]},{15:123,16:84,17:85,18:[1,122],39:[2,9],58:c,84:h,99:u,101:d,102:p},{39:[2,10]},t(re,[2,44],{11:124,12:[1,125]}),t(X,[2,7]),{9:[1,126]},t(D,[2,53]),{16:39,17:40,19:127,58:c,84:h,99:u,101:d,102:p},{13:[1,129],16:39,17:40,19:128,58:c,84:h,99:u,101:d,102:p},t(T,[2,68],{64:130,66:f,67:m,68:y,69:v,70:x}),t(T,[2,67]),{41:[1,131]},{24:96,40:132,43:23,46:s},{8:[1,133],41:[2,37]},t(b,[2,41],{39:[1,134]}),{41:[1,135]},{41:[2,47],45:136,49:ee},{16:39,17:40,19:137,58:c,84:h,99:u,101:d,102:p},t(g,[2,77],{13:[1,138]}),t(g,[2,79],{13:[1,140],75:[1,139]}),t(g,[2,83],{13:[1,141],78:[1,142]}),{13:[1,143]},t(g,[2,91],{59:ne}),t(ie,[2,93],{83:145,22:C,58:S,80:_,84:A,85:L,86:N,87:I,88:R,89:M}),t(O,[2,95]),t(O,[2,97]),t(O,[2,98]),t(O,[2,99]),t(O,[2,100]),t(O,[2,101]),t(O,[2,102]),t(O,[2,103]),t(O,[2,104]),t(O,[2,105]),t(g,[2,92]),t(g,[2,57]),t(g,[2,59],{59:ne}),{58:[1,146]},t(w,[2,14]),{15:147,16:84,17:85,58:c,84:h,99:u,101:d,102:p},{39:[2,12]},t(re,[2,45]),{13:[1,148]},{1:[2,4]},t(D,[2,55]),t(D,[2,54]),{16:39,17:40,19:149,58:c,84:h,99:u,101:d,102:p},t(T,[2,66]),t(g,[2,34]),{41:[1,150]},{24:96,40:151,41:[2,38],43:23,46:s},{45:152,49:ee},t(b,[2,42]),{41:[2,48]},t(g,[2,46]),t(g,[2,78]),t(g,[2,80]),t(g,[2,81],{75:[1,153]}),t(g,[2,84]),t(g,[2,85],{13:[1,154]}),t(g,[2,87],{13:[1,156],75:[1,155]}),{22:C,58:S,80:_,82:157,83:107,84:A,85:L,86:N,87:I,88:R,89:M},t(O,[2,96]),t(te,[2,61]),{39:[2,11]},{14:[1,158]},t(D,[2,56]),t(g,[2,35]),{41:[2,39]},{41:[1,159]},t(g,[2,82]),t(g,[2,86]),t(g,[2,88]),t(g,[2,89],{75:[1,160]}),t(ie,[2,94],{83:145,22:C,58:S,80:_,84:A,85:L,86:N,87:I,88:R,89:M}),t(re,[2,8]),t(b,[2,43]),t(g,[2,90])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],123:[2,12],126:[2,4],136:[2,48],147:[2,11],151:[2,39]},parseError:mt(function(e,t){var r;if(!t.recoverable)throw(r=new Error(e)).hash=t,r;this.trace(e)},"parseError"),parse:mt(function(e){var t,r=this,n=[0],i=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=s.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"{function t(e,t,r,n,i,a,s){g(t.append("text").attr("x",r).attr("y",n).style("text-anchor","start").text(e),s)}function l(e,t,r,n,i,a,s,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split(L.lineBreakRegex);for(let e=0;er?o.width:r);if((e=l.append("rect")).attr("class","actorPopupMenuPanel"+i),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=a){var h,u=20;for(h in a){var d=l.append("a"),p=(0,kxe.sanitizeUrl)(a[h]);d.attr("xlink:href",p),d.attr("target","_blank"),Zxe(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),_xe=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Axe=mt(async function(n,i,a=null){var s=n.append("foreignObject"),o=await Lc(i.text,ar()),o=s.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(s.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===i.class)(n=n.node().firstChild).setAttribute("height",o.height+2*i.textMargin),n=n.getBBox(),s.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2));else if(a){let{startx:e,stopx:t,starty:r}=a;e>t&&(n=e,e=t,t=n),s.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===i.class?s.attr("y",Math.round(r)):s.attr("y",Math.round(r-o.height))}return[s]},"drawKatex"),Lxe=mt(function(e,t){let r=0,n=0,i=t.text.split(L.lineBreakRegex),[a,s]=tS(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(r+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(r+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle"}for(var[h,u]of i.entries()){void 0!==t.textMargin&&0===t.textMargin&&void 0!==a&&(l=h*a),(h=e.append("text")).attr("x",t.x),h.attr("y",c()),void 0!==t.anchor&&h.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),void 0!==t.fontFamily&&h.style("font-family",t.fontFamily),void 0!==s&&h.style("font-size",s),void 0!==t.fontWeight&&h.style("font-weight",t.fontWeight),void 0!==t.fill&&h.attr("fill",t.fill),void 0!==t.class&&h.attr("class",t.class),void 0!==t.dy?h.attr("dy",t.dy):0!==l&&h.attr("dy",l);var d,u=u||RC;(t.tspan?((d=h.append("tspan")).attr("x",t.x),void 0!==t.fill&&d.attr("fill",t.fill),d):h).text(u),void 0!==t.valign&&void 0!==t.textMargin&&0{r.select&&e.forEach(e=>{var e=n.get(e),t=r.select("#actor"+e.actorCnt);!i.mirrorActors&&e.stopy?t.attr("y2",e.stopy+e.height/2):i.mirrorActors&&t.attr("y2",e.stopy)})},"fixLifeLineHeights"),Mxe=mt(function(e,t,r,n){var i=n?t.stopy:t.starty,a=t.x+t.width/2,s=i+t.height,o=e=e.append("g").lower(),s=(n||(Ixe++,Object.keys(t.links||{}).length&&!r.forceMenus&&o.attr("onclick",_xe(`actor${Ixe}_popup`)).attr("cursor","pointer"),o.append("line").attr("id","actor"+Ixe).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),o=e.append("g"),t.actorCnt=Ixe,null!=t.links&&o.attr("id","root-"+Ixe)),Iw()),a="actor",e=(t.properties?.class?a=t.properties.class:s.fill="#eaeaea",a+=n?" "+Exe:" actor-top",s.x=t.x,s.y=i,s.width=t.width,s.height=t.height,s.class=a,s.rx=3,s.ry=3,s.name=t.name,Cxe(o,s));t.rectData=s,t.properties?.icon&&("@"===(n=t.properties.icon.trim()).charAt(0)?Nw(o,s.x+s.width-20,s.y+10,n.substr(1)):Lw(o,s.x+s.width-20,s.y+10,n)),Kxe(r,Sc(t.description))(t.description,o,s.x,s.y,s.width,s.height,{class:"actor actor-box"},r);let l=t.height;return e.node&&(i=e.node().getBBox(),t.height=i.height,l=i.height),l},"drawActorTypeParticipant"),Dxe=mt(function(e,t,r,n){var i=n?t.stopy:t.starty,a=t.x+t.width/2,s=i+80,o=e.append("g").lower(),l=(n||(Ixe++,o.append("line").attr("id","actor"+Ixe).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",t.name),t.actorCnt=Ixe),e.append("g")),c="actor-man";return l.attr("class",c+=n?" "+Exe:" actor-top"),l.attr("name",t.name),(o=Iw()).x=t.x,o.y=i,o.fill="#eaeaea",o.width=t.width,o.height=t.height,o.class="actor",o.rx=3,o.ry=3,l.append("line").attr("id","actor-man-torso"+Ixe).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),l.append("line").attr("id","actor-man-arms"+Ixe).attr("x1",a-Txe/2).attr("y1",i+33).attr("x2",a+Txe/2).attr("y2",i+33),l.append("line").attr("x1",a-Txe/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),l.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+Txe/2-2).attr("y2",i+60),(s=l.append("circle")).attr("cx",t.x+t.width/2),s.attr("cy",i+10),s.attr("r",15),s.attr("width",t.width),s.attr("height",t.height),e=l.node().getBBox(),t.height=e.height,Kxe(r,Sc(t.description))(t.description,l,o.x,o.y+35,o.width,o.height,{class:"actor actor-man"},r),t.height},"drawActorTypeActor"),Oxe=mt(async function(e,t,r,n){switch(t.type){case"actor":return Dxe(e,t,r,n);case"participant":return Mxe(e,t,r,n)}},"drawActor"),Pxe=mt(function(e,t,r){e=e.append("g"),zxe(e,t),t.name&&Kxe(r)(t.name,e,t.x,t.y+r.boxTextMargin+(t.textMaxHeight||0)/2,t.width,0,{class:"text"},r),e.lower()},"drawBox"),Bxe=mt(function(e){return e.append("g")},"anchorElement"),$xe=mt(function(e,t,r,n,i){var a=Iw(),s=t.anchored;a.x=t.startx,a.y=t.starty,a.class="activation"+i%3,a.width=t.stopx-t.startx,a.height=r-t.starty,Cxe(s,a)},"drawActivation"),Fxe=mt(async function(e,t,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:o,messageFontFamily:l,messageFontSize:c,messageFontWeight:h}=n,u=e.append("g"),d=mt(function(e,t,r,n){return u.append("line").attr("x1",e).attr("y1",t).attr("x2",r).attr("y2",n).attr("class","loopLine")},"drawLoopLine"),p=(d(t.startx,t.starty,t.stopx,t.starty),d(t.stopx,t.starty,t.stopx,t.stopy),d(t.startx,t.stopy,t.stopx,t.stopy),d(t.startx,t.starty,t.startx,t.stopy),void 0!==t.sections&&t.sections.forEach(function(e){d(t.startx,e.y,t.stopx,e.y).style("stroke-dasharray","3, 3")}),Rw());p.text=r,p.x=t.startx,p.y=t.starty,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.anchor="middle",p.valign="middle",p.tspan=!1,p.width=o||50,p.height=s||20,p.textMargin=a,p.class="labelText",Nxe(u,p),(p=Vxe()).text=t.title,p.x=t.startx+o/2+(t.stopx-t.startx)/2,p.y=t.starty+i+a,p.anchor="middle",p.valign="middle",p.textMargin=a,p.class="loopText",p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=!0;var g=Sc(p.text)?await Axe(u,p,t):Lxe(u,p);if(void 0!==t.sectionTitles)for(var[f,m]of Object.entries(t.sectionTitles))m.message&&(p.text=m.message,p.x=t.startx+(t.stopx-t.startx)/2,p.y=t.sections[f].y+i+a,p.class="loopText",p.anchor="middle",p.valign="middle",p.tspan=!1,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=t.wrap,Sc(p.text)?(t.starty=t.sections[f].y,await Axe(u,p,t)):Lxe(u,p),m=Math.round(g.map(e=>(e._groups||e)[0][0].getBBox().height).reduce((e,t)=>e+t)),t.sections[f].height+=m-(i+a));return t.height=Math.round(t.stopy-t.starty),u},"drawLoop"),zxe=mt(function(e,t){_w(e,t)},"drawBackgroundRect"),Gxe=mt(function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Uxe=mt(function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),qxe=mt(function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),jxe=mt(function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Wxe=mt(function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).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")},"insertArrowFilledHead"),Yxe=mt(function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Hxe=mt(function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Vxe=mt(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Xxe=mt(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),mt(n,"byText"),mt(c,"byTspan"),mt(i,"byFo"),mt(a,"byKatex"),mt(f,"_setTextAttrs"),Kxe=function(e,t=!1){return t?a:"fo"===e.textPlacement?i:"old"===e.textPlacement?n:c},mt(t,"byText"),mt(l,"byTspan"),mt(r,"byFo"),mt(g,"_setTextAttrs"),Zxe=function(e){return"fo"===e.textPlacement?r:"old"===e.textPlacement?t:l},Qxe={drawRect:Cxe,drawText:Lxe,drawLabel:Nxe,drawActor:Oxe,drawBox:Pxe,drawPopup:Sxe,anchorElement:Bxe,drawActivation:$xe,drawLoop:Fxe,drawBackgroundRect:zxe,insertArrowHead:jxe,insertArrowFilledHead:Wxe,insertSequenceNumber:Yxe,insertArrowCrossHead:Hxe,insertDatabaseIcon:Gxe,insertComputerIcon:Uxe,insertClockIcon:qxe,getTextObj:Vxe,getNoteRect:Xxe,fixLifeLineHeights:Rxe,sanitizeUrl:kxe.sanitizeUrl}});async function ibe(e,t){P.bumpVerticalPos(10);var{startx:r,stopx:n,message:i}=t,a=L.splitBreaks(i).length,s=Sc(i),i=s?await _c(i,D()):rS.calculateTextDimensions(i,hbe(O));s||(s=i.height/a,t.height+=s,P.bumpVerticalPos(s));let o,l=i.height-10,c=i.width;return r===n?(o=P.getVerticalPos()+l,O.rightAngles||(l+=O.boxMargin,o=P.getVerticalPos()+l),l+=30,a=L.getMax(c/2,O.width/2),P.insert(r-a,P.getVerticalPos()-10+l,n+a,P.getVerticalPos()+30+l)):(l+=O.boxMargin,o=P.getVerticalPos()+l,P.insert(r,o-10,n,o)),P.bumpVerticalPos(l),t.height+=l,t.stopy=t.starty+t.height,P.insert(t.fromBounds,t.starty,t.toBounds,t.stopy),o}function abe(e,t,r,n,i){P.bumpVerticalPos(r);let a=n;t.id&&t.message&&e[t.id]&&(r=e[t.id].width,e=hbe(O),t.message=rS.wrapLabel(`[${t.message}]`,r-2*O.wrapPadding,e),t.width=r,t.wrap=!0,r=rS.calculateTextDimensions(t.message,e),e=L.getMax(r.height,O.labelBoxHeight),a=n+e,M.debug(e+" - "+t.message)),i(t),P.bumpVerticalPos(a)}function sbe(r,n,e,t,i,a,s){function o(e,t){e.x{var t=hbe(O),r=e.actorKeys.reduce((e,t)=>e+(n.get(t).width+(n.get(t).margin||0)),0),t=(r-=2*O.boxTextMargin,e.wrap&&(e.name=rS.wrapLabel(e.name,r-2*O.wrapPadding,t)),rS.calculateTextDimensions(e.name,t)),t=(c=L.getMax(t.height,c),L.getMax(r,t.width+2*O.wrapPadding));e.margin=O.boxTextMargin,re.textMaxHeight=c),L.getMax(r,O.height)}var O,P,cbe,hbe,ube,dbe,pbe,gbe,fbe,mbe,ybe,vbe,xbe,bbe,wbe,kbe,Tbe,Ebe,Cbe,Sbe=b(()=>{s6(),nbe(),e(),Bc(),Bc(),c6(),Cu(),vr(),sS(),hh(),O={},P={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:mt(function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(e=>e.height||0))+(0===this.loops.length?0:this.loops.map(e=>e.height||0).reduce((e,t)=>e+t))+(0===this.messages.length?0:this.messages.map(e=>e.height||0).reduce((e,t)=>e+t))+(0===this.notes.length?0:this.notes.map(e=>e.height||0).reduce((e,t)=>e+t))},"getHeight"),clear:mt(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:mt(function(e){this.boxes.push(e)},"addBox"),addActor:mt(function(e){this.actors.push(e)},"addActor"),addLoop:mt(function(e){this.loops.push(e)},"addLoop"),addMessage:mt(function(e){this.messages.push(e)},"addMessage"),addNote:mt(function(e){this.notes.push(e)},"addNote"),lastActor:mt(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:mt(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:mt(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:mt(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:mt(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ybe(D())},"init"),updateVal:mt(function(e,t,r,n){void 0===e[t]?e[t]=r:e[t]=n(r,e[t])},"updateVal"),updateBounds:mt(function(n,i,a,s){let o=this,l=0;function e(r){return mt(function(e){l++;var t=o.sequenceItems.length-l+1;o.updateVal(e,"starty",i-t*O.boxMargin,Math.min),o.updateVal(e,"stopy",s+t*O.boxMargin,Math.max),o.updateVal(P.data,"startx",n-t*O.boxMargin,Math.min),o.updateVal(P.data,"stopx",a+t*O.boxMargin,Math.max),"activation"!==r&&(o.updateVal(e,"startx",n-t*O.boxMargin,Math.min),o.updateVal(e,"stopx",a+t*O.boxMargin,Math.max),o.updateVal(P.data,"starty",i-t*O.boxMargin,Math.min),o.updateVal(P.data,"stopy",s+t*O.boxMargin,Math.max))},"updateItemBounds")}mt(e,"updateFn"),this.sequenceItems.forEach(e()),this.activations.forEach(e("activation"))},"updateBounds"),insert:mt(function(e,t,r,n){var i=L.getMin(e,r),e=L.getMax(e,r),r=L.getMin(t,n),t=L.getMax(t,n);this.updateVal(P.data,"startx",i,Math.min),this.updateVal(P.data,"starty",r,Math.min),this.updateVal(P.data,"stopx",e,Math.max),this.updateVal(P.data,"stopy",t,Math.max),this.updateBounds(i,r,e,t)},"insert"),newActivation:mt(function(e,t,r){var r=r.get(e.from),n=vbe(e.from).length||0,r=r.x+r.width/2+(n-1)*O.activationWidth/2;this.activations.push({startx:r,starty:this.verticalPos+2,stopx:r+O.activationWidth,stopy:void 0,actor:e.from,anchored:Qxe.anchorElement(t)})},"newActivation"),endActivation:mt(function(e){return e=this.activations.map(function(e){return e.actor}).lastIndexOf(e.from),this.activations.splice(e,1)[0]},"endActivation"),createLoop:mt(function(e={message:void 0,wrap:!1,width:void 0},t){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},"createLoop"),newLoop:mt(function(e={message:void 0,wrap:!1,width:void 0},t){this.sequenceItems.push(this.createLoop(e,t))},"newLoop"),endLoop:mt(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:mt(function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},"isLoopOverlap"),addSectionToLoop:mt(function(e){var t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:P.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},"addSectionToLoop"),saveVerticalPos:mt(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:mt(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:mt(function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=L.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:mt(function(){return this.verticalPos},"getVerticalPos"),getBounds:mt(function(){return{bounds:this.data,models:this.models}},"getBounds")},cbe=mt(async function(e,t){P.bumpVerticalPos(O.boxMargin),t.height=O.boxMargin,t.starty=P.getVerticalPos();var r=Iw(),e=(r.x=t.startx,r.y=t.starty,r.width=t.width||O.width,r.class="note",e.append("g")),n=Qxe.drawRect(e,r),e=((i=Rw()).x=t.startx,i.y=t.starty,i.width=r.width,i.dy="1em",i.text=t.message,i.class="noteText",i.fontFamily=O.noteFontFamily,i.fontSize=O.noteFontSize,i.fontWeight=O.noteFontWeight,i.anchor=O.noteAlign,i.textMargin=O.noteMargin,i.valign="center",Sc(i.text)?await Axe(e,i):Lxe(e,i)),i=Math.round(e.map(e=>(e._groups||e)[0][0].getBBox().height).reduce((e,t)=>e+t));n.attr("height",i+2*O.noteMargin),t.height+=i+2*O.noteMargin,P.bumpVerticalPos(i+2*O.noteMargin),t.stopy=t.starty+i+2*O.noteMargin,t.stopx=t.startx+r.width,P.insert(t.startx,t.starty,t.stopx,t.stopy),P.models.addNote(t)},"drawNote"),hbe=mt(e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),"messageFont"),ube=mt(e=>({fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}),"noteFont"),dbe=mt(e=>({fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}),"actorFont"),mt(ibe,"boundMessage"),pbe=mt(async function(e,t,r,n){var{startx:t,stopx:i,starty:a,message:s,type:o,sequenceIndex:l,sequenceVisible:c}=t,h=rS.calculateTextDimensions(s,hbe(O)),u=Rw();u.x=t,u.y=a+10,u.width=i-t,u.class="messageText",u.dy="1em",u.text=s,u.fontFamily=O.messageFontFamily,u.fontSize=O.messageFontSize,u.fontWeight=O.messageFontWeight,u.anchor=O.messageAlign,u.valign="center",u.textMargin=O.wrapPadding,u.tspan=!1,Sc(u.text)?await Axe(e,u,{startx:t,stopx:i,starty:r}):Lxe(e,u);let d=h.width,p,g=(t===i?p=O.rightAngles?e.append("path").attr("d",`M ${t},${r} H ${t+L.getMax(O.width/2,d/2)} V ${r+25} H `+t):e.append("path").attr("d","M "+t+","+r+" C "+(t+60)+","+(r-10)+" "+(t+60)+","+(r+30)+" "+t+","+(r+20)):((p=e.append("line")).attr("x1",t),p.attr("y1",r),p.attr("x2",i),p.attr("y2",r)),o===n.db.LINETYPE.DOTTED||o===n.db.LINETYPE.DOTTED_CROSS||o===n.db.LINETYPE.DOTTED_POINT||o===n.db.LINETYPE.DOTTED_OPEN||o===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(p.style("stroke-dasharray","3, 3"),p.attr("class","messageLine1")):p.attr("class","messageLine0"),"");O.arrowMarkerAbsolute&&(g=mc(!0)),p.attr("stroke-width",2),p.attr("stroke","none"),p.style("fill","none"),o!==n.db.LINETYPE.SOLID&&o!==n.db.LINETYPE.DOTTED||p.attr("marker-end","url("+g+"#arrowhead)"),o!==n.db.LINETYPE.BIDIRECTIONAL_SOLID&&o!==n.db.LINETYPE.BIDIRECTIONAL_DOTTED||(p.attr("marker-start","url("+g+"#arrowhead)"),p.attr("marker-end","url("+g+"#arrowhead)")),o!==n.db.LINETYPE.SOLID_POINT&&o!==n.db.LINETYPE.DOTTED_POINT||p.attr("marker-end","url("+g+"#filled-head)"),o!==n.db.LINETYPE.SOLID_CROSS&&o!==n.db.LINETYPE.DOTTED_CROSS||p.attr("marker-end","url("+g+"#crosshead)"),(c||O.showSequenceNumbers)&&(o!==n.db.LINETYPE.BIDIRECTIONAL_SOLID&&o!==n.db.LINETYPE.BIDIRECTIONAL_DOTTED||(ti&&(i=o.height),o.width+s.x>a&&(a=o.width+s.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ybe=mt(function(e){Ae(O,e),e.fontFamily&&(O.actorFontFamily=O.noteFontFamily=O.messageFontFamily=e.fontFamily),e.fontSize&&(O.actorFontSize=O.noteFontSize=O.messageFontSize=e.fontSize),e.fontWeight&&(O.actorFontWeight=O.noteFontWeight=O.messageFontWeight=e.fontWeight)},"setConf"),vbe=mt(function(t){return P.activations.filter(function(e){return e.actor===t})},"actorActivations"),xbe=mt(function(e,t){return t=t.get(e),[(e=vbe(e)).reduce(function(e,t){return L.getMin(e,t.startx)},t.x+t.width/2-1),e.reduce(function(e,t){return L.getMax(e,t.stopx)},t.x+t.width/2+1)]},"activationBounds"),mt(abe,"adjustLoopHeightForWrap"),mt(sbe,"adjustCreatedDestroyedData"),bbe=mt(async function(n,e,t,i){var{securityLevel:r,sequence:a}=D();O=a;let s;"sandbox"===r&&(s=H("#i"+e));var a=H("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),o="sandbox"===r?s.nodes()[0].contentDocument:document;P.init(),M.debug(i.db);let l="sandbox"===r?a.select(`[id="${e}"]`):H(`[id="${e}"]`),c=i.db.getActors(),h=i.db.getCreatedActors(),u=i.db.getDestroyedActors(),d=i.db.getBoxes(),p=i.db.getActorKeys(),g=i.db.getMessages(),f=i.db.getDiagramTitle(),m=i.db.hasAtLeastOneBox(),y=i.db.hasAtLeastOneBoxWithTitle(),v=await obe(c,g,i);if(O.height=await lbe(c,v,d),Qxe.insertComputerIcon(l),Qxe.insertDatabaseIcon(l),Qxe.insertClockIcon(l),m&&(P.bumpVerticalPos(O.boxMargin),y)&&P.bumpVerticalPos(d[0].textMaxHeight),!0===O.hideUnusedParticipants){let t=new Set;g.forEach(e=>{t.add(e.from),t.add(e.to)}),p=p.filter(e=>t.has(e))}gbe(l,c,h,p,0,g,!1);var x,b,w,k=await Ebe(g,c,v,i);function T(e,t){var r=P.endActivation(e);r.starty+18>t&&(r.starty=t-6,t+=12),Qxe.drawActivation(l,r,t,O,vbe(e.from).length),P.insert(r.startx,t-10,r.stopx,t)}Qxe.insertArrowHead(l),Qxe.insertArrowCrossHead(l),Qxe.insertArrowFilledHead(l),Qxe.insertSequenceNumber(l),mt(T,"activeEnd");let E=1,C=1,S=[],_=[],A=0;for(x of g){let e,t,r;switch(x.type){case i.db.LINETYPE.NOTE:P.resetVerticalPos(),t=x.noteModel,await cbe(l,t);break;case i.db.LINETYPE.ACTIVE_START:P.newActivation(x,l,c);break;case i.db.LINETYPE.ACTIVE_END:T(x,P.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.LOOP_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"loop",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:abe(k,x,O.boxMargin,O.boxMargin,e=>P.newLoop(void 0,e.message));break;case i.db.LINETYPE.RECT_END:e=P.endLoop(),_.push(e),P.models.addLoop(e),P.bumpVerticalPos(e.stopy-P.getVerticalPos());break;case i.db.LINETYPE.OPT_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.OPT_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"opt",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.ALT_ELSE:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.ALT_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"alt",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e)),P.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.PAR_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"par",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:E=x.message.start||E,C=x.message.step||C,x.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.CRITICAL_OPTION:abe(k,x,O.boxMargin+O.boxTextMargin,O.boxMargin,e=>P.addSectionToLoop(e));break;case i.db.LINETYPE.CRITICAL_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"critical",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:abe(k,x,O.boxMargin,O.boxMargin+O.boxTextMargin,e=>P.newLoop(e));break;case i.db.LINETYPE.BREAK_END:e=P.endLoop(),await Qxe.drawLoop(l,e,"break",O),P.bumpVerticalPos(e.stopy-P.getVerticalPos()),P.models.addLoop(e);break;default:try{(r=x.msgModel).starty=P.getVerticalPos(),r.sequenceIndex=E,r.sequenceVisible=i.db.showSequenceNumbers();var L=await ibe(l,r);sbe(x,r,L,A,c,h,u),S.push({messageModel:r,lineStartY:L}),P.models.addMessage(r)}catch(n){M.error("error while drawing message",n)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(x.type)&&(E+=C),A++}M.debug("createdActors",h),M.debug("destroyedActors",u),await fbe(l,c,p,!1);for(b of S)await pbe(l,b.messageModel,b.lineStartY,i);O.mirrorActors&&await fbe(l,c,p,!0),_.forEach(e=>Qxe.drawBackgroundRect(l,e)),Rxe(l,c,p,O);for(w of P.models.boxes)w.height=P.getVerticalPos()-w.y,P.insert(w.x,w.y,w.x+w.width,w.height),w.startx=w.x,w.starty=w.y,w.stopx=w.startx+w.width,w.stopy=w.starty+w.height,w.stroke="rgb(0,0,0, 0.5)",Qxe.drawBox(l,w,O);m&&P.bumpVerticalPos(O.boxMargin),r=mbe(l,c,p,o),void 0===(a=P.getBounds().bounds).startx&&(a.startx=0),void 0===a.starty&&(a.starty=0),void 0===a.stopx&&(a.stopx=0),void 0===a.stopy&&(a.stopy=0);let N=a.stopy-a.starty,I=(No?-e:e,"adjustValue");e.from===e.to?c=l:(e.activate&&!h&&(c+=u(O.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(e.type)||(c+=u(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(e.type)&&(l-=u(3)));var t=[n,i,a,s],r=Math.abs(l-c),d=(e.wrap&&e.message&&(e.message=rS.wrapLabel(e.message,L.getMax(r+2*O.wrapPadding,O.width),hbe(O))),rS.calculateTextDimensions(e.message,hbe(O)));return{width:L.getMax(e.wrap?0:d.width+2*O.wrapPadding,r+2*O.wrapPadding,O.width),height:0,startx:l,stopx:c,starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,t),toBounds:Math.max.apply(null,t)}},"buildMessageModel"),Ebe=mt(async function(e,n,t,i){let a={},s=[],o,l,c;for(let r of e){switch(r.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:s.push({id:r.id,msg:r.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:r.message&&(o=s.pop(),a[o.id]=o,a[r.id]=o,s.push(o));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:o=s.pop(),a[o.id]=o;break;case i.db.LINETYPE.ACTIVE_START:var h=n.get(r.from||r.to.actor),u=vbe(r.from||r.to.actor).length,u={startx:h=h.x+h.width/2+(u-1)*O.activationWidth/2,stopx:h+O.activationWidth,actor:r.from,enabled:!0};P.activations.push(u);break;case i.db.LINETYPE.ACTIVE_END:h=P.activations.map(e=>e.actor).lastIndexOf(r.from),P.activations.splice(h,1).splice(0,1)}void 0!==r.placement?(l=await kbe(r,n,i),r.noteModel=l,s.forEach(e=>{(o=e).from=L.getMin(o.from,l.startx),o.to=L.getMax(o.to,l.startx+l.width),o.width=L.getMax(o.width,Math.abs(o.from-o.to))-O.labelBoxWidth})):(c=Tbe(r,n,i),(r.msgModel=c).startx&&c.stopx&&0{var t;o=e,c.startx===c.stopx?(e=n.get(r.from),t=n.get(r.to),o.from=L.getMin(e.x-c.width/2,e.x-e.width/2,o.from),o.to=L.getMax(t.x+c.width/2,t.x+e.width/2,o.to),o.width=L.getMax(o.width,Math.abs(o.to-o.from))-O.labelBoxWidth):(o.from=L.getMin(c.startx,o.from),o.to=L.getMax(c.stopx,o.to),o.width=L.getMax(o.width,c.width)-O.labelBoxWidth)}))}return P.activations=[],M.debug("Loop type widths:",a),a},"calculateLoopBounds"),Cbe={bounds:P,drawActors:fbe,drawActorsPopup:mbe,setConf:ybe,draw:bbe}}),_be={};vBe(_be,{diagram:()=>Abe});var Abe,Lbe,Nbe,Ibe,Rbe,Mbe,Dbe,Obe,Pbe,Bbe,$be,Fbe,zbe,Gbe,Ube,qbe=b(()=>{ebe(),tbe(),rbe(),Cu(),Sbe(),Abe={parser:fxe,get db(){return new xxe},renderer:Cbe,styles:wxe,init:mt(e=>{e.sequence||(e.sequence={}),e.wrap&&(e.sequence.wrap=e.wrap,Sh({sequence:{wrap:e.wrap}}))},"init")}}),jbe=b(()=>{function e(){this.yy={}}var t=mt(function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},"o"),r=[1,18],n=[1,19],i=[1,20],a=[1,41],s=[1,42],o=[1,26],l=[1,24],P=[1,25],B=[1,32],$=[1,33],F=[1,34],c=[1,45],z=[1,35],G=[1,36],U=[1,37],q=[1,38],j=[1,27],W=[1,28],Y=[1,29],H=[1,30],V=[1,31],h=[1,44],u=[1,46],d=[1,43],p=[1,47],X=[1,9],g=[1,8,9],f=[1,58],m=[1,59],y=[1,60],v=[1,61],x=[1,62],K=[1,63],Z=[1,64],b=[1,8,9,41],Q=[1,76],w=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],k=[1,8,9,12,13,18,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],T=[13,58,84,99,101,102],E=[13,58,71,72,84,99,101,102],J=[13,58,66,67,68,69,70,84,99,101,102],ee=[1,99],C=[1,116],S=[1,108],_=[1,114],A=[1,109],L=[1,110],N=[1,111],I=[1,112],R=[1,113],M=[1,115],te=[22,58,59,80,84,85,86,87,88,89],re=[1,8,9,39,41,44],D=[1,8,9,22],ne=[1,144],ie=[1,8,9,59],O=[1,8,9,22,58,59,80,84,85,86,87,88,89],k={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[17,1],[53,1]],performAction:mt(function(e,t,r,n,i,a,s){var o=a.length-1;switch(i){case 8:this.$=a[o-1];break;case 9:case 10:case 13:case 15:this.$=a[o];break;case 11:case 14:this.$=a[o-2]+"."+a[o];break;case 12:case 16:this.$=a[o-1]+a[o];break;case 17:case 18:this.$=a[o-1]+"~"+a[o]+"~";break;case 19:n.addRelation(a[o]);break;case 20:a[o-1].title=n.cleanupLabel(a[o]),n.addRelation(a[o-1]);break;case 31:this.$=a[o].trim(),n.setAccTitle(this.$);break;case 32:case 33:this.$=a[o].trim(),n.setAccDescription(this.$);break;case 34:n.addClassesToNamespace(a[o-3],a[o-1]);break;case 35:n.addClassesToNamespace(a[o-4],a[o-1]);break;case 36:this.$=a[o],n.addNamespace(a[o]);break;case 37:this.$=[a[o]];break;case 38:this.$=[a[o-1]];break;case 39:a[o].unshift(a[o-2]),this.$=a[o];break;case 41:n.setCssClass(a[o-2],a[o]);break;case 42:n.addMembers(a[o-3],a[o-1]);break;case 43:n.setCssClass(a[o-5],a[o-3]),n.addMembers(a[o-5],a[o-1]);break;case 44:this.$=a[o],n.addClass(a[o]);break;case 45:this.$=a[o-1],n.addClass(a[o-1]),n.setClassLabel(a[o-1],a[o]);break;case 46:n.addAnnotation(a[o],a[o-2]);break;case 47:case 60:this.$=[a[o]];break;case 48:a[o].push(a[o-1]),this.$=a[o];break;case 49:break;case 50:n.addMember(a[o-1],n.cleanupLabel(a[o]));break;case 51:case 52:break;case 53:this.$={id1:a[o-2],id2:a[o],relation:a[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 54:this.$={id1:a[o-3],id2:a[o],relation:a[o-1],relationTitle1:a[o-2],relationTitle2:"none"};break;case 55:this.$={id1:a[o-3],id2:a[o],relation:a[o-2],relationTitle1:"none",relationTitle2:a[o-1]};break;case 56:this.$={id1:a[o-4],id2:a[o],relation:a[o-2],relationTitle1:a[o-3],relationTitle2:a[o-1]};break;case 57:n.addNote(a[o],a[o-1]);break;case 58:n.addNote(a[o]);break;case 59:this.$=a[o-2],n.defineClass(a[o-1],a[o]);break;case 61:this.$=a[o-2].concat([a[o]]);break;case 62:n.setDirection("TB");break;case 63:n.setDirection("BT");break;case 64:n.setDirection("RL");break;case 65:n.setDirection("LR");break;case 66:this.$={type1:a[o-2],type2:a[o],lineType:a[o-1]};break;case 67:this.$={type1:"none",type2:a[o],lineType:a[o-1]};break;case 68:this.$={type1:a[o-1],type2:"none",lineType:a[o]};break;case 69:this.$={type1:"none",type2:"none",lineType:a[o]};break;case 70:this.$=n.relationType.AGGREGATION;break;case 71:this.$=n.relationType.EXTENSION;break;case 72:this.$=n.relationType.COMPOSITION;break;case 73:this.$=n.relationType.DEPENDENCY;break;case 74:this.$=n.relationType.LOLLIPOP;break;case 75:this.$=n.lineType.LINE;break;case 76:this.$=n.lineType.DOTTED_LINE;break;case 77:case 83:this.$=a[o-2],n.setClickEvent(a[o-1],a[o]);break;case 78:case 84:this.$=a[o-3],n.setClickEvent(a[o-2],a[o-1]),n.setTooltip(a[o-2],a[o]);break;case 79:this.$=a[o-2],n.setLink(a[o-1],a[o]);break;case 80:this.$=a[o-3],n.setLink(a[o-2],a[o-1],a[o]);break;case 81:this.$=a[o-3],n.setLink(a[o-2],a[o-1]),n.setTooltip(a[o-2],a[o]);break;case 82:this.$=a[o-4],n.setLink(a[o-3],a[o-2],a[o]),n.setTooltip(a[o-3],a[o-1]);break;case 85:this.$=a[o-3],n.setClickEvent(a[o-2],a[o-1],a[o]);break;case 86:this.$=a[o-4],n.setClickEvent(a[o-3],a[o-2],a[o-1]),n.setTooltip(a[o-3],a[o]);break;case 87:this.$=a[o-3],n.setLink(a[o-2],a[o]);break;case 88:this.$=a[o-4],n.setLink(a[o-3],a[o-1],a[o]);break;case 89:this.$=a[o-4],n.setLink(a[o-3],a[o-1]),n.setTooltip(a[o-3],a[o]);break;case 90:this.$=a[o-5],n.setLink(a[o-4],a[o-2],a[o]),n.setTooltip(a[o-4],a[o-1]);break;case 91:this.$=a[o-2],n.setCssStyle(a[o-1],a[o]);break;case 92:n.setCssClass(a[o-1],a[o]);break;case 93:this.$=[a[o]];break;case 94:a[o-2].push(a[o]),this.$=a[o-2];break;case 96:this.$=a[o-1]+a[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:r,35:n,37:i,38:22,42:a,43:23,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(X,[2,5],{8:[1,48]}),{8:[1,49]},t(g,[2,19],{22:[1,50]}),t(g,[2,21]),t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(g,[2,26]),t(g,[2,27]),t(g,[2,28]),t(g,[2,29]),t(g,[2,30]),{34:[1,51]},{36:[1,52]},t(g,[2,33]),t(g,[2,49],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:f,67:m,68:y,69:v,70:x,71:K,72:Z}),{39:[1,65]},t(b,[2,40],{39:[1,67],44:[1,66]}),t(g,[2,51]),t(g,[2,52]),{16:68,58:c,84:h,99:u,101:d},{16:39,17:40,19:69,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:70,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:71,58:c,84:h,99:u,101:d,102:p},{58:[1,72]},{13:[1,73]},{16:39,17:40,19:74,58:c,84:h,99:u,101:d,102:p},{13:Q,53:75},{56:77,58:[1,78]},t(g,[2,62]),t(g,[2,63]),t(g,[2,64]),t(g,[2,65]),t(w,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],58:c,84:h,99:u,101:d,102:p}),t(w,[2,15],{20:[1,82]}),{15:83,16:84,17:85,58:c,84:h,99:u,101:d,102:p},{16:39,17:40,19:86,58:c,84:h,99:u,101:d,102:p},t(k,[2,119]),t(k,[2,120]),t(k,[2,121]),t(k,[2,122]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,123]),t(X,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:r,35:n,37:i,42:a,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:r,35:n,37:i,38:22,42:a,43:23,46:s,47:o,49:l,50:P,52:B,54:$,55:F,58:c,60:z,61:G,62:U,63:q,73:j,74:W,76:Y,80:H,81:V,84:h,99:u,101:d,102:p},t(g,[2,20]),t(g,[2,31]),t(g,[2,32]),{13:[1,90],16:39,17:40,19:89,58:c,84:h,99:u,101:d,102:p},{51:91,64:56,65:57,66:f,67:m,68:y,69:v,70:x,71:K,72:Z},t(g,[2,50]),{65:92,71:K,72:Z},t(T,[2,69],{64:93,66:f,67:m,68:y,69:v,70:x}),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(J,[2,75]),t(J,[2,76]),{8:[1,95],24:96,40:94,43:23,46:s},{16:97,58:c,84:h,99:u,101:d},{45:98,49:ee},{48:[1,100]},{13:[1,101]},{13:[1,102]},{77:[1,103],79:[1,104]},{22:C,57:105,58:S,80:_,82:106,83:107,84:A,85:L,86:N,87:I,88:R,89:M},{58:[1,117]},{13:Q,53:118},t(g,[2,58]),t(g,[2,124]),{22:C,57:119,58:S,59:[1,120],80:_,82:106,83:107,84:A,85:L,86:N,87:I,88:R,89:M},t(te,[2,60]),{16:39,17:40,19:121,58:c,84:h,99:u,101:d,102:p},t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),{39:[2,36]},{15:123,16:84,17:85,18:[1,122],39:[2,9],58:c,84:h,99:u,101:d,102:p},{39:[2,10]},t(re,[2,44],{11:124,12:[1,125]}),t(X,[2,7]),{9:[1,126]},t(D,[2,53]),{16:39,17:40,19:127,58:c,84:h,99:u,101:d,102:p},{13:[1,129],16:39,17:40,19:128,58:c,84:h,99:u,101:d,102:p},t(T,[2,68],{64:130,66:f,67:m,68:y,69:v,70:x}),t(T,[2,67]),{41:[1,131]},{24:96,40:132,43:23,46:s},{8:[1,133],41:[2,37]},t(b,[2,41],{39:[1,134]}),{41:[1,135]},{41:[2,47],45:136,49:ee},{16:39,17:40,19:137,58:c,84:h,99:u,101:d,102:p},t(g,[2,77],{13:[1,138]}),t(g,[2,79],{13:[1,140],75:[1,139]}),t(g,[2,83],{13:[1,141],78:[1,142]}),{13:[1,143]},t(g,[2,91],{59:ne}),t(ie,[2,93],{83:145,22:C,58:S,80:_,84:A,85:L,86:N,87:I,88:R,89:M}),t(O,[2,95]),t(O,[2,97]),t(O,[2,98]),t(O,[2,99]),t(O,[2,100]),t(O,[2,101]),t(O,[2,102]),t(O,[2,103]),t(O,[2,104]),t(O,[2,105]),t(g,[2,92]),t(g,[2,57]),t(g,[2,59],{59:ne}),{58:[1,146]},t(w,[2,14]),{15:147,16:84,17:85,58:c,84:h,99:u,101:d,102:p},{39:[2,12]},t(re,[2,45]),{13:[1,148]},{1:[2,4]},t(D,[2,55]),t(D,[2,54]),{16:39,17:40,19:149,58:c,84:h,99:u,101:d,102:p},t(T,[2,66]),t(g,[2,34]),{41:[1,150]},{24:96,40:151,41:[2,38],43:23,46:s},{45:152,49:ee},t(b,[2,42]),{41:[2,48]},t(g,[2,46]),t(g,[2,78]),t(g,[2,80]),t(g,[2,81],{75:[1,153]}),t(g,[2,84]),t(g,[2,85],{13:[1,154]}),t(g,[2,87],{13:[1,156],75:[1,155]}),{22:C,58:S,80:_,82:157,83:107,84:A,85:L,86:N,87:I,88:R,89:M},t(O,[2,96]),t(te,[2,61]),{39:[2,11]},{14:[1,158]},t(D,[2,56]),t(g,[2,35]),{41:[2,39]},{41:[1,159]},t(g,[2,82]),t(g,[2,86]),t(g,[2,88]),t(g,[2,89],{75:[1,160]}),t(ie,[2,94],{83:145,22:C,58:S,80:_,84:A,85:L,86:N,87:I,88:R,89:M}),t(re,[2,8]),t(b,[2,43]),t(g,[2,90])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],123:[2,12],126:[2,4],136:[2,48],147:[2,11],151:[2,39]},parseError:mt(function(e,t){var r;if(!t.recoverable)throw(r=new Error(e)).hash=t,r;this.trace(e)},"parseError"),parse:mt(function(e){var t,r=this,n=[0],i=[],a=[null],s=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=s.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"