omni-context-cli 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cli.js +7 -7
  2. package/dist/clients/extension.vsix +0 -0
  3. package/dist/clients/web/assets/{_baseUniq-CWlTL7nF.js → _baseUniq-O6Fk0Wzr.js} +1 -1
  4. package/dist/clients/web/assets/{arc-CZjkqmF_.js → arc-n0x23Ctx.js} +1 -1
  5. package/dist/clients/web/assets/{architectureDiagram-VXUJARFQ-BOYa2bjw.js → architectureDiagram-VXUJARFQ-siUxtu84.js} +1 -1
  6. package/dist/clients/web/assets/{blockDiagram-VD42YOAC-DDOynruE.js → blockDiagram-VD42YOAC-DSqh9eGY.js} +1 -1
  7. package/dist/clients/web/assets/{c4Diagram-YG6GDRKO-C-97RpE_.js → c4Diagram-YG6GDRKO-wYR7H7xi.js} +1 -1
  8. package/dist/clients/web/assets/channel-NwuYDCTJ.js +1 -0
  9. package/dist/clients/web/assets/{chunk-4BX2VUAB-Cq-CVpiF.js → chunk-4BX2VUAB-Cay_iY5D.js} +1 -1
  10. package/dist/clients/web/assets/{chunk-55IACEB6-DgNYsQB7.js → chunk-55IACEB6-BeMIObm3.js} +1 -1
  11. package/dist/clients/web/assets/{chunk-B4BG7PRW-DlQsB2me.js → chunk-B4BG7PRW-B6cIgi7d.js} +1 -1
  12. package/dist/clients/web/assets/{chunk-DI55MBZ5-BHeF7oM6.js → chunk-DI55MBZ5-BXrfKlO3.js} +1 -1
  13. package/dist/clients/web/assets/{chunk-FMBD7UC4-D5QlY4R_.js → chunk-FMBD7UC4-67W1cNu_.js} +1 -1
  14. package/dist/clients/web/assets/{chunk-QN33PNHL-CHk3Nn1_.js → chunk-QN33PNHL-DuPwsSus.js} +1 -1
  15. package/dist/clients/web/assets/{chunk-QZHKN3VN-CAJ02eyq.js → chunk-QZHKN3VN-DWUuzBl_.js} +1 -1
  16. package/dist/clients/web/assets/{chunk-TZMSLE5B-fdEkh5Xq.js → chunk-TZMSLE5B-D3SRAd4i.js} +1 -1
  17. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CA17y53i.js +1 -0
  18. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CA17y53i.js +1 -0
  19. package/dist/clients/web/assets/clone-Ccjp7w8U.js +1 -0
  20. package/dist/clients/web/assets/{cose-bilkent-S5V4N54A-C-KgfDpO.js → cose-bilkent-S5V4N54A-2yiAjDsY.js} +1 -1
  21. package/dist/clients/web/assets/{dagre-6UL2VRFP-XmHvxEnn.js → dagre-6UL2VRFP-DWtKyQlZ.js} +1 -1
  22. package/dist/clients/web/assets/{diagram-PSM6KHXK-piStbVS-.js → diagram-PSM6KHXK-BsH8ucOy.js} +1 -1
  23. package/dist/clients/web/assets/{diagram-QEK2KX5R-CclADJ9n.js → diagram-QEK2KX5R-CgAM_caT.js} +1 -1
  24. package/dist/clients/web/assets/{diagram-S2PKOQOG-yfPR_M0P.js → diagram-S2PKOQOG-5sXZE5fB.js} +1 -1
  25. package/dist/clients/web/assets/{erDiagram-Q2GNP2WA-C-QpleLm.js → erDiagram-Q2GNP2WA-SZjIGLfC.js} +1 -1
  26. package/dist/clients/web/assets/{flowDiagram-NV44I4VS-BXBJgvY4.js → flowDiagram-NV44I4VS-B13r1-Qr.js} +1 -1
  27. package/dist/clients/web/assets/{ganttDiagram-JELNMOA3-BId-yi2d.js → ganttDiagram-JELNMOA3-tnNnlmJ_.js} +1 -1
  28. package/dist/clients/web/assets/{gitGraphDiagram-NY62KEGX-C4GmkdUU.js → gitGraphDiagram-NY62KEGX-D3vXxiLR.js} +1 -1
  29. package/dist/clients/web/assets/{graph-lKpmm44U.js → graph-yEZO5As9.js} +1 -1
  30. package/dist/clients/web/assets/index-BvMYTiOr.js +27 -0
  31. package/dist/clients/web/assets/{index-QpapYAy5.css → index-bgcKJQwq.css} +1 -1
  32. package/dist/clients/web/assets/{infoDiagram-WHAUD3N6-DlTKBMRb.js → infoDiagram-WHAUD3N6-Diqs41Bs.js} +1 -1
  33. package/dist/clients/web/assets/{journeyDiagram-XKPGCS4Q-uR4zvhag.js → journeyDiagram-XKPGCS4Q-CsFCBnpU.js} +1 -1
  34. package/dist/clients/web/assets/{kanban-definition-3W4ZIXB7-BAth3XiM.js → kanban-definition-3W4ZIXB7-ToLQEJ6t.js} +1 -1
  35. package/dist/clients/web/assets/{layout-dqzmM9SC.js → layout-DAYHKwLI.js} +1 -1
  36. package/dist/clients/web/assets/{linear-BDsjBD51.js → linear-C6-59Tkb.js} +1 -1
  37. package/dist/clients/web/assets/{min-BpvcSMeI.js → min-CcGwUInn.js} +1 -1
  38. package/dist/clients/web/assets/{mindmap-definition-VGOIOE7T-YOfHJc2b.js → mindmap-definition-VGOIOE7T-DUxl95g0.js} +1 -1
  39. package/dist/clients/web/assets/{pieDiagram-ADFJNKIX-sxupIhex.js → pieDiagram-ADFJNKIX-B01HV9sF.js} +1 -1
  40. package/dist/clients/web/assets/{quadrantDiagram-AYHSOK5B-Clx0aaiI.js → quadrantDiagram-AYHSOK5B-CeqFw4rm.js} +1 -1
  41. package/dist/clients/web/assets/{requirementDiagram-UZGBJVZJ-Jff8r0V3.js → requirementDiagram-UZGBJVZJ-CFCoQIAQ.js} +1 -1
  42. package/dist/clients/web/assets/{sankeyDiagram-TZEHDZUN-tCX6Wk6i.js → sankeyDiagram-TZEHDZUN-C4bOlCv6.js} +1 -1
  43. package/dist/clients/web/assets/{sequenceDiagram-WL72ISMW-B66jOgtV.js → sequenceDiagram-WL72ISMW-CmcZq0aE.js} +1 -1
  44. package/dist/clients/web/assets/{stateDiagram-FKZM4ZOC-DFsarSTD.js → stateDiagram-FKZM4ZOC-BrC_Infp.js} +1 -1
  45. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-Bi_Pj5vD.js +1 -0
  46. package/dist/clients/web/assets/{timeline-definition-IT6M3QCI-B7iIhHj6.js → timeline-definition-IT6M3QCI-C25RxMkJ.js} +1 -1
  47. package/dist/clients/web/assets/{treemap-KMMF4GRG-bwvPNBHC.js → treemap-KMMF4GRG-CYbXQA3w.js} +1 -1
  48. package/dist/clients/web/assets/{xychartDiagram-PRI3JC2R-CstqFcD3.js → xychartDiagram-PRI3JC2R-DxEjdm1o.js} +1 -1
  49. package/dist/clients/web/index.html +2 -2
  50. package/package.json +1 -1
  51. package/dist/clients/web/assets/channel-CrQbNsBe.js +0 -1
  52. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CoAFxeb1.js +0 -1
  53. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CoAFxeb1.js +0 -1
  54. package/dist/clients/web/assets/clone-V8tKmkAv.js +0 -1
  55. package/dist/clients/web/assets/index-5wVqr2Ny.js +0 -27
  56. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-DhAPZEUr.js +0 -1
@@ -1 +1 @@
1
- var t;import{_ as e,D as a,H as s,e as r,l as o,b as i,a as n,p as l,q as c,g as d,s as b,E as h,F as k,y as p}from"./index-5wVqr2Ny.js";import{p as f}from"./chunk-4BX2VUAB-Cq-CVpiF.js";import{p as w}from"./treemap-KMMF4GRG-bwvPNBHC.js";import"./min-BpvcSMeI.js";import"./_baseUniq-CWlTL7nF.js";var m=h.packet,u=(e(t=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=n,this.setDiagramTitle=l,this.getDiagramTitle=c,this.getAccDescription=d,this.setAccDescription=b}getConfig(){const t=a({...m,...k().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){p(),this.packet=[]}},"PacketDB"),t),$=e((t,e)=>{f(t,e);let a=-1,s=[],r=1;const{bitsPerRow:i}=e.getConfig();for(let{start:n,end:l,bits:c,label:d}of t.blocks){if(void 0!==n&&void 0!==l&&l<n)throw new Error(`Packet block ${n} - ${l} is invalid. End must be greater than start.`);if(n??(n=a+1),n!==a+1)throw new Error(`Packet block ${n} - ${l??n} is not contiguous. It should start from ${a+1}.`);if(0===c)throw new Error(`Packet block ${n} is invalid. Cannot have a zero bit field.`);for(l??(l=n+(c??1)-1),c??(c=l-n+1),a=l,o.debug(`Packet block ${n} - ${a} with label ${d}`);s.length<=i+1&&e.getPacket().length<1e4;){const[t,a]=g({start:n,end:l,bits:c,label:d},r,i);if(s.push(t),t.end+1===r*i&&(e.pushWord(s),s=[],r++),!a)break;({start:n,end:l,bits:c,label:d}=a)}}e.pushWord(s)},"populate"),g=e((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];const s=e*a-1,r=e*a;return[{start:t.start,end:s,label:t.label,bits:s-t.start},{start:r,end:t.end,label:t.label,bits:t.end-r}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:e(async t=>{var e;const a=await w("packet",t),s=null==(e=y.parser)?void 0:e.yy;if(!(s instanceof u))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");o.debug(a),$(a,s)},"parse")},x=e((t,e,a,o)=>{const i=o.db,n=i.getConfig(),{rowHeight:l,paddingY:c,bitWidth:d,bitsPerRow:b}=n,h=i.getPacket(),k=i.getDiagramTitle(),p=l+c,f=p*(h.length+1)-(k?0:l),w=d*b+2,m=s(e);m.attr("viewbox",`0 0 ${w} ${f}`),r(m,f,w,n.useMaxWidth);for(const[s,r]of h.entries())v(m,r,s,n);m.append("text").text(k).attr("x",w/2).attr("y",f-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),v=e((t,e,a,{rowHeight:s,paddingX:r,paddingY:o,bitWidth:i,bitsPerRow:n,showBits:l})=>{const c=t.append("g"),d=a*(s+o)+o;for(const b of e){const t=b.start%n*i+1,e=(b.end-b.start+1)*i-r;if(c.append("rect").attr("x",t).attr("y",d).attr("width",e).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",t+e/2).attr("y",d+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(b.label),!l)continue;const a=b.end===b.start,o=d-2;c.append("text").attr("x",t+(a?e/2:0)).attr("y",o).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(b.start),a||c.append("text").attr("x",t+e).attr("y",o).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(b.end)}},"drawWord"),B={draw:x},P={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},E=e(({packet:t}={})=>{const e=a(P,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`},"styles"),C={parser:y,get db(){return new u},renderer:B,styles:E};export{C as diagram};
1
+ var t;import{_ as e,D as a,H as s,e as r,l as o,b as i,a as n,p as l,q as c,g as d,s as b,E as h,F as k,y as p}from"./index-BvMYTiOr.js";import{p as f}from"./chunk-4BX2VUAB-Cay_iY5D.js";import{p as w}from"./treemap-KMMF4GRG-CYbXQA3w.js";import"./min-CcGwUInn.js";import"./_baseUniq-O6Fk0Wzr.js";var m=h.packet,u=(e(t=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=n,this.setDiagramTitle=l,this.getDiagramTitle=c,this.getAccDescription=d,this.setAccDescription=b}getConfig(){const t=a({...m,...k().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){p(),this.packet=[]}},"PacketDB"),t),$=e((t,e)=>{f(t,e);let a=-1,s=[],r=1;const{bitsPerRow:i}=e.getConfig();for(let{start:n,end:l,bits:c,label:d}of t.blocks){if(void 0!==n&&void 0!==l&&l<n)throw new Error(`Packet block ${n} - ${l} is invalid. End must be greater than start.`);if(n??(n=a+1),n!==a+1)throw new Error(`Packet block ${n} - ${l??n} is not contiguous. It should start from ${a+1}.`);if(0===c)throw new Error(`Packet block ${n} is invalid. Cannot have a zero bit field.`);for(l??(l=n+(c??1)-1),c??(c=l-n+1),a=l,o.debug(`Packet block ${n} - ${a} with label ${d}`);s.length<=i+1&&e.getPacket().length<1e4;){const[t,a]=g({start:n,end:l,bits:c,label:d},r,i);if(s.push(t),t.end+1===r*i&&(e.pushWord(s),s=[],r++),!a)break;({start:n,end:l,bits:c,label:d}=a)}}e.pushWord(s)},"populate"),g=e((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];const s=e*a-1,r=e*a;return[{start:t.start,end:s,label:t.label,bits:s-t.start},{start:r,end:t.end,label:t.label,bits:t.end-r}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:e(async t=>{var e;const a=await w("packet",t),s=null==(e=y.parser)?void 0:e.yy;if(!(s instanceof u))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");o.debug(a),$(a,s)},"parse")},x=e((t,e,a,o)=>{const i=o.db,n=i.getConfig(),{rowHeight:l,paddingY:c,bitWidth:d,bitsPerRow:b}=n,h=i.getPacket(),k=i.getDiagramTitle(),p=l+c,f=p*(h.length+1)-(k?0:l),w=d*b+2,m=s(e);m.attr("viewbox",`0 0 ${w} ${f}`),r(m,f,w,n.useMaxWidth);for(const[s,r]of h.entries())v(m,r,s,n);m.append("text").text(k).attr("x",w/2).attr("y",f-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),v=e((t,e,a,{rowHeight:s,paddingX:r,paddingY:o,bitWidth:i,bitsPerRow:n,showBits:l})=>{const c=t.append("g"),d=a*(s+o)+o;for(const b of e){const t=b.start%n*i+1,e=(b.end-b.start+1)*i-r;if(c.append("rect").attr("x",t).attr("y",d).attr("width",e).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",t+e/2).attr("y",d+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(b.label),!l)continue;const a=b.end===b.start,o=d-2;c.append("text").attr("x",t+(a?e/2:0)).attr("y",o).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(b.start),a||c.append("text").attr("x",t+e).attr("y",o).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(b.end)}},"drawWord"),B={draw:x},P={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},E=e(({packet:t}={})=>{const e=a(P,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`},"styles"),C={parser:y,get db(){return new u},renderer:B,styles:E};export{C as diagram};
@@ -1 +1 @@
1
- var t;import{g as s}from"./chunk-55IACEB6-DgNYsQB7.js";import{s as e}from"./chunk-QN33PNHL-CHk3Nn1_.js";import{_ as i,b as r,a as n,s as a,g as c,p as h,q as o,c as l,l as u,y as _,x as f,A as b,B as d,o as E,r as p,d as k,u as y}from"./index-5wVqr2Ny.js";import{c as m}from"./channel-CrQbNsBe.js";var O=function(){var t=i(function(t,s,e,i){for(e=e||{},i=t.length;i--;e[t[i]]=s);return e},"o"),s=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],e=[1,10],r=[1,11],n=[1,12],a=[1,13],c=[1,20],h=[1,21],o=[1,22],l=[1,23],u=[1,24],_=[1,19],f=[1,25],b=[1,26],d=[1,18],E=[1,33],p=[1,34],k=[1,35],y=[1,36],m=[1,37],O=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],T=[1,42],N=[1,43],R=[1,52],v=[40,50,68,69],I=[1,63],S=[1,61],A=[1,58],g=[1,62],L=[1,64],D=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],x=[63,64,65,66,67],M=[1,81],w=[1,80],C=[1,78],F=[1,79],B=[6,10,42,47],Y=[6,10,13,41,42,47,48,49],$=[1,89],P=[1,88],K=[1,87],z=[19,56],G=[1,98],U=[1,97],j=[19,56,58,60],Z={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:i(function(t,s,e,i,r,n,a){var c=n.length-1;switch(r){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:n[c-1].push(n[c]),this.$=n[c-1];break;case 4:case 5:case 55:case 78:case 62:case 63:case 66:this.$=n[c];break;case 8:i.addEntity(n[c-4]),i.addEntity(n[c-2]),i.addRelationship(n[c-4],n[c],n[c-2],n[c-3]);break;case 9:i.addEntity(n[c-8]),i.addEntity(n[c-4]),i.addRelationship(n[c-8],n[c],n[c-4],n[c-5]),i.setClass([n[c-8]],n[c-6]),i.setClass([n[c-4]],n[c-2]);break;case 10:i.addEntity(n[c-6]),i.addEntity(n[c-2]),i.addRelationship(n[c-6],n[c],n[c-2],n[c-3]),i.setClass([n[c-6]],n[c-4]);break;case 11:i.addEntity(n[c-6]),i.addEntity(n[c-4]),i.addRelationship(n[c-6],n[c],n[c-4],n[c-5]),i.setClass([n[c-4]],n[c-2]);break;case 12:i.addEntity(n[c-3]),i.addAttributes(n[c-3],n[c-1]);break;case 13:i.addEntity(n[c-5]),i.addAttributes(n[c-5],n[c-1]),i.setClass([n[c-5]],n[c-3]);break;case 14:i.addEntity(n[c-2]);break;case 15:i.addEntity(n[c-4]),i.setClass([n[c-4]],n[c-2]);break;case 16:i.addEntity(n[c]);break;case 17:i.addEntity(n[c-2]),i.setClass([n[c-2]],n[c]);break;case 18:i.addEntity(n[c-6],n[c-4]),i.addAttributes(n[c-6],n[c-1]);break;case 19:i.addEntity(n[c-8],n[c-6]),i.addAttributes(n[c-8],n[c-1]),i.setClass([n[c-8]],n[c-3]);break;case 20:i.addEntity(n[c-5],n[c-3]);break;case 21:i.addEntity(n[c-7],n[c-5]),i.setClass([n[c-7]],n[c-2]);break;case 22:i.addEntity(n[c-3],n[c-1]);break;case 23:i.addEntity(n[c-5],n[c-3]),i.setClass([n[c-5]],n[c]);break;case 24:case 25:this.$=n[c].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=n[c].trim(),i.setAccDescription(this.$);break;case 32:i.setDirection("TB");break;case 33:i.setDirection("BT");break;case 34:i.setDirection("RL");break;case 35:i.setDirection("LR");break;case 36:this.$=n[c-3],i.addClass(n[c-2],n[c-1]);break;case 37:case 38:case 56:case 64:case 43:this.$=[n[c]];break;case 39:case 40:this.$=n[c-2].concat([n[c]]);break;case 41:this.$=n[c-2],i.setClass(n[c-1],n[c]);break;case 42:this.$=n[c-3],i.addCssStyles(n[c-2],n[c-1]);break;case 44:case 65:n[c-2].push(n[c]),this.$=n[c-2];break;case 46:this.$=n[c-1]+n[c];break;case 54:case 76:case 77:case 67:this.$=n[c].replace(/"/g,"");break;case 57:n[c].push(n[c-1]),this.$=n[c];break;case 58:this.$={type:n[c-1],name:n[c]};break;case 59:this.$={type:n[c-2],name:n[c-1],keys:n[c]};break;case 60:this.$={type:n[c-2],name:n[c-1],comment:n[c]};break;case 61:this.$={type:n[c-3],name:n[c-2],keys:n[c-1],comment:n[c]};break;case 68:this.$={cardA:n[c],relType:n[c-1],cardB:n[c-2]};break;case 69:this.$=i.Cardinality.ZERO_OR_ONE;break;case 70:this.$=i.Cardinality.ZERO_OR_MORE;break;case 71:this.$=i.Cardinality.ONE_OR_MORE;break;case 72:this.$=i.Cardinality.ONLY_ONE;break;case 73:this.$=i.Cardinality.MD_PARENT;break;case 74:this.$=i.Identification.NON_IDENTIFYING;break;case 75:this.$=i.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:e,24:r,26:n,28:a,29:14,30:15,31:16,32:17,33:c,34:h,35:o,36:l,37:u,40:_,43:f,44:b,50:d},t(s,[2,7],{1:[2,1]}),t(s,[2,3]),{9:27,11:9,22:e,24:r,26:n,28:a,29:14,30:15,31:16,32:17,33:c,34:h,35:o,36:l,37:u,40:_,43:f,44:b,50:d},t(s,[2,5]),t(s,[2,6]),t(s,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:E,64:p,65:k,66:y,67:m}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(s,[2,27]),t(s,[2,28]),t(s,[2,29]),t(s,[2,30]),t(s,[2,31]),t(O,[2,54]),t(O,[2,55]),t(s,[2,32]),t(s,[2,33]),t(s,[2,34]),t(s,[2,35]),{16:41,40:T,41:N},{16:44,40:T,41:N},{16:45,40:T,41:N},t(s,[2,4]),{11:46,40:_,50:d},{16:47,40:T,41:N},{18:48,19:[1,49],51:50,52:51,56:R},{11:53,40:_,50:d},{62:54,68:[1,55],69:[1,56]},t(v,[2,69]),t(v,[2,70]),t(v,[2,71]),t(v,[2,72]),t(v,[2,73]),t(s,[2,24]),t(s,[2,25]),t(s,[2,26]),{13:I,38:57,41:S,42:A,45:59,46:60,48:g,49:L},t(D,[2,37]),t(D,[2,38]),{16:65,40:T,41:N,42:A},{13:I,38:66,41:S,42:A,45:59,46:60,48:g,49:L},{13:[1,67],15:[1,68]},t(s,[2,17],{61:32,12:69,17:[1,70],42:A,63:E,64:p,65:k,66:y,67:m}),{19:[1,71]},t(s,[2,14]),{18:72,19:[2,56],51:50,52:51,56:R},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:E,64:p,65:k,66:y,67:m},t(x,[2,74]),t(x,[2,75]),{6:M,10:w,39:77,42:C,47:F},{40:[1,82],41:[1,83]},t(B,[2,43],{46:84,13:I,41:S,48:g,49:L}),t(Y,[2,45]),t(Y,[2,50]),t(Y,[2,51]),t(Y,[2,52]),t(Y,[2,53]),t(s,[2,41],{42:A}),{6:M,10:w,39:85,42:C,47:F},{14:86,40:$,50:P,70:K},{16:90,40:T,41:N},{11:91,40:_,50:d},{18:92,19:[1,93],51:50,52:51,56:R},t(s,[2,12]),{19:[2,57]},t(z,[2,58],{54:94,55:95,57:96,59:G,60:U}),t([19,56,59,60],[2,63]),t(s,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(s,[2,36]),{13:I,41:S,45:101,46:60,48:g,49:L},t(s,[2,47]),t(s,[2,48]),t(s,[2,49]),t(D,[2,39]),t(D,[2,40]),t(Y,[2,46]),t(s,[2,42]),t(s,[2,8]),t(s,[2,76]),t(s,[2,77]),t(s,[2,78]),{13:[1,102],42:A},{13:[1,104],15:[1,103]},{19:[1,105]},t(s,[2,15]),t(z,[2,59],{55:106,58:[1,107],60:U}),t(z,[2,60]),t(j,[2,64]),t(z,[2,67]),t(j,[2,66]),{18:108,19:[1,109],51:50,52:51,56:R},{16:110,40:T,41:N},t(B,[2,44],{46:84,13:I,41:S,48:g,49:L}),{14:111,40:$,50:P,70:K},{16:112,40:T,41:N},{14:113,40:$,50:P,70:K},t(s,[2,13]),t(z,[2,61]),{57:114,59:G},{19:[1,115]},t(s,[2,20]),t(s,[2,23],{17:[1,116],42:A}),t(s,[2,11]),{13:[1,117],42:A},t(s,[2,10]),t(j,[2,65]),t(s,[2,18]),{18:118,19:[1,119],51:50,52:51,56:R},{14:120,40:$,50:P,70:K},{19:[1,121]},t(s,[2,21]),t(s,[2,9]),t(s,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:i(function(t,s){if(!s.recoverable){var e=new Error(t);throw e.hash=s,e}this.trace(t)},"parseError"),parse:i(function(t){var s=this,e=[0],r=[],n=[null],a=[],c=this.table,h="",o=0,l=0,u=a.slice.call(arguments,1),_=Object.create(this.lexer),f={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(f.yy[b]=this.yy[b]);_.setInput(t,f.yy),f.yy.lexer=_,f.yy.parser=this,void 0===_.yylloc&&(_.yylloc={});var d=_.yylloc;a.push(d);var E=_.options&&_.options.ranges;function p(){var t;return"number"!=typeof(t=r.pop()||_.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=s.symbols_[t]||t),t}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,i(function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),i(p,"lex");for(var k,y,m,O,T,N,R,v,I={};;){if(y=e[e.length-1],this.defaultActions[y]?m=this.defaultActions[y]:(null==k&&(k=p()),m=c[y]&&c[y][k]),void 0===m||!m.length||!m[0]){var S="";for(T in v=[],c[y])this.terminals_[T]&&T>2&&v.push("'"+this.terminals_[T]+"'");S=_.showPosition?"Parse error on line "+(o+1)+":\n"+_.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:d,expected:v})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+k);switch(m[0]){case 1:e.push(k),n.push(_.yytext),a.push(_.yylloc),e.push(m[1]),k=null,l=_.yyleng,h=_.yytext,o=_.yylineno,d=_.yylloc;break;case 2:if(N=this.productions_[m[1]][1],I.$=n[n.length-N],I._$={first_line:a[a.length-(N||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(N||1)].first_column,last_column:a[a.length-1].last_column},E&&(I._$.range=[a[a.length-(N||1)].range[0],a[a.length-1].range[1]]),void 0!==(O=this.performAction.apply(I,[h,l,o,f.yy,m[1],n,a].concat(u))))return O;N&&(e=e.slice(0,-1*N*2),n=n.slice(0,-1*N),a=a.slice(0,-1*N)),e.push(this.productions_[m[1]][0]),n.push(I.$),a.push(I._$),R=c[e[e.length-2]][e[e.length-1]],e.push(R);break;case 3:return!0}}return!0},"parse")},W=function(){return{EOF:1,parseError:i(function(t,s){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,s)},"parseError"),setInput:i(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:i(function(t){var s=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===i.length?this.yylloc.first_column:0)+i[i.length-e.length].length-e[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:i(function(){return this._more=!0,this},"more"),reject:i(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:i(function(t){this.unput(this.match.slice(t))},"less"),pastInput:i(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+s+"^"},"showPosition"),test_match:i(function(t,s){var e,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},"test_match"),next:i(function(){if(this.done)return this.EOF;var t,s,e,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;n<r.length;n++)if((e=this._input.match(this.rules[r[n]]))&&(!s||e[0].length>s[0].length)){if(s=e,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,r[n])))return t;if(this._backtrack){s=!1;continue}return!1}if(!this.options.flex)break}return s?!1!==(t=this.test_match(s,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:i(function(){var t=this.next();return t||this.lex()},"lex"),begin:i(function(t){this.conditionStack.push(t)},"begin"),popState:i(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:i(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:i(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:i(function(t){this.begin(t)},"pushState"),stateStackSize:i(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:i(function(t,s,e,i){switch(e){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 28:case 35:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 38:return 49;case 20:case 37:return 42;case 21:return 15;case 22:case 36:return 13;case 24:return 59;case 25:case 26:return 56;case 27:return 60;case 29:return this.popState(),19;case 30:case 73:return s.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 39:return this.begin("style"),37;case 40:return 43;case 41:case 45:case 46:case 59:return 63;case 42:case 43:case 44:case 52:case 54:case 61:return 65;case 47:case 48:case 49:case 50:case 51:case 53:case 60:return 64;case 55:case 56:case 57:case 58:return 66;case 62:return 67;case 63:case 66:case 67:case 68:return 68;case 64:case 65:return 69;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}}}();function Q(){this.yy={}}return Z.lexer=W,i(Q,"Parser"),Q.prototype=Z,Z.Parser=Q,new Q}();O.parser=O;var T=O,N=(i(t=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=r,this.getAccTitle=n,this.setAccDescription=a,this.getAccDescription=c,this.setDiagramTitle=h,this.getDiagramTitle=o,this.getConfig=i(()=>l().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(t,s=""){var e;return this.entities.has(t)?!(null==(e=this.entities.get(t))?void 0:e.alias)&&s&&(this.entities.get(t).alias=s,u.info(`Add alias '${s}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:s,shape:"erBox",look:l().look??"default",cssClasses:"default",cssStyles:[]}),u.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,s){const e=this.addEntity(t);let i;for(i=s.length-1;i>=0;i--)s[i].keys||(s[i].keys=[]),s[i].comment||(s[i].comment=""),e.attributes.push(s[i]),u.debug("Added attribute ",s[i].name)}addRelationship(t,s,e,i){const r=this.entities.get(t),n=this.entities.get(e);if(!r||!n)return;const a={entityA:r.id,roleA:s,entityB:n.id,relSpec:i};this.relationships.push(a),u.debug("Added new relationship :",a)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let s=[];for(const e of t){const t=this.classes.get(e);(null==t?void 0:t.styles)&&(s=[...s,...t.styles??[]].map(t=>t.trim())),(null==t?void 0:t.textStyles)&&(s=[...s,...t.textStyles??[]].map(t=>t.trim()))}return s}addCssStyles(t,s){for(const e of t){const t=this.entities.get(e);if(!s||!t)return;for(const e of s)t.cssStyles.push(e)}}addClass(t,s){t.forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),s&&s.forEach(function(t){if(/color/.exec(t)){const s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setClass(t,s){for(const e of t){const t=this.entities.get(e);if(t)for(const e of s)t.cssClasses+=" "+e}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],_()}getData(){const t=[],s=[],e=l();for(const r of this.entities.keys()){const s=this.entities.get(r);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),t.push(s))}let i=0;for(const r of this.relationships){const t={id:f(r.entityA,r.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:r.entityA,end:r.entityB,label:r.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:r.relSpec.cardB.toLowerCase(),arrowTypeEnd:r.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==r.relSpec.relType?"solid":"dashed",look:e.look};s.push(t)}return{nodes:t,edges:s,other:{},config:e,direction:"TB"}}},"ErDB"),t),R={};d(R,{draw:()=>v});var v=i(async function(t,i,r,n){u.info("REF0:"),u.info("Drawing er diagram (unified)",i);const{securityLevel:a,er:c,layout:h}=l(),o=n.db.getData(),_=s(i,a);o.type=n.type,o.layoutAlgorithm=E(h),o.config.flowchart.nodeSpacing=(null==c?void 0:c.nodeSpacing)||140,o.config.flowchart.rankSpacing=(null==c?void 0:c.rankSpacing)||80,o.direction=n.db.getDirection(),o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=i,await p(o,_),"elk"===o.layoutAlgorithm&&_.select(".edges").lower();const f=_.selectAll('[id*="-background"]');Array.from(f).length>0&&f.each(function(){const t=k(this),s=t.attr("id").replace("-background",""),e=_.select(`#${CSS.escape(s)}`);if(!e.empty()){const s=e.attr("transform");t.attr("transform",s)}});y.insertTitle(_,"erDiagramTitleText",(null==c?void 0:c.titleTopMargin)??25,n.db.getDiagramTitle()),e(_,8,"erDiagram",(null==c?void 0:c.useMaxWidth)??!0)},"draw"),I=i((t,s)=>{const e=m,i=e(t,"r"),r=e(t,"g"),n=e(t,"b");return b(i,r,n,s)},"fade"),S=i(t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${I(t.tertiaryColor,.5)};\n }\n\n .edgeLabel .label {\n fill: ${t.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n`,"getStyles"),A={parser:T,get db(){return new N},renderer:R,styles:S};export{A as diagram};
1
+ var t;import{g as s}from"./chunk-55IACEB6-BeMIObm3.js";import{s as e}from"./chunk-QN33PNHL-DuPwsSus.js";import{_ as i,b as r,a as n,s as a,g as c,p as h,q as o,c as l,l as u,y as _,x as f,A as b,B as d,o as E,r as p,d as k,u as y}from"./index-BvMYTiOr.js";import{c as m}from"./channel-NwuYDCTJ.js";var O=function(){var t=i(function(t,s,e,i){for(e=e||{},i=t.length;i--;e[t[i]]=s);return e},"o"),s=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],e=[1,10],r=[1,11],n=[1,12],a=[1,13],c=[1,20],h=[1,21],o=[1,22],l=[1,23],u=[1,24],_=[1,19],f=[1,25],b=[1,26],d=[1,18],E=[1,33],p=[1,34],k=[1,35],y=[1,36],m=[1,37],O=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],T=[1,42],N=[1,43],R=[1,52],v=[40,50,68,69],I=[1,63],S=[1,61],A=[1,58],g=[1,62],L=[1,64],D=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],x=[63,64,65,66,67],M=[1,81],w=[1,80],C=[1,78],F=[1,79],B=[6,10,42,47],Y=[6,10,13,41,42,47,48,49],$=[1,89],P=[1,88],K=[1,87],z=[19,56],G=[1,98],U=[1,97],j=[19,56,58,60],Z={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:i(function(t,s,e,i,r,n,a){var c=n.length-1;switch(r){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:n[c-1].push(n[c]),this.$=n[c-1];break;case 4:case 5:case 55:case 78:case 62:case 63:case 66:this.$=n[c];break;case 8:i.addEntity(n[c-4]),i.addEntity(n[c-2]),i.addRelationship(n[c-4],n[c],n[c-2],n[c-3]);break;case 9:i.addEntity(n[c-8]),i.addEntity(n[c-4]),i.addRelationship(n[c-8],n[c],n[c-4],n[c-5]),i.setClass([n[c-8]],n[c-6]),i.setClass([n[c-4]],n[c-2]);break;case 10:i.addEntity(n[c-6]),i.addEntity(n[c-2]),i.addRelationship(n[c-6],n[c],n[c-2],n[c-3]),i.setClass([n[c-6]],n[c-4]);break;case 11:i.addEntity(n[c-6]),i.addEntity(n[c-4]),i.addRelationship(n[c-6],n[c],n[c-4],n[c-5]),i.setClass([n[c-4]],n[c-2]);break;case 12:i.addEntity(n[c-3]),i.addAttributes(n[c-3],n[c-1]);break;case 13:i.addEntity(n[c-5]),i.addAttributes(n[c-5],n[c-1]),i.setClass([n[c-5]],n[c-3]);break;case 14:i.addEntity(n[c-2]);break;case 15:i.addEntity(n[c-4]),i.setClass([n[c-4]],n[c-2]);break;case 16:i.addEntity(n[c]);break;case 17:i.addEntity(n[c-2]),i.setClass([n[c-2]],n[c]);break;case 18:i.addEntity(n[c-6],n[c-4]),i.addAttributes(n[c-6],n[c-1]);break;case 19:i.addEntity(n[c-8],n[c-6]),i.addAttributes(n[c-8],n[c-1]),i.setClass([n[c-8]],n[c-3]);break;case 20:i.addEntity(n[c-5],n[c-3]);break;case 21:i.addEntity(n[c-7],n[c-5]),i.setClass([n[c-7]],n[c-2]);break;case 22:i.addEntity(n[c-3],n[c-1]);break;case 23:i.addEntity(n[c-5],n[c-3]),i.setClass([n[c-5]],n[c]);break;case 24:case 25:this.$=n[c].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=n[c].trim(),i.setAccDescription(this.$);break;case 32:i.setDirection("TB");break;case 33:i.setDirection("BT");break;case 34:i.setDirection("RL");break;case 35:i.setDirection("LR");break;case 36:this.$=n[c-3],i.addClass(n[c-2],n[c-1]);break;case 37:case 38:case 56:case 64:case 43:this.$=[n[c]];break;case 39:case 40:this.$=n[c-2].concat([n[c]]);break;case 41:this.$=n[c-2],i.setClass(n[c-1],n[c]);break;case 42:this.$=n[c-3],i.addCssStyles(n[c-2],n[c-1]);break;case 44:case 65:n[c-2].push(n[c]),this.$=n[c-2];break;case 46:this.$=n[c-1]+n[c];break;case 54:case 76:case 77:case 67:this.$=n[c].replace(/"/g,"");break;case 57:n[c].push(n[c-1]),this.$=n[c];break;case 58:this.$={type:n[c-1],name:n[c]};break;case 59:this.$={type:n[c-2],name:n[c-1],keys:n[c]};break;case 60:this.$={type:n[c-2],name:n[c-1],comment:n[c]};break;case 61:this.$={type:n[c-3],name:n[c-2],keys:n[c-1],comment:n[c]};break;case 68:this.$={cardA:n[c],relType:n[c-1],cardB:n[c-2]};break;case 69:this.$=i.Cardinality.ZERO_OR_ONE;break;case 70:this.$=i.Cardinality.ZERO_OR_MORE;break;case 71:this.$=i.Cardinality.ONE_OR_MORE;break;case 72:this.$=i.Cardinality.ONLY_ONE;break;case 73:this.$=i.Cardinality.MD_PARENT;break;case 74:this.$=i.Identification.NON_IDENTIFYING;break;case 75:this.$=i.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:e,24:r,26:n,28:a,29:14,30:15,31:16,32:17,33:c,34:h,35:o,36:l,37:u,40:_,43:f,44:b,50:d},t(s,[2,7],{1:[2,1]}),t(s,[2,3]),{9:27,11:9,22:e,24:r,26:n,28:a,29:14,30:15,31:16,32:17,33:c,34:h,35:o,36:l,37:u,40:_,43:f,44:b,50:d},t(s,[2,5]),t(s,[2,6]),t(s,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:E,64:p,65:k,66:y,67:m}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(s,[2,27]),t(s,[2,28]),t(s,[2,29]),t(s,[2,30]),t(s,[2,31]),t(O,[2,54]),t(O,[2,55]),t(s,[2,32]),t(s,[2,33]),t(s,[2,34]),t(s,[2,35]),{16:41,40:T,41:N},{16:44,40:T,41:N},{16:45,40:T,41:N},t(s,[2,4]),{11:46,40:_,50:d},{16:47,40:T,41:N},{18:48,19:[1,49],51:50,52:51,56:R},{11:53,40:_,50:d},{62:54,68:[1,55],69:[1,56]},t(v,[2,69]),t(v,[2,70]),t(v,[2,71]),t(v,[2,72]),t(v,[2,73]),t(s,[2,24]),t(s,[2,25]),t(s,[2,26]),{13:I,38:57,41:S,42:A,45:59,46:60,48:g,49:L},t(D,[2,37]),t(D,[2,38]),{16:65,40:T,41:N,42:A},{13:I,38:66,41:S,42:A,45:59,46:60,48:g,49:L},{13:[1,67],15:[1,68]},t(s,[2,17],{61:32,12:69,17:[1,70],42:A,63:E,64:p,65:k,66:y,67:m}),{19:[1,71]},t(s,[2,14]),{18:72,19:[2,56],51:50,52:51,56:R},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:E,64:p,65:k,66:y,67:m},t(x,[2,74]),t(x,[2,75]),{6:M,10:w,39:77,42:C,47:F},{40:[1,82],41:[1,83]},t(B,[2,43],{46:84,13:I,41:S,48:g,49:L}),t(Y,[2,45]),t(Y,[2,50]),t(Y,[2,51]),t(Y,[2,52]),t(Y,[2,53]),t(s,[2,41],{42:A}),{6:M,10:w,39:85,42:C,47:F},{14:86,40:$,50:P,70:K},{16:90,40:T,41:N},{11:91,40:_,50:d},{18:92,19:[1,93],51:50,52:51,56:R},t(s,[2,12]),{19:[2,57]},t(z,[2,58],{54:94,55:95,57:96,59:G,60:U}),t([19,56,59,60],[2,63]),t(s,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(s,[2,36]),{13:I,41:S,45:101,46:60,48:g,49:L},t(s,[2,47]),t(s,[2,48]),t(s,[2,49]),t(D,[2,39]),t(D,[2,40]),t(Y,[2,46]),t(s,[2,42]),t(s,[2,8]),t(s,[2,76]),t(s,[2,77]),t(s,[2,78]),{13:[1,102],42:A},{13:[1,104],15:[1,103]},{19:[1,105]},t(s,[2,15]),t(z,[2,59],{55:106,58:[1,107],60:U}),t(z,[2,60]),t(j,[2,64]),t(z,[2,67]),t(j,[2,66]),{18:108,19:[1,109],51:50,52:51,56:R},{16:110,40:T,41:N},t(B,[2,44],{46:84,13:I,41:S,48:g,49:L}),{14:111,40:$,50:P,70:K},{16:112,40:T,41:N},{14:113,40:$,50:P,70:K},t(s,[2,13]),t(z,[2,61]),{57:114,59:G},{19:[1,115]},t(s,[2,20]),t(s,[2,23],{17:[1,116],42:A}),t(s,[2,11]),{13:[1,117],42:A},t(s,[2,10]),t(j,[2,65]),t(s,[2,18]),{18:118,19:[1,119],51:50,52:51,56:R},{14:120,40:$,50:P,70:K},{19:[1,121]},t(s,[2,21]),t(s,[2,9]),t(s,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:i(function(t,s){if(!s.recoverable){var e=new Error(t);throw e.hash=s,e}this.trace(t)},"parseError"),parse:i(function(t){var s=this,e=[0],r=[],n=[null],a=[],c=this.table,h="",o=0,l=0,u=a.slice.call(arguments,1),_=Object.create(this.lexer),f={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(f.yy[b]=this.yy[b]);_.setInput(t,f.yy),f.yy.lexer=_,f.yy.parser=this,void 0===_.yylloc&&(_.yylloc={});var d=_.yylloc;a.push(d);var E=_.options&&_.options.ranges;function p(){var t;return"number"!=typeof(t=r.pop()||_.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=s.symbols_[t]||t),t}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,i(function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),i(p,"lex");for(var k,y,m,O,T,N,R,v,I={};;){if(y=e[e.length-1],this.defaultActions[y]?m=this.defaultActions[y]:(null==k&&(k=p()),m=c[y]&&c[y][k]),void 0===m||!m.length||!m[0]){var S="";for(T in v=[],c[y])this.terminals_[T]&&T>2&&v.push("'"+this.terminals_[T]+"'");S=_.showPosition?"Parse error on line "+(o+1)+":\n"+_.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:d,expected:v})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+k);switch(m[0]){case 1:e.push(k),n.push(_.yytext),a.push(_.yylloc),e.push(m[1]),k=null,l=_.yyleng,h=_.yytext,o=_.yylineno,d=_.yylloc;break;case 2:if(N=this.productions_[m[1]][1],I.$=n[n.length-N],I._$={first_line:a[a.length-(N||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(N||1)].first_column,last_column:a[a.length-1].last_column},E&&(I._$.range=[a[a.length-(N||1)].range[0],a[a.length-1].range[1]]),void 0!==(O=this.performAction.apply(I,[h,l,o,f.yy,m[1],n,a].concat(u))))return O;N&&(e=e.slice(0,-1*N*2),n=n.slice(0,-1*N),a=a.slice(0,-1*N)),e.push(this.productions_[m[1]][0]),n.push(I.$),a.push(I._$),R=c[e[e.length-2]][e[e.length-1]],e.push(R);break;case 3:return!0}}return!0},"parse")},W=function(){return{EOF:1,parseError:i(function(t,s){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,s)},"parseError"),setInput:i(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:i(function(t){var s=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===i.length?this.yylloc.first_column:0)+i[i.length-e.length].length-e[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:i(function(){return this._more=!0,this},"more"),reject:i(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:i(function(t){this.unput(this.match.slice(t))},"less"),pastInput:i(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+s+"^"},"showPosition"),test_match:i(function(t,s){var e,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},"test_match"),next:i(function(){if(this.done)return this.EOF;var t,s,e,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;n<r.length;n++)if((e=this._input.match(this.rules[r[n]]))&&(!s||e[0].length>s[0].length)){if(s=e,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,r[n])))return t;if(this._backtrack){s=!1;continue}return!1}if(!this.options.flex)break}return s?!1!==(t=this.test_match(s,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:i(function(){var t=this.next();return t||this.lex()},"lex"),begin:i(function(t){this.conditionStack.push(t)},"begin"),popState:i(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:i(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:i(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:i(function(t){this.begin(t)},"pushState"),stateStackSize:i(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:i(function(t,s,e,i){switch(e){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 28:case 35:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 38:return 49;case 20:case 37:return 42;case 21:return 15;case 22:case 36:return 13;case 24:return 59;case 25:case 26:return 56;case 27:return 60;case 29:return this.popState(),19;case 30:case 73:return s.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 39:return this.begin("style"),37;case 40:return 43;case 41:case 45:case 46:case 59:return 63;case 42:case 43:case 44:case 52:case 54:case 61:return 65;case 47:case 48:case 49:case 50:case 51:case 53:case 60:return 64;case 55:case 56:case 57:case 58:return 66;case 62:return 67;case 63:case 66:case 67:case 68:return 68;case 64:case 65:return 69;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}}}();function Q(){this.yy={}}return Z.lexer=W,i(Q,"Parser"),Q.prototype=Z,Z.Parser=Q,new Q}();O.parser=O;var T=O,N=(i(t=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=r,this.getAccTitle=n,this.setAccDescription=a,this.getAccDescription=c,this.setDiagramTitle=h,this.getDiagramTitle=o,this.getConfig=i(()=>l().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(t,s=""){var e;return this.entities.has(t)?!(null==(e=this.entities.get(t))?void 0:e.alias)&&s&&(this.entities.get(t).alias=s,u.info(`Add alias '${s}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:s,shape:"erBox",look:l().look??"default",cssClasses:"default",cssStyles:[]}),u.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,s){const e=this.addEntity(t);let i;for(i=s.length-1;i>=0;i--)s[i].keys||(s[i].keys=[]),s[i].comment||(s[i].comment=""),e.attributes.push(s[i]),u.debug("Added attribute ",s[i].name)}addRelationship(t,s,e,i){const r=this.entities.get(t),n=this.entities.get(e);if(!r||!n)return;const a={entityA:r.id,roleA:s,entityB:n.id,relSpec:i};this.relationships.push(a),u.debug("Added new relationship :",a)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let s=[];for(const e of t){const t=this.classes.get(e);(null==t?void 0:t.styles)&&(s=[...s,...t.styles??[]].map(t=>t.trim())),(null==t?void 0:t.textStyles)&&(s=[...s,...t.textStyles??[]].map(t=>t.trim()))}return s}addCssStyles(t,s){for(const e of t){const t=this.entities.get(e);if(!s||!t)return;for(const e of s)t.cssStyles.push(e)}}addClass(t,s){t.forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),s&&s.forEach(function(t){if(/color/.exec(t)){const s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setClass(t,s){for(const e of t){const t=this.entities.get(e);if(t)for(const e of s)t.cssClasses+=" "+e}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],_()}getData(){const t=[],s=[],e=l();for(const r of this.entities.keys()){const s=this.entities.get(r);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),t.push(s))}let i=0;for(const r of this.relationships){const t={id:f(r.entityA,r.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:r.entityA,end:r.entityB,label:r.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:r.relSpec.cardB.toLowerCase(),arrowTypeEnd:r.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==r.relSpec.relType?"solid":"dashed",look:e.look};s.push(t)}return{nodes:t,edges:s,other:{},config:e,direction:"TB"}}},"ErDB"),t),R={};d(R,{draw:()=>v});var v=i(async function(t,i,r,n){u.info("REF0:"),u.info("Drawing er diagram (unified)",i);const{securityLevel:a,er:c,layout:h}=l(),o=n.db.getData(),_=s(i,a);o.type=n.type,o.layoutAlgorithm=E(h),o.config.flowchart.nodeSpacing=(null==c?void 0:c.nodeSpacing)||140,o.config.flowchart.rankSpacing=(null==c?void 0:c.rankSpacing)||80,o.direction=n.db.getDirection(),o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=i,await p(o,_),"elk"===o.layoutAlgorithm&&_.select(".edges").lower();const f=_.selectAll('[id*="-background"]');Array.from(f).length>0&&f.each(function(){const t=k(this),s=t.attr("id").replace("-background",""),e=_.select(`#${CSS.escape(s)}`);if(!e.empty()){const s=e.attr("transform");t.attr("transform",s)}});y.insertTitle(_,"erDiagramTitleText",(null==c?void 0:c.titleTopMargin)??25,n.db.getDiagramTitle()),e(_,8,"erDiagram",(null==c?void 0:c.useMaxWidth)??!0)},"draw"),I=i((t,s)=>{const e=m,i=e(t,"r"),r=e(t,"g"),n=e(t,"b");return b(i,r,n,s)},"fade"),S=i(t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${I(t.tertiaryColor,.5)};\n }\n\n .edgeLabel .label {\n fill: ${t.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n`,"getStyles"),A={parser:T,get db(){return new N},renderer:R,styles:S};export{A as diagram};
@@ -1 +1 @@
1
- var t;import{g as e}from"./chunk-FMBD7UC4-D5QlY4R_.js";import{_ as s,n as i,l as u,c as r,d as n,o as a,r as o,u as c,b as h,s as l,p as d,a as A,g as p,q as E,k as b,t as f,J as D,v as F,x as k,y as v,z as T,A as C}from"./index-5wVqr2Ny.js";import{g as B}from"./chunk-55IACEB6-DgNYsQB7.js";import{s as g}from"./chunk-QN33PNHL-CHk3Nn1_.js";import{c as _}from"./channel-CrQbNsBe.js";var S=(s(t=class{constructor(){this.vertexCounter=0,this.config=r(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=h,this.setAccDescription=l,this.setDiagramTitle=d,this.getAccTitle=A,this.getAccDescription=p,this.getDiagramTitle=E,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(t){return b.sanitizeText(t,this.config)}lookUpDomId(t){for(const e of this.vertices.values())if(e.id===t)return e.domId;return t}addVertex(t,e,s,i,u,n,a={},o){var c,h;if(!t||0===t.trim().length)return;let l;if(void 0!==o){let t;t=o.includes("\n")?o+"\n":"{\n"+o+"\n}",l=f(t,{schema:D})}const d=this.edges.find(e=>e.id===t);if(d){const t=l;return void 0!==(null==t?void 0:t.animate)&&(d.animate=t.animate),void 0!==(null==t?void 0:t.animation)&&(d.animation=t.animation),void(void 0!==(null==t?void 0:t.curve)&&(d.interpolate=t.curve))}let A,p=this.vertices.get(t);if(void 0===p&&(p={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,p)),this.vertexCounter++,void 0!==e?(this.config=r(),A=this.sanitizeText(e.text.trim()),p.labelType=e.type,A.startsWith('"')&&A.endsWith('"')&&(A=A.substring(1,A.length-1)),p.text=A):void 0===p.text&&(p.text=t),void 0!==s&&(p.type=s),null!=i&&i.forEach(t=>{p.styles.push(t)}),null!=u&&u.forEach(t=>{p.classes.push(t)}),void 0!==n&&(p.dir=n),void 0===p.props?p.props=a:void 0!==a&&Object.assign(p.props,a),void 0!==l){if(l.shape){if(l.shape!==l.shape.toLowerCase()||l.shape.includes("_"))throw new Error(`No such shape: ${l.shape}. Shape names should be lowercase.`);if(!F(l.shape))throw new Error(`No such shape: ${l.shape}.`);p.type=null==l?void 0:l.shape}(null==l?void 0:l.label)&&(p.text=null==l?void 0:l.label),(null==l?void 0:l.icon)&&(p.icon=null==l?void 0:l.icon,(null==(c=l.label)?void 0:c.trim())||p.text!==t||(p.text="")),(null==l?void 0:l.form)&&(p.form=null==l?void 0:l.form),(null==l?void 0:l.pos)&&(p.pos=null==l?void 0:l.pos),(null==l?void 0:l.img)&&(p.img=null==l?void 0:l.img,(null==(h=l.label)?void 0:h.trim())||p.text!==t||(p.text="")),(null==l?void 0:l.constraint)&&(p.constraint=l.constraint),l.w&&(p.assetWidth=Number(l.w)),l.h&&(p.assetHeight=Number(l.h))}}addSingleLink(t,e,s,i){const r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};u.info("abc78 Got edge...",r);const n=s.text;if(void 0!==n&&(r.text=this.sanitizeText(n.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=n.type),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{const t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=k(r.start,r.end,{counter:0,prefix:"L"}):r.id=k(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);u.info("Pushing edge..."),this.edges.push(r)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){const i=this.isLinkData(s)?s.id.replace("@",""):void 0;u.info("addLink",t,e,i);for(const u of t)for(const r of e){const n=u===t[t.length-1],a=r===e[0];n&&a?this.addSingleLink(u,r,s,i):this.addSingleLink(u,r,s,void 0)}}updateLinkInterpolate(t,e){t.forEach(t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e})}updateLink(t,e){t.forEach(t=>{var s,i,u,r,n,a;if("number"==typeof t&&t>=this.edges.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,((null==(i=null==(s=this.edges[t])?void 0:s.style)?void 0:i.length)??0)>0&&!(null==(r=null==(u=this.edges[t])?void 0:u.style)?void 0:r.some(t=>null==t?void 0:t.startsWith("fill")))&&(null==(a=null==(n=this.edges[t])?void 0:n.style)||a.push("fill:none")))})}addClass(t,e){const s=e.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");t.split(",").forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach(t=>{if(/color/.exec(t)){const s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setDirection(t){this.direction=t.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(const s of t.split(",")){const t=this.vertices.get(s);t&&t.classes.push(e);const i=this.edges.find(t=>t.id===s);i&&i.classes.push(e);const u=this.subGraphLookup.get(s);u&&u.classes.push(e)}}setTooltip(t,e){if(void 0!==e){e=this.sanitizeText(e);for(const s of t.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}}setClickFun(t,e,s){const i=this.lookUpDomId(t);if("loose"!==r().securityLevel)return;if(void 0===e)return;let u=[];if("string"==typeof s){u=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<u.length;t++){let e=u[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),u[t]=e}}0===u.length&&u.push(t);const n=this.vertices.get(t);n&&(n.haveCallback=!0,this.funs.push(()=>{const t=document.querySelector(`[id="${i}"]`);null!==t&&t.addEventListener("click",()=>{c.runFunc(e,...u)},!1)}))}setLink(t,e,s){t.split(",").forEach(t=>{const i=this.vertices.get(t);void 0!==i&&(i.link=c.formatUrl(e,this.config),i.linkTarget=s)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFun(t,e,s)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){var t;return null==(t=this.direction)?void 0:t.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=n(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=n("body").append("div").attr("class","mermaidTooltip").style("opacity",0));n(t).select("svg").selectAll("g.node").on("mouseover",t=>{var s;const i=n(t.currentTarget);if(null===i.attr("title"))return;const u=null==(s=t.currentTarget)?void 0:s.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(i.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),i.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0);n(t.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=r(),v()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,i){let n=t.text.trim(),a=i.text;t===i&&/\s/.exec(i.text)&&(n=void 0);const o=s(t=>{const e={boolean:{},number:{},string:{}},s=[];let i;return{nodeList:t.filter(function(t){const u=typeof t;return t.stmt&&"dir"===t.stmt?(i=t.value,!1):""!==t.trim()&&(u in e?!e[u].hasOwnProperty(t)&&(e[u][t]=!0):!s.includes(t)&&s.push(t))}),dir:i}},"uniq")(e.flat()),c=o.nodeList;let h=o.dir;const l=r().flowchart??{};if(h=h??(l.inheritDir?this.getDirection()??r().direction??void 0:void 0),"gen-1"===this.version)for(let s=0;s<c.length;s++)c[s]=this.lookUpDomId(c[s]);n=n??"subGraph"+this.subCount,a=a||"",a=this.sanitizeText(a),this.subCount=this.subCount+1;const d={id:n,nodes:c,title:a.trim(),classes:[],dir:h,labelType:i.type};return u.info("Adding",d.id,d.nodes,d.dir),d.nodes=this.makeUniq(d,this.subGraphs).nodes,this.subGraphs.push(d),this.subGraphLookup.set(n,d),n}getPosForId(t){for(const[e,s]of this.subGraphs.entries())if(s.id===t)return e;return-1}indexNodes2(t,e){const s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,u=1;for(;i<s.length;){const e=this.getPosForId(s[i]);if(e>=0){const s=this.indexNodes2(t,e);if(s.result)return{result:!0,count:u+s.count};u+=s.count}i+=1}return{result:!1,count:u}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){const s=e.length;let i=0;for(let u=0;u<s;++u)e[u]===t&&++i;return i}destructEndLink(t){const e=t.trim();let s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let u="normal",r=s.length-1;s.startsWith("=")&&(u="thick"),s.startsWith("~")&&(u="invisible");const n=this.countChar(".",s);return n&&(u="dotted",r=n),{type:i,stroke:u,length:r}}destructLink(t,e){const s=this.destructEndLink(t);let i;if(e){if(i=this.destructStartLink(e),i.stroke!==s.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===i.type)i.type=s.type;else{if(i.type!==s.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return"double_arrow"===i.type&&(i.type="double_arrow_point"),i.length=s.length,i}return s}exists(t,e){for(const s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){const s=[];return t.nodes.forEach((i,u)=>{this.exists(e,i)||s.push(t.nodes[u])}),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(t=>t.id===e)}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),s=e}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,u,r){var n;const a=s.get(t.id),o=i.get(t.id)??!1,c=this.findNode(e,t.id);if(c)c.cssStyles=t.styles,c.cssCompiledStyles=this.getCompiledStyles(t.classes),c.cssClasses=t.classes.join(" ");else{const s={id:t.id,label:t.text,labelStyle:"",parentId:a,padding:(null==(n=u.flowchart)?void 0:n.padding)||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:r,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};o?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:this.getTypeFromVertex(t)})}}getCompiledStyles(t){let e=[];for(const s of t){const t=this.classes.get(s);(null==t?void 0:t.styles)&&(e=[...e,...t.styles??[]].map(t=>t.trim())),(null==t?void 0:t.textStyles)&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}getData(){const t=r(),e=[],s=[],i=this.getSubGraphs(),u=new Map,n=new Map;for(let r=i.length-1;r>=0;r--){const t=i[r];t.nodes.length>0&&n.set(t.id,!0);for(const e of t.nodes)u.set(e,t.id)}for(let r=i.length-1;r>=0;r--){const s=i[r];e.push({id:s.id,label:s.title,labelStyle:"",parentId:u.get(s.id),padding:8,cssCompiledStyles:this.getCompiledStyles(s.classes),cssClasses:s.classes.join(" "),shape:"rect",dir:s.dir,isGroup:!0,look:t.look})}this.getVertices().forEach(s=>{this.addNodeFromVertex(s,e,u,n,t,t.look||"classic")});const a=this.getEdges();return a.forEach((e,i)=>{var u;const{arrowTypeStart:r,arrowTypeEnd:n}=this.destructEdgeType(e.type),o=[...a.defaultStyle??[]];e.style&&o.push(...e.style);const c={id:k(e.start,e.end,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===(null==e?void 0:e.stroke)?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===(null==e?void 0:e.stroke)||"arrow_open"===(null==e?void 0:e.type)?"none":r,arrowTypeEnd:"invisible"===(null==e?void 0:e.stroke)||"arrow_open"===(null==e?void 0:e.type)?"none":n,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:o,style:o,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||(null==(u=t.flowchart)?void 0:u.curve)};s.push(c)}),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return T.flowchart}},"FlowDB"),t),m={getClasses:s(function(t,e){return e.db.getClasses()},"getClasses"),draw:s(async function(t,e,s,i){var h;u.info("REF0:"),u.info("Drawing state diagram (v2)",e);const{securityLevel:l,flowchart:d,layout:A}=r();let p;"sandbox"===l&&(p=n("#i"+e));const E="sandbox"===l?p.nodes()[0].contentDocument:document;u.debug("Before getData: ");const b=i.db.getData();u.debug("Data: ",b);const f=B(e,l),D=i.db.getDirection();b.type=i.type,b.layoutAlgorithm=a(A),"dagre"===b.layoutAlgorithm&&"elk"===A&&u.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),b.direction=D,b.nodeSpacing=(null==d?void 0:d.nodeSpacing)||50,b.rankSpacing=(null==d?void 0:d.rankSpacing)||50,b.markers=["point","circle","cross"],b.diagramId=e,u.debug("REF1:",b),await o(b,f);const F=(null==(h=b.config.flowchart)?void 0:h.diagramPadding)??8;c.insertTitle(f,"flowchartTitleText",(null==d?void 0:d.titleTopMargin)||0,i.db.getDiagramTitle()),g(f,F,"flowchart",(null==d?void 0:d.useMaxWidth)||!1);for(const u of b.nodes){const t=n(`#${e} [id="${u.id}"]`);if(!t||!u.link)continue;const s=E.createElementNS("http://www.w3.org/2000/svg","a");s.setAttributeNS("http://www.w3.org/2000/svg","class",u.cssClasses),s.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===l?s.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):u.linkTarget&&s.setAttributeNS("http://www.w3.org/2000/svg","target",u.linkTarget);const i=t.insert(function(){return s},":first-child"),r=t.select(".label-container");r&&i.append(function(){return r.node()});const a=t.select(".label");a&&i.append(function(){return a.node()})}},"draw")},x=function(){var t=s(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,4],i=[1,3],u=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],n=[2,2],a=[1,13],o=[1,14],c=[1,15],h=[1,16],l=[1,23],d=[1,25],A=[1,26],p=[1,27],E=[1,49],b=[1,48],f=[1,29],D=[1,30],F=[1,31],k=[1,32],v=[1,33],T=[1,44],C=[1,46],B=[1,42],g=[1,47],_=[1,43],S=[1,50],m=[1,45],x=[1,51],w=[1,52],y=[1,34],I=[1,35],R=[1,36],N=[1,37],L=[1,57],P=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],O=[1,61],$=[1,60],M=[1,62],U=[8,9,11,75,77,78],G=[1,78],K=[1,91],j=[1,96],V=[1,95],z=[1,92],Y=[1,88],H=[1,94],q=[1,90],X=[1,97],W=[1,93],Q=[1,98],J=[1,89],Z=[8,9,10,11,40,75,77,78],tt=[8,9,10,11,40,46,75,77,78],et=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],st=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],it=[44,60,89,102,105,106,109,111,114,115,116],ut=[1,121],rt=[1,122],nt=[1,124],at=[1,123],ot=[44,60,62,74,89,102,105,106,109,111,114,115,116],ct=[1,133],ht=[1,147],lt=[1,148],dt=[1,149],At=[1,150],pt=[1,135],Et=[1,137],bt=[1,141],ft=[1,142],Dt=[1,143],Ft=[1,144],kt=[1,145],vt=[1,146],Tt=[1,151],Ct=[1,152],Bt=[1,131],gt=[1,132],_t=[1,139],St=[1,134],mt=[1,138],xt=[1,136],wt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],yt=[1,154],It=[1,156],Rt=[8,9,11],Nt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],Lt=[1,176],Pt=[1,172],Ot=[1,173],$t=[1,177],Mt=[1,174],Ut=[1,175],Gt=[77,116,119],Kt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],jt=[10,106],Vt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],zt=[1,247],Yt=[1,245],Ht=[1,249],qt=[1,243],Xt=[1,244],Wt=[1,246],Qt=[1,248],Jt=[1,250],Zt=[1,268],te=[8,9,11,106],ee=[8,9,10,11,60,84,105,106,109,110,111,112],se={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:s(function(t,e,s,i,u,r,n){var a=r.length-1;switch(u){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(r[a])||r[a].length>0)&&r[a-1].push(r[a]),this.$=r[a-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=r[a];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(r[a-1]),this.$=r[a-1];break;case 27:this.$=r[a-1].nodes;break;case 33:this.$=i.addSubGraph(r[a-6],r[a-1],r[a-4]);break;case 34:this.$=i.addSubGraph(r[a-3],r[a-1],r[a-3]);break;case 35:this.$=i.addSubGraph(void 0,r[a-1],void 0);break;case 37:this.$=r[a].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=r[a].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=r[a-1]+r[a];break;case 45:i.addVertex(r[a-1][r[a-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a]),i.addLink(r[a-3].stmt,r[a-1],r[a-2]),this.$={stmt:r[a-1],nodes:r[a-1].concat(r[a-3].nodes)};break;case 46:i.addLink(r[a-2].stmt,r[a],r[a-1]),this.$={stmt:r[a],nodes:r[a].concat(r[a-2].nodes)};break;case 47:i.addLink(r[a-3].stmt,r[a-1],r[a-2]),this.$={stmt:r[a-1],nodes:r[a-1].concat(r[a-3].nodes)};break;case 48:this.$={stmt:r[a-1],nodes:r[a-1]};break;case 49:i.addVertex(r[a-1][r[a-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a]),this.$={stmt:r[a-1],nodes:r[a-1],shapeData:r[a]};break;case 50:this.$={stmt:r[a],nodes:r[a]};break;case 51:case 128:case 130:this.$=[r[a]];break;case 52:i.addVertex(r[a-5][r[a-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a-4]),this.$=r[a-5].concat(r[a]);break;case 53:this.$=r[a-4].concat(r[a]);break;case 55:this.$=r[a-2],i.setClass(r[a-2],r[a]);break;case 56:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"square");break;case 57:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"doublecircle");break;case 58:this.$=r[a-5],i.addVertex(r[a-5],r[a-2],"circle");break;case 59:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"ellipse");break;case 60:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"stadium");break;case 61:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"subroutine");break;case 62:this.$=r[a-7],i.addVertex(r[a-7],r[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[r[a-5],r[a-3]]]));break;case 63:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"cylinder");break;case 64:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"round");break;case 65:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"diamond");break;case 66:this.$=r[a-5],i.addVertex(r[a-5],r[a-2],"hexagon");break;case 67:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"odd");break;case 68:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"trapezoid");break;case 69:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"inv_trapezoid");break;case 70:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"lean_right");break;case 71:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"lean_left");break;case 72:this.$=r[a],i.addVertex(r[a]);break;case 73:r[a-1].text=r[a],this.$=r[a-1];break;case 74:case 75:r[a-2].text=r[a-1],this.$=r[a-2];break;case 77:var o=i.destructLink(r[a],r[a-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:r[a-1]};break;case 78:o=i.destructLink(r[a],r[a-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:r[a-1],id:r[a-3]};break;case 79:case 86:case 101:case 103:this.$={text:r[a],type:"text"};break;case 80:case 87:case 102:this.$={text:r[a-1].text+""+r[a],type:r[a-1].type};break;case 81:case 88:this.$={text:r[a],type:"string"};break;case 82:case 89:case 104:this.$={text:r[a],type:"markdown"};break;case 83:o=i.destructLink(r[a]);this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 84:o=i.destructLink(r[a]);this.$={type:o.type,stroke:o.stroke,length:o.length,id:r[a-1]};break;case 85:this.$=r[a-1];break;case 105:this.$=r[a-4],i.addClass(r[a-2],r[a]);break;case 106:this.$=r[a-4],i.setClass(r[a-2],r[a]);break;case 107:case 115:this.$=r[a-1],i.setClickEvent(r[a-1],r[a]);break;case 108:case 116:this.$=r[a-3],i.setClickEvent(r[a-3],r[a-2]),i.setTooltip(r[a-3],r[a]);break;case 109:this.$=r[a-2],i.setClickEvent(r[a-2],r[a-1],r[a]);break;case 110:this.$=r[a-4],i.setClickEvent(r[a-4],r[a-3],r[a-2]),i.setTooltip(r[a-4],r[a]);break;case 111:this.$=r[a-2],i.setLink(r[a-2],r[a]);break;case 112:this.$=r[a-4],i.setLink(r[a-4],r[a-2]),i.setTooltip(r[a-4],r[a]);break;case 113:this.$=r[a-4],i.setLink(r[a-4],r[a-2],r[a]);break;case 114:this.$=r[a-6],i.setLink(r[a-6],r[a-4],r[a]),i.setTooltip(r[a-6],r[a-2]);break;case 117:this.$=r[a-1],i.setLink(r[a-1],r[a]);break;case 118:this.$=r[a-3],i.setLink(r[a-3],r[a-2]),i.setTooltip(r[a-3],r[a]);break;case 119:this.$=r[a-3],i.setLink(r[a-3],r[a-2],r[a]);break;case 120:this.$=r[a-5],i.setLink(r[a-5],r[a-4],r[a]),i.setTooltip(r[a-5],r[a-2]);break;case 121:this.$=r[a-4],i.addVertex(r[a-2],void 0,void 0,r[a]);break;case 122:this.$=r[a-4],i.updateLink([r[a-2]],r[a]);break;case 123:this.$=r[a-4],i.updateLink(r[a-2],r[a]);break;case 124:this.$=r[a-8],i.updateLinkInterpolate([r[a-6]],r[a-2]),i.updateLink([r[a-6]],r[a]);break;case 125:this.$=r[a-8],i.updateLinkInterpolate(r[a-6],r[a-2]),i.updateLink(r[a-6],r[a]);break;case 126:this.$=r[a-6],i.updateLinkInterpolate([r[a-4]],r[a]);break;case 127:this.$=r[a-6],i.updateLinkInterpolate(r[a-4],r[a]);break;case 129:case 131:r[a-2].push(r[a]),this.$=r[a-2];break;case 182:case 184:this.$=r[a-1]+""+r[a];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"}}},"anonymous"),table:[{3:1,4:2,9:e,10:i,12:u},{1:[3]},t(r,n,{5:6}),{4:7,9:e,10:i,12:u},{4:8,9:e,10:i,12:u},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,54],9:[1,55],10:L,15:53,18:56},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:O,9:$,11:M,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:O,9:$,11:M,21:67},{8:O,9:$,11:M,21:68},{8:O,9:$,11:M,21:69},{8:O,9:$,11:M,21:70},{8:O,9:$,11:M,21:71},{8:O,9:$,10:[1,72],11:M,21:73},t(P,[2,36]),{35:[1,74]},{37:[1,75]},t(P,[2,39]),t(U,[2,50],{18:76,39:77,10:L,40:G}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:K,44:j,60:V,80:[1,86],89:z,95:[1,83],97:[1,84],101:85,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},t(P,[2,185]),t(P,[2,186]),t(P,[2,187]),t(P,[2,188]),t(Z,[2,51]),t(Z,[2,54],{46:[1,99]}),t(tt,[2,72],{113:112,29:[1,100],44:E,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:b,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),t(et,[2,181]),t(et,[2,142]),t(et,[2,143]),t(et,[2,144]),t(et,[2,145]),t(et,[2,146]),t(et,[2,147]),t(et,[2,148]),t(et,[2,149]),t(et,[2,150]),t(et,[2,151]),t(et,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,113]},t(st,[2,26],{18:114,10:L}),t(P,[2,27]),{42:115,43:38,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(it,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:ut,81:rt,116:nt,119:at},{75:[1,125],77:[1,126]},t(ot,[2,83]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:ct,12:ht,14:lt,27:dt,28:127,32:At,44:pt,60:Et,75:bt,80:[1,129],81:[1,130],83:140,84:ft,85:Dt,86:Ft,87:kt,88:vt,89:Tt,90:Ct,91:128,105:Bt,109:gt,111:_t,114:St,115:mt,116:xt},t(wt,n,{5:153}),t(P,[2,37]),t(P,[2,38]),t(U,[2,48],{44:yt}),t(U,[2,49],{18:155,10:L,40:It}),t(Z,[2,44]),{44:E,47:157,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{102:[1,158],103:159,105:[1,160]},{44:E,47:161,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{44:E,47:162,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Rt,[2,115],{120:167,10:[1,166],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,117],{10:[1,168]}),t(Nt,[2,183]),t(Nt,[2,170]),t(Nt,[2,171]),t(Nt,[2,172]),t(Nt,[2,173]),t(Nt,[2,174]),t(Nt,[2,175]),t(Nt,[2,176]),t(Nt,[2,177]),t(Nt,[2,178]),t(Nt,[2,179]),t(Nt,[2,180]),{44:E,47:169,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{30:170,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:178,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:180,50:[1,179],67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:181,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:182,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:183,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{109:[1,184]},{30:185,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:186,65:[1,187],67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:188,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:189,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:190,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(et,[2,182]),t(r,[2,20]),t(st,[2,25]),t(U,[2,46],{39:191,18:192,10:L,40:G}),t(it,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{77:[1,196],79:197,116:nt,119:at},t(Gt,[2,79]),t(Gt,[2,81]),t(Gt,[2,82]),t(Gt,[2,168]),t(Gt,[2,169]),{76:198,79:120,80:ut,81:rt,116:nt,119:at},t(ot,[2,84]),{8:O,9:$,10:ct,11:M,12:ht,14:lt,21:200,27:dt,29:[1,199],32:At,44:pt,60:Et,75:bt,83:140,84:ft,85:Dt,86:Ft,87:kt,88:vt,89:Tt,90:Ct,91:201,105:Bt,109:gt,111:_t,114:St,115:mt,116:xt},t(Kt,[2,101]),t(Kt,[2,103]),t(Kt,[2,104]),t(Kt,[2,157]),t(Kt,[2,158]),t(Kt,[2,159]),t(Kt,[2,160]),t(Kt,[2,161]),t(Kt,[2,162]),t(Kt,[2,163]),t(Kt,[2,164]),t(Kt,[2,165]),t(Kt,[2,166]),t(Kt,[2,167]),t(Kt,[2,90]),t(Kt,[2,91]),t(Kt,[2,92]),t(Kt,[2,93]),t(Kt,[2,94]),t(Kt,[2,95]),t(Kt,[2,96]),t(Kt,[2,97]),t(Kt,[2,98]),t(Kt,[2,99]),t(Kt,[2,100]),{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,202],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},{10:L,18:203},{44:[1,204]},t(Z,[2,43]),{10:[1,205],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{10:[1,206]},{10:[1,207],106:[1,208]},t(jt,[2,128]),{10:[1,209],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{10:[1,210],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{80:[1,211]},t(Rt,[2,109],{10:[1,212]}),t(Rt,[2,111],{10:[1,213]}),{80:[1,214]},t(Nt,[2,184]),{80:[1,215],98:[1,216]},t(Z,[2,55],{113:112,44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),{31:[1,217],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(Vt,[2,86]),t(Vt,[2,88]),t(Vt,[2,89]),t(Vt,[2,153]),t(Vt,[2,154]),t(Vt,[2,155]),t(Vt,[2,156]),{49:[1,219],67:Lt,82:218,116:$t,117:Mt,118:Ut},{30:220,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{51:[1,221],67:Lt,82:218,116:$t,117:Mt,118:Ut},{53:[1,222],67:Lt,82:218,116:$t,117:Mt,118:Ut},{55:[1,223],67:Lt,82:218,116:$t,117:Mt,118:Ut},{57:[1,224],67:Lt,82:218,116:$t,117:Mt,118:Ut},{60:[1,225]},{64:[1,226],67:Lt,82:218,116:$t,117:Mt,118:Ut},{66:[1,227],67:Lt,82:218,116:$t,117:Mt,118:Ut},{30:228,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{31:[1,229],67:Lt,82:218,116:$t,117:Mt,118:Ut},{67:Lt,69:[1,230],71:[1,231],82:218,116:$t,117:Mt,118:Ut},{67:Lt,69:[1,233],71:[1,232],82:218,116:$t,117:Mt,118:Ut},t(U,[2,45],{18:155,10:L,40:It}),t(U,[2,47],{44:yt}),t(it,[2,75]),t(it,[2,74]),{62:[1,234],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(it,[2,77]),t(Gt,[2,80]),{77:[1,235],79:197,116:nt,119:at},{30:236,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(wt,n,{5:237}),t(Kt,[2,102]),t(P,[2,35]),{43:238,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{10:L,18:239},{10:zt,60:Yt,84:Ht,92:240,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:251,104:[1,252],105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:253,104:[1,254],105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{105:[1,255]},{10:zt,60:Yt,84:Ht,92:256,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{44:E,47:257,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Rt,[2,116]),t(Rt,[2,118],{10:[1,261]}),t(Rt,[2,119]),t(tt,[2,56]),t(Vt,[2,87]),t(tt,[2,57]),{51:[1,262],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(tt,[2,64]),t(tt,[2,59]),t(tt,[2,60]),t(tt,[2,61]),{109:[1,263]},t(tt,[2,63]),t(tt,[2,65]),{66:[1,264],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(tt,[2,67]),t(tt,[2,68]),t(tt,[2,70]),t(tt,[2,69]),t(tt,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(it,[2,78]),{31:[1,265],67:Lt,82:218,116:$t,117:Mt,118:Ut},{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,266],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},t(Z,[2,53]),{43:267,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,121],{106:Zt}),t(te,[2,130],{108:269,10:zt,60:Yt,84:Ht,105:qt,109:Xt,110:Wt,111:Qt,112:Jt}),t(ee,[2,132]),t(ee,[2,134]),t(ee,[2,135]),t(ee,[2,136]),t(ee,[2,137]),t(ee,[2,138]),t(ee,[2,139]),t(ee,[2,140]),t(ee,[2,141]),t(Rt,[2,122],{106:Zt}),{10:[1,270]},t(Rt,[2,123],{106:Zt}),{10:[1,271]},t(jt,[2,129]),t(Rt,[2,105],{106:Zt}),t(Rt,[2,106],{113:112,44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),t(Rt,[2,110]),t(Rt,[2,112],{10:[1,272]}),t(Rt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:O,9:$,11:M,21:277},t(P,[2,34]),t(Z,[2,52]),{10:zt,60:Yt,84:Ht,105:qt,107:278,108:242,109:Xt,110:Wt,111:Qt,112:Jt},t(ee,[2,133]),{14:K,44:j,60:V,89:z,101:279,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},{14:K,44:j,60:V,89:z,101:280,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},{98:[1,281]},t(Rt,[2,120]),t(tt,[2,58]),{30:282,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(tt,[2,66]),t(wt,n,{5:283}),t(te,[2,131],{108:269,10:zt,60:Yt,84:Ht,105:qt,109:Xt,110:Wt,111:Qt,112:Jt}),t(Rt,[2,126],{120:167,10:[1,284],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,127],{120:167,10:[1,285],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,114]),{31:[1,286],67:Lt,82:218,116:$t,117:Mt,118:Ut},{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,287],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},{10:zt,60:Yt,84:Ht,92:288,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:289,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},t(tt,[2,62]),t(P,[2,33]),t(Rt,[2,124],{106:Zt}),t(Rt,[2,125],{106:Zt})],defaultActions:{},parseError:s(function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)},"parseError"),parse:s(function(t){var e=this,i=[0],u=[],r=[null],n=[],a=this.table,o="",c=0,h=0,l=n.slice.call(arguments,1),d=Object.create(this.lexer),A={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(A.yy[p]=this.yy[p]);d.setInput(t,A.yy),A.yy.lexer=d,A.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var E=d.yylloc;n.push(E);var b=d.options&&d.options.ranges;function f(){var t;return"number"!=typeof(t=u.pop()||d.lex()||1)&&(t instanceof Array&&(t=(u=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,s(function(t){i.length=i.length-2*t,r.length=r.length-t,n.length=n.length-t},"popStack"),s(f,"lex");for(var D,F,k,v,T,C,B,g,_={};;){if(F=i[i.length-1],this.defaultActions[F]?k=this.defaultActions[F]:(null==D&&(D=f()),k=a[F]&&a[F][D]),void 0===k||!k.length||!k[0]){var S="";for(T in g=[],a[F])this.terminals_[T]&&T>2&&g.push("'"+this.terminals_[T]+"'");S=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+g.join(", ")+", got '"+(this.terminals_[D]||D)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==D?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[D]||D,line:d.yylineno,loc:E,expected:g})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+D);switch(k[0]){case 1:i.push(D),r.push(d.yytext),n.push(d.yylloc),i.push(k[1]),D=null,h=d.yyleng,o=d.yytext,c=d.yylineno,E=d.yylloc;break;case 2:if(C=this.productions_[k[1]][1],_.$=r[r.length-C],_._$={first_line:n[n.length-(C||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(C||1)].first_column,last_column:n[n.length-1].last_column},b&&(_._$.range=[n[n.length-(C||1)].range[0],n[n.length-1].range[1]]),void 0!==(v=this.performAction.apply(_,[o,h,c,A.yy,k[1],r,n].concat(l))))return v;C&&(i=i.slice(0,-1*C*2),r=r.slice(0,-1*C),n=n.slice(0,-1*C)),i.push(this.productions_[k[1]][0]),r.push(_.$),n.push(_._$),B=a[i[i.length-2]][i[i.length-1]],i.push(B);break;case 3:return!0}}return!0},"parse")},ie=function(){return{EOF:1,parseError:s(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:s(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:s(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:s(function(t){this.unput(this.match.slice(t))},"less"),pastInput:s(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:s(function(t,e){var s,i,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in u)this[r]=u[r];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;var t,e,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),r=0;r<u.length;r++)if((s=this._input.match(this.rules[u[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,u[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,u[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var t=this.next();return t||this.lex()},"lex"),begin:s(function(t){this.conditionStack.push(t)},"begin"),popState:s(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:s(function(t){this.begin(t)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const s=/\n\s*/g;return e.yytext=e.yytext.replace(s,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:case 102:return 111;case 62:return 46;case 63:return 60;case 64:case 103:return 44;case 65:return 8;case 66:return 106;case 67:case 101:return 115;case 68:case 71:case 74:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:case 73:case 76:return 119;case 72:return this.pushState("thickEdgeText"),75;case 75:return this.pushState("dottedEdgeText"),75;case 77:return 77;case 78:return this.popState(),53;case 79:case 115:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}}}();function ue(){this.yy={}}return se.lexer=ie,s(ue,"Parser"),ue.prototype=se,se.Parser=ue,new ue}();x.parser=x;var w=x,y=Object.assign({},w);y.parse=t=>{const e=t.replace(/}\s*\n/g,"}\n");return w.parse(e)};var I=y,R=s((t,e)=>{const s=_,i=s(t,"r"),u=s(t,"g"),r=s(t,"b");return C(i,u,r,e)},"fade"),N=s(t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${t.lineColor} !important;\n stroke-width: 0;\n stroke: ${t.lineColor};\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${R(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n padding: 2px;\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n ${e()}\n`,"getStyles"),L={parser:I,get db(){return new S},renderer:m,styles:N,init:s(t=>{t.flowchart||(t.flowchart={}),t.layout&&i({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};export{L as diagram};
1
+ var t;import{g as e}from"./chunk-FMBD7UC4-67W1cNu_.js";import{_ as s,n as i,l as u,c as r,d as n,o as a,r as o,u as c,b as h,s as l,p as d,a as A,g as p,q as E,k as b,t as f,J as D,v as F,x as k,y as v,z as T,A as C}from"./index-BvMYTiOr.js";import{g as B}from"./chunk-55IACEB6-BeMIObm3.js";import{s as g}from"./chunk-QN33PNHL-DuPwsSus.js";import{c as _}from"./channel-NwuYDCTJ.js";var S=(s(t=class{constructor(){this.vertexCounter=0,this.config=r(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=h,this.setAccDescription=l,this.setDiagramTitle=d,this.getAccTitle=A,this.getAccDescription=p,this.getDiagramTitle=E,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(t){return b.sanitizeText(t,this.config)}lookUpDomId(t){for(const e of this.vertices.values())if(e.id===t)return e.domId;return t}addVertex(t,e,s,i,u,n,a={},o){var c,h;if(!t||0===t.trim().length)return;let l;if(void 0!==o){let t;t=o.includes("\n")?o+"\n":"{\n"+o+"\n}",l=f(t,{schema:D})}const d=this.edges.find(e=>e.id===t);if(d){const t=l;return void 0!==(null==t?void 0:t.animate)&&(d.animate=t.animate),void 0!==(null==t?void 0:t.animation)&&(d.animation=t.animation),void(void 0!==(null==t?void 0:t.curve)&&(d.interpolate=t.curve))}let A,p=this.vertices.get(t);if(void 0===p&&(p={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,p)),this.vertexCounter++,void 0!==e?(this.config=r(),A=this.sanitizeText(e.text.trim()),p.labelType=e.type,A.startsWith('"')&&A.endsWith('"')&&(A=A.substring(1,A.length-1)),p.text=A):void 0===p.text&&(p.text=t),void 0!==s&&(p.type=s),null!=i&&i.forEach(t=>{p.styles.push(t)}),null!=u&&u.forEach(t=>{p.classes.push(t)}),void 0!==n&&(p.dir=n),void 0===p.props?p.props=a:void 0!==a&&Object.assign(p.props,a),void 0!==l){if(l.shape){if(l.shape!==l.shape.toLowerCase()||l.shape.includes("_"))throw new Error(`No such shape: ${l.shape}. Shape names should be lowercase.`);if(!F(l.shape))throw new Error(`No such shape: ${l.shape}.`);p.type=null==l?void 0:l.shape}(null==l?void 0:l.label)&&(p.text=null==l?void 0:l.label),(null==l?void 0:l.icon)&&(p.icon=null==l?void 0:l.icon,(null==(c=l.label)?void 0:c.trim())||p.text!==t||(p.text="")),(null==l?void 0:l.form)&&(p.form=null==l?void 0:l.form),(null==l?void 0:l.pos)&&(p.pos=null==l?void 0:l.pos),(null==l?void 0:l.img)&&(p.img=null==l?void 0:l.img,(null==(h=l.label)?void 0:h.trim())||p.text!==t||(p.text="")),(null==l?void 0:l.constraint)&&(p.constraint=l.constraint),l.w&&(p.assetWidth=Number(l.w)),l.h&&(p.assetHeight=Number(l.h))}}addSingleLink(t,e,s,i){const r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};u.info("abc78 Got edge...",r);const n=s.text;if(void 0!==n&&(r.text=this.sanitizeText(n.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=n.type),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{const t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=k(r.start,r.end,{counter:0,prefix:"L"}):r.id=k(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);u.info("Pushing edge..."),this.edges.push(r)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){const i=this.isLinkData(s)?s.id.replace("@",""):void 0;u.info("addLink",t,e,i);for(const u of t)for(const r of e){const n=u===t[t.length-1],a=r===e[0];n&&a?this.addSingleLink(u,r,s,i):this.addSingleLink(u,r,s,void 0)}}updateLinkInterpolate(t,e){t.forEach(t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e})}updateLink(t,e){t.forEach(t=>{var s,i,u,r,n,a;if("number"==typeof t&&t>=this.edges.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,((null==(i=null==(s=this.edges[t])?void 0:s.style)?void 0:i.length)??0)>0&&!(null==(r=null==(u=this.edges[t])?void 0:u.style)?void 0:r.some(t=>null==t?void 0:t.startsWith("fill")))&&(null==(a=null==(n=this.edges[t])?void 0:n.style)||a.push("fill:none")))})}addClass(t,e){const s=e.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");t.split(",").forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach(t=>{if(/color/.exec(t)){const s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setDirection(t){this.direction=t.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(const s of t.split(",")){const t=this.vertices.get(s);t&&t.classes.push(e);const i=this.edges.find(t=>t.id===s);i&&i.classes.push(e);const u=this.subGraphLookup.get(s);u&&u.classes.push(e)}}setTooltip(t,e){if(void 0!==e){e=this.sanitizeText(e);for(const s of t.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}}setClickFun(t,e,s){const i=this.lookUpDomId(t);if("loose"!==r().securityLevel)return;if(void 0===e)return;let u=[];if("string"==typeof s){u=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<u.length;t++){let e=u[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),u[t]=e}}0===u.length&&u.push(t);const n=this.vertices.get(t);n&&(n.haveCallback=!0,this.funs.push(()=>{const t=document.querySelector(`[id="${i}"]`);null!==t&&t.addEventListener("click",()=>{c.runFunc(e,...u)},!1)}))}setLink(t,e,s){t.split(",").forEach(t=>{const i=this.vertices.get(t);void 0!==i&&(i.link=c.formatUrl(e,this.config),i.linkTarget=s)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFun(t,e,s)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){var t;return null==(t=this.direction)?void 0:t.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=n(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=n("body").append("div").attr("class","mermaidTooltip").style("opacity",0));n(t).select("svg").selectAll("g.node").on("mouseover",t=>{var s;const i=n(t.currentTarget);if(null===i.attr("title"))return;const u=null==(s=t.currentTarget)?void 0:s.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(i.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),i.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0);n(t.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=r(),v()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,i){let n=t.text.trim(),a=i.text;t===i&&/\s/.exec(i.text)&&(n=void 0);const o=s(t=>{const e={boolean:{},number:{},string:{}},s=[];let i;return{nodeList:t.filter(function(t){const u=typeof t;return t.stmt&&"dir"===t.stmt?(i=t.value,!1):""!==t.trim()&&(u in e?!e[u].hasOwnProperty(t)&&(e[u][t]=!0):!s.includes(t)&&s.push(t))}),dir:i}},"uniq")(e.flat()),c=o.nodeList;let h=o.dir;const l=r().flowchart??{};if(h=h??(l.inheritDir?this.getDirection()??r().direction??void 0:void 0),"gen-1"===this.version)for(let s=0;s<c.length;s++)c[s]=this.lookUpDomId(c[s]);n=n??"subGraph"+this.subCount,a=a||"",a=this.sanitizeText(a),this.subCount=this.subCount+1;const d={id:n,nodes:c,title:a.trim(),classes:[],dir:h,labelType:i.type};return u.info("Adding",d.id,d.nodes,d.dir),d.nodes=this.makeUniq(d,this.subGraphs).nodes,this.subGraphs.push(d),this.subGraphLookup.set(n,d),n}getPosForId(t){for(const[e,s]of this.subGraphs.entries())if(s.id===t)return e;return-1}indexNodes2(t,e){const s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,u=1;for(;i<s.length;){const e=this.getPosForId(s[i]);if(e>=0){const s=this.indexNodes2(t,e);if(s.result)return{result:!0,count:u+s.count};u+=s.count}i+=1}return{result:!1,count:u}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){const s=e.length;let i=0;for(let u=0;u<s;++u)e[u]===t&&++i;return i}destructEndLink(t){const e=t.trim();let s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let u="normal",r=s.length-1;s.startsWith("=")&&(u="thick"),s.startsWith("~")&&(u="invisible");const n=this.countChar(".",s);return n&&(u="dotted",r=n),{type:i,stroke:u,length:r}}destructLink(t,e){const s=this.destructEndLink(t);let i;if(e){if(i=this.destructStartLink(e),i.stroke!==s.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===i.type)i.type=s.type;else{if(i.type!==s.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return"double_arrow"===i.type&&(i.type="double_arrow_point"),i.length=s.length,i}return s}exists(t,e){for(const s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){const s=[];return t.nodes.forEach((i,u)=>{this.exists(e,i)||s.push(t.nodes[u])}),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(t=>t.id===e)}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),s=e}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,u,r){var n;const a=s.get(t.id),o=i.get(t.id)??!1,c=this.findNode(e,t.id);if(c)c.cssStyles=t.styles,c.cssCompiledStyles=this.getCompiledStyles(t.classes),c.cssClasses=t.classes.join(" ");else{const s={id:t.id,label:t.text,labelStyle:"",parentId:a,padding:(null==(n=u.flowchart)?void 0:n.padding)||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:r,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};o?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:this.getTypeFromVertex(t)})}}getCompiledStyles(t){let e=[];for(const s of t){const t=this.classes.get(s);(null==t?void 0:t.styles)&&(e=[...e,...t.styles??[]].map(t=>t.trim())),(null==t?void 0:t.textStyles)&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}getData(){const t=r(),e=[],s=[],i=this.getSubGraphs(),u=new Map,n=new Map;for(let r=i.length-1;r>=0;r--){const t=i[r];t.nodes.length>0&&n.set(t.id,!0);for(const e of t.nodes)u.set(e,t.id)}for(let r=i.length-1;r>=0;r--){const s=i[r];e.push({id:s.id,label:s.title,labelStyle:"",parentId:u.get(s.id),padding:8,cssCompiledStyles:this.getCompiledStyles(s.classes),cssClasses:s.classes.join(" "),shape:"rect",dir:s.dir,isGroup:!0,look:t.look})}this.getVertices().forEach(s=>{this.addNodeFromVertex(s,e,u,n,t,t.look||"classic")});const a=this.getEdges();return a.forEach((e,i)=>{var u;const{arrowTypeStart:r,arrowTypeEnd:n}=this.destructEdgeType(e.type),o=[...a.defaultStyle??[]];e.style&&o.push(...e.style);const c={id:k(e.start,e.end,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===(null==e?void 0:e.stroke)?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===(null==e?void 0:e.stroke)||"arrow_open"===(null==e?void 0:e.type)?"none":r,arrowTypeEnd:"invisible"===(null==e?void 0:e.stroke)||"arrow_open"===(null==e?void 0:e.type)?"none":n,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:o,style:o,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||(null==(u=t.flowchart)?void 0:u.curve)};s.push(c)}),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return T.flowchart}},"FlowDB"),t),m={getClasses:s(function(t,e){return e.db.getClasses()},"getClasses"),draw:s(async function(t,e,s,i){var h;u.info("REF0:"),u.info("Drawing state diagram (v2)",e);const{securityLevel:l,flowchart:d,layout:A}=r();let p;"sandbox"===l&&(p=n("#i"+e));const E="sandbox"===l?p.nodes()[0].contentDocument:document;u.debug("Before getData: ");const b=i.db.getData();u.debug("Data: ",b);const f=B(e,l),D=i.db.getDirection();b.type=i.type,b.layoutAlgorithm=a(A),"dagre"===b.layoutAlgorithm&&"elk"===A&&u.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),b.direction=D,b.nodeSpacing=(null==d?void 0:d.nodeSpacing)||50,b.rankSpacing=(null==d?void 0:d.rankSpacing)||50,b.markers=["point","circle","cross"],b.diagramId=e,u.debug("REF1:",b),await o(b,f);const F=(null==(h=b.config.flowchart)?void 0:h.diagramPadding)??8;c.insertTitle(f,"flowchartTitleText",(null==d?void 0:d.titleTopMargin)||0,i.db.getDiagramTitle()),g(f,F,"flowchart",(null==d?void 0:d.useMaxWidth)||!1);for(const u of b.nodes){const t=n(`#${e} [id="${u.id}"]`);if(!t||!u.link)continue;const s=E.createElementNS("http://www.w3.org/2000/svg","a");s.setAttributeNS("http://www.w3.org/2000/svg","class",u.cssClasses),s.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===l?s.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):u.linkTarget&&s.setAttributeNS("http://www.w3.org/2000/svg","target",u.linkTarget);const i=t.insert(function(){return s},":first-child"),r=t.select(".label-container");r&&i.append(function(){return r.node()});const a=t.select(".label");a&&i.append(function(){return a.node()})}},"draw")},x=function(){var t=s(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,4],i=[1,3],u=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],n=[2,2],a=[1,13],o=[1,14],c=[1,15],h=[1,16],l=[1,23],d=[1,25],A=[1,26],p=[1,27],E=[1,49],b=[1,48],f=[1,29],D=[1,30],F=[1,31],k=[1,32],v=[1,33],T=[1,44],C=[1,46],B=[1,42],g=[1,47],_=[1,43],S=[1,50],m=[1,45],x=[1,51],w=[1,52],y=[1,34],I=[1,35],R=[1,36],N=[1,37],L=[1,57],P=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],O=[1,61],$=[1,60],M=[1,62],U=[8,9,11,75,77,78],G=[1,78],K=[1,91],j=[1,96],V=[1,95],z=[1,92],Y=[1,88],H=[1,94],q=[1,90],X=[1,97],W=[1,93],Q=[1,98],J=[1,89],Z=[8,9,10,11,40,75,77,78],tt=[8,9,10,11,40,46,75,77,78],et=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],st=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],it=[44,60,89,102,105,106,109,111,114,115,116],ut=[1,121],rt=[1,122],nt=[1,124],at=[1,123],ot=[44,60,62,74,89,102,105,106,109,111,114,115,116],ct=[1,133],ht=[1,147],lt=[1,148],dt=[1,149],At=[1,150],pt=[1,135],Et=[1,137],bt=[1,141],ft=[1,142],Dt=[1,143],Ft=[1,144],kt=[1,145],vt=[1,146],Tt=[1,151],Ct=[1,152],Bt=[1,131],gt=[1,132],_t=[1,139],St=[1,134],mt=[1,138],xt=[1,136],wt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],yt=[1,154],It=[1,156],Rt=[8,9,11],Nt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],Lt=[1,176],Pt=[1,172],Ot=[1,173],$t=[1,177],Mt=[1,174],Ut=[1,175],Gt=[77,116,119],Kt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],jt=[10,106],Vt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],zt=[1,247],Yt=[1,245],Ht=[1,249],qt=[1,243],Xt=[1,244],Wt=[1,246],Qt=[1,248],Jt=[1,250],Zt=[1,268],te=[8,9,11,106],ee=[8,9,10,11,60,84,105,106,109,110,111,112],se={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:s(function(t,e,s,i,u,r,n){var a=r.length-1;switch(u){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(r[a])||r[a].length>0)&&r[a-1].push(r[a]),this.$=r[a-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=r[a];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(r[a-1]),this.$=r[a-1];break;case 27:this.$=r[a-1].nodes;break;case 33:this.$=i.addSubGraph(r[a-6],r[a-1],r[a-4]);break;case 34:this.$=i.addSubGraph(r[a-3],r[a-1],r[a-3]);break;case 35:this.$=i.addSubGraph(void 0,r[a-1],void 0);break;case 37:this.$=r[a].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=r[a].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=r[a-1]+r[a];break;case 45:i.addVertex(r[a-1][r[a-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a]),i.addLink(r[a-3].stmt,r[a-1],r[a-2]),this.$={stmt:r[a-1],nodes:r[a-1].concat(r[a-3].nodes)};break;case 46:i.addLink(r[a-2].stmt,r[a],r[a-1]),this.$={stmt:r[a],nodes:r[a].concat(r[a-2].nodes)};break;case 47:i.addLink(r[a-3].stmt,r[a-1],r[a-2]),this.$={stmt:r[a-1],nodes:r[a-1].concat(r[a-3].nodes)};break;case 48:this.$={stmt:r[a-1],nodes:r[a-1]};break;case 49:i.addVertex(r[a-1][r[a-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a]),this.$={stmt:r[a-1],nodes:r[a-1],shapeData:r[a]};break;case 50:this.$={stmt:r[a],nodes:r[a]};break;case 51:case 128:case 130:this.$=[r[a]];break;case 52:i.addVertex(r[a-5][r[a-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,r[a-4]),this.$=r[a-5].concat(r[a]);break;case 53:this.$=r[a-4].concat(r[a]);break;case 55:this.$=r[a-2],i.setClass(r[a-2],r[a]);break;case 56:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"square");break;case 57:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"doublecircle");break;case 58:this.$=r[a-5],i.addVertex(r[a-5],r[a-2],"circle");break;case 59:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"ellipse");break;case 60:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"stadium");break;case 61:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"subroutine");break;case 62:this.$=r[a-7],i.addVertex(r[a-7],r[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[r[a-5],r[a-3]]]));break;case 63:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"cylinder");break;case 64:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"round");break;case 65:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"diamond");break;case 66:this.$=r[a-5],i.addVertex(r[a-5],r[a-2],"hexagon");break;case 67:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"odd");break;case 68:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"trapezoid");break;case 69:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"inv_trapezoid");break;case 70:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"lean_right");break;case 71:this.$=r[a-3],i.addVertex(r[a-3],r[a-1],"lean_left");break;case 72:this.$=r[a],i.addVertex(r[a]);break;case 73:r[a-1].text=r[a],this.$=r[a-1];break;case 74:case 75:r[a-2].text=r[a-1],this.$=r[a-2];break;case 77:var o=i.destructLink(r[a],r[a-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:r[a-1]};break;case 78:o=i.destructLink(r[a],r[a-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:r[a-1],id:r[a-3]};break;case 79:case 86:case 101:case 103:this.$={text:r[a],type:"text"};break;case 80:case 87:case 102:this.$={text:r[a-1].text+""+r[a],type:r[a-1].type};break;case 81:case 88:this.$={text:r[a],type:"string"};break;case 82:case 89:case 104:this.$={text:r[a],type:"markdown"};break;case 83:o=i.destructLink(r[a]);this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 84:o=i.destructLink(r[a]);this.$={type:o.type,stroke:o.stroke,length:o.length,id:r[a-1]};break;case 85:this.$=r[a-1];break;case 105:this.$=r[a-4],i.addClass(r[a-2],r[a]);break;case 106:this.$=r[a-4],i.setClass(r[a-2],r[a]);break;case 107:case 115:this.$=r[a-1],i.setClickEvent(r[a-1],r[a]);break;case 108:case 116:this.$=r[a-3],i.setClickEvent(r[a-3],r[a-2]),i.setTooltip(r[a-3],r[a]);break;case 109:this.$=r[a-2],i.setClickEvent(r[a-2],r[a-1],r[a]);break;case 110:this.$=r[a-4],i.setClickEvent(r[a-4],r[a-3],r[a-2]),i.setTooltip(r[a-4],r[a]);break;case 111:this.$=r[a-2],i.setLink(r[a-2],r[a]);break;case 112:this.$=r[a-4],i.setLink(r[a-4],r[a-2]),i.setTooltip(r[a-4],r[a]);break;case 113:this.$=r[a-4],i.setLink(r[a-4],r[a-2],r[a]);break;case 114:this.$=r[a-6],i.setLink(r[a-6],r[a-4],r[a]),i.setTooltip(r[a-6],r[a-2]);break;case 117:this.$=r[a-1],i.setLink(r[a-1],r[a]);break;case 118:this.$=r[a-3],i.setLink(r[a-3],r[a-2]),i.setTooltip(r[a-3],r[a]);break;case 119:this.$=r[a-3],i.setLink(r[a-3],r[a-2],r[a]);break;case 120:this.$=r[a-5],i.setLink(r[a-5],r[a-4],r[a]),i.setTooltip(r[a-5],r[a-2]);break;case 121:this.$=r[a-4],i.addVertex(r[a-2],void 0,void 0,r[a]);break;case 122:this.$=r[a-4],i.updateLink([r[a-2]],r[a]);break;case 123:this.$=r[a-4],i.updateLink(r[a-2],r[a]);break;case 124:this.$=r[a-8],i.updateLinkInterpolate([r[a-6]],r[a-2]),i.updateLink([r[a-6]],r[a]);break;case 125:this.$=r[a-8],i.updateLinkInterpolate(r[a-6],r[a-2]),i.updateLink(r[a-6],r[a]);break;case 126:this.$=r[a-6],i.updateLinkInterpolate([r[a-4]],r[a]);break;case 127:this.$=r[a-6],i.updateLinkInterpolate(r[a-4],r[a]);break;case 129:case 131:r[a-2].push(r[a]),this.$=r[a-2];break;case 182:case 184:this.$=r[a-1]+""+r[a];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"}}},"anonymous"),table:[{3:1,4:2,9:e,10:i,12:u},{1:[3]},t(r,n,{5:6}),{4:7,9:e,10:i,12:u},{4:8,9:e,10:i,12:u},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,54],9:[1,55],10:L,15:53,18:56},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:O,9:$,11:M,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:O,9:$,11:M,21:67},{8:O,9:$,11:M,21:68},{8:O,9:$,11:M,21:69},{8:O,9:$,11:M,21:70},{8:O,9:$,11:M,21:71},{8:O,9:$,10:[1,72],11:M,21:73},t(P,[2,36]),{35:[1,74]},{37:[1,75]},t(P,[2,39]),t(U,[2,50],{18:76,39:77,10:L,40:G}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:K,44:j,60:V,80:[1,86],89:z,95:[1,83],97:[1,84],101:85,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},t(P,[2,185]),t(P,[2,186]),t(P,[2,187]),t(P,[2,188]),t(Z,[2,51]),t(Z,[2,54],{46:[1,99]}),t(tt,[2,72],{113:112,29:[1,100],44:E,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:b,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),t(et,[2,181]),t(et,[2,142]),t(et,[2,143]),t(et,[2,144]),t(et,[2,145]),t(et,[2,146]),t(et,[2,147]),t(et,[2,148]),t(et,[2,149]),t(et,[2,150]),t(et,[2,151]),t(et,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,113]},t(st,[2,26],{18:114,10:L}),t(P,[2,27]),{42:115,43:38,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(it,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:ut,81:rt,116:nt,119:at},{75:[1,125],77:[1,126]},t(ot,[2,83]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:ct,12:ht,14:lt,27:dt,28:127,32:At,44:pt,60:Et,75:bt,80:[1,129],81:[1,130],83:140,84:ft,85:Dt,86:Ft,87:kt,88:vt,89:Tt,90:Ct,91:128,105:Bt,109:gt,111:_t,114:St,115:mt,116:xt},t(wt,n,{5:153}),t(P,[2,37]),t(P,[2,38]),t(U,[2,48],{44:yt}),t(U,[2,49],{18:155,10:L,40:It}),t(Z,[2,44]),{44:E,47:157,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{102:[1,158],103:159,105:[1,160]},{44:E,47:161,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{44:E,47:162,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Rt,[2,115],{120:167,10:[1,166],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,117],{10:[1,168]}),t(Nt,[2,183]),t(Nt,[2,170]),t(Nt,[2,171]),t(Nt,[2,172]),t(Nt,[2,173]),t(Nt,[2,174]),t(Nt,[2,175]),t(Nt,[2,176]),t(Nt,[2,177]),t(Nt,[2,178]),t(Nt,[2,179]),t(Nt,[2,180]),{44:E,47:169,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{30:170,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:178,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:180,50:[1,179],67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:181,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:182,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:183,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{109:[1,184]},{30:185,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:186,65:[1,187],67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:188,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:189,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{30:190,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(et,[2,182]),t(r,[2,20]),t(st,[2,25]),t(U,[2,46],{39:191,18:192,10:L,40:G}),t(it,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{77:[1,196],79:197,116:nt,119:at},t(Gt,[2,79]),t(Gt,[2,81]),t(Gt,[2,82]),t(Gt,[2,168]),t(Gt,[2,169]),{76:198,79:120,80:ut,81:rt,116:nt,119:at},t(ot,[2,84]),{8:O,9:$,10:ct,11:M,12:ht,14:lt,21:200,27:dt,29:[1,199],32:At,44:pt,60:Et,75:bt,83:140,84:ft,85:Dt,86:Ft,87:kt,88:vt,89:Tt,90:Ct,91:201,105:Bt,109:gt,111:_t,114:St,115:mt,116:xt},t(Kt,[2,101]),t(Kt,[2,103]),t(Kt,[2,104]),t(Kt,[2,157]),t(Kt,[2,158]),t(Kt,[2,159]),t(Kt,[2,160]),t(Kt,[2,161]),t(Kt,[2,162]),t(Kt,[2,163]),t(Kt,[2,164]),t(Kt,[2,165]),t(Kt,[2,166]),t(Kt,[2,167]),t(Kt,[2,90]),t(Kt,[2,91]),t(Kt,[2,92]),t(Kt,[2,93]),t(Kt,[2,94]),t(Kt,[2,95]),t(Kt,[2,96]),t(Kt,[2,97]),t(Kt,[2,98]),t(Kt,[2,99]),t(Kt,[2,100]),{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,202],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},{10:L,18:203},{44:[1,204]},t(Z,[2,43]),{10:[1,205],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{10:[1,206]},{10:[1,207],106:[1,208]},t(jt,[2,128]),{10:[1,209],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{10:[1,210],44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:112,114:m,115:x,116:w},{80:[1,211]},t(Rt,[2,109],{10:[1,212]}),t(Rt,[2,111],{10:[1,213]}),{80:[1,214]},t(Nt,[2,184]),{80:[1,215],98:[1,216]},t(Z,[2,55],{113:112,44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),{31:[1,217],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(Vt,[2,86]),t(Vt,[2,88]),t(Vt,[2,89]),t(Vt,[2,153]),t(Vt,[2,154]),t(Vt,[2,155]),t(Vt,[2,156]),{49:[1,219],67:Lt,82:218,116:$t,117:Mt,118:Ut},{30:220,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{51:[1,221],67:Lt,82:218,116:$t,117:Mt,118:Ut},{53:[1,222],67:Lt,82:218,116:$t,117:Mt,118:Ut},{55:[1,223],67:Lt,82:218,116:$t,117:Mt,118:Ut},{57:[1,224],67:Lt,82:218,116:$t,117:Mt,118:Ut},{60:[1,225]},{64:[1,226],67:Lt,82:218,116:$t,117:Mt,118:Ut},{66:[1,227],67:Lt,82:218,116:$t,117:Mt,118:Ut},{30:228,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},{31:[1,229],67:Lt,82:218,116:$t,117:Mt,118:Ut},{67:Lt,69:[1,230],71:[1,231],82:218,116:$t,117:Mt,118:Ut},{67:Lt,69:[1,233],71:[1,232],82:218,116:$t,117:Mt,118:Ut},t(U,[2,45],{18:155,10:L,40:It}),t(U,[2,47],{44:yt}),t(it,[2,75]),t(it,[2,74]),{62:[1,234],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(it,[2,77]),t(Gt,[2,80]),{77:[1,235],79:197,116:nt,119:at},{30:236,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(wt,n,{5:237}),t(Kt,[2,102]),t(P,[2,35]),{43:238,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},{10:L,18:239},{10:zt,60:Yt,84:Ht,92:240,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:251,104:[1,252],105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:253,104:[1,254],105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{105:[1,255]},{10:zt,60:Yt,84:Ht,92:256,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{44:E,47:257,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Rt,[2,116]),t(Rt,[2,118],{10:[1,261]}),t(Rt,[2,119]),t(tt,[2,56]),t(Vt,[2,87]),t(tt,[2,57]),{51:[1,262],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(tt,[2,64]),t(tt,[2,59]),t(tt,[2,60]),t(tt,[2,61]),{109:[1,263]},t(tt,[2,63]),t(tt,[2,65]),{66:[1,264],67:Lt,82:218,116:$t,117:Mt,118:Ut},t(tt,[2,67]),t(tt,[2,68]),t(tt,[2,70]),t(tt,[2,69]),t(tt,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(it,[2,78]),{31:[1,265],67:Lt,82:218,116:$t,117:Mt,118:Ut},{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,266],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},t(Z,[2,53]),{43:267,44:E,45:39,47:40,60:b,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w},t(Rt,[2,121],{106:Zt}),t(te,[2,130],{108:269,10:zt,60:Yt,84:Ht,105:qt,109:Xt,110:Wt,111:Qt,112:Jt}),t(ee,[2,132]),t(ee,[2,134]),t(ee,[2,135]),t(ee,[2,136]),t(ee,[2,137]),t(ee,[2,138]),t(ee,[2,139]),t(ee,[2,140]),t(ee,[2,141]),t(Rt,[2,122],{106:Zt}),{10:[1,270]},t(Rt,[2,123],{106:Zt}),{10:[1,271]},t(jt,[2,129]),t(Rt,[2,105],{106:Zt}),t(Rt,[2,106],{113:112,44:E,60:b,89:T,102:C,105:B,106:g,109:_,111:S,114:m,115:x,116:w}),t(Rt,[2,110]),t(Rt,[2,112],{10:[1,272]}),t(Rt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:O,9:$,11:M,21:277},t(P,[2,34]),t(Z,[2,52]),{10:zt,60:Yt,84:Ht,105:qt,107:278,108:242,109:Xt,110:Wt,111:Qt,112:Jt},t(ee,[2,133]),{14:K,44:j,60:V,89:z,101:279,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},{14:K,44:j,60:V,89:z,101:280,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J,120:87},{98:[1,281]},t(Rt,[2,120]),t(tt,[2,58]),{30:282,67:Lt,80:Pt,81:Ot,82:171,116:$t,117:Mt,118:Ut},t(tt,[2,66]),t(wt,n,{5:283}),t(te,[2,131],{108:269,10:zt,60:Yt,84:Ht,105:qt,109:Xt,110:Wt,111:Qt,112:Jt}),t(Rt,[2,126],{120:167,10:[1,284],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,127],{120:167,10:[1,285],14:K,44:j,60:V,89:z,105:Y,106:H,109:q,111:X,114:W,115:Q,116:J}),t(Rt,[2,114]),{31:[1,286],67:Lt,82:218,116:$t,117:Mt,118:Ut},{6:11,7:12,8:a,9:o,10:c,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:l,32:[1,287],33:24,34:d,36:A,38:p,42:28,43:38,44:E,45:39,47:40,60:b,84:f,85:D,86:F,87:k,88:v,89:T,102:C,105:B,106:g,109:_,111:S,113:41,114:m,115:x,116:w,121:y,122:I,123:R,124:N},{10:zt,60:Yt,84:Ht,92:288,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},{10:zt,60:Yt,84:Ht,92:289,105:qt,107:241,108:242,109:Xt,110:Wt,111:Qt,112:Jt},t(tt,[2,62]),t(P,[2,33]),t(Rt,[2,124],{106:Zt}),t(Rt,[2,125],{106:Zt})],defaultActions:{},parseError:s(function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)},"parseError"),parse:s(function(t){var e=this,i=[0],u=[],r=[null],n=[],a=this.table,o="",c=0,h=0,l=n.slice.call(arguments,1),d=Object.create(this.lexer),A={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(A.yy[p]=this.yy[p]);d.setInput(t,A.yy),A.yy.lexer=d,A.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var E=d.yylloc;n.push(E);var b=d.options&&d.options.ranges;function f(){var t;return"number"!=typeof(t=u.pop()||d.lex()||1)&&(t instanceof Array&&(t=(u=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,s(function(t){i.length=i.length-2*t,r.length=r.length-t,n.length=n.length-t},"popStack"),s(f,"lex");for(var D,F,k,v,T,C,B,g,_={};;){if(F=i[i.length-1],this.defaultActions[F]?k=this.defaultActions[F]:(null==D&&(D=f()),k=a[F]&&a[F][D]),void 0===k||!k.length||!k[0]){var S="";for(T in g=[],a[F])this.terminals_[T]&&T>2&&g.push("'"+this.terminals_[T]+"'");S=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+g.join(", ")+", got '"+(this.terminals_[D]||D)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==D?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(S,{text:d.match,token:this.terminals_[D]||D,line:d.yylineno,loc:E,expected:g})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+D);switch(k[0]){case 1:i.push(D),r.push(d.yytext),n.push(d.yylloc),i.push(k[1]),D=null,h=d.yyleng,o=d.yytext,c=d.yylineno,E=d.yylloc;break;case 2:if(C=this.productions_[k[1]][1],_.$=r[r.length-C],_._$={first_line:n[n.length-(C||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(C||1)].first_column,last_column:n[n.length-1].last_column},b&&(_._$.range=[n[n.length-(C||1)].range[0],n[n.length-1].range[1]]),void 0!==(v=this.performAction.apply(_,[o,h,c,A.yy,k[1],r,n].concat(l))))return v;C&&(i=i.slice(0,-1*C*2),r=r.slice(0,-1*C),n=n.slice(0,-1*C)),i.push(this.productions_[k[1]][0]),r.push(_.$),n.push(_._$),B=a[i[i.length-2]][i[i.length-1]],i.push(B);break;case 3:return!0}}return!0},"parse")},ie=function(){return{EOF:1,parseError:s(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:s(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:s(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:s(function(t){this.unput(this.match.slice(t))},"less"),pastInput:s(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:s(function(t,e){var s,i,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in u)this[r]=u[r];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;var t,e,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),r=0;r<u.length;r++)if((s=this._input.match(this.rules[u[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,u[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,u[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var t=this.next();return t||this.lex()},"lex"),begin:s(function(t){this.conditionStack.push(t)},"begin"),popState:s(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:s(function(t){this.begin(t)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const s=/\n\s*/g;return e.yytext=e.yytext.replace(s,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:case 102:return 111;case 62:return 46;case 63:return 60;case 64:case 103:return 44;case 65:return 8;case 66:return 106;case 67:case 101:return 115;case 68:case 71:case 74:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:case 73:case 76:return 119;case 72:return this.pushState("thickEdgeText"),75;case 75:return this.pushState("dottedEdgeText"),75;case 77:return 77;case 78:return this.popState(),53;case 79:case 115:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}}}();function ue(){this.yy={}}return se.lexer=ie,s(ue,"Parser"),ue.prototype=se,se.Parser=ue,new ue}();x.parser=x;var w=x,y=Object.assign({},w);y.parse=t=>{const e=t.replace(/}\s*\n/g,"}\n");return w.parse(e)};var I=y,R=s((t,e)=>{const s=_,i=s(t,"r"),u=s(t,"g"),r=s(t,"b");return C(i,u,r,e)},"fade"),N=s(t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${t.lineColor} !important;\n stroke-width: 0;\n stroke: ${t.lineColor};\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${R(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n padding: 2px;\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n ${e()}\n`,"getStyles"),L={parser:I,get db(){return new S},renderer:m,styles:N,init:s(t=>{t.flowchart||(t.flowchart={}),t.layout&&i({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")};export{L as diagram};