cc-viewer 1.8.11 → 1.8.13
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.
- package/dist/assets/{App-vpm6omRY.js → App-R6odqLoE.js} +2 -2
- package/dist/assets/MdxEditorPanel-CTqsETwc.js +1 -0
- package/dist/assets/{Mobile-BHIBdqHs.js → Mobile-o_QrQ_eI.js} +1 -1
- package/dist/assets/{ProxyStatsModal-DdV7wN2V.js → ProxyStatsModal-CM2H8JYh.js} +1 -1
- package/dist/assets/{_baseUniq-C2FCldN4.js → _baseUniq-B3e4JaL0.js} +1 -1
- package/dist/assets/{arc-CSzd_bdT.js → arc-DnoPn_qY.js} +1 -1
- package/dist/assets/architectureDiagram-Q4EWVU46-DrPKTbxH.js +1 -0
- package/dist/assets/blockDiagram-DXYQGD6D-CEaO0Vcw.js +1 -0
- package/dist/assets/c4Diagram-AHTNJAMY-BLaawFeg.js +1 -0
- package/dist/assets/{channel-xMmQtLq9.js → channel-DnYR1fF4.js} +1 -1
- package/dist/assets/{chunk-4BX2VUAB-DnFoMzQG.js → chunk-4BX2VUAB-Bfd4edKZ.js} +1 -1
- package/dist/assets/{chunk-4TB4RGXK-Dc5reuwv.js → chunk-4TB4RGXK-t2nMQmY7.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-DTKTLKcJ.js → chunk-55IACEB6-C6tLOjGX.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-BNqgeN9r.js → chunk-EDXVE4YY-dWCvxbCb.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-DzJVZ11t.js → chunk-FMBD7UC4-BHELZLPK.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-CjYwzMor.js → chunk-OYMX7WX6-C8XTkH1S.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-C0KVKecr.js → chunk-QZHKN3VN-CD0j6SAs.js} +1 -1
- package/dist/assets/{chunk-YZCP3GAM-3VhNeNVm.js → chunk-YZCP3GAM-D4dKfXJJ.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-BecPAAuk.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-BecPAAuk.js +1 -0
- package/dist/assets/clone-B0_ghF3F.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-BF2HsiSD.js +1 -0
- package/dist/assets/dagre-KV5264BT-f3h967yx.js +1 -0
- package/dist/assets/diagram-5BDNPKRD-B9PzHQfh.js +1 -0
- package/dist/assets/diagram-G4DWMVQ6-kR953Bqm.js +1 -0
- package/dist/assets/diagram-MMDJMWI5-DAewa2eg.js +1 -0
- package/dist/assets/diagram-TYMM5635-C8HNTH6I.js +1 -0
- package/dist/assets/erDiagram-SMLLAGMA-BQ5P8wWK.js +1 -0
- package/dist/assets/flowDiagram-DWJPFMVM-BIpEkrMR.js +1 -0
- package/dist/assets/ganttDiagram-T4ZO3ILL-CWqSfB5v.js +1 -0
- package/dist/assets/gitGraphDiagram-UUTBAWPF-Ba-9yEbQ.js +1 -0
- package/dist/assets/{graph-CwiXMdRR.js → graph-D3zXKQ6P.js} +1 -1
- package/dist/assets/index--yjDHxJD.js +2 -0
- package/dist/assets/index-Bm3A5VLb.js +1 -0
- package/dist/assets/index-C9N0rZ7Z.js +1 -0
- package/dist/assets/index-DClD_EkN.js +1 -0
- package/dist/assets/index-DSd5P3WQ.js +1 -0
- package/dist/assets/index-G3xd-gLo.js +1 -0
- package/dist/assets/index-HLrnYsI1.js +1 -0
- package/dist/assets/index-Q8wp4Nof.js +1 -0
- package/dist/assets/infoDiagram-42DDH7IO-Cxm79ZJR.js +1 -0
- package/dist/assets/ishikawaDiagram-UXIWVN3A-Cd0vZP1B.js +1 -0
- package/dist/assets/journeyDiagram-VCZTEJTY-B2b57HXk.js +1 -0
- package/dist/assets/{jszip.min-Bq1JxqcN.js → jszip.min-Bj5uiEb2.js} +1 -1
- package/dist/assets/kanban-definition-6JOO6SKY-YCERiUCO.js +1 -0
- package/dist/assets/{layout-BQFiWq71.js → layout-Do5TlO2U.js} +1 -1
- package/dist/assets/{linear-BNV4po81.js → linear-BiJNTDgN.js} +1 -1
- package/dist/assets/{mermaid.core-DvwEdatr.js → mermaid.core-Dg0McRZt.js} +2 -2
- package/dist/assets/{min-DFik8k4L.js → min-T51iefht.js} +1 -1
- package/dist/assets/mindmap-definition-QFDTVHPH-Cu_GJxY3.js +1 -0
- package/dist/assets/pieDiagram-DEJITSTG-DldHHZXi.js +1 -0
- package/dist/assets/quadrantDiagram-34T5L4WZ-BzyTPNAJ.js +1 -0
- package/dist/assets/requirementDiagram-MS252O5E-C5xxFkvG.js +1 -0
- package/dist/assets/sankeyDiagram-XADWPNL6-OxdjoaE1.js +1 -0
- package/dist/assets/seqResourceLoaders-BgeRQt8C.js +2 -0
- package/dist/assets/{seqResourceLoaders-1EWxJwEP.css → seqResourceLoaders-Xx6a8E03.css} +2 -2
- package/dist/assets/sequenceDiagram-FGHM5R23-C7c89uIS.js +1 -0
- package/dist/assets/stateDiagram-FHFEXIEX-ssdJnDrO.js +1 -0
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-BP-0WClK.js +1 -0
- package/dist/assets/timeline-definition-GMOUNBTQ-sWScEpSM.js +1 -0
- package/dist/assets/{vendor-antd-BTBRwbax.js → vendor-antd-DKIytXho.js} +1 -1
- package/dist/assets/vendor-codemirror-4qgXq03k.js +1 -0
- package/dist/assets/vendor-mdxeditor-D5Z5D9fq.js +2 -0
- package/dist/assets/{vendor-qrcode-E9ld0lSz.js → vendor-qrcode-B7lb5qk1.js} +1 -1
- package/dist/assets/vendor-virtuoso-BqoXlbhH.js +1 -0
- package/dist/assets/vennDiagram-DHZGUBPP-DNfXR0ge.js +1 -0
- package/dist/assets/{wardley-RL74JXVD-BFcIn2-Q.js → wardley-RL74JXVD-JXd--CRD.js} +1 -1
- package/dist/assets/wardleyDiagram-NUSXRM2D-DHmNyVPM.js +1 -0
- package/dist/assets/xychartDiagram-5P7HB3ND-CTb0gltZ.js +1 -0
- package/dist/index.html +4 -5
- package/package.json +1 -1
- package/server/routes/files-content.js +2 -1
- package/server/routes/files-fs.js +3 -1
- package/dist/assets/MdxEditorPanel-CpknU7SR.js +0 -1
- package/dist/assets/architectureDiagram-Q4EWVU46-CjEbBe2R.js +0 -1
- package/dist/assets/blockDiagram-DXYQGD6D-BYzl2ukW.js +0 -1
- package/dist/assets/c4Diagram-AHTNJAMY-0x0_8O_X.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-DdUtH789.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-DdUtH789.js +0 -1
- package/dist/assets/clone-C6d2XDvR.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-DGE02sJS.js +0 -1
- package/dist/assets/dagre-KV5264BT-CY4eCcwS.js +0 -1
- package/dist/assets/diagram-5BDNPKRD-DHq2THYn.js +0 -1
- package/dist/assets/diagram-G4DWMVQ6-DD_76oJg.js +0 -1
- package/dist/assets/diagram-MMDJMWI5-BvQxk1jl.js +0 -1
- package/dist/assets/diagram-TYMM5635-B_tMXPJl.js +0 -1
- package/dist/assets/erDiagram-SMLLAGMA-DpuGbN9e.js +0 -1
- package/dist/assets/flowDiagram-DWJPFMVM-BW0xGFBf.js +0 -1
- package/dist/assets/ganttDiagram-T4ZO3ILL-BSzTiT93.js +0 -1
- package/dist/assets/gitGraphDiagram-UUTBAWPF-1tsgBlcn.js +0 -1
- package/dist/assets/index-9e6BGquk.js +0 -1
- package/dist/assets/index-BmpXfVQ8.js +0 -1
- package/dist/assets/index-CZWNaOo8.js +0 -1
- package/dist/assets/index-Cixs7aRD.js +0 -1
- package/dist/assets/index-Ct6Fi103.js +0 -1
- package/dist/assets/index-DIAMN9QO.js +0 -1
- package/dist/assets/index-DhjwHRxk.js +0 -1
- package/dist/assets/index-tnWldUm3.js +0 -2
- package/dist/assets/infoDiagram-42DDH7IO-Dk1ESZFk.js +0 -1
- package/dist/assets/ishikawaDiagram-UXIWVN3A-DcPyNwkI.js +0 -1
- package/dist/assets/journeyDiagram-VCZTEJTY-CZWieu1U.js +0 -1
- package/dist/assets/kanban-definition-6JOO6SKY-S1sSSTKx.js +0 -1
- package/dist/assets/mindmap-definition-QFDTVHPH-CebeX76u.js +0 -1
- package/dist/assets/pieDiagram-DEJITSTG-DMB5JbMP.js +0 -1
- package/dist/assets/quadrantDiagram-34T5L4WZ-BAYzoLVo.js +0 -1
- package/dist/assets/requirementDiagram-MS252O5E-CUQoAuOc.js +0 -1
- package/dist/assets/sankeyDiagram-XADWPNL6-Dt0AQuLW.js +0 -1
- package/dist/assets/seqResourceLoaders-C-QHRkUq.js +0 -2
- package/dist/assets/sequenceDiagram-FGHM5R23-HyZFUlMU.js +0 -1
- package/dist/assets/stateDiagram-FHFEXIEX-B8x24fuD.js +0 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-2qtHlnwO.js +0 -1
- package/dist/assets/timeline-definition-GMOUNBTQ-TnbjDVtB.js +0 -1
- package/dist/assets/vendor-codemirror-CPWlhuQ1.js +0 -1
- package/dist/assets/vendor-mdxeditor-Cy5Xg_90.js +0 -2
- package/dist/assets/vendor-virtuoso-Bq6QMhgG.js +0 -1
- package/dist/assets/vennDiagram-DHZGUBPP-BqgIjkBO.js +0 -1
- package/dist/assets/wardleyDiagram-NUSXRM2D-CYDWQLb6.js +0 -1
- package/dist/assets/xychartDiagram-5P7HB3ND-zfusE3BC.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _a;import{g as getIconStyles}from"./chunk-FMBD7UC4-DzJVZ11t.js";import{_ as __name,n as setConfig2,l as log,c as getConfig2,o as getRegisteredLayoutAlgorithm,r as render,u as utils_default,b as setAccTitle,s as setAccDescription,p as setDiagramTitle,a as getAccTitle,g as getAccDescription,q as getDiagramTitle,k as common_default,t as load,J as JSON_SCHEMA,v as isValidShape,x as getEdgeId,d as select,y as clear,z as defaultConfig2,A as rgba}from"./mermaid.core-DvwEdatr.js";import{c as createTooltip}from"./chunk-YZCP3GAM-3VhNeNVm.js";import{g as getDiagramElement}from"./chunk-55IACEB6-DTKTLKcJ.js";import{s as setupViewPortForSVG}from"./chunk-EDXVE4YY-BNqgeN9r.js";import{p as purify}from"./vendor-markdown-DOJHsAxX.js";import{c as channel}from"./channel-xMmQtLq9.js";import"./vendor-mdxeditor-Cy5Xg_90.js";import"./vendor-antd-BTBRwbax.js";import"./vendor-virtuoso-Bq6QMhgG.js";import"./vendor-codemirror-CPWlhuQ1.js";var FlowDB=(__name(_a=class{constructor(){this.vertexCounter=0,this.config=getConfig2(),this.diagramId="",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=setAccTitle,this.setAccDescription=setAccDescription,this.setDiagramTitle=setDiagramTitle,this.getAccTitle=getAccTitle,this.getAccDescription=getAccDescription,this.getDiagramTitle=getDiagramTitle,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(txt){return common_default.sanitizeText(txt,this.config)}sanitizeNodeLabelType(labelType){switch(labelType){case"markdown":case"string":case"text":return labelType;default:return"markdown"}}setDiagramId(svgElementId){this.diagramId=svgElementId}lookUpDomId(id){for(const vertex of this.vertices.values())if(vertex.id===id)return this.diagramId?`${this.diagramId}-${vertex.domId}`:vertex.domId;return this.diagramId?`${this.diagramId}-${id}`:id}addVertex(id,textObj,type,style,classes,dir,props={},metadata){var _a2,_b;if(!id||0===id.trim().length)return;let doc;if(void 0!==metadata){let yamlData;yamlData=metadata.includes("\n")?metadata+"\n":"{\n"+metadata+"\n}",doc=load(yamlData,{schema:JSON_SCHEMA})}const edge=this.edges.find(e=>e.id===id);if(edge){const edgeDoc=doc;return void 0!==(null==edgeDoc?void 0:edgeDoc.animate)&&(edge.animate=edgeDoc.animate),void 0!==(null==edgeDoc?void 0:edgeDoc.animation)&&(edge.animation=edgeDoc.animation),void(void 0!==(null==edgeDoc?void 0:edgeDoc.curve)&&(edge.interpolate=edgeDoc.curve))}let txt,vertex=this.vertices.get(id);if(void 0===vertex&&(void 0===textObj&&void 0===type&&null!=style&&log.warn(`Style applied to unknown node "${id}". This may indicate a typo. The node will be created automatically.`),vertex={id:id,labelType:"text",domId:"flowchart-"+id+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(id,vertex)),this.vertexCounter++,void 0!==textObj?(this.config=getConfig2(),txt=this.sanitizeText(textObj.text.trim()),vertex.labelType=textObj.type,txt.startsWith('"')&&txt.endsWith('"')&&(txt=txt.substring(1,txt.length-1)),vertex.text=txt):void 0===vertex.text&&(vertex.text=id),void 0!==type&&(vertex.type=type),null!=style&&style.forEach(s=>{vertex.styles.push(s)}),null!=classes&&classes.forEach(s=>{vertex.classes.push(s)}),void 0!==dir&&(vertex.dir=dir),void 0===vertex.props?vertex.props=props:void 0!==props&&Object.assign(vertex.props,props),void 0!==doc){if(doc.shape){if(doc.shape!==doc.shape.toLowerCase()||doc.shape.includes("_"))throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);if(!isValidShape(doc.shape))throw new Error(`No such shape: ${doc.shape}.`);vertex.type=null==doc?void 0:doc.shape}(null==doc?void 0:doc.label)&&(vertex.text=null==doc?void 0:doc.label,vertex.labelType=this.sanitizeNodeLabelType(null==doc?void 0:doc.labelType)),(null==doc?void 0:doc.icon)&&(vertex.icon=null==doc?void 0:doc.icon,(null==(_a2=doc.label)?void 0:_a2.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.form)&&(vertex.form=null==doc?void 0:doc.form),(null==doc?void 0:doc.pos)&&(vertex.pos=null==doc?void 0:doc.pos),(null==doc?void 0:doc.img)&&(vertex.img=null==doc?void 0:doc.img,(null==(_b=doc.label)?void 0:_b.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.constraint)&&(vertex.constraint=doc.constraint),doc.w&&(vertex.assetWidth=Number(doc.w)),doc.h&&(vertex.assetHeight=Number(doc.h))}}addSingleLink(_start,_end,type,id){const edge={start:_start,end:_end,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};log.info("abc78 Got edge...",edge);const linkTextObj=type.text;if(void 0!==linkTextObj&&(edge.text=this.sanitizeText(linkTextObj.text.trim()),edge.text.startsWith('"')&&edge.text.endsWith('"')&&(edge.text=edge.text.substring(1,edge.text.length-1)),edge.labelType=this.sanitizeNodeLabelType(linkTextObj.type)),void 0!==type&&(edge.type=type.type,edge.stroke=type.stroke,edge.length=type.length>10?10:type.length),id&&!this.edges.some(e=>e.id===id))edge.id=id,edge.isUserDefinedId=!0;else{const existingLinks=this.edges.filter(e=>e.start===edge.start&&e.end===edge.end);0===existingLinks.length?edge.id=getEdgeId(edge.start,edge.end,{counter:0,prefix:"L"}):edge.id=getEdgeId(edge.start,edge.end,{counter:existingLinks.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.`);log.info("Pushing edge..."),this.edges.push(edge)}isLinkData(value){return null!==value&&"object"==typeof value&&"id"in value&&"string"==typeof value.id}addLink(_start,_end,linkData){const id=this.isLinkData(linkData)?linkData.id.replace("@",""):void 0;log.info("addLink",_start,_end,id);for(const start of _start)for(const end of _end){const isLastStart=start===_start[_start.length-1],isFirstEnd=end===_end[0];isLastStart&&isFirstEnd?this.addSingleLink(start,end,linkData,id):this.addSingleLink(start,end,linkData,void 0)}}updateLinkInterpolate(positions,interpolate){positions.forEach(pos=>{"default"===pos?this.edges.defaultInterpolate=interpolate:this.edges[pos].interpolate=interpolate})}updateLink(positions,style){positions.forEach(pos=>{var _a2,_b,_c,_d,_e,_f;if("number"==typeof pos&&pos>=this.edges.length)throw new Error(`The index ${pos} 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"===pos?this.edges.defaultStyle=style:(this.edges[pos].style=style,((null==(_b=null==(_a2=this.edges[pos])?void 0:_a2.style)?void 0:_b.length)??0)>0&&!(null==(_d=null==(_c=this.edges[pos])?void 0:_c.style)?void 0:_d.some(s=>null==s?void 0:s.startsWith("fill")))&&(null==(_f=null==(_e=this.edges[pos])?void 0:_e.style)||_f.push("fill:none")))})}addClass(ids,_style){const style=_style.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");ids.split(",").forEach(id=>{let classNode=this.classes.get(id);void 0===classNode&&(classNode={id:id,styles:[],textStyles:[]},this.classes.set(id,classNode)),null!=style&&style.forEach(s=>{if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");classNode.textStyles.push(newStyle)}classNode.styles.push(s)})})}setDirection(dir){this.direction=dir.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(ids,className){for(const id of ids.split(",")){const vertex=this.vertices.get(id);vertex&&vertex.classes.push(className);const edge=this.edges.find(e=>e.id===id);edge&&edge.classes.push(className);const subGraph=this.subGraphLookup.get(id);subGraph&&subGraph.classes.push(className)}}setTooltip(ids,tooltip){if(void 0!==tooltip){tooltip=this.sanitizeText(tooltip);for(const id of ids.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(id):id,tooltip)}}setClickFun(id,functionName,functionArgs){if("loose"!==getConfig2().securityLevel)return;if(void 0===functionName)return;let argList=[];if("string"==typeof functionArgs){argList=functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let i=0;i<argList.length;i++){let item=argList[i].trim();item.startsWith('"')&&item.endsWith('"')&&(item=item.substr(1,item.length-2)),argList[i]=item}}0===argList.length&&argList.push(id);const vertex=this.vertices.get(id);vertex&&(vertex.haveCallback=!0,this.funs.push(()=>{const domId=this.lookUpDomId(id),elem=document.querySelector(`[id="${domId}"]`);null!==elem&&elem.addEventListener("click",()=>{utils_default.runFunc(functionName,...argList)},!1)}))}setLink(ids,linkStr,target){ids.split(",").forEach(id=>{const vertex=this.vertices.get(id);void 0!==vertex&&(vertex.link=utils_default.formatUrl(linkStr,this.config),vertex.linkTarget=target)}),this.setClass(ids,"clickable")}getTooltip(id){return this.tooltips.get(id)}setClickEvent(ids,functionName,functionArgs){ids.split(",").forEach(id=>{this.setClickFun(id,functionName,functionArgs)}),this.setClass(ids,"clickable")}bindFunctions(element){this.funs.forEach(fun=>{fun(element)})}getDirection(){var _a2;return null==(_a2=this.direction)?void 0:_a2.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(element){const tooltipElem=createTooltip();select(element).select("svg").selectAll("g.node").on("mouseover",e=>{var _a2;const el=select(e.currentTarget),title=el.attr("title");if(null===title)return;const rect=null==(_a2=e.currentTarget)?void 0:_a2.getBoundingClientRect();tooltipElem.transition().duration(200).style("opacity",".9"),tooltipElem.text(el.attr("title")).style("left",window.scrollX+rect.left+(rect.right-rect.left)/2+"px").style("top",window.scrollY+rect.bottom+"px"),tooltipElem.html(purify.sanitize(title)),el.classed("hover",!0)}).on("mouseout",e=>{tooltipElem.transition().duration(500).style("opacity",0);select(e.currentTarget).classed("hover",!1)})}clear(ver="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=ver,this.config=getConfig2(),clear()}setGen(ver){this.version=ver||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(_id,list,_title){let id=_id.text.trim(),title=_title.text;_id===_title&&/\s/.exec(_title.text)&&(id=void 0);const result=__name(a=>{const prims={boolean:{},number:{},string:{}},objs=[];let dir2;return{nodeList:a.filter(function(item){const type=typeof item;return item.stmt&&"dir"===item.stmt?(dir2=item.value,!1):""!==item.trim()&&(type in prims?!prims[type].hasOwnProperty(item)&&(prims[type][item]=!0):!objs.includes(item)&&objs.push(item))}),dir:dir2}},"uniq")(list.flat()),nodeList=result.nodeList;let dir=result.dir;const flowchartConfig=getConfig2().flowchart??{};if(dir=dir??(flowchartConfig.inheritDir?this.getDirection()??getConfig2().direction??void 0:void 0),"gen-1"===this.version)for(let i=0;i<nodeList.length;i++)nodeList[i]=this.lookUpDomId(nodeList[i]);id=id??"subGraph"+this.subCount,title=title||"",title=this.sanitizeText(title),this.subCount=this.subCount+1;const subGraph={id:id,nodes:nodeList,title:title.trim(),classes:[],dir:dir,labelType:this.sanitizeNodeLabelType(null==_title?void 0:_title.type)};return log.info("Adding",subGraph.id,subGraph.nodes,subGraph.dir),subGraph.nodes=this.makeUniq(subGraph,this.subGraphs).nodes,this.subGraphs.push(subGraph),this.subGraphLookup.set(id,subGraph),id}getPosForId(id){for(const[i,subGraph]of this.subGraphs.entries())if(subGraph.id===id)return i;return-1}indexNodes2(id,pos){const nodes=this.subGraphs[pos].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=pos,this.subGraphs[pos].id===id)return{result:!0,count:0};let count=0,posCount=1;for(;count<nodes.length;){const childPos=this.getPosForId(nodes[count]);if(childPos>=0){const res=this.indexNodes2(id,childPos);if(res.result)return{result:!0,count:posCount+res.count};posCount+=res.count}count+=1}return{result:!1,count:posCount}}getDepthFirstPos(pos){return this.posCrossRef[pos]}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(_str){let str=_str.trim(),type="arrow_open";switch(str[0]){case"<":type="arrow_point",str=str.slice(1);break;case"x":type="arrow_cross",str=str.slice(1);break;case"o":type="arrow_circle",str=str.slice(1)}let stroke="normal";return str.includes("=")&&(stroke="thick"),str.includes(".")&&(stroke="dotted"),{type:type,stroke:stroke}}countChar(char,str){const length=str.length;let count=0;for(let i=0;i<length;++i)str[i]===char&&++count;return count}destructEndLink(_str){const str=_str.trim();let line=str.slice(0,-1),type="arrow_open";switch(str.slice(-1)){case"x":type="arrow_cross",str.startsWith("x")&&(type="double_"+type,line=line.slice(1));break;case">":type="arrow_point",str.startsWith("<")&&(type="double_"+type,line=line.slice(1));break;case"o":type="arrow_circle",str.startsWith("o")&&(type="double_"+type,line=line.slice(1))}let stroke="normal",length=line.length-1;line.startsWith("=")&&(stroke="thick"),line.startsWith("~")&&(stroke="invisible");const dots=this.countChar(".",line);return dots&&(stroke="dotted",length=dots),{type:type,stroke:stroke,length:length}}destructLink(_str,_startStr){const info=this.destructEndLink(_str);let startInfo;if(_startStr){if(startInfo=this.destructStartLink(_startStr),startInfo.stroke!==info.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===startInfo.type)startInfo.type=info.type;else{if(startInfo.type!==info.type)return{type:"INVALID",stroke:"INVALID"};startInfo.type="double_"+startInfo.type}return"double_arrow"===startInfo.type&&(startInfo.type="double_arrow_point"),startInfo.length=info.length,startInfo}return info}exists(allSgs,_id){for(const sg of allSgs)if(sg.nodes.includes(_id))return!0;return!1}makeUniq(sg,allSubgraphs){const res=[];return sg.nodes.forEach((_id,pos)=>{this.exists(allSubgraphs,_id)||res.push(sg.nodes[pos])}),{nodes:res}}getTypeFromVertex(vertex){if(vertex.img)return"imageSquare";if(vertex.icon)return"circle"===vertex.form?"iconCircle":"square"===vertex.form?"iconSquare":"rounded"===vertex.form?"iconRounded":"icon";switch(vertex.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return vertex.type}}findNode(nodes,id){return nodes.find(node=>node.id===id)}destructEdgeType(type){let arrowTypeStart="none",arrowTypeEnd="arrow_point";switch(type){case"arrow_point":case"arrow_circle":case"arrow_cross":arrowTypeEnd=type;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":arrowTypeStart=type.replace("double_",""),arrowTypeEnd=arrowTypeStart}return{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}}addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,look){var _a2;const parentId=parentDB.get(vertex.id),isGroup=subGraphDB.get(vertex.id)??!1,node=this.findNode(nodes,vertex.id);if(node)node.cssStyles=vertex.styles,node.cssCompiledStyles=this.getCompiledStyles(vertex.classes),node.cssClasses=vertex.classes.join(" ");else{const baseNode={id:vertex.id,label:vertex.text,labelType:vertex.labelType,labelStyle:"",parentId:parentId,padding:(null==(_a2=config.flowchart)?void 0:_a2.padding)||8,cssStyles:vertex.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...vertex.classes]),cssClasses:"default "+vertex.classes.join(" "),dir:vertex.dir,domId:vertex.domId,look:look,link:vertex.link,linkTarget:vertex.linkTarget,tooltip:this.getTooltip(vertex.id),icon:vertex.icon,pos:vertex.pos,img:vertex.img,assetWidth:vertex.assetWidth,assetHeight:vertex.assetHeight,constraint:vertex.constraint};isGroup?nodes.push({...baseNode,isGroup:!0,shape:"rect"}):nodes.push({...baseNode,isGroup:!1,shape:this.getTypeFromVertex(vertex)})}}getCompiledStyles(classDefs){let compiledStyles=[];for(const customClass of classDefs){const cssClass=this.classes.get(customClass);(null==cssClass?void 0:cssClass.styles)&&(compiledStyles=[...compiledStyles,...cssClass.styles??[]].map(s=>s.trim())),(null==cssClass?void 0:cssClass.textStyles)&&(compiledStyles=[...compiledStyles,...cssClass.textStyles??[]].map(s=>s.trim()))}return compiledStyles}getData(){const config=getConfig2(),nodes=[],edges=[],subGraphs=this.getSubGraphs(),parentDB=new Map,subGraphDB=new Map;for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];subGraph.nodes.length>0&&subGraphDB.set(subGraph.id,!0);for(const id of subGraph.nodes)parentDB.set(id,subGraph.id)}for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];nodes.push({id:subGraph.id,label:subGraph.title,labelStyle:"",labelType:subGraph.labelType,parentId:parentDB.get(subGraph.id),padding:8,cssCompiledStyles:this.getCompiledStyles(subGraph.classes),cssClasses:subGraph.classes.join(" "),shape:"rect",dir:subGraph.dir,isGroup:!0,look:config.look})}this.getVertices().forEach(vertex=>{this.addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,config.look||"classic")});const e=this.getEdges();return e.forEach((rawEdge,index)=>{var _a2;const{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}=this.destructEdgeType(rawEdge.type),styles=[...e.defaultStyle??[]];rawEdge.style&&styles.push(...rawEdge.style);const edge={id:getEdgeId(rawEdge.start,rawEdge.end,{counter:index,prefix:"L"},rawEdge.id),isUserDefinedId:rawEdge.isUserDefinedId,start:rawEdge.start,end:rawEdge.end,type:rawEdge.type??"normal",label:rawEdge.text,labelType:rawEdge.labelType,labelpos:"c",thickness:rawEdge.stroke,minlen:rawEdge.length,classes:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeStart,arrowTypeEnd:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeEnd,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(rawEdge.classes),labelStyle:styles,style:styles,pattern:rawEdge.stroke,look:config.look,animate:rawEdge.animate,animation:rawEdge.animation,curve:rawEdge.interpolate||this.edges.defaultInterpolate||(null==(_a2=config.flowchart)?void 0:_a2.curve)};edges.push(edge)}),{nodes:nodes,edges:edges,other:{},config:config}}defaultConfig(){return defaultConfig2.flowchart}},"FlowDB"),_a),flowRenderer_v3_unified_default={getClasses:__name(function(text,diagramObj){return diagramObj.db.getClasses()},"getClasses"),draw:__name(async function(text,id,_version,diag){var _a2;log.info("REF0:"),log.info("Drawing state diagram (v2)",id);const{securityLevel:securityLevel,flowchart:conf,layout:layout}=getConfig2();diag.db.setDiagramId(id),log.debug("Before getData: ");const data4Layout=diag.db.getData();log.debug("Data: ",data4Layout);const svg=getDiagramElement(id,securityLevel),direction=diag.db.getDirection();data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),"dagre"===data4Layout.layoutAlgorithm&&"elk"===layout&&log.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."),data4Layout.direction=direction,data4Layout.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)||50,data4Layout.rankSpacing=(null==conf?void 0:conf.rankSpacing)||50,data4Layout.markers=["point","circle","cross"],data4Layout.diagramId=id,log.debug("REF1:",data4Layout),await render(data4Layout,svg);const padding=(null==(_a2=data4Layout.config.flowchart)?void 0:_a2.diagramPadding)??8;utils_default.insertTitle(svg,"flowchartTitleText",(null==conf?void 0:conf.titleTopMargin)||0,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,padding,"flowchart",(null==conf?void 0:conf.useMaxWidth)||!1)},"draw")},parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,3],$V2=[1,5],$V3=[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,125],$V4=[2,2],$V5=[1,13],$V6=[1,14],$V7=[1,15],$V8=[1,16],$V9=[1,23],$Va=[1,25],$Vb=[1,26],$Vc=[1,27],$Vd=[1,50],$Ve=[1,49],$Vf=[1,29],$Vg=[1,30],$Vh=[1,31],$Vi=[1,32],$Vj=[1,33],$Vk=[1,45],$Vl=[1,47],$Vm=[1,43],$Vn=[1,48],$Vo=[1,44],$Vp=[1,51],$Vq=[1,46],$Vr=[1,52],$Vs=[1,53],$Vt=[1,34],$Vu=[1,35],$Vv=[1,36],$Vw=[1,37],$Vx=[1,38],$Vy=[1,58],$Vz=[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,125],$VA=[1,62],$VB=[1,61],$VC=[1,63],$VD=[8,9,11,75,77,78],$VE=[1,79],$VF=[1,92],$VG=[1,97],$VH=[1,96],$VI=[1,93],$VJ=[1,89],$VK=[1,95],$VL=[1,91],$VM=[1,98],$VN=[1,94],$VO=[1,99],$VP=[1,90],$VQ=[8,9,10,11,40,75,77,78],$VR=[8,9,10,11,40,46,75,77,78],$VS=[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],$VT=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],$VU=[44,60,89,102,105,106,109,111,114,115,116],$VV=[1,122],$VW=[1,123],$VX=[1,125],$VY=[1,124],$VZ=[44,60,62,74,89,102,105,106,109,111,114,115,116],$V_=[1,134],$V$=[1,148],$V01=[1,149],$V11=[1,150],$V21=[1,151],$V31=[1,136],$V41=[1,138],$V51=[1,142],$V61=[1,143],$V71=[1,144],$V81=[1,145],$V91=[1,146],$Va1=[1,147],$Vb1=[1,152],$Vc1=[1,153],$Vd1=[1,132],$Ve1=[1,133],$Vf1=[1,140],$Vg1=[1,135],$Vh1=[1,139],$Vi1=[1,137],$Vj1=[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,125],$Vk1=[1,155],$Vl1=[1,157],$Vm1=[8,9,11],$Vn1=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],$Vo1=[1,177],$Vp1=[1,173],$Vq1=[1,174],$Vr1=[1,178],$Vs1=[1,175],$Vt1=[1,176],$Vu1=[77,116,119],$Vv1=[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],$Vw1=[10,106],$Vx1=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],$Vy1=[1,248],$Vz1=[1,246],$VA1=[1,250],$VB1=[1,244],$VC1=[1,245],$VD1=[1,247],$VE1=[1,249],$VF1=[1,251],$VG1=[1,269],$VH1=[8,9,11,106],$VI1=[8,9,10,11,60,84,105,106,109,110,111,112],parser2={trace:__name(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,direction_td:125,$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",125:"direction_td"},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],[33,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray($$[$0])||$$[$0].length>0)&&$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=$$[$0];break;case 11:yy.setDirection("TB"),this.$="TB";break;case 12:yy.setDirection($$[$0-1]),this.$=$$[$0-1];break;case 27:this.$=$$[$0-1].nodes;break;case 33:this.$=yy.addSubGraph($$[$0-6],$$[$0-1],$$[$0-4]);break;case 34:this.$=yy.addSubGraph($$[$0-3],$$[$0-1],$$[$0-3]);break;case 35:this.$=yy.addSubGraph(void 0,$$[$0-1],void 0);break;case 37:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 38:case 39:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 43:case 133:this.$=$$[$0-1]+$$[$0];break;case 45:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 46:yy.addLink($$[$0-2].stmt,$$[$0],$$[$0-1]),this.$={stmt:$$[$0],nodes:$$[$0].concat($$[$0-2].nodes)};break;case 47:yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 48:this.$={stmt:$$[$0-1],nodes:$$[$0-1]};break;case 49:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),this.$={stmt:$$[$0-1],nodes:$$[$0-1],shapeData:$$[$0]};break;case 50:this.$={stmt:$$[$0],nodes:$$[$0]};break;case 51:case 128:case 130:this.$=[$$[$0]];break;case 52:yy.addVertex($$[$0-5][$$[$0-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0-4]),this.$=$$[$0-5].concat($$[$0]);break;case 53:this.$=$$[$0-4].concat($$[$0]);break;case 55:this.$=$$[$0-2],yy.setClass($$[$0-2],$$[$0]);break;case 56:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"square");break;case 57:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"doublecircle");break;case 58:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"circle");break;case 59:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"ellipse");break;case 60:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"stadium");break;case 61:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"subroutine");break;case 62:this.$=$$[$0-7],yy.addVertex($$[$0-7],$$[$0-1],"rect",void 0,void 0,void 0,Object.fromEntries([[$$[$0-5],$$[$0-3]]]));break;case 63:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"cylinder");break;case 64:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"round");break;case 65:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"diamond");break;case 66:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"hexagon");break;case 67:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"odd");break;case 68:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"trapezoid");break;case 69:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"inv_trapezoid");break;case 70:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_right");break;case 71:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_left");break;case 72:this.$=$$[$0],yy.addVertex($$[$0]);break;case 73:$$[$0-1].text=$$[$0],this.$=$$[$0-1];break;case 74:case 75:$$[$0-2].text=$$[$0-1],this.$=$$[$0-2];break;case 77:var inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1]};break;case 78:inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1],id:$$[$0-3]};break;case 79:case 86:case 101:case 103:this.$={text:$$[$0],type:"text"};break;case 80:case 87:case 102:this.$={text:$$[$0-1].text+""+$$[$0],type:$$[$0-1].type};break;case 81:case 88:this.$={text:$$[$0],type:"string"};break;case 82:case 89:case 104:this.$={text:$$[$0],type:"markdown"};break;case 83:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length};break;case 84:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,id:$$[$0-1]};break;case 85:this.$=$$[$0-1];break;case 105:this.$=$$[$0-4],yy.addClass($$[$0-2],$$[$0]);break;case 106:this.$=$$[$0-4],yy.setClass($$[$0-2],$$[$0]);break;case 107:case 115:this.$=$$[$0-1],yy.setClickEvent($$[$0-1],$$[$0]);break;case 108:case 116:this.$=$$[$0-3],yy.setClickEvent($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 109:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0-1],$$[$0]);break;case 110:this.$=$$[$0-4],yy.setClickEvent($$[$0-4],$$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 111:this.$=$$[$0-2],yy.setLink($$[$0-2],$$[$0]);break;case 112:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 113:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2],$$[$0]);break;case 114:this.$=$$[$0-6],yy.setLink($$[$0-6],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-6],$$[$0-2]);break;case 117:this.$=$$[$0-1],yy.setLink($$[$0-1],$$[$0]);break;case 118:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 119:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2],$$[$0]);break;case 120:this.$=$$[$0-5],yy.setLink($$[$0-5],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-5],$$[$0-2]);break;case 121:this.$=$$[$0-4],yy.addVertex($$[$0-2],void 0,void 0,$$[$0]);break;case 122:this.$=$$[$0-4],yy.updateLink([$$[$0-2]],$$[$0]);break;case 123:this.$=$$[$0-4],yy.updateLink($$[$0-2],$$[$0]);break;case 124:this.$=$$[$0-8],yy.updateLinkInterpolate([$$[$0-6]],$$[$0-2]),yy.updateLink([$$[$0-6]],$$[$0]);break;case 125:this.$=$$[$0-8],yy.updateLinkInterpolate($$[$0-6],$$[$0-2]),yy.updateLink($$[$0-6],$$[$0]);break;case 126:this.$=$$[$0-6],yy.updateLinkInterpolate([$$[$0-4]],$$[$0]);break;case 127:this.$=$$[$0-6],yy.updateLinkInterpolate($$[$0-4],$$[$0]);break;case 129:case 131:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 182:case 184:this.$=$$[$0-1]+""+$$[$0];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"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:$V0,10:$V1,12:$V2},{1:[3]},o($V3,$V4,{5:6}),{4:7,9:$V0,10:$V1,12:$V2},{4:8,9:$V0,10:$V1,12:$V2},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($V3,[2,9]),o($V3,[2,10]),o($V3,[2,11]),{8:[1,55],9:[1,56],10:$Vy,15:54,18:57},o($Vz,[2,3]),o($Vz,[2,4]),o($Vz,[2,5]),o($Vz,[2,6]),o($Vz,[2,7]),o($Vz,[2,8]),{8:$VA,9:$VB,11:$VC,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$VA,9:$VB,11:$VC,21:68},{8:$VA,9:$VB,11:$VC,21:69},{8:$VA,9:$VB,11:$VC,21:70},{8:$VA,9:$VB,11:$VC,21:71},{8:$VA,9:$VB,11:$VC,21:72},{8:$VA,9:$VB,10:[1,73],11:$VC,21:74},o($Vz,[2,36]),{35:[1,75]},{37:[1,76]},o($Vz,[2,39]),o($VD,[2,50],{18:77,39:78,10:$Vy,40:$VE}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:$VF,44:$VG,60:$VH,80:[1,87],89:$VI,95:[1,84],97:[1,85],101:86,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},o($Vz,[2,185]),o($Vz,[2,186]),o($Vz,[2,187]),o($Vz,[2,188]),o($Vz,[2,189]),o($VQ,[2,51]),o($VQ,[2,54],{46:[1,100]}),o($VR,[2,72],{113:113,29:[1,101],44:$Vd,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:$Ve,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($VS,[2,181]),o($VS,[2,142]),o($VS,[2,143]),o($VS,[2,144]),o($VS,[2,145]),o($VS,[2,146]),o($VS,[2,147]),o($VS,[2,148]),o($VS,[2,149]),o($VS,[2,150]),o($VS,[2,151]),o($VS,[2,152]),o($V3,[2,12]),o($V3,[2,18]),o($V3,[2,19]),{9:[1,114]},o($VT,[2,26],{18:115,10:$Vy}),o($Vz,[2,27]),{42:116,43:39,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vz,[2,40]),o($Vz,[2,41]),o($Vz,[2,42]),o($VU,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:$VV,81:$VW,116:$VX,119:$VY},{75:[1,126],77:[1,127]},o($VZ,[2,83]),o($Vz,[2,28]),o($Vz,[2,29]),o($Vz,[2,30]),o($Vz,[2,31]),o($Vz,[2,32]),{10:$V_,12:$V$,14:$V01,27:$V11,28:128,32:$V21,44:$V31,60:$V41,75:$V51,80:[1,130],81:[1,131],83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:129,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vj1,$V4,{5:154}),o($Vz,[2,37]),o($Vz,[2,38]),o($VD,[2,48],{44:$Vk1}),o($VD,[2,49],{18:156,10:$Vy,40:$Vl1}),o($VQ,[2,44]),{44:$Vd,47:158,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{102:[1,159],103:160,105:[1,161]},{44:$Vd,47:162,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{44:$Vd,47:163,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},o($Vm1,[2,115],{120:168,10:[1,167],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,117],{10:[1,169]}),o($Vn1,[2,183]),o($Vn1,[2,170]),o($Vn1,[2,171]),o($Vn1,[2,172]),o($Vn1,[2,173]),o($Vn1,[2,174]),o($Vn1,[2,175]),o($Vn1,[2,176]),o($Vn1,[2,177]),o($Vn1,[2,178]),o($Vn1,[2,179]),o($Vn1,[2,180]),{44:$Vd,47:170,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{30:171,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:179,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:181,50:[1,180],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:182,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:183,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:184,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{109:[1,185]},{30:186,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:187,65:[1,188],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:189,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:190,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:191,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VS,[2,182]),o($V3,[2,20]),o($VT,[2,25]),o($VD,[2,46],{39:192,18:193,10:$Vy,40:$VE}),o($VU,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{77:[1,197],79:198,116:$VX,119:$VY},o($Vu1,[2,79]),o($Vu1,[2,81]),o($Vu1,[2,82]),o($Vu1,[2,168]),o($Vu1,[2,169]),{76:199,79:121,80:$VV,81:$VW,116:$VX,119:$VY},o($VZ,[2,84]),{8:$VA,9:$VB,10:$V_,11:$VC,12:$V$,14:$V01,21:201,27:$V11,29:[1,200],32:$V21,44:$V31,60:$V41,75:$V51,83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:202,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vv1,[2,101]),o($Vv1,[2,103]),o($Vv1,[2,104]),o($Vv1,[2,157]),o($Vv1,[2,158]),o($Vv1,[2,159]),o($Vv1,[2,160]),o($Vv1,[2,161]),o($Vv1,[2,162]),o($Vv1,[2,163]),o($Vv1,[2,164]),o($Vv1,[2,165]),o($Vv1,[2,166]),o($Vv1,[2,167]),o($Vv1,[2,90]),o($Vv1,[2,91]),o($Vv1,[2,92]),o($Vv1,[2,93]),o($Vv1,[2,94]),o($Vv1,[2,95]),o($Vv1,[2,96]),o($Vv1,[2,97]),o($Vv1,[2,98]),o($Vv1,[2,99]),o($Vv1,[2,100]),{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,203],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy,18:204},{44:[1,205]},o($VQ,[2,43]),{10:[1,206],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,207]},{10:[1,208],106:[1,209]},o($Vw1,[2,128]),{10:[1,210],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,211],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{80:[1,212]},o($Vm1,[2,109],{10:[1,213]}),o($Vm1,[2,111],{10:[1,214]}),{80:[1,215]},o($Vn1,[2,184]),{80:[1,216],98:[1,217]},o($VQ,[2,55],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),{31:[1,218],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($Vx1,[2,86]),o($Vx1,[2,88]),o($Vx1,[2,89]),o($Vx1,[2,153]),o($Vx1,[2,154]),o($Vx1,[2,155]),o($Vx1,[2,156]),{49:[1,220],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:221,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{51:[1,222],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{53:[1,223],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{55:[1,224],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{57:[1,225],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{60:[1,226]},{64:[1,227],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{66:[1,228],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:229,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{31:[1,230],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,231],71:[1,232],82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,234],71:[1,233],82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VD,[2,45],{18:156,10:$Vy,40:$Vl1}),o($VD,[2,47],{44:$Vk1}),o($VU,[2,75]),o($VU,[2,74]),{62:[1,235],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VU,[2,77]),o($Vu1,[2,80]),{77:[1,236],79:198,116:$VX,119:$VY},{30:237,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($Vj1,$V4,{5:238}),o($Vv1,[2,102]),o($Vz,[2,35]),{43:239,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{10:$Vy,18:240},{10:$Vy1,60:$Vz1,84:$VA1,92:241,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:252,104:[1,253],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:254,104:[1,255],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{105:[1,256]},{10:$Vy1,60:$Vz1,84:$VA1,92:257,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{44:$Vd,47:258,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},o($Vm1,[2,116]),o($Vm1,[2,118],{10:[1,262]}),o($Vm1,[2,119]),o($VR,[2,56]),o($Vx1,[2,87]),o($VR,[2,57]),{51:[1,263],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,64]),o($VR,[2,59]),o($VR,[2,60]),o($VR,[2,61]),{109:[1,264]},o($VR,[2,63]),o($VR,[2,65]),{66:[1,265],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,67]),o($VR,[2,68]),o($VR,[2,70]),o($VR,[2,69]),o($VR,[2,71]),o([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),o($VU,[2,78]),{31:[1,266],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,267],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($VQ,[2,53]),{43:268,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,121],{106:$VG1}),o($VH1,[2,130],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($VI1,[2,132]),o($VI1,[2,134]),o($VI1,[2,135]),o($VI1,[2,136]),o($VI1,[2,137]),o($VI1,[2,138]),o($VI1,[2,139]),o($VI1,[2,140]),o($VI1,[2,141]),o($Vm1,[2,122],{106:$VG1}),{10:[1,271]},o($Vm1,[2,123],{106:$VG1}),{10:[1,272]},o($Vw1,[2,129]),o($Vm1,[2,105],{106:$VG1}),o($Vm1,[2,106],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($Vm1,[2,110]),o($Vm1,[2,112],{10:[1,273]}),o($Vm1,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$VA,9:$VB,11:$VC,21:278},o($Vz,[2,34]),o($VQ,[2,52]),{10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,107:279,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VI1,[2,133]),{14:$VF,44:$VG,60:$VH,89:$VI,101:280,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{14:$VF,44:$VG,60:$VH,89:$VI,101:281,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{98:[1,282]},o($Vm1,[2,120]),o($VR,[2,58]),{30:283,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,66]),o($Vj1,$V4,{5:284}),o($VH1,[2,131],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($Vm1,[2,126],{120:168,10:[1,285],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,127],{120:168,10:[1,286],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,114]),{31:[1,287],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,288],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy1,60:$Vz1,84:$VA1,92:289,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:290,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VR,[2,62]),o($Vz,[2,33]),o($Vm1,[2,124],{106:$VG1}),o($Vm1,[2,125],{106:$VG1})],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,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:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.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),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=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),lines.length-1&&(this.yylineno-=lines.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:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(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:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={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&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,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(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===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:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(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:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){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"),yy_.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const re=/\n\s*/g;return yy_.yytext=yy_.yytext.replace(re,"<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 yy.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 125;case 60:return 78;case 61:return 105;case 62:case 103:return 111;case 63:return 46;case 64:return 60;case 65:case 104:return 44;case 66:return 8;case 67:return 106;case 68:case 102:return 115;case 69:case 72:case 75:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:case 74:case 77:return 119;case 73:return this.pushState("thickEdgeText"),75;case 76:return this.pushState("dottedEdgeText"),75;case 78:return 77;case 79:return this.popState(),53;case 80:case 116:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120: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]*)/,/^(?:.*direction\s+TD[^\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,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],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,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var flow_default=parser,newParser=Object.assign({},flow_default);newParser.parse=src=>{const newSrc=src.replace(/}\s*\n/g,"}\n");return flow_default.parse(newSrc)};var flowParser_default=newParser,fade=__name((color,opacity)=>{const channel2=channel,r=channel2(color,"r"),g=channel2(color,"g"),b=channel2(color,"b");return rgba(r,g,b,opacity)},"fade"),styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span {\n color: ${options.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${options.nodeTextColor||options.textColor};\n color: ${options.nodeTextColor||options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: ${options.strokeWidth??1}px;\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: ${options.lineColor} !important;\n stroke-width: 0;\n stroke: ${options.lineColor};\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: ${options.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.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: ${options.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n ${getIconStyles()}\n`,"getStyles"),diagram={parser:flowParser_default,get db(){return new FlowDB},renderer:flowRenderer_v3_unified_default,styles:styles_default,init:__name(cnf=>{cnf.flowchart||(cnf.flowchart={}),cnf.layout&&setConfig2({layout:cnf.layout}),cnf.flowchart.arrowMarkerAbsolute=cnf.arrowMarkerAbsolute,setConfig2({flowchart:{arrowMarkerAbsolute:cnf.arrowMarkerAbsolute}})},"init")};export{diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bc as Rgb,bd as rgbConvert,be as define,bf as extend,bg as Color,bh as nogamma,bi as hue,g as getAccDescription,s as setAccDescription,q as getDiagramTitle,p as setDiagramTitle,a as getAccTitle,b as setAccTitle,_ as __name,c as getConfig2,d as select,e as configureSvgSize,l as log,k as common_default,j as distExports,y as clear,u as utils_default}from"./mermaid.core-DvwEdatr.js";import{g as getDefaultExportFromCjs,y as dayjs2,z as dayjsCustomParseFormat,A as dayjsAdvancedFormat}from"./vendor-antd-BTBRwbax.js";import{b as bisector,t as tickStep,c as continuous,a as copy,l as linear}from"./linear-BNV4po81.js";import{i as initRange}from"./init-DMZMl1PR.js";import"./vendor-mdxeditor-Cy5Xg_90.js";import"./vendor-virtuoso-Bq6QMhgG.js";import"./vendor-codemirror-CPWlhuQ1.js";import"./vendor-markdown-DOJHsAxX.js";import"./defaultLocale-DZ7E7S9R.js";function max(values,valueof){let max2;if(void 0===valueof)for(const value of values)null!=value&&(max2<value||void 0===max2&&value>=value)&&(max2=value);else{let index=-1;for(let value of values)null!=(value=valueof(value,++index,values))&&(max2<value||void 0===max2&&value>=value)&&(max2=value)}return max2}function min(values,valueof){let min2;if(void 0===valueof)for(const value of values)null!=value&&(min2>value||void 0===min2&&value>=value)&&(min2=value);else{let index=-1;for(let value of values)null!=(value=valueof(value,++index,values))&&(min2>value||void 0===min2&&value>=value)&&(min2=value)}return min2}function identity(x){return x}function translateX(x){return"translate("+x+",0)"}function translateY(y){return"translate(0,"+y+")"}function number$1(scale){return d=>+scale(d)}function center(scale,offset){return offset=Math.max(0,scale.bandwidth()-2*offset)/2,scale.round()&&(offset=Math.round(offset)),d=>+scale(d)+offset}function entering(){return!this.__axis}function axis(orient,scale){var tickArguments=[],tickValues=null,tickFormat=null,tickSizeInner=6,tickSizeOuter=6,tickPadding=3,offset="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,k=1===orient||4===orient?-1:1,x=4===orient||2===orient?"x":"y",transform=1===orient||3===orient?translateX:translateY;function axis2(context){var values=null==tickValues?scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain():tickValues,format=null==tickFormat?scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):identity:tickFormat,spacing=Math.max(tickSizeInner,0)+tickPadding,range=scale.range(),range0=+range[0]+offset,range1=+range[range.length-1]+offset,position=(scale.bandwidth?center:number$1)(scale.copy(),offset),selection=context.selection?context.selection():context,path=selection.selectAll(".domain").data([null]),tick=selection.selectAll(".tick").data(values,scale).order(),tickExit=tick.exit(),tickEnter=tick.enter().append("g").attr("class","tick"),line=tick.select("line"),text=tick.select("text");path=path.merge(path.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),tick=tick.merge(tickEnter),line=line.merge(tickEnter.append("line").attr("stroke","currentColor").attr(x+"2",k*tickSizeInner)),text=text.merge(tickEnter.append("text").attr("fill","currentColor").attr(x,k*spacing).attr("dy",1===orient?"0em":3===orient?"0.71em":"0.32em")),context!==selection&&(path=path.transition(context),tick=tick.transition(context),line=line.transition(context),text=text.transition(context),tickExit=tickExit.transition(context).attr("opacity",1e-6).attr("transform",function(d){return isFinite(d=position(d))?transform(d+offset):this.getAttribute("transform")}),tickEnter.attr("opacity",1e-6).attr("transform",function(d){var p=this.parentNode.__axis;return transform((p&&isFinite(p=p(d))?p:position(d))+offset)})),tickExit.remove(),path.attr("d",4===orient||2===orient?tickSizeOuter?"M"+k*tickSizeOuter+","+range0+"H"+offset+"V"+range1+"H"+k*tickSizeOuter:"M"+offset+","+range0+"V"+range1:tickSizeOuter?"M"+range0+","+k*tickSizeOuter+"V"+offset+"H"+range1+"V"+k*tickSizeOuter:"M"+range0+","+offset+"H"+range1),tick.attr("opacity",1).attr("transform",function(d){return transform(position(d)+offset)}),line.attr(x+"2",k*tickSizeInner),text.attr(x,k*spacing).text(format),selection.filter(entering).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===orient?"start":4===orient?"end":"middle"),selection.each(function(){this.__axis=position})}return axis2.scale=function(_){return arguments.length?(scale=_,axis2):scale},axis2.ticks=function(){return tickArguments=Array.from(arguments),axis2},axis2.tickArguments=function(_){return arguments.length?(tickArguments=null==_?[]:Array.from(_),axis2):tickArguments.slice()},axis2.tickValues=function(_){return arguments.length?(tickValues=null==_?null:Array.from(_),axis2):tickValues&&tickValues.slice()},axis2.tickFormat=function(_){return arguments.length?(tickFormat=_,axis2):tickFormat},axis2.tickSize=function(_){return arguments.length?(tickSizeInner=tickSizeOuter=+_,axis2):tickSizeInner},axis2.tickSizeInner=function(_){return arguments.length?(tickSizeInner=+_,axis2):tickSizeInner},axis2.tickSizeOuter=function(_){return arguments.length?(tickSizeOuter=+_,axis2):tickSizeOuter},axis2.tickPadding=function(_){return arguments.length?(tickPadding=+_,axis2):tickPadding},axis2.offset=function(_){return arguments.length?(offset=+_,axis2):offset},axis2}const radians=Math.PI/180,degrees=180/Math.PI,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl)return hcl2lab(o);o instanceof Rgb||(o=rgbConvert(o));var x,z,r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/1);return r===g&&g===b?x=z=y:(x=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/.96422),z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/.82521)),new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>.008856451679035631?Math.pow(t,1/3):t/t2+t0$1}function lab2xyz(t){return t>t1$1?t*t*t:t2*(t-t0$1)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hcl$1(h,c,l,opacity){return 1===arguments.length?function(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(o instanceof Lab||(o=labConvert(o)),0===o.a&&0===o.b)return new Hcl(NaN,0<o.l&&o.l<100?0:NaN,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*degrees;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function hcl2lab(o){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*radians;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}define(Lab,function(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)},extend(Color,{brighter(k){return new Lab(this.l+18*(null==k?1:k),this.a,this.b,this.opacity)},darker(k){return new Lab(this.l-18*(null==k?1:k),this.a,this.b,this.opacity)},rgb(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return x=.96422*lab2xyz(x),y=1*lab2xyz(y),z=.82521*lab2xyz(z),new Rgb(lrgb2rgb(3.1338561*x-1.6168667*y-.4906146*z),lrgb2rgb(-.9787684*x+1.9161415*y+.033454*z),lrgb2rgb(.0719453*x-.2289914*y+1.4052427*z),this.opacity)}})),define(Hcl,hcl$1,extend(Color,{brighter(k){return new Hcl(this.h,this.c,this.l+18*(null==k?1:k),this.opacity)},darker(k){return new Hcl(this.h,this.c,this.l-18*(null==k?1:k),this.opacity)},rgb(){return hcl2lab(this).rgb()}}));const interpolateHcl=(hue2=hue,function(start,end){var h=hue2((start=hcl$1(start)).h,(end=hcl$1(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}});var hue2;const t0=new Date,t1=new Date;function timeInterval(floori,offseti,count,field){function interval(date2){return floori(date2=0===arguments.length?new Date:new Date(+date2)),date2}return interval.floor=date2=>(floori(date2=new Date(+date2)),date2),interval.ceil=date2=>(floori(date2=new Date(date2-1)),offseti(date2,1),floori(date2),date2),interval.round=date2=>{const d0=interval(date2),d1=interval.ceil(date2);return date2-d0<d1-date2?d0:d1},interval.offset=(date2,step)=>(offseti(date2=new Date(+date2),null==step?1:Math.floor(step)),date2),interval.range=(start,stop,step)=>{const range=[];if(start=interval.ceil(start),step=null==step?1:Math.floor(step),!(start<stop&&step>0))return range;let previous;do{range.push(previous=new Date(+start)),offseti(start,step),floori(start)}while(previous<start&&start<stop);return range},interval.filter=test=>timeInterval(date2=>{if(date2>=date2)for(;floori(date2),!test(date2);)date2.setTime(date2-1)},(date2,step)=>{if(date2>=date2)if(step<0)for(;++step<=0;)for(;offseti(date2,-1),!test(date2););else for(;--step>=0;)for(;offseti(date2,1),!test(date2););}),count&&(interval.count=(start,end)=>(t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))),interval.every=step=>(step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?d=>field(d)%step===0:d=>interval.count(0,d)%step===0):interval:null)),interval}const millisecond=timeInterval(()=>{},(date2,step)=>{date2.setTime(+date2+step)},(start,end)=>end-start);millisecond.every=k=>(k=Math.floor(k),isFinite(k)&&k>0?k>1?timeInterval(date2=>{date2.setTime(Math.floor(date2/k)*k)},(date2,step)=>{date2.setTime(+date2+step*k)},(start,end)=>(end-start)/k):millisecond:null),millisecond.range;const second=timeInterval(date2=>{date2.setTime(date2-date2.getMilliseconds())},(date2,step)=>{date2.setTime(+date2+1e3*step)},(start,end)=>(end-start)/1e3,date2=>date2.getUTCSeconds());second.range;const timeMinute=timeInterval(date2=>{date2.setTime(date2-date2.getMilliseconds()-1e3*date2.getSeconds())},(date2,step)=>{date2.setTime(+date2+6e4*step)},(start,end)=>(end-start)/6e4,date2=>date2.getMinutes());timeMinute.range;timeInterval(date2=>{date2.setUTCSeconds(0,0)},(date2,step)=>{date2.setTime(+date2+6e4*step)},(start,end)=>(end-start)/6e4,date2=>date2.getUTCMinutes()).range;const timeHour=timeInterval(date2=>{date2.setTime(date2-date2.getMilliseconds()-1e3*date2.getSeconds()-6e4*date2.getMinutes())},(date2,step)=>{date2.setTime(+date2+36e5*step)},(start,end)=>(end-start)/36e5,date2=>date2.getHours());timeHour.range;timeInterval(date2=>{date2.setUTCMinutes(0,0,0)},(date2,step)=>{date2.setTime(+date2+36e5*step)},(start,end)=>(end-start)/36e5,date2=>date2.getUTCHours()).range;const timeDay=timeInterval(date2=>date2.setHours(0,0,0,0),(date2,step)=>date2.setDate(date2.getDate()+step),(start,end)=>(end-start-6e4*(end.getTimezoneOffset()-start.getTimezoneOffset()))/864e5,date2=>date2.getDate()-1);timeDay.range;const utcDay=timeInterval(date2=>{date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCDate(date2.getUTCDate()+step)},(start,end)=>(end-start)/864e5,date2=>date2.getUTCDate()-1);utcDay.range;function timeWeekday(i){return timeInterval(date2=>{date2.setDate(date2.getDate()-(date2.getDay()+7-i)%7),date2.setHours(0,0,0,0)},(date2,step)=>{date2.setDate(date2.getDate()+7*step)},(start,end)=>(end-start-6e4*(end.getTimezoneOffset()-start.getTimezoneOffset()))/6048e5)}timeInterval(date2=>{date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCDate(date2.getUTCDate()+step)},(start,end)=>(end-start)/864e5,date2=>Math.floor(date2/864e5)).range;const timeSunday=timeWeekday(0),timeMonday=timeWeekday(1),timeTuesday=timeWeekday(2),timeWednesday=timeWeekday(3),timeThursday=timeWeekday(4),timeFriday=timeWeekday(5),timeSaturday=timeWeekday(6);function utcWeekday(i){return timeInterval(date2=>{date2.setUTCDate(date2.getUTCDate()-(date2.getUTCDay()+7-i)%7),date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCDate(date2.getUTCDate()+7*step)},(start,end)=>(end-start)/6048e5)}timeSunday.range,timeMonday.range,timeTuesday.range,timeWednesday.range,timeThursday.range,timeFriday.range,timeSaturday.range;const utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6);utcSunday.range,utcMonday.range,utcTuesday.range,utcWednesday.range,utcThursday.range,utcFriday.range,utcSaturday.range;const timeMonth=timeInterval(date2=>{date2.setDate(1),date2.setHours(0,0,0,0)},(date2,step)=>{date2.setMonth(date2.getMonth()+step)},(start,end)=>end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear()),date2=>date2.getMonth());timeMonth.range;timeInterval(date2=>{date2.setUTCDate(1),date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCMonth(date2.getUTCMonth()+step)},(start,end)=>end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear()),date2=>date2.getUTCMonth()).range;const timeYear=timeInterval(date2=>{date2.setMonth(0,1),date2.setHours(0,0,0,0)},(date2,step)=>{date2.setFullYear(date2.getFullYear()+step)},(start,end)=>end.getFullYear()-start.getFullYear(),date2=>date2.getFullYear());timeYear.every=k=>isFinite(k=Math.floor(k))&&k>0?timeInterval(date2=>{date2.setFullYear(Math.floor(date2.getFullYear()/k)*k),date2.setMonth(0,1),date2.setHours(0,0,0,0)},(date2,step)=>{date2.setFullYear(date2.getFullYear()+step*k)}):null,timeYear.range;const utcYear=timeInterval(date2=>{date2.setUTCMonth(0,1),date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCFullYear(date2.getUTCFullYear()+step)},(start,end)=>end.getUTCFullYear()-start.getUTCFullYear(),date2=>date2.getUTCFullYear());utcYear.every=k=>isFinite(k=Math.floor(k))&&k>0?timeInterval(date2=>{date2.setUTCFullYear(Math.floor(date2.getUTCFullYear()/k)*k),date2.setUTCMonth(0,1),date2.setUTCHours(0,0,0,0)},(date2,step)=>{date2.setUTCFullYear(date2.getUTCFullYear()+step*k)}):null,utcYear.range;const[timeTicks,timeTickInterval]=function(year,month,week,day,hour,minute){const tickIntervals=[[second,1,1e3],[second,5,5e3],[second,15,15e3],[second,30,3e4],[minute,1,6e4],[minute,5,3e5],[minute,15,9e5],[minute,30,18e5],[hour,1,36e5],[hour,3,108e5],[hour,6,216e5],[hour,12,432e5],[day,1,864e5],[day,2,1728e5],[week,1,6048e5],[month,1,2592e6],[month,3,7776e6],[year,1,31536e6]];function tickInterval2(start,stop,count){const target=Math.abs(stop-start)/count,i=bisector(([,,step2])=>step2).right(tickIntervals,target);if(i===tickIntervals.length)return year.every(tickStep(start/31536e6,stop/31536e6,count));if(0===i)return millisecond.every(Math.max(tickStep(start,stop,count),1));const[t,step]=tickIntervals[target/tickIntervals[i-1][2]<tickIntervals[i][2]/target?i-1:i];return t.every(step)}return[function(start,stop,count){const reverse=stop<start;reverse&&([start,stop]=[stop,start]);const interval=count&&"function"==typeof count.range?count:tickInterval2(start,stop,count),ticks2=interval?interval.range(start,+stop+1):[];return reverse?ticks2.reverse():ticks2},tickInterval2]}(timeYear,timeMonth,timeSunday,timeDay,timeHour,timeMinute);function localDate(d){if(0<=d.y&&d.y<100){var date2=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date2.setFullYear(d.y),date2}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date2=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date2.setUTCFullYear(d.y),date2}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newDate(y,m,d){return{y:y,m:m,d:d,H:0,M:0,S:0,L:0}}var locale,timeFormat,pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length<width?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){return new Map(names.map((name,i)=>[name.toLowerCase(),i]))}function parseWeekdayNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekdayNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.u=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberISO(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.V=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4));return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseQuarter(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.q=3*n[0]-3,i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseMicroseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+6));return n?(d.L=Math.floor(n[0]/1e3),i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function parseUnixTimestamp(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0],i+n[0].length):-1}function parseUnixTimestampSeconds(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.s=+n[0],i+n[0].length):-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+timeDay.count(timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMicroseconds(d,p){return formatMilliseconds(d,p)+"000"}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekdayNumberMonday(d){var day=d.getDay();return 0===day?7:day}function formatWeekNumberSunday(d,p){return pad(timeSunday.count(timeYear(d)-1,d),p,2)}function dISO(d){var day=d.getDay();return day>=4||0===day?timeThursday(d):timeThursday.ceil(d)}function formatWeekNumberISO(d,p){return d=dISO(d),pad(timeThursday.count(timeYear(d),d)+(4===timeYear(d).getDay()),p,2)}function formatWeekdayNumberSunday(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(timeMonday.count(timeYear(d)-1,d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatYearISO(d,p){return pad((d=dISO(d)).getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatFullYearISO(d,p){var day=d.getDay();return pad((d=day>=4||0===day?timeThursday(d):timeThursday.ceil(d)).getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+utcDay.count(utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMicroseconds(d,p){return formatUTCMilliseconds(d,p)+"000"}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekdayNumberMonday(d){var dow=d.getUTCDay();return 0===dow?7:dow}function formatUTCWeekNumberSunday(d,p){return pad(utcSunday.count(utcYear(d)-1,d),p,2)}function UTCdISO(d){var day=d.getUTCDay();return day>=4||0===day?utcThursday(d):utcThursday.ceil(d)}function formatUTCWeekNumberISO(d,p){return d=UTCdISO(d),pad(utcThursday.count(utcYear(d),d)+(4===utcYear(d).getUTCDay()),p,2)}function formatUTCWeekdayNumberSunday(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(utcMonday.count(utcYear(d)-1,d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCYearISO(d,p){return pad((d=UTCdISO(d)).getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCFullYearISO(d,p){var day=d.getUTCDay();return pad((d=day>=4||0===day?utcThursday(d):utcThursday.ceil(d)).getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(d){return+d}function formatUnixTimestampSeconds(d){return Math.floor(+d/1e3)}function date(t){return new Date(t)}function number(t){return t instanceof Date?+t:+new Date(+t)}function calendar(ticks,tickInterval2,year,month,week,day,hour,minute,second2,format){var scale=continuous(),invert=scale.invert,domain=scale.domain,formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear2=format("%Y");function tickFormat(date2){return(second2(date2)<date2?formatMillisecond:minute(date2)<date2?formatSecond:hour(date2)<date2?formatMinute:day(date2)<date2?formatHour:month(date2)<date2?week(date2)<date2?formatDay:formatWeek:year(date2)<date2?formatMonth:formatYear2)(date2)}return scale.invert=function(y){return new Date(invert(y))},scale.domain=function(_){return arguments.length?domain(Array.from(_,number)):domain().map(date)},scale.ticks=function(interval){var d=domain();return ticks(d[0],d[d.length-1],null==interval?10:interval)},scale.tickFormat=function(count,specifier){return null==specifier?tickFormat:format(specifier)},scale.nice=function(interval){var d=domain();return interval&&"function"==typeof interval.range||(interval=tickInterval2(d[0],d[d.length-1],null==interval?10:interval)),interval?domain(function(domain,interval){var t,i0=0,i1=(domain=domain.slice()).length-1,x0=domain[i0],x1=domain[i1];return x1<x0&&(t=i0,i0=i1,i1=t,t=x0,x0=x1,x1=t),domain[i0]=interval.floor(x0),domain[i1]=interval.ceil(x1),domain}(d,interval)):scale},scale.copy=function(){return copy(scale,calendar(ticks,tickInterval2,year,month,week,day,hour,minute,second2,format))},scale}function time(){return initRange.apply(calendar(timeTicks,timeTickInterval,timeYear,timeMonth,timeSunday,timeDay,timeHour,timeMinute,second,timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}locale=function(locale2){var locale_dateTime=locale2.dateTime,locale_date=locale2.date,locale_time=locale2.time,locale_periods=locale2.periods,locale_weekdays=locale2.days,locale_shortWeekdays=locale2.shortDays,locale_months=locale2.months,locale_shortMonths=locale2.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:function(d){return locale_shortWeekdays[d.getDay()]},A:function(d){return locale_weekdays[d.getDay()]},b:function(d){return locale_shortMonths[d.getMonth()]},B:function(d){return locale_months[d.getMonth()]},c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,g:formatYearISO,G:formatFullYearISO,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:function(d){return locale_periods[+(d.getHours()>=12)]},q:function(d){return 1+~~(d.getMonth()/3)},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:function(d){return locale_shortWeekdays[d.getUTCDay()]},A:function(d){return locale_weekdays[d.getUTCDay()]},b:function(d){return locale_shortMonths[d.getUTCMonth()]},B:function(d){return locale_months[d.getUTCMonth()]},c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,g:formatUTCYearISO,G:formatUTCFullYearISO,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:function(d){return locale_periods[+(d.getUTCHours()>=12)]},q:function(d){return 1+~~(d.getUTCMonth()/3)},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:function(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup.get(n[0].toLowerCase()),i+n[0].length):-1},A:function(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup.get(n[0].toLowerCase()),i+n[0].length):-1},b:function(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup.get(n[0].toLowerCase()),i+n[0].length):-1},B:function(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup.get(n[0].toLowerCase()),i+n[0].length):-1},c:function(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)},d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,g:parseYear,G:parseFullYear,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:function(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup.get(n[0].toLowerCase()),i+n[0].length):-1},q:parseQuarter,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:function(d,string,i){return parseSpecifier(d,locale_date,string,i)},X:function(d,string,i){return parseSpecifier(d,locale_time,string,i)},y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};function newFormat(specifier,formats2){return function(date2){var c,pad2,format,string=[],i=-1,j=0,n=specifier.length;for(date2 instanceof Date||(date2=new Date(+date2));++i<n;)37===specifier.charCodeAt(i)&&(string.push(specifier.slice(j,i)),null!=(pad2=pads[c=specifier.charAt(++i)])?c=specifier.charAt(++i):pad2="e"===c?" ":"0",(format=formats2[c])&&(c=format(date2,pad2)),string.push(c),j=i+1);return string.push(specifier.slice(j,i)),string.join("")}}function newParse(specifier,Z){return function(string){var week,day,d=newDate(1900,void 0,1);if(parseSpecifier(d,specifier,string+="",0)!=string.length)return null;if("Q"in d)return new Date(d.Q);if("s"in d)return new Date(1e3*d.s+("L"in d?d.L:0));if(Z&&!("Z"in d)&&(d.Z=0),"p"in d&&(d.H=d.H%12+12*d.p),void 0===d.m&&(d.m="q"in d?d.q:0),"V"in d){if(d.V<1||d.V>53)return null;"w"in d||(d.w=1),"Z"in d?(day=(week=utcDate(newDate(d.y,0,1))).getUTCDay(),week=day>4||0===day?utcMonday.ceil(week):utcMonday(week),week=utcDay.offset(week,7*(d.V-1)),d.y=week.getUTCFullYear(),d.m=week.getUTCMonth(),d.d=week.getUTCDate()+(d.w+6)%7):(day=(week=localDate(newDate(d.y,0,1))).getDay(),week=day>4||0===day?timeMonday.ceil(week):timeMonday(week),week=timeDay.offset(week,7*(d.V-1)),d.y=week.getFullYear(),d.m=week.getMonth(),d.d=week.getDate()+(d.w+6)%7)}else("W"in d||"U"in d)&&("w"in d||(d.w="u"in d?d.u%7:"W"in d?1:0),day="Z"in d?utcDate(newDate(d.y,0,1)).getUTCDay():localDate(newDate(d.y,0,1)).getDay(),d.m=0,d.d="W"in d?(d.w+6)%7+7*d.W-(day+5)%7:d.w+7*d.U-(day+6)%7);return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,utcDate(d)):localDate(d)}}function parseSpecifier(d,specifier,string,j){for(var c,parse,i=0,n=specifier.length,m=string.length;i<n;){if(j>=m)return-1;if(37===(c=specifier.charCodeAt(i++))){if(c=specifier.charAt(i++),!(parse=parses[c in pads?specifier.charAt(i++):c])||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",!1);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier+="",!0);return p.toString=function(){return specifier},p}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),timeFormat=locale.format,locale.parse,locale.utcFormat,locale.utcParse;var hasRequiredIsoWeek,e,isoWeek$1={exports:{}};const dayjsIsoWeek=getDefaultExportFromCjs(hasRequiredIsoWeek?isoWeek$1.exports:(hasRequiredIsoWeek=1,isoWeek$1.exports=(e="day",function(t,i,s){var a=function(t4){return t4.add(4-t4.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t4){if(!this.$utils().u(t4))return this.add(7*(t4-this.isoWeek()),e);var i2,n2,o,r=a(this),u=(i2=this.isoWeekYear(),o=4-(n2=(this.$u?s.utc:s)().year(i2).startOf("year")).isoWeekday(),n2.isoWeekday()>4&&(o+=7),n2.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e2){return this.$utils().u(e2)?this.day()||7:this.day(this.day()%7?e2:e2-7)};var n=d.startOf;d.startOf=function(e2,t4){var i2=this.$utils(),s2=!!i2.u(t4)||t4;return"isoweek"===i2.p(e2)?s2?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e2,t4)}})));var hasRequiredDuration,duration$1={exports:{}};var durationExports=(hasRequiredDuration||(hasRequiredDuration=1,duration$1.exports=function(){var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t4){return t4 instanceof g},f=function(t4,s2,n2){return new g(t4,n2,s2.$l)},m=function(t4){return s.p(t4)+"s"},l=function(t4){return t4<0},$=function(t4){return l(t4)?Math.ceil(t4):Math.floor(t4)},y=function(t4){return Math.abs(t4)},v=function(t4,s2){return t4?l(t4)?{negative:!0,format:""+y(t4)+s2}:{negative:!1,format:""+t4+s2}:{negative:!1,format:""}},g=function(){function l2(t4,s2,n2){var i2=this;if(this.$d={},this.$l=n2,void 0===t4&&(this.$ms=0,this.parseFromMilliseconds()),s2)return f(t4*h[m(s2)],this);if("number"==typeof t4)return this.$ms=t4,this.parseFromMilliseconds(),this;if("object"==typeof t4)return Object.keys(t4).forEach(function(s3){i2.$d[m(s3)]=t4[s3]}),this.calMilliseconds(),this;if("string"==typeof t4){var e2=t4.match(a);if(e2){var r2=e2.slice(2).map(function(t5){return null!=t5?Number(t5):0});return this.$d.years=r2[0],this.$d.months=r2[1],this.$d.weeks=r2[2],this.$d.days=r2[3],this.$d.hours=r2[4],this.$d.minutes=r2[5],this.$d.seconds=r2[6],this.calMilliseconds(),this}}return this}var y2=l2.prototype;return y2.calMilliseconds=function(){var t4=this;this.$ms=Object.keys(this.$d).reduce(function(s2,n2){return s2+(t4.$d[n2]||0)*h[n2]},0)},y2.parseFromMilliseconds=function(){var t4=this.$ms;this.$d.years=$(t4/u),t4%=u,this.$d.months=$(t4/d),t4%=d,this.$d.days=$(t4/r),t4%=r,this.$d.hours=$(t4/e),t4%=e,this.$d.minutes=$(t4/i),t4%=i,this.$d.seconds=$(t4/n),t4%=n,this.$d.milliseconds=t4},y2.toISOString=function(){var t4=v(this.$d.years,"Y"),s2=v(this.$d.months,"M"),n2=+this.$d.days||0;this.$d.weeks&&(n2+=7*this.$d.weeks);var i2=v(n2,"D"),e2=v(this.$d.hours,"H"),r2=v(this.$d.minutes,"M"),o2=this.$d.seconds||0;this.$d.milliseconds&&(o2+=this.$d.milliseconds/1e3,o2=Math.round(1e3*o2)/1e3);var u2=v(o2,"S"),d2=t4.negative||s2.negative||i2.negative||e2.negative||r2.negative||u2.negative,a2=e2.format||r2.format||u2.format?"T":"",h2=(d2?"-":"")+"P"+t4.format+s2.format+i2.format+a2+e2.format+r2.format+u2.format;return"P"===h2||"-P"===h2?"P0D":h2},y2.toJSON=function(){return this.toISOString()},y2.format=function(t4){var n2=t4||"YYYY-MM-DDTHH:mm:ss",i2={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return n2.replace(o,function(t5,s2){return s2||String(i2[t5])})},y2.as=function(t4){return this.$ms/h[m(t4)]},y2.get=function(t4){var s2=this.$ms,n2=m(t4);return"milliseconds"===n2?s2%=1e3:s2="weeks"===n2?$(s2/h[n2]):this.$d[n2],s2||0},y2.add=function(t4,s2,n2){var i2;return i2=s2?t4*h[m(s2)]:c(t4)?t4.$ms:f(t4,this).$ms,f(this.$ms+i2*(n2?-1:1),this)},y2.subtract=function(t4,s2){return this.add(t4,s2,!0)},y2.locale=function(t4){var s2=this.clone();return s2.$l=t4,s2},y2.clone=function(){return f(this.$ms,this)},y2.humanize=function(s2){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!s2)},y2.valueOf=function(){return this.asMilliseconds()},y2.milliseconds=function(){return this.get("milliseconds")},y2.asMilliseconds=function(){return this.as("milliseconds")},y2.seconds=function(){return this.get("seconds")},y2.asSeconds=function(){return this.as("seconds")},y2.minutes=function(){return this.get("minutes")},y2.asMinutes=function(){return this.as("minutes")},y2.hours=function(){return this.get("hours")},y2.asHours=function(){return this.as("hours")},y2.days=function(){return this.get("days")},y2.asDays=function(){return this.as("days")},y2.weeks=function(){return this.get("weeks")},y2.asWeeks=function(){return this.as("weeks")},y2.months=function(){return this.get("months")},y2.asMonths=function(){return this.as("months")},y2.years=function(){return this.get("years")},y2.asYears=function(){return this.as("years")},l2}(),p=function(t4,s2,n2){return t4.add(s2.years()*n2,"y").add(s2.months()*n2,"M").add(s2.days()*n2,"d").add(s2.hours()*n2,"h").add(s2.minutes()*n2,"m").add(s2.seconds()*n2,"s").add(s2.milliseconds()*n2,"ms")};return function(n2,i2,e2){t=e2,s=e2().$utils(),e2.duration=function(t4,s2){var n3=e2.locale();return f(t4,{$l:n3},s2)},e2.isDuration=c;var r2=i2.prototype.add,o2=i2.prototype.subtract;i2.prototype.add=function(t4,s2){return c(t4)?p(this,t4,1):r2.bind(this)(t4,s2)},i2.prototype.subtract=function(t4,s2){return c(t4)?p(this,t4,-1):o2.bind(this)(t4,s2)}}}()),duration$1.exports);const dayjsDuration=getDefaultExportFromCjs(durationExports);var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],$V1=[1,26],$V2=[1,27],$V3=[1,28],$V4=[1,29],$V5=[1,30],$V6=[1,31],$V7=[1,32],$V8=[1,33],$V9=[1,34],$Va=[1,9],$Vb=[1,10],$Vc=[1,11],$Vd=[1,12],$Ve=[1,13],$Vf=[1,14],$Vg=[1,15],$Vh=[1,16],$Vi=[1,19],$Vj=[1,20],$Vk=[1,21],$Vl=[1,22],$Vm=[1,23],$Vn=[1,25],$Vo=[1,35],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return $$[$0-1];case 2:case 6:case 7:this.$=[];break;case 3:$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 5:this.$=$$[$0];break;case 8:yy.setWeekday("monday");break;case 9:yy.setWeekday("tuesday");break;case 10:yy.setWeekday("wednesday");break;case 11:yy.setWeekday("thursday");break;case 12:yy.setWeekday("friday");break;case 13:yy.setWeekday("saturday");break;case 14:yy.setWeekday("sunday");break;case 15:yy.setWeekend("friday");break;case 16:yy.setWeekend("saturday");break;case 17:yy.setDateFormat($$[$0].substr(11)),this.$=$$[$0].substr(11);break;case 18:yy.enableInclusiveEndDates(),this.$=$$[$0].substr(18);break;case 19:yy.TopAxis(),this.$=$$[$0].substr(8);break;case 20:yy.setAxisFormat($$[$0].substr(11)),this.$=$$[$0].substr(11);break;case 21:yy.setTickInterval($$[$0].substr(13)),this.$=$$[$0].substr(13);break;case 22:yy.setExcludes($$[$0].substr(9)),this.$=$$[$0].substr(9);break;case 23:yy.setIncludes($$[$0].substr(9)),this.$=$$[$0].substr(9);break;case 24:yy.setTodayMarker($$[$0].substr(12)),this.$=$$[$0].substr(12);break;case 27:yy.setDiagramTitle($$[$0].substr(6)),this.$=$$[$0].substr(6);break;case 28:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 29:case 30:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 31:yy.addSection($$[$0].substr(8)),this.$=$$[$0].substr(8);break;case 33:yy.addTask($$[$0-1],$$[$0]),this.$="task";break;case 34:this.$=$$[$0-1],yy.setClickEvent($$[$0-1],$$[$0],null);break;case 35:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0-1],$$[$0]);break;case 36:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0-1],null),yy.setLink($$[$0-2],$$[$0]);break;case 37:this.$=$$[$0-3],yy.setClickEvent($$[$0-3],$$[$0-2],$$[$0-1]),yy.setLink($$[$0-3],$$[$0]);break;case 38:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0],null),yy.setLink($$[$0-2],$$[$0-1]);break;case 39:this.$=$$[$0-3],yy.setClickEvent($$[$0-3],$$[$0-1],$$[$0]),yy.setLink($$[$0-3],$$[$0-2]);break;case 40:this.$=$$[$0-1],yy.setLink($$[$0-1],$$[$0]);break;case 41:case 47:this.$=$$[$0-1]+" "+$$[$0];break;case 42:case 43:case 45:this.$=$$[$0-2]+" "+$$[$0-1]+" "+$$[$0];break;case 44:case 46:this.$=$$[$0-3]+" "+$$[$0-2]+" "+$$[$0-1]+" "+$$[$0]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:$V1,13:$V2,14:$V3,15:$V4,16:$V5,17:$V6,18:$V7,19:18,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg,29:$Vh,30:$Vi,31:$Vj,33:$Vk,35:$Vl,36:$Vm,37:24,38:$Vn,40:$Vo},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:36,11:17,12:$V1,13:$V2,14:$V3,15:$V4,16:$V5,17:$V6,18:$V7,19:18,20:$V8,21:$V9,22:$Va,23:$Vb,24:$Vc,25:$Vd,26:$Ve,27:$Vf,28:$Vg,29:$Vh,30:$Vi,31:$Vj,33:$Vk,35:$Vl,36:$Vm,37:24,38:$Vn,40:$Vo},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,17]),o($V0,[2,18]),o($V0,[2,19]),o($V0,[2,20]),o($V0,[2,21]),o($V0,[2,22]),o($V0,[2,23]),o($V0,[2,24]),o($V0,[2,25]),o($V0,[2,26]),o($V0,[2,27]),{32:[1,37]},{34:[1,38]},o($V0,[2,30]),o($V0,[2,31]),o($V0,[2,32]),{39:[1,39]},o($V0,[2,8]),o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),o($V0,[2,12]),o($V0,[2,13]),o($V0,[2,14]),o($V0,[2,15]),o($V0,[2,16]),{41:[1,40],43:[1,41]},o($V0,[2,4]),o($V0,[2,28]),o($V0,[2,29]),o($V0,[2,33]),o($V0,[2,34],{42:[1,42],43:[1,43]}),o($V0,[2,40],{41:[1,44]}),o($V0,[2,35],{43:[1,45]}),o($V0,[2,36]),o($V0,[2,38],{42:[1,46]}),o($V0,[2,37]),o($V0,[2,39])],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,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:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.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),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=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),lines.length-1&&(this.yylineno-=lines.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:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(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:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={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&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,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(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===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:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(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:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var gantt_default=parser;dayjs2.extend(dayjsIsoWeek),dayjs2.extend(dayjsCustomParseFormat),dayjs2.extend(dayjsAdvancedFormat);var lastTask,lastTaskID,WEEKEND_START_DAY={friday:5,saturday:6},dateFormat="",axisFormat="",tickInterval=void 0,todayMarker="",includes=[],excludes=[],links=new Map,sections=[],tasks=[],currentSection="",displayMode="",tags=["active","done","crit","milestone","vert"],funs=[],diagramId="",inclusiveEndDates=!1,topAxis=!1,weekday="sunday",weekend="saturday",lastOrder=0,clear2=__name(function(){sections=[],tasks=[],currentSection="",funs=[],taskCnt=0,lastTask=void 0,lastTaskID=void 0,rawTasks=[],dateFormat="",axisFormat="",displayMode="",tickInterval=void 0,todayMarker="",includes=[],excludes=[],inclusiveEndDates=!1,topAxis=!1,lastOrder=0,links=new Map,diagramId="",clear(),weekday="sunday",weekend="saturday"},"clear"),setDiagramId=__name(function(id){diagramId=id},"setDiagramId"),setAxisFormat=__name(function(txt){axisFormat=txt},"setAxisFormat"),getAxisFormat=__name(function(){return axisFormat},"getAxisFormat"),setTickInterval=__name(function(txt){tickInterval=txt},"setTickInterval"),getTickInterval=__name(function(){return tickInterval},"getTickInterval"),setTodayMarker=__name(function(txt){todayMarker=txt},"setTodayMarker"),getTodayMarker=__name(function(){return todayMarker},"getTodayMarker"),setDateFormat=__name(function(txt){dateFormat=txt},"setDateFormat"),enableInclusiveEndDates=__name(function(){inclusiveEndDates=!0},"enableInclusiveEndDates"),endDatesAreInclusive=__name(function(){return inclusiveEndDates},"endDatesAreInclusive"),enableTopAxis=__name(function(){topAxis=!0},"enableTopAxis"),topAxisEnabled=__name(function(){return topAxis},"topAxisEnabled"),setDisplayMode=__name(function(txt){displayMode=txt},"setDisplayMode"),getDisplayMode=__name(function(){return displayMode},"getDisplayMode"),getDateFormat=__name(function(){return dateFormat},"getDateFormat"),setIncludes=__name(function(txt){includes=txt.toLowerCase().split(/[\s,]+/)},"setIncludes"),getIncludes=__name(function(){return includes},"getIncludes"),setExcludes=__name(function(txt){excludes=txt.toLowerCase().split(/[\s,]+/)},"setExcludes"),getExcludes=__name(function(){return excludes},"getExcludes"),getLinks=__name(function(){return links},"getLinks"),addSection=__name(function(txt){currentSection=txt,sections.push(txt)},"addSection"),getSections=__name(function(){return sections},"getSections"),getTasks=__name(function(){let allItemsProcessed=compileTasks();let iterationCount=0;for(;!allItemsProcessed&&iterationCount<10;)allItemsProcessed=compileTasks(),iterationCount++;return tasks=rawTasks},"getTasks"),isInvalidDate=__name(function(date2,dateFormat2,excludes2,includes2){const formattedDate=date2.format(dateFormat2.trim()),dateOnly=date2.format("YYYY-MM-DD");return!includes2.includes(formattedDate)&&!includes2.includes(dateOnly)&&(!(!excludes2.includes("weekends")||date2.isoWeekday()!==WEEKEND_START_DAY[weekend]&&date2.isoWeekday()!==WEEKEND_START_DAY[weekend]+1)||(!!excludes2.includes(date2.format("dddd").toLowerCase())||(excludes2.includes(formattedDate)||excludes2.includes(dateOnly))))},"isInvalidDate"),setWeekday=__name(function(txt){weekday=txt},"setWeekday"),getWeekday=__name(function(){return weekday},"getWeekday"),setWeekend=__name(function(startDay){weekend=startDay},"setWeekend"),checkTaskDates=__name(function(task,dateFormat2,excludes2,includes2){if(!excludes2.length||task.manualEndTime)return;let startTime,originalEndTime;startTime=task.startTime instanceof Date?dayjs2(task.startTime):dayjs2(task.startTime,dateFormat2,!0),startTime=startTime.add(1,"d"),originalEndTime=task.endTime instanceof Date?dayjs2(task.endTime):dayjs2(task.endTime,dateFormat2,!0);const[fixedEndTime,renderEndTime]=fixTaskDates(startTime,originalEndTime,dateFormat2,excludes2,includes2);task.endTime=fixedEndTime.toDate(),task.renderEndTime=renderEndTime},"checkTaskDates"),fixTaskDates=__name(function(startTime,endTime,dateFormat2,excludes2,includes2){let invalid=!1,renderEndTime=null;for(;startTime<=endTime;)invalid||(renderEndTime=endTime.toDate()),invalid=isInvalidDate(startTime,dateFormat2,excludes2,includes2),invalid&&(endTime=endTime.add(1,"d")),startTime=startTime.add(1,"d");return[endTime,renderEndTime]},"fixTaskDates"),getStartDate=__name(function(prevTime,dateFormat2,str){str=str.trim();if(__name(format=>{const trimmedFormat=format.trim();return"x"===trimmedFormat||"X"===trimmedFormat},"isTimestampFormat")(dateFormat2)&&/^\d+$/.test(str))return new Date(Number(str));const afterStatement=/^after\s+(?<ids>[\d\w- ]+)/.exec(str);if(null!==afterStatement){let latestTask=null;for(const id of afterStatement.groups.ids.split(" ")){let task=findTaskById(id);void 0!==task&&(!latestTask||task.endTime>latestTask.endTime)&&(latestTask=task)}if(latestTask)return latestTask.endTime;const today=new Date;return today.setHours(0,0,0,0),today}let mDate=dayjs2(str,dateFormat2.trim(),!0);if(mDate.isValid())return mDate.toDate();{log.debug("Invalid date:"+str),log.debug("With date format:"+dateFormat2.trim());const d=new Date(str);if(void 0===d||isNaN(d.getTime())||d.getFullYear()<-1e4||d.getFullYear()>1e4)throw new Error("Invalid date:"+str);return d}},"getStartDate"),parseDuration=__name(function(str){const statement=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(str.trim());return null!==statement?[Number.parseFloat(statement[1]),statement[2]]:[NaN,"ms"]},"parseDuration"),getEndDate=__name(function(prevTime,dateFormat2,str,inclusive=!1){str=str.trim();const untilStatement=/^until\s+(?<ids>[\d\w- ]+)/.exec(str);if(null!==untilStatement){let earliestTask=null;for(const id of untilStatement.groups.ids.split(" ")){let task=findTaskById(id);void 0!==task&&(!earliestTask||task.startTime<earliestTask.startTime)&&(earliestTask=task)}if(earliestTask)return earliestTask.startTime;const today=new Date;return today.setHours(0,0,0,0),today}let parsedDate=dayjs2(str,dateFormat2.trim(),!0);if(parsedDate.isValid())return inclusive&&(parsedDate=parsedDate.add(1,"d")),parsedDate.toDate();let endTime=dayjs2(prevTime);const[durationValue,durationUnit]=parseDuration(str);if(!Number.isNaN(durationValue)){const newEndTime=endTime.add(durationValue,durationUnit);newEndTime.isValid()&&(endTime=newEndTime)}return endTime.toDate()},"getEndDate"),taskCnt=0,parseId=__name(function(idStr){return void 0===idStr?"task"+(taskCnt+=1):idStr},"parseId"),compileData=__name(function(prevTask,dataStr){let ds;ds=":"===dataStr.substr(0,1)?dataStr.substr(1,dataStr.length):dataStr;const data=ds.split(","),task={};getTaskTags(data,task,tags);for(let i=0;i<data.length;i++)data[i]=data[i].trim();let endTimeData="";switch(data.length){case 1:task.id=parseId(),task.startTime=prevTask.endTime,endTimeData=data[0];break;case 2:task.id=parseId(),task.startTime=getStartDate(void 0,dateFormat,data[0]),endTimeData=data[1];break;case 3:task.id=parseId(data[0]),task.startTime=getStartDate(void 0,dateFormat,data[1]),endTimeData=data[2]}return endTimeData&&(task.endTime=getEndDate(task.startTime,dateFormat,endTimeData,inclusiveEndDates),task.manualEndTime=dayjs2(endTimeData,"YYYY-MM-DD",!0).isValid(),checkTaskDates(task,dateFormat,excludes,includes)),task},"compileData"),parseData=__name(function(prevTaskId,dataStr){let ds;ds=":"===dataStr.substr(0,1)?dataStr.substr(1,dataStr.length):dataStr;const data=ds.split(","),task={};getTaskTags(data,task,tags);for(let i=0;i<data.length;i++)data[i]=data[i].trim();switch(data.length){case 1:task.id=parseId(),task.startTime={type:"prevTaskEnd",id:prevTaskId},task.endTime={data:data[0]};break;case 2:task.id=parseId(),task.startTime={type:"getStartDate",startData:data[0]},task.endTime={data:data[1]};break;case 3:task.id=parseId(data[0]),task.startTime={type:"getStartDate",startData:data[1]},task.endTime={data:data[2]}}return task},"parseData"),rawTasks=[],taskDb={},addTask=__name(function(descr,data){const rawTask={section:currentSection,type:currentSection,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:data},task:descr,classes:[]},taskInfo=parseData(lastTaskID,data);rawTask.raw.startTime=taskInfo.startTime,rawTask.raw.endTime=taskInfo.endTime,rawTask.id=taskInfo.id,rawTask.prevTaskId=lastTaskID,rawTask.active=taskInfo.active,rawTask.done=taskInfo.done,rawTask.crit=taskInfo.crit,rawTask.milestone=taskInfo.milestone,rawTask.vert=taskInfo.vert,rawTask.order=lastOrder,lastOrder++;const pos=rawTasks.push(rawTask);lastTaskID=rawTask.id,taskDb[rawTask.id]=pos-1},"addTask"),findTaskById=__name(function(id){const pos=taskDb[id];return rawTasks[pos]},"findTaskById"),addTaskOrg=__name(function(descr,data){const newTask={section:currentSection,type:currentSection,description:descr,task:descr,classes:[]},taskInfo=compileData(lastTask,data);newTask.startTime=taskInfo.startTime,newTask.endTime=taskInfo.endTime,newTask.id=taskInfo.id,newTask.active=taskInfo.active,newTask.done=taskInfo.done,newTask.crit=taskInfo.crit,newTask.milestone=taskInfo.milestone,newTask.vert=taskInfo.vert,lastTask=newTask,tasks.push(newTask)},"addTaskOrg"),compileTasks=__name(function(){const compileTask=__name(function(pos){const task=rawTasks[pos];let startTime="";switch(rawTasks[pos].raw.startTime.type){case"prevTaskEnd":{const prevTask=findTaskById(task.prevTaskId);task.startTime=prevTask.endTime;break}case"getStartDate":startTime=getStartDate(void 0,dateFormat,rawTasks[pos].raw.startTime.startData),startTime&&(rawTasks[pos].startTime=startTime)}return rawTasks[pos].startTime&&(rawTasks[pos].endTime=getEndDate(rawTasks[pos].startTime,dateFormat,rawTasks[pos].raw.endTime.data,inclusiveEndDates),rawTasks[pos].endTime&&(rawTasks[pos].processed=!0,rawTasks[pos].manualEndTime=dayjs2(rawTasks[pos].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),checkTaskDates(rawTasks[pos],dateFormat,excludes,includes))),rawTasks[pos].processed},"compileTask");let allProcessed=!0;for(const[i,rawTask]of rawTasks.entries())compileTask(i),allProcessed=allProcessed&&rawTask.processed;return allProcessed},"compileTasks"),setLink=__name(function(ids,_linkStr){let linkStr=_linkStr;"loose"!==getConfig2().securityLevel&&(linkStr=distExports.sanitizeUrl(_linkStr)),ids.split(",").forEach(function(id){void 0!==findTaskById(id)&&(pushFun(id,()=>{window.open(linkStr,"_self")}),links.set(id,linkStr))}),setClass(ids,"clickable")},"setLink"),setClass=__name(function(ids,className){ids.split(",").forEach(function(id){let rawTask=findTaskById(id);void 0!==rawTask&&rawTask.classes.push(className)})},"setClass"),setClickFun=__name(function(id,functionName,functionArgs){if("loose"!==getConfig2().securityLevel)return;if(void 0===functionName)return;let argList=[];if("string"==typeof functionArgs){argList=functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let i=0;i<argList.length;i++){let item=argList[i].trim();item.startsWith('"')&&item.endsWith('"')&&(item=item.substr(1,item.length-2)),argList[i]=item}}0===argList.length&&argList.push(id),void 0!==findTaskById(id)&&pushFun(id,()=>{utils_default.runFunc(functionName,...argList)})},"setClickFun"),pushFun=__name(function(id,callbackFunction){funs.push(function(){const prefixedId=diagramId?`${diagramId}-${id}`:id,elem=document.querySelector(`[id="${prefixedId}"]`);null!==elem&&elem.addEventListener("click",function(){callbackFunction()})},function(){const prefixedId=diagramId?`${diagramId}-${id}`:id,elem=document.querySelector(`[id="${prefixedId}-text"]`);null!==elem&&elem.addEventListener("click",function(){callbackFunction()})})},"pushFun"),setClickEvent=__name(function(ids,functionName,functionArgs){ids.split(",").forEach(function(id){setClickFun(id,functionName,functionArgs)}),setClass(ids,"clickable")},"setClickEvent"),bindFunctions=__name(function(element){funs.forEach(function(fun){fun(element)})},"bindFunctions"),ganttDb_default={getConfig:__name(()=>getConfig2().gantt,"getConfig"),clear:clear2,setDateFormat:setDateFormat,getDateFormat:getDateFormat,enableInclusiveEndDates:enableInclusiveEndDates,endDatesAreInclusive:endDatesAreInclusive,enableTopAxis:enableTopAxis,topAxisEnabled:topAxisEnabled,setAxisFormat:setAxisFormat,getAxisFormat:getAxisFormat,setTickInterval:setTickInterval,getTickInterval:getTickInterval,setTodayMarker:setTodayMarker,getTodayMarker:getTodayMarker,setAccTitle:setAccTitle,getAccTitle:getAccTitle,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle,setDiagramId:setDiagramId,setDisplayMode:setDisplayMode,getDisplayMode:getDisplayMode,setAccDescription:setAccDescription,getAccDescription:getAccDescription,addSection:addSection,getSections:getSections,getTasks:getTasks,addTask:addTask,findTaskById:findTaskById,addTaskOrg:addTaskOrg,setIncludes:setIncludes,getIncludes:getIncludes,setExcludes:setExcludes,getExcludes:getExcludes,setClickEvent:setClickEvent,setLink:setLink,getLinks:getLinks,bindFunctions:bindFunctions,parseDuration:parseDuration,isInvalidDate:isInvalidDate,setWeekday:setWeekday,getWeekday:getWeekday,setWeekend:setWeekend};function getTaskTags(data,task,tags2){let matchFound=!0;for(;matchFound;)matchFound=!1,tags2.forEach(function(t){const regex=new RegExp("^\\s*"+t+"\\s*$");data[0].match(regex)&&(task[t]=!0,data.shift(1),matchFound=!0)})}__name(getTaskTags,"getTaskTags"),dayjs2.extend(dayjsDuration);var w,setConf=__name(function(){log.debug("Something is calling, setConf, remove the call")},"setConf"),mapWeekdayToTimeFunction={monday:timeMonday,tuesday:timeTuesday,wednesday:timeWednesday,thursday:timeThursday,friday:timeFriday,saturday:timeSaturday,sunday:timeSunday},getMaxIntersections=__name((tasks2,orderOffset)=>{let timeline=[...tasks2].map(()=>-1/0),sorted=[...tasks2].sort((a,b)=>a.startTime-b.startTime||a.order-b.order),maxIntersections=0;for(const element of sorted)for(let j=0;j<timeline.length;j++)if(element.startTime>=timeline[j]){timeline[j]=element.endTime,element.order=j+orderOffset,j>maxIntersections&&(maxIntersections=j);break}return maxIntersections},"getMaxIntersections"),diagram={parser:gantt_default,db:ganttDb_default,renderer:{setConf:setConf,draw:__name(function(text,id,version,diagObj){const conf=getConfig2().gantt;diagObj.db.setDiagramId(id);const securityLevel=getConfig2().securityLevel;let sandboxElement;"sandbox"===securityLevel&&(sandboxElement=select("#i"+id));const root=select("sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument.body:"body"),doc="sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument:document,elem=doc.getElementById(id);void 0===(w=elem.parentElement.offsetWidth)&&(w=1200),void 0!==conf.useWidth&&(w=conf.useWidth);const taskArray=diagObj.db.getTasks();let categories=[];for(const element of taskArray)categories.push(element.type);categories=checkUnique(categories);const categoryHeights={};let h=2*conf.topPadding;if("compact"===diagObj.db.getDisplayMode()||"compact"===conf.displayMode){const categoryElements={};for(const element of taskArray)void 0===categoryElements[element.section]?categoryElements[element.section]=[element]:categoryElements[element.section].push(element);let intersections=0;for(const category of Object.keys(categoryElements)){const categoryHeight=getMaxIntersections(categoryElements[category],intersections)+1;intersections+=categoryHeight,h+=categoryHeight*(conf.barHeight+conf.barGap),categoryHeights[category]=categoryHeight}}else{h+=taskArray.length*(conf.barHeight+conf.barGap);for(const category of categories)categoryHeights[category]=taskArray.filter(task=>task.type===category).length}elem.setAttribute("viewBox","0 0 "+w+" "+h);const svg=root.select(`[id="${id}"]`),timeScale=time().domain([min(taskArray,function(d){return d.startTime}),max(taskArray,function(d){return d.endTime})]).rangeRound([0,w-conf.leftPadding-conf.rightPadding]);function taskCompare(a,b){const taskA=a.startTime,taskB=b.startTime;let result=0;return taskA>taskB?result=1:taskA<taskB&&(result=-1),result}function makeGantt(tasks2,pageWidth,pageHeight){const barHeight=conf.barHeight,gap=barHeight+conf.barGap,topPadding=conf.topPadding,leftPadding=conf.leftPadding,colorScale=linear().domain([0,categories.length]).range(["#00B9FA","#F95002"]).interpolate(interpolateHcl);drawExcludeDays(gap,topPadding,leftPadding,pageWidth,pageHeight,tasks2,diagObj.db.getExcludes(),diagObj.db.getIncludes()),makeGrid(leftPadding,topPadding,pageWidth,pageHeight),drawRects(tasks2,gap,topPadding,leftPadding,barHeight,colorScale,pageWidth),vertLabels(gap,topPadding),drawToday(leftPadding,topPadding,pageWidth,pageHeight)}function drawRects(theArray,theGap,theTopPad,theSidePad,theBarHeight,theColorScale,w2){theArray.sort((a,b)=>a.vert===b.vert?0:a.vert?1:-1);const uniqueTasks=[...new Set(theArray.map(item=>item.order))].map(id2=>theArray.find(item=>item.order===id2));svg.append("g").selectAll("rect").data(uniqueTasks).enter().append("rect").attr("x",0).attr("y",function(d,i){return d.order*theGap+theTopPad-2}).attr("width",function(){return w2-conf.rightPadding/2}).attr("height",theGap).attr("class",function(d){for(const[i,category]of categories.entries())if(d.type===category)return"section section"+i%conf.numberSectionStyles;return"section section0"}).enter();const rectangles=svg.append("g").selectAll("rect").data(theArray).enter(),links2=diagObj.db.getLinks();rectangles.append("rect").attr("id",function(d){return id+"-"+d.id}).attr("rx",3).attr("ry",3).attr("x",function(d){return d.milestone?timeScale(d.startTime)+theSidePad+.5*(timeScale(d.endTime)-timeScale(d.startTime))-.5*theBarHeight:timeScale(d.startTime)+theSidePad}).attr("y",function(d,i){return i=d.order,d.vert?conf.gridLineStartPadding:i*theGap+theTopPad}).attr("width",function(d){return d.milestone?theBarHeight:d.vert?.08*theBarHeight:timeScale(d.renderEndTime||d.endTime)-timeScale(d.startTime)}).attr("height",function(d){return d.vert?taskArray.length*(conf.barHeight+conf.barGap)+2*conf.barHeight:theBarHeight}).attr("transform-origin",function(d,i){return i=d.order,(timeScale(d.startTime)+theSidePad+.5*(timeScale(d.endTime)-timeScale(d.startTime))).toString()+"px "+(i*theGap+theTopPad+.5*theBarHeight).toString()+"px"}).attr("class",function(d){let classStr="";d.classes.length>0&&(classStr=d.classes.join(" "));let secNum=0;for(const[i,category]of categories.entries())d.type===category&&(secNum=i%conf.numberSectionStyles);let taskClass="";return d.active?d.crit?taskClass+=" activeCrit":taskClass=" active":d.done?taskClass=d.crit?" doneCrit":" done":d.crit&&(taskClass+=" crit"),0===taskClass.length&&(taskClass=" task"),d.milestone&&(taskClass=" milestone "+taskClass),d.vert&&(taskClass=" vert "+taskClass),taskClass+=secNum,taskClass+=" "+classStr,"task"+taskClass}),rectangles.append("text").attr("id",function(d){return id+"-"+d.id+"-text"}).text(function(d){return d.task}).attr("font-size",conf.fontSize).attr("x",function(d){let startX=timeScale(d.startTime),endX=timeScale(d.renderEndTime||d.endTime);if(d.milestone&&(startX+=.5*(timeScale(d.endTime)-timeScale(d.startTime))-.5*theBarHeight,endX=startX+theBarHeight),d.vert)return timeScale(d.startTime)+theSidePad;const textWidth=this.getBBox().width;return textWidth>endX-startX?endX+textWidth+1.5*conf.leftPadding>w2?startX+theSidePad-5:endX+theSidePad+5:(endX-startX)/2+startX+theSidePad}).attr("y",function(d,i){return d.vert?conf.gridLineStartPadding+taskArray.length*(conf.barHeight+conf.barGap)+60:d.order*theGap+conf.barHeight/2+(conf.fontSize/2-2)+theTopPad}).attr("text-height",theBarHeight).attr("class",function(d){const startX=timeScale(d.startTime);let endX=timeScale(d.endTime);d.milestone&&(endX=startX+theBarHeight);const textWidth=this.getBBox().width;let classStr="";d.classes.length>0&&(classStr=d.classes.join(" "));let secNum=0;for(const[i,category]of categories.entries())d.type===category&&(secNum=i%conf.numberSectionStyles);let taskType="";return d.active&&(taskType=d.crit?"activeCritText"+secNum:"activeText"+secNum),d.done?taskType=d.crit?taskType+" doneCritText"+secNum:taskType+" doneText"+secNum:d.crit&&(taskType=taskType+" critText"+secNum),d.milestone&&(taskType+=" milestoneText"),d.vert&&(taskType+=" vertText"),textWidth>endX-startX?endX+textWidth+1.5*conf.leftPadding>w2?classStr+" taskTextOutsideLeft taskTextOutside"+secNum+" "+taskType:classStr+" taskTextOutsideRight taskTextOutside"+secNum+" "+taskType+" width-"+textWidth:classStr+" taskText taskText"+secNum+" "+taskType+" width-"+textWidth});if("sandbox"===getConfig2().securityLevel){let sandboxElement2;sandboxElement2=select("#i"+id);const doc2=sandboxElement2.nodes()[0].contentDocument;rectangles.filter(function(d){return links2.has(d.id)}).each(function(o){var taskRect=doc2.querySelector("#"+CSS.escape(id+"-"+o.id)),taskText=doc2.querySelector("#"+CSS.escape(id+"-"+o.id+"-text"));const oldParent=taskRect.parentNode;var Link=doc2.createElement("a");Link.setAttribute("xlink:href",links2.get(o.id)),Link.setAttribute("target","_top"),oldParent.appendChild(Link),Link.appendChild(taskRect),Link.appendChild(taskText)})}}function drawExcludeDays(theGap,theTopPad,theSidePad,w2,h2,tasks2,excludes2,includes2){if(0===excludes2.length&&0===includes2.length)return;let minTime,maxTime;for(const{startTime:startTime,endTime:endTime}of tasks2)(void 0===minTime||startTime<minTime)&&(minTime=startTime),(void 0===maxTime||endTime>maxTime)&&(maxTime=endTime);if(!minTime||!maxTime)return;if(dayjs2(maxTime).diff(dayjs2(minTime),"year")>5)return void log.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const dateFormat2=diagObj.db.getDateFormat(),excludeRanges=[];let range=null,d=dayjs2(minTime);for(;d.valueOf()<=maxTime;)diagObj.db.isInvalidDate(d,dateFormat2,excludes2,includes2)?range?range.end=d:range={start:d,end:d}:range&&(excludeRanges.push(range),range=null),d=d.add(1,"d");svg.append("g").selectAll("rect").data(excludeRanges).enter().append("rect").attr("id",d2=>id+"-exclude-"+d2.start.format("YYYY-MM-DD")).attr("x",d2=>timeScale(d2.start.startOf("day"))+theSidePad).attr("y",conf.gridLineStartPadding).attr("width",d2=>timeScale(d2.end.endOf("day"))-timeScale(d2.start.startOf("day"))).attr("height",h2-theTopPad-conf.gridLineStartPadding).attr("transform-origin",function(d2,i){return(timeScale(d2.start)+theSidePad+.5*(timeScale(d2.end)-timeScale(d2.start))).toString()+"px "+(i*theGap+.5*h2).toString()+"px"}).attr("class","exclude-range")}function getEstimatedTickCount(minTime,maxTime,every,interval){if(every<=0||minTime>maxTime)return 1/0;const timeDiffMs=maxTime-minTime,intervalMs=dayjs2.duration({[interval??"day"]:every}).asMilliseconds();return intervalMs<=0?1/0:Math.ceil(timeDiffMs/intervalMs)}function makeGrid(theSidePad,theTopPad,w2,h2){const dateFormat2=diagObj.db.getDateFormat(),userAxisFormat=diagObj.db.getAxisFormat();let axisFormat2;axisFormat2=userAxisFormat||("D"===dateFormat2?"%d":conf.axisFormat??"%Y-%m-%d");let bottomXAxis=(scale=timeScale,axis(3,scale)).tickSize(-h2+theTopPad+conf.gridLineStartPadding).tickFormat(timeFormat(axisFormat2));var scale;const resultTickInterval=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(diagObj.db.getTickInterval()||conf.tickInterval);if(null!==resultTickInterval){const every=parseInt(resultTickInterval[1],10);if(isNaN(every)||every<=0)log.warn(`Invalid tick interval value: "${resultTickInterval[1]}". Skipping custom tick interval.`);else{const interval=resultTickInterval[2],weekday2=diagObj.db.getWeekday()||conf.weekday,domain=timeScale.domain(),estimatedTicks=getEstimatedTickCount(domain[0],domain[1],every,interval);if(estimatedTicks>1e4)log.warn(`The tick interval "${every}${interval}" would generate ${estimatedTicks} ticks, which exceeds the maximum allowed (10000). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(interval){case"millisecond":bottomXAxis.ticks(millisecond.every(every));break;case"second":bottomXAxis.ticks(second.every(every));break;case"minute":bottomXAxis.ticks(timeMinute.every(every));break;case"hour":bottomXAxis.ticks(timeHour.every(every));break;case"day":bottomXAxis.ticks(timeDay.every(every));break;case"week":bottomXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));break;case"month":bottomXAxis.ticks(timeMonth.every(every))}}}if(svg.append("g").attr("class","grid").attr("transform","translate("+theSidePad+", "+(h2-50)+")").call(bottomXAxis).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),diagObj.db.topAxisEnabled()||conf.topAxis){let topXAxis=function(scale){return axis(1,scale)}(timeScale).tickSize(-h2+theTopPad+conf.gridLineStartPadding).tickFormat(timeFormat(axisFormat2));if(null!==resultTickInterval){const every=parseInt(resultTickInterval[1],10);if(isNaN(every)||every<=0)log.warn(`Invalid tick interval value: "${resultTickInterval[1]}". Skipping custom tick interval.`);else{const interval=resultTickInterval[2],weekday2=diagObj.db.getWeekday()||conf.weekday,domain=timeScale.domain();if(getEstimatedTickCount(domain[0],domain[1],every,interval)<=1e4)switch(interval){case"millisecond":topXAxis.ticks(millisecond.every(every));break;case"second":topXAxis.ticks(second.every(every));break;case"minute":topXAxis.ticks(timeMinute.every(every));break;case"hour":topXAxis.ticks(timeHour.every(every));break;case"day":topXAxis.ticks(timeDay.every(every));break;case"week":topXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));break;case"month":topXAxis.ticks(timeMonth.every(every))}}}svg.append("g").attr("class","grid").attr("transform","translate("+theSidePad+", "+theTopPad+")").call(topXAxis).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function vertLabels(theGap,theTopPad){let prevGap=0;const numOccurrences=Object.keys(categoryHeights).map(d=>[d,categoryHeights[d]]);svg.append("g").selectAll("text").data(numOccurrences).enter().append(function(d){const rows=d[0].split(common_default.lineBreakRegex),dy=-(rows.length-1)/2,svgLabel=doc.createElementNS("http://www.w3.org/2000/svg","text");svgLabel.setAttribute("dy",dy+"em");for(const[j,row]of rows.entries()){const tspan=doc.createElementNS("http://www.w3.org/2000/svg","tspan");tspan.setAttribute("alignment-baseline","central"),tspan.setAttribute("x","10"),j>0&&tspan.setAttribute("dy","1em"),tspan.textContent=row,svgLabel.appendChild(tspan)}return svgLabel}).attr("x",10).attr("y",function(d,i){if(!(i>0))return d[1]*theGap/2+theTopPad;for(let j=0;j<i;j++)return prevGap+=numOccurrences[i-1][1],d[1]*theGap/2+prevGap*theGap+theTopPad}).attr("font-size",conf.sectionFontSize).attr("class",function(d){for(const[i,category]of categories.entries())if(d[0]===category)return"sectionTitle sectionTitle"+i%conf.numberSectionStyles;return"sectionTitle"})}function drawToday(theSidePad,theTopPad,w2,h2){const todayMarker2=diagObj.db.getTodayMarker();if("off"===todayMarker2)return;const todayG=svg.append("g").attr("class","today"),today=new Date,todayLine=todayG.append("line");todayLine.attr("x1",timeScale(today)+theSidePad).attr("x2",timeScale(today)+theSidePad).attr("y1",conf.titleTopMargin).attr("y2",h2-conf.titleTopMargin).attr("class","today"),""!==todayMarker2&&todayLine.attr("style",todayMarker2.replace(/,/g,";"))}function checkUnique(arr){const hash={},result=[];for(let i=0,l=arr.length;i<l;++i)Object.prototype.hasOwnProperty.call(hash,arr[i])||(hash[arr[i]]=!0,result.push(arr[i]));return result}__name(taskCompare,"taskCompare"),taskArray.sort(taskCompare),makeGantt(taskArray,w,h),configureSvgSize(svg,h,w,conf.useMaxWidth),svg.append("text").text(diagObj.db.getDiagramTitle()).attr("x",w/2).attr("y",conf.titleTopMargin).attr("class","titleText"),__name(makeGantt,"makeGantt"),__name(drawRects,"drawRects"),__name(drawExcludeDays,"drawExcludeDays"),__name(getEstimatedTickCount,"getEstimatedTickCount"),__name(makeGrid,"makeGrid"),__name(vertLabels,"vertLabels"),__name(drawToday,"drawToday"),__name(checkUnique,"checkUnique")},"draw")},styles:__name(options=>`\n .mermaid-main-font {\n font-family: ${options.fontFamily};\n }\n\n .exclude-range {\n fill: ${options.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${options.sectionBkgColor};\n }\n\n .section2 {\n fill: ${options.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${options.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${options.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${options.fontFamily};\n fill: ${options.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${options.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideRight {\n fill: ${options.taskTextDarkColor};\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideLeft {\n fill: ${options.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${options.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${options.taskBkgColor};\n stroke: ${options.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${options.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${options.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${options.activeTaskBkgColor};\n stroke: ${options.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${options.doneTaskBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n /* Done task text displayed outside the bar sits against the diagram background,\n not against the done-task bar, so it must use the outside/contrast color. */\n .doneText0.taskTextOutsideLeft,\n .doneText0.taskTextOutsideRight,\n .doneText1.taskTextOutsideLeft,\n .doneText1.taskTextOutsideRight,\n .doneText2.taskTextOutsideLeft,\n .doneText2.taskTextOutsideRight,\n .doneText3.taskTextOutsideLeft,\n .doneText3.taskTextOutsideRight {\n fill: ${options.taskTextOutsideColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n /* Done-crit task text outside the bar — same reasoning as doneText above. */\n .doneCritText0.taskTextOutsideLeft,\n .doneCritText0.taskTextOutsideRight,\n .doneCritText1.taskTextOutsideLeft,\n .doneCritText1.taskTextOutsideRight,\n .doneCritText2.taskTextOutsideLeft,\n .doneCritText2.taskTextOutsideRight,\n .doneCritText3.taskTextOutsideLeft,\n .doneCritText3.taskTextOutsideRight {\n fill: ${options.taskTextOutsideColor} !important;\n }\n\n .vert {\n stroke: ${options.vertLineColor};\n }\n\n .vertText {\n font-size: 15px;\n text-anchor: middle;\n fill: ${options.vertLineColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.titleColor||options.textColor};\n font-family: ${options.fontFamily};\n }\n`,"getStyles")};export{diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as populateCommonDb}from"./chunk-4BX2VUAB-DnFoMzQG.js";import{I as ImperativeState}from"./chunk-QZHKN3VN-C0KVKecr.js";import{q as getDiagramTitle,p as setDiagramTitle,s as setAccDescription,g as getAccDescription,a as getAccTitle,b as setAccTitle,_ as __name,C as getConfig,l as log,d as select,c as getConfig2,u as utils_default,D as setupGraphViewbox2,y as clear,k as common_default,E as cleanAndMerge,F as defaultConfig_default,G as random}from"./mermaid.core-DvwEdatr.js";import{p as parse}from"./wardley-RL74JXVD-BFcIn2-Q.js";import"./vendor-mdxeditor-Cy5Xg_90.js";import"./vendor-antd-BTBRwbax.js";import"./vendor-virtuoso-Bq6QMhgG.js";import"./vendor-codemirror-CPWlhuQ1.js";import"./vendor-markdown-DOJHsAxX.js";import"./min-DFik8k4L.js";import"./_baseUniq-C2FCldN4.js";var commitType={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},DEFAULT_GITGRAPH_CONFIG=defaultConfig_default.gitGraph,getConfig3=__name(()=>cleanAndMerge({...DEFAULT_GITGRAPH_CONFIG,...getConfig().gitGraph}),"getConfig"),state=new ImperativeState(()=>{const config=getConfig3(),mainBranchName=config.mainBranchName,mainBranchOrder=config.mainBranchOrder;return{mainBranchName:mainBranchName,commits:new Map,head:null,branchConfig:new Map([[mainBranchName,{name:mainBranchName,order:mainBranchOrder}]]),branches:new Map([[mainBranchName,null]]),currBranch:mainBranchName,direction:"LR",seq:0,options:{}}});function getID(){return random({length:7})}function uniqBy(list,fn){const recordMap=Object.create(null);return list.reduce((out,item)=>{const key=fn(item);return recordMap[key]||(recordMap[key]=!0,out.push(item)),out},[])}__name(getID,"getID"),__name(uniqBy,"uniqBy");var setDirection=__name(function(dir2){state.records.direction=dir2},"setDirection"),setOptions=__name(function(rawOptString){log.debug("options str",rawOptString),rawOptString=(rawOptString=null==rawOptString?void 0:rawOptString.trim())||"{}";try{state.records.options=JSON.parse(rawOptString)}catch(e){log.error("error while parsing gitGraph options",e.message)}},"setOptions"),getOptions=__name(function(){return state.records.options},"getOptions"),commit=__name(function(commitDB){let msg=commitDB.msg,id=commitDB.id;const type=commitDB.type;let tags=commitDB.tags;log.info("commit",msg,id,type,tags),log.debug("Entering commit:",msg,id,type,tags);const config=getConfig3();id=common_default.sanitizeText(id,config),msg=common_default.sanitizeText(msg,config),tags=null==tags?void 0:tags.map(tag=>common_default.sanitizeText(tag,config));const newCommit={id:id||state.records.seq+"-"+getID(),message:msg,seq:state.records.seq++,type:type??commitType.NORMAL,tags:tags??[],parents:null==state.records.head?[]:[state.records.head.id],branch:state.records.currBranch};state.records.head=newCommit,log.info("main branch",config.mainBranchName),state.records.commits.has(newCommit.id)&&log.warn(`Commit ID ${newCommit.id} already exists`),state.records.commits.set(newCommit.id,newCommit),state.records.branches.set(state.records.currBranch,newCommit.id),log.debug("in pushCommit "+newCommit.id)},"commit"),branch=__name(function(branchDB){let name=branchDB.name;const order=branchDB.order;if(name=common_default.sanitizeText(name,getConfig3()),state.records.branches.has(name))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${name}")`);state.records.branches.set(name,null!=state.records.head?state.records.head.id:null),state.records.branchConfig.set(name,{name:name,order:order}),checkout(name),log.debug("in createBranch")},"branch"),merge=__name(mergeDB=>{let otherBranch=mergeDB.branch,customId=mergeDB.id;const overrideType=mergeDB.type,customTags=mergeDB.tags,config=getConfig3();otherBranch=common_default.sanitizeText(otherBranch,config),customId&&(customId=common_default.sanitizeText(customId,config));const currentBranchCheck=state.records.branches.get(state.records.currBranch),otherBranchCheck=state.records.branches.get(otherBranch),currentCommit=currentBranchCheck?state.records.commits.get(currentBranchCheck):void 0,otherCommit=otherBranchCheck?state.records.commits.get(otherBranchCheck):void 0;if(currentCommit&&otherCommit&¤tCommit.branch===otherBranch)throw new Error(`Cannot merge branch '${otherBranch}' into itself.`);if(state.records.currBranch===otherBranch){const error=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw error.hash={text:`merge ${otherBranch}`,token:`merge ${otherBranch}`,expected:["branch abc"]},error}if(void 0===currentCommit||!currentCommit){const error=new Error(`Incorrect usage of "merge". Current branch (${state.records.currBranch})has no commits`);throw error.hash={text:`merge ${otherBranch}`,token:`merge ${otherBranch}`,expected:["commit"]},error}if(!state.records.branches.has(otherBranch)){const error=new Error('Incorrect usage of "merge". Branch to be merged ('+otherBranch+") does not exist");throw error.hash={text:`merge ${otherBranch}`,token:`merge ${otherBranch}`,expected:[`branch ${otherBranch}`]},error}if(void 0===otherCommit||!otherCommit){const error=new Error('Incorrect usage of "merge". Branch to be merged ('+otherBranch+") has no commits");throw error.hash={text:`merge ${otherBranch}`,token:`merge ${otherBranch}`,expected:['"commit"']},error}if(currentCommit===otherCommit){const error=new Error('Incorrect usage of "merge". Both branches have same head');throw error.hash={text:`merge ${otherBranch}`,token:`merge ${otherBranch}`,expected:["branch abc"]},error}if(customId&&state.records.commits.has(customId)){const error=new Error('Incorrect usage of "merge". Commit with id:'+customId+" already exists, use different custom id");throw error.hash={text:`merge ${otherBranch} ${customId} ${overrideType} ${null==customTags?void 0:customTags.join(" ")}`,token:`merge ${otherBranch} ${customId} ${overrideType} ${null==customTags?void 0:customTags.join(" ")}`,expected:[`merge ${otherBranch} ${customId}_UNIQUE ${overrideType} ${null==customTags?void 0:customTags.join(" ")}`]},error}const verifiedBranch=otherBranchCheck||"",commit2={id:customId||`${state.records.seq}-${getID()}`,message:`merged branch ${otherBranch} into ${state.records.currBranch}`,seq:state.records.seq++,parents:null==state.records.head?[]:[state.records.head.id,verifiedBranch],branch:state.records.currBranch,type:commitType.MERGE,customType:overrideType,customId:!!customId,tags:customTags??[]};state.records.head=commit2,state.records.commits.set(commit2.id,commit2),state.records.branches.set(state.records.currBranch,commit2.id),log.debug(state.records.branches),log.debug("in mergeBranch")},"merge"),cherryPick=__name(function(cherryPickDB){let sourceId=cherryPickDB.id,targetId=cherryPickDB.targetId,tags=cherryPickDB.tags,parentCommitId=cherryPickDB.parent;log.debug("Entering cherryPick:",sourceId,targetId,tags);const config=getConfig3();if(sourceId=common_default.sanitizeText(sourceId,config),targetId=common_default.sanitizeText(targetId,config),tags=null==tags?void 0:tags.map(tag=>common_default.sanitizeText(tag,config)),parentCommitId=common_default.sanitizeText(parentCommitId,config),!sourceId||!state.records.commits.has(sourceId)){const error=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw error.hash={text:`cherryPick ${sourceId} ${targetId}`,token:`cherryPick ${sourceId} ${targetId}`,expected:["cherry-pick abc"]},error}const sourceCommit=state.records.commits.get(sourceId);if(void 0===sourceCommit||!sourceCommit)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(parentCommitId&&(!Array.isArray(sourceCommit.parents)||!sourceCommit.parents.includes(parentCommitId))){throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.")}const sourceCommitBranch=sourceCommit.branch;if(sourceCommit.type===commitType.MERGE&&!parentCommitId){throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.")}if(!targetId||!state.records.commits.has(targetId)){if(sourceCommitBranch===state.records.currBranch){const error=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw error.hash={text:`cherryPick ${sourceId} ${targetId}`,token:`cherryPick ${sourceId} ${targetId}`,expected:["cherry-pick abc"]},error}const currentCommitId=state.records.branches.get(state.records.currBranch);if(void 0===currentCommitId||!currentCommitId){const error=new Error(`Incorrect usage of "cherry-pick". Current branch (${state.records.currBranch})has no commits`);throw error.hash={text:`cherryPick ${sourceId} ${targetId}`,token:`cherryPick ${sourceId} ${targetId}`,expected:["cherry-pick abc"]},error}const currentCommit=state.records.commits.get(currentCommitId);if(void 0===currentCommit||!currentCommit){const error=new Error(`Incorrect usage of "cherry-pick". Current branch (${state.records.currBranch})has no commits`);throw error.hash={text:`cherryPick ${sourceId} ${targetId}`,token:`cherryPick ${sourceId} ${targetId}`,expected:["cherry-pick abc"]},error}const commit2={id:state.records.seq+"-"+getID(),message:`cherry-picked ${null==sourceCommit?void 0:sourceCommit.message} into ${state.records.currBranch}`,seq:state.records.seq++,parents:null==state.records.head?[]:[state.records.head.id,sourceCommit.id],branch:state.records.currBranch,type:commitType.CHERRY_PICK,tags:tags?tags.filter(Boolean):[`cherry-pick:${sourceCommit.id}${sourceCommit.type===commitType.MERGE?`|parent:${parentCommitId}`:""}`]};state.records.head=commit2,state.records.commits.set(commit2.id,commit2),state.records.branches.set(state.records.currBranch,commit2.id),log.debug(state.records.branches),log.debug("in cherryPick")}},"cherryPick"),checkout=__name(function(branch2){if(branch2=common_default.sanitizeText(branch2,getConfig3()),!state.records.branches.has(branch2)){const error=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${branch2}")`);throw error.hash={text:`checkout ${branch2}`,token:`checkout ${branch2}`,expected:[`branch ${branch2}`]},error}{state.records.currBranch=branch2;const id=state.records.branches.get(state.records.currBranch);state.records.head=void 0!==id&&id?state.records.commits.get(id)??null:null}},"checkout");function upsert(arr,key,newVal){const index=arr.indexOf(key);-1===index?arr.push(newVal):arr.splice(index,1,newVal)}function prettyPrintCommitHistory(commitArr){const commit2=commitArr.reduce((out,commit3)=>out.seq>commit3.seq?out:commit3,commitArr[0]);let line="";commitArr.forEach(function(c){line+=c===commit2?"\t*":"\t|"});const label=[line,commit2.id,commit2.seq];for(const branch2 in state.records.branches)state.records.branches.get(branch2)===commit2.id&&label.push(branch2);if(log.debug(label.join(" ")),commit2.parents&&2==commit2.parents.length&&commit2.parents[0]&&commit2.parents[1]){const newCommit=state.records.commits.get(commit2.parents[0]);upsert(commitArr,commit2,newCommit),commit2.parents[1]&&commitArr.push(state.records.commits.get(commit2.parents[1]))}else{if(0==commit2.parents.length)return;if(commit2.parents[0]){const newCommit=state.records.commits.get(commit2.parents[0]);upsert(commitArr,commit2,newCommit)}}prettyPrintCommitHistory(commitArr=uniqBy(commitArr,c=>c.id))}__name(upsert,"upsert"),__name(prettyPrintCommitHistory,"prettyPrintCommitHistory");var prettyPrint=__name(function(){log.debug(state.records.commits);prettyPrintCommitHistory([getCommitsArray()[0]])},"prettyPrint"),clear2=__name(function(){state.reset(),clear()},"clear"),getBranchesAsObjArray=__name(function(){return[...state.records.branchConfig.values()].map((branchConfig,i)=>null!==branchConfig.order&&void 0!==branchConfig.order?branchConfig:{...branchConfig,order:parseFloat(`0.${i}`)}).sort((a,b)=>(a.order??0)-(b.order??0)).map(({name:name})=>({name:name}))},"getBranchesAsObjArray"),getBranches=__name(function(){return state.records.branches},"getBranches"),getCommits=__name(function(){return state.records.commits},"getCommits"),getCommitsArray=__name(function(){const commitArr=[...state.records.commits.values()];return commitArr.forEach(function(o){log.debug(o.id)}),commitArr.sort((a,b)=>a.seq-b.seq),commitArr},"getCommitsArray"),db={commitType:commitType,getConfig:getConfig3,setDirection:setDirection,setOptions:setOptions,getOptions:getOptions,commit:commit,branch:branch,merge:merge,cherryPick:cherryPick,checkout:checkout,prettyPrint:prettyPrint,clear:clear2,getBranchesAsObjArray:getBranchesAsObjArray,getBranches:getBranches,getCommits:getCommits,getCommitsArray:getCommitsArray,getCurrentBranch:__name(function(){return state.records.currBranch},"getCurrentBranch"),getDirection:__name(function(){return state.records.direction},"getDirection"),getHead:__name(function(){return state.records.head},"getHead"),setAccTitle:setAccTitle,getAccTitle:getAccTitle,getAccDescription:getAccDescription,setAccDescription:setAccDescription,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle},populate=__name((ast,db2)=>{populateCommonDb(ast,db2),ast.dir&&db2.setDirection(ast.dir);for(const statement of ast.statements)parseStatement(statement,db2)},"populate"),parseStatement=__name((statement,db2)=>{const parser2={Commit:__name(stmt=>db2.commit(parseCommit(stmt)),"Commit"),Branch:__name(stmt=>db2.branch(parseBranch(stmt)),"Branch"),Merge:__name(stmt=>db2.merge(parseMerge(stmt)),"Merge"),Checkout:__name(stmt=>db2.checkout(parseCheckout(stmt)),"Checkout"),CherryPicking:__name(stmt=>db2.cherryPick(parseCherryPicking(stmt)),"CherryPicking")}[statement.$type];parser2?parser2(statement):log.error(`Unknown statement type: ${statement.$type}`)},"parseStatement"),parseCommit=__name(commit2=>({id:commit2.id,msg:commit2.message??"",type:void 0!==commit2.type?commitType[commit2.type]:commitType.NORMAL,tags:commit2.tags??void 0}),"parseCommit"),parseBranch=__name(branch2=>({name:branch2.name,order:branch2.order??0}),"parseBranch"),parseMerge=__name(merge2=>({branch:merge2.branch,id:merge2.id??"",type:void 0!==merge2.type?commitType[merge2.type]:void 0,tags:merge2.tags??void 0}),"parseMerge"),parseCheckout=__name(checkout2=>checkout2.branch,"parseCheckout"),parseCherryPicking=__name(cherryPicking=>{var _a;return{id:cherryPicking.id,targetId:"",tags:0===(null==(_a=cherryPicking.tags)?void 0:_a.length)?void 0:cherryPicking.tags,parent:cherryPicking.parent}},"parseCherryPicking"),parser={parse:__name(async input=>{const ast=await parse("gitGraph",input);log.debug(ast),populate(ast,db)},"parse")},REDUX_GEOMETRY_THEMES=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),COLOR_THEMES=new Set(["redux-color","redux-dark-color"]),DARK_THEMES=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),calcColorIndex=__name((rawIndex,limit,avoidDefaultColor=!1)=>avoidDefaultColor&&rawIndex>0?(rawIndex-1)%(limit-1)+1:rawIndex%limit,"calcColorIndex"),branchPos=new Map,commitPos=new Map,allCommitsDict=new Map,lanes=[],maxPos=0,dir="LR",clear3=__name(()=>{branchPos.clear(),commitPos.clear(),allCommitsDict.clear(),maxPos=0,lanes=[],dir="LR"},"clear"),drawText=__name(txt=>{const svgLabel=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof txt?txt.split(/\\n|\n|<br\s*\/?>/gi):txt).forEach(row=>{const tspan=document.createElementNS("http://www.w3.org/2000/svg","tspan");tspan.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),tspan.setAttribute("dy","1em"),tspan.setAttribute("x","0"),tspan.setAttribute("class","row"),tspan.textContent=row.trim(),svgLabel.appendChild(tspan)}),svgLabel},"drawText"),findClosestParent=__name(parents=>{let closestParent,comparisonFunc,targetPosition;return"BT"===dir?(comparisonFunc=__name((a,b)=>a<=b,"comparisonFunc"),targetPosition=1/0):(comparisonFunc=__name((a,b)=>a>=b,"comparisonFunc"),targetPosition=0),parents.forEach(parent=>{var _a,_b;const parentPosition="TB"===dir||"BT"==dir?null==(_a=commitPos.get(parent))?void 0:_a.y:null==(_b=commitPos.get(parent))?void 0:_b.x;void 0!==parentPosition&&comparisonFunc(parentPosition,targetPosition)&&(closestParent=parent,targetPosition=parentPosition)}),closestParent},"findClosestParent"),findClosestParentBT=__name(parents=>{let closestParent="",maxPosition=1/0;return parents.forEach(parent=>{const parentPosition=commitPos.get(parent).y;parentPosition<=maxPosition&&(closestParent=parent,maxPosition=parentPosition)}),closestParent||void 0},"findClosestParentBT"),setParallelBTPos=__name((sortedKeys,commits,defaultPos2)=>{let curPos=defaultPos2,maxPosition=defaultPos2;const roots=[];sortedKeys.forEach(key=>{const commit2=commits.get(key);if(!commit2)throw new Error(`Commit not found for key ${key}`);commit2.parents.length?(curPos=calculateCommitPosition(commit2),maxPosition=Math.max(curPos,maxPosition)):roots.push(commit2),setCommitPosition(commit2,curPos)}),curPos=maxPosition,roots.forEach(commit2=>{setRootPosition(commit2,curPos,defaultPos2)}),sortedKeys.forEach(key=>{const commit2=commits.get(key);if(null==commit2?void 0:commit2.parents.length){const closestParent=findClosestParentBT(commit2.parents);curPos=commitPos.get(closestParent).y-40,curPos<=maxPosition&&(maxPosition=curPos);const x=branchPos.get(commit2.branch).pos,y=curPos-10;commitPos.set(commit2.id,{x:x,y:y})}})},"setParallelBTPos"),findClosestParentPos=__name(commit2=>{var _a;const closestParent=findClosestParent(commit2.parents.filter(p=>null!==p));if(!closestParent)throw new Error(`Closest parent not found for commit ${commit2.id}`);const closestParentPos=null==(_a=commitPos.get(closestParent))?void 0:_a.y;if(void 0===closestParentPos)throw new Error(`Closest parent position not found for commit ${commit2.id}`);return closestParentPos},"findClosestParentPos"),calculateCommitPosition=__name(commit2=>findClosestParentPos(commit2)+40,"calculateCommitPosition"),setCommitPosition=__name((commit2,curPos)=>{const branch2=branchPos.get(commit2.branch);if(!branch2)throw new Error(`Branch not found for commit ${commit2.id}`);const x=branch2.pos,y=curPos+10;return commitPos.set(commit2.id,{x:x,y:y}),{x:x,y:y}},"setCommitPosition"),setRootPosition=__name((commit2,curPos,defaultPos2)=>{const branch2=branchPos.get(commit2.branch);if(!branch2)throw new Error(`Branch not found for commit ${commit2.id}`);const y=curPos+defaultPos2,x=branch2.pos;commitPos.set(commit2.id,{x:x,y:y})},"setRootPosition"),drawCommitBullet=__name((gBullets,commit2,commitPosition,typeClass,branchIndex,commitSymbolType)=>{const{theme:theme}=getConfig2(),useReduxGeometry=REDUX_GEOMETRY_THEMES.has(theme??""),useColorTheme=COLOR_THEMES.has(theme??""),isDark=DARK_THEMES.has(theme??"");if(commitSymbolType===commitType.HIGHLIGHT)gBullets.append("rect").attr("x",commitPosition.x-10+(useReduxGeometry?3:0)).attr("y",commitPosition.y-10+(useReduxGeometry?3:0)).attr("width",useReduxGeometry?14:20).attr("height",useReduxGeometry?14:20).attr("class",`commit ${commit2.id} commit-highlight${calcColorIndex(branchIndex,8,useColorTheme)} ${typeClass}-outer`),gBullets.append("rect").attr("x",commitPosition.x-6+(useReduxGeometry?2:0)).attr("y",commitPosition.y-6+(useReduxGeometry?2:0)).attr("width",useReduxGeometry?8:12).attr("height",useReduxGeometry?8:12).attr("class",`commit ${commit2.id} commit${calcColorIndex(branchIndex,8,useColorTheme)} ${typeClass}-inner`);else if(commitSymbolType===commitType.CHERRY_PICK)gBullets.append("circle").attr("cx",commitPosition.x).attr("cy",commitPosition.y).attr("r",useReduxGeometry?7:10).attr("class",`commit ${commit2.id} ${typeClass}`),gBullets.append("circle").attr("cx",commitPosition.x-3).attr("cy",commitPosition.y+2).attr("r",useReduxGeometry?2.5:2.75).attr("fill",isDark?"#000000":"#fff").attr("class",`commit ${commit2.id} ${typeClass}`),gBullets.append("circle").attr("cx",commitPosition.x+3).attr("cy",commitPosition.y+2).attr("r",useReduxGeometry?2.5:2.75).attr("fill",isDark?"#000000":"#fff").attr("class",`commit ${commit2.id} ${typeClass}`),gBullets.append("line").attr("x1",commitPosition.x+3).attr("y1",commitPosition.y+1).attr("x2",commitPosition.x).attr("y2",commitPosition.y-5).attr("stroke",isDark?"#000000":"#fff").attr("class",`commit ${commit2.id} ${typeClass}`),gBullets.append("line").attr("x1",commitPosition.x-3).attr("y1",commitPosition.y+1).attr("x2",commitPosition.x).attr("y2",commitPosition.y-5).attr("stroke",isDark?"#000000":"#fff").attr("class",`commit ${commit2.id} ${typeClass}`);else{const circle=gBullets.append("circle");if(circle.attr("cx",commitPosition.x),circle.attr("cy",commitPosition.y),circle.attr("r",useReduxGeometry?7:10),circle.attr("class",`commit ${commit2.id} commit${calcColorIndex(branchIndex,8,useColorTheme)}`),commitSymbolType===commitType.MERGE){const circle2=gBullets.append("circle");circle2.attr("cx",commitPosition.x),circle2.attr("cy",commitPosition.y),circle2.attr("r",useReduxGeometry?5:6),circle2.attr("class",`commit ${typeClass} ${commit2.id} commit${calcColorIndex(branchIndex,8,useColorTheme)}`)}if(commitSymbolType===commitType.REVERSE){const constValue=useReduxGeometry?4:5;gBullets.append("path").attr("d",`M ${commitPosition.x-constValue},${commitPosition.y-constValue}L${commitPosition.x+constValue},${commitPosition.y+constValue}M${commitPosition.x-constValue},${commitPosition.y+constValue}L${commitPosition.x+constValue},${commitPosition.y-constValue}`).attr("class",`commit ${typeClass} ${commit2.id} commit${calcColorIndex(branchIndex,8,useColorTheme)}`)}}},"drawCommitBullet"),drawCommitLabel=__name((gLabels,commit2,commitPosition,pos,gitGraphConfig)=>{var _a;if(commit2.type!==commitType.CHERRY_PICK&&(commit2.customId&&commit2.type===commitType.MERGE||commit2.type!==commitType.MERGE)&&gitGraphConfig.showCommitLabel){const wrapper=gLabels.append("g"),labelBkg=wrapper.insert("rect").attr("class","commit-label-bkg"),text=wrapper.append("text").attr("x",pos).attr("y",commitPosition.y+25).attr("class","commit-label").text(commit2.id),bbox=null==(_a=text.node())?void 0:_a.getBBox();if(bbox&&(labelBkg.attr("x",commitPosition.posWithOffset-bbox.width/2-2).attr("y",commitPosition.y+13.5).attr("width",bbox.width+4).attr("height",bbox.height+4),"TB"===dir||"BT"===dir?(labelBkg.attr("x",commitPosition.x-(bbox.width+16+5)).attr("y",commitPosition.y-12),text.attr("x",commitPosition.x-(bbox.width+16)).attr("y",commitPosition.y+bbox.height-12)):text.attr("x",commitPosition.posWithOffset-bbox.width/2),gitGraphConfig.rotateCommitLabel))if("TB"===dir||"BT"===dir)text.attr("transform","rotate(-45, "+commitPosition.x+", "+commitPosition.y+")"),labelBkg.attr("transform","rotate(-45, "+commitPosition.x+", "+commitPosition.y+")");else{const r_x=-7.5-(bbox.width+10)/25*9.5,r_y=10+bbox.width/25*8.5;wrapper.attr("transform","translate("+r_x+", "+r_y+") rotate(-45, "+pos+", "+commitPosition.y+")")}}},"drawCommitLabel"),drawCommitTags=__name((gLabels,commit2,commitPosition,pos)=>{var _a;if(commit2.tags.length>0){let yOffset=0,maxTagBboxWidth=0,maxTagBboxHeight=0;const tagElements=[];for(const tagValue of commit2.tags.reverse()){const rect=gLabels.insert("polygon"),hole=gLabels.append("circle"),tag=gLabels.append("text").attr("y",commitPosition.y-16-yOffset).attr("class","tag-label").text(tagValue),tagBbox=null==(_a=tag.node())?void 0:_a.getBBox();if(!tagBbox)throw new Error("Tag bbox not found");maxTagBboxWidth=Math.max(maxTagBboxWidth,tagBbox.width),maxTagBboxHeight=Math.max(maxTagBboxHeight,tagBbox.height),tag.attr("x",commitPosition.posWithOffset-tagBbox.width/2),tagElements.push({tag:tag,hole:hole,rect:rect,yOffset:yOffset}),yOffset+=20}for(const{tag:tag,hole:hole,rect:rect,yOffset:yOffset2}of tagElements){const h2=maxTagBboxHeight/2,ly=commitPosition.y-19.2-yOffset2;if(rect.attr("class","tag-label-bkg").attr("points",`\n ${pos-maxTagBboxWidth/2-2},${ly+2} \n ${pos-maxTagBboxWidth/2-2},${ly-2}\n ${commitPosition.posWithOffset-maxTagBboxWidth/2-4},${ly-h2-2}\n ${commitPosition.posWithOffset+maxTagBboxWidth/2+4},${ly-h2-2}\n ${commitPosition.posWithOffset+maxTagBboxWidth/2+4},${ly+h2+2}\n ${commitPosition.posWithOffset-maxTagBboxWidth/2-4},${ly+h2+2}`),hole.attr("cy",ly).attr("cx",pos-maxTagBboxWidth/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===dir||"BT"===dir){const yOrigin=pos+yOffset2;rect.attr("class","tag-label-bkg").attr("points",`\n ${commitPosition.x},${yOrigin+2}\n ${commitPosition.x},${yOrigin-2}\n ${commitPosition.x+10},${yOrigin-h2-2}\n ${commitPosition.x+10+maxTagBboxWidth+4},${yOrigin-h2-2}\n ${commitPosition.x+10+maxTagBboxWidth+4},${yOrigin+h2+2}\n ${commitPosition.x+10},${yOrigin+h2+2}`).attr("transform","translate(12,12) rotate(45, "+commitPosition.x+","+pos+")"),hole.attr("cx",commitPosition.x+2).attr("cy",yOrigin).attr("transform","translate(12,12) rotate(45, "+commitPosition.x+","+pos+")"),tag.attr("x",commitPosition.x+5).attr("y",yOrigin+3).attr("transform","translate(14,14) rotate(45, "+commitPosition.x+","+pos+")")}}}},"drawCommitTags"),getCommitClassType=__name(commit2=>{switch(commit2.customType??commit2.type){case commitType.NORMAL:return"commit-normal";case commitType.REVERSE:return"commit-reverse";case commitType.HIGHLIGHT:return"commit-highlight";case commitType.MERGE:return"commit-merge";case commitType.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),calculatePosition=__name((commit2,dir2,pos,commitPos2)=>{const defaultCommitPosition={x:0,y:0};if(!(commit2.parents.length>0)){if("TB"===dir2)return 30;if("BT"===dir2){return(commitPos2.get(commit2.id)??defaultCommitPosition).y-40}return 0}{const closestParent=findClosestParent(commit2.parents);if(closestParent){const parentPosition=commitPos2.get(closestParent)??defaultCommitPosition;if("TB"===dir2)return parentPosition.y+40;if("BT"===dir2){return(commitPos2.get(commit2.id)??defaultCommitPosition).y-40}return parentPosition.x+40}}return 0},"calculatePosition"),getCommitPosition=__name((commit2,pos,isParallelCommits)=>{var _a,_b;const posWithOffset="BT"===dir&&isParallelCommits?pos:pos+10,branchY=null==(_a=branchPos.get(commit2.branch))?void 0:_a.pos,x="TB"===dir||"BT"===dir?null==(_b=branchPos.get(commit2.branch))?void 0:_b.pos:posWithOffset;if(void 0===x||void 0===branchY)throw new Error(`Position were undefined for commit ${commit2.id}`);const useReduxGeometry=REDUX_GEOMETRY_THEMES.has(getConfig2().theme??"");return{x:x,y:"TB"===dir||"BT"===dir?posWithOffset:branchY+(useReduxGeometry?7:-2),posWithOffset:posWithOffset}},"getCommitPosition"),drawCommits=__name((svg,commits,modifyGraph,gitGraphConfig)=>{const gBullets=svg.append("g").attr("class","commit-bullets"),gLabels=svg.append("g").attr("class","commit-labels");let pos="TB"===dir||"BT"===dir?30:0;const keys=[...commits.keys()],isParallelCommits=gitGraphConfig.parallelCommits??!1,sortKeys=__name((a,b)=>{var _a,_b;const seqA=null==(_a=commits.get(a))?void 0:_a.seq,seqB=null==(_b=commits.get(b))?void 0:_b.seq;return void 0!==seqA&&void 0!==seqB?seqA-seqB:0},"sortKeys");let sortedKeys=keys.sort(sortKeys);"BT"===dir&&(isParallelCommits&&setParallelBTPos(sortedKeys,commits,pos),sortedKeys=sortedKeys.reverse()),sortedKeys.forEach(key=>{var _a;const commit2=commits.get(key);if(!commit2)throw new Error(`Commit not found for key ${key}`);isParallelCommits&&(pos=calculatePosition(commit2,dir,pos,commitPos));const commitPosition=getCommitPosition(commit2,pos,isParallelCommits);if(modifyGraph){const typeClass=getCommitClassType(commit2),commitSymbolType=commit2.customType??commit2.type,branchIndex=(null==(_a=branchPos.get(commit2.branch))?void 0:_a.index)??0;drawCommitBullet(gBullets,commit2,commitPosition,typeClass,branchIndex,commitSymbolType),drawCommitLabel(gLabels,commit2,commitPosition,pos,gitGraphConfig),drawCommitTags(gLabels,commit2,commitPosition,pos)}"TB"===dir||"BT"===dir?commitPos.set(commit2.id,{x:commitPosition.x,y:commitPosition.posWithOffset}):commitPos.set(commit2.id,{x:commitPosition.posWithOffset,y:commitPosition.y}),pos="BT"===dir&&isParallelCommits?pos+40:pos+40+10,pos>maxPos&&(maxPos=pos)})},"drawCommits"),shouldRerouteArrow=__name((commitA,commitB,p1,p2,allCommits)=>{const branchToGetCurve=("TB"===dir||"BT"===dir?p1.x<p2.x:p1.y<p2.y)?commitB.branch:commitA.branch,isOnBranchToGetCurve=__name(x=>x.branch===branchToGetCurve,"isOnBranchToGetCurve"),isBetweenCommits=__name(x=>x.seq>commitA.seq&&x.seq<commitB.seq,"isBetweenCommits");return[...allCommits.values()].some(commitX=>isBetweenCommits(commitX)&&isOnBranchToGetCurve(commitX))},"shouldRerouteArrow"),findLane=__name((y1,y2,depth=0)=>{const candidate=y1+Math.abs(y1-y2)/2;if(depth>5)return candidate;if(lanes.every(lane=>Math.abs(lane-candidate)>=10))return lanes.push(candidate),candidate;const diff=Math.abs(y1-y2);return findLane(y1,y2-diff/5,depth+1)},"findLane"),drawArrow=__name((svg,commitA,commitB,allCommits)=>{var _a,_b,_c,_d,_e;const{theme:arrowTheme}=getConfig2(),useColorTheme=COLOR_THEMES.has(arrowTheme??""),p1=commitPos.get(commitA.id),p2=commitPos.get(commitB.id);if(void 0===p1||void 0===p2)throw new Error(`Commit positions not found for commits ${commitA.id} and ${commitB.id}`);const arrowNeedsRerouting=shouldRerouteArrow(commitA,commitB,p1,p2,allCommits);let lineDef,arc="",arc2="",radius=0,offset=0,colorClassNum=null==(_a=branchPos.get(commitB.branch))?void 0:_a.index;if(commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]&&(colorClassNum=null==(_b=branchPos.get(commitA.branch))?void 0:_b.index),arrowNeedsRerouting){arc="A 10 10, 0, 0, 0,",arc2="A 10 10, 0, 0, 1,",radius=10,offset=10;const lineY=p1.y<p2.y?findLane(p1.y,p2.y):findLane(p2.y,p1.y),lineX=p1.x<p2.x?findLane(p1.x,p2.x):findLane(p2.x,p1.x);"TB"===dir?p1.x<p2.x?lineDef=`M ${p1.x} ${p1.y} L ${lineX-radius} ${p1.y} ${arc2} ${lineX} ${p1.y+offset} L ${lineX} ${p2.y-radius} ${arc} ${lineX+offset} ${p2.y} L ${p2.x} ${p2.y}`:(colorClassNum=null==(_c=branchPos.get(commitA.branch))?void 0:_c.index,lineDef=`M ${p1.x} ${p1.y} L ${lineX+radius} ${p1.y} ${arc} ${lineX} ${p1.y+offset} L ${lineX} ${p2.y-radius} ${arc2} ${lineX-offset} ${p2.y} L ${p2.x} ${p2.y}`):"BT"===dir?p1.x<p2.x?lineDef=`M ${p1.x} ${p1.y} L ${lineX-radius} ${p1.y} ${arc} ${lineX} ${p1.y-offset} L ${lineX} ${p2.y+radius} ${arc2} ${lineX+offset} ${p2.y} L ${p2.x} ${p2.y}`:(colorClassNum=null==(_d=branchPos.get(commitA.branch))?void 0:_d.index,lineDef=`M ${p1.x} ${p1.y} L ${lineX+radius} ${p1.y} ${arc2} ${lineX} ${p1.y-offset} L ${lineX} ${p2.y+radius} ${arc} ${lineX-offset} ${p2.y} L ${p2.x} ${p2.y}`):p1.y<p2.y?lineDef=`M ${p1.x} ${p1.y} L ${p1.x} ${lineY-radius} ${arc} ${p1.x+offset} ${lineY} L ${p2.x-radius} ${lineY} ${arc2} ${p2.x} ${lineY+offset} L ${p2.x} ${p2.y}`:(colorClassNum=null==(_e=branchPos.get(commitA.branch))?void 0:_e.index,lineDef=`M ${p1.x} ${p1.y} L ${p1.x} ${lineY+radius} ${arc2} ${p1.x+offset} ${lineY} L ${p2.x-radius} ${lineY} ${arc} ${p2.x} ${lineY-offset} L ${p2.x} ${p2.y}`)}else arc="A 20 20, 0, 0, 0,",arc2="A 20 20, 0, 0, 1,",radius=20,offset=20,"TB"===dir?(p1.x<p2.x&&(lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y-radius} ${arc} ${p1.x+offset} ${p2.y} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p2.x-radius} ${p1.y} ${arc2} ${p2.x} ${p1.y+offset} L ${p2.x} ${p2.y}`),p1.x>p2.x&&(arc="A 20 20, 0, 0, 0,",arc2="A 20 20, 0, 0, 1,",radius=20,offset=20,lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y-radius} ${arc2} ${p1.x-offset} ${p2.y} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p2.x+radius} ${p1.y} ${arc} ${p2.x} ${p1.y+offset} L ${p2.x} ${p2.y}`),p1.x===p2.x&&(lineDef=`M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`)):"BT"===dir?(p1.x<p2.x&&(lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y+radius} ${arc2} ${p1.x+offset} ${p2.y} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p2.x-radius} ${p1.y} ${arc} ${p2.x} ${p1.y-offset} L ${p2.x} ${p2.y}`),p1.x>p2.x&&(arc="A 20 20, 0, 0, 0,",arc2="A 20 20, 0, 0, 1,",radius=20,offset=20,lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y+radius} ${arc} ${p1.x-offset} ${p2.y} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p2.x+radius} ${p1.y} ${arc2} ${p2.x} ${p1.y-offset} L ${p2.x} ${p2.y}`),p1.x===p2.x&&(lineDef=`M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`)):(p1.y<p2.y&&(lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p2.x-radius} ${p1.y} ${arc2} ${p2.x} ${p1.y+offset} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y-radius} ${arc} ${p1.x+offset} ${p2.y} L ${p2.x} ${p2.y}`),p1.y>p2.y&&(lineDef=commitB.type===commitType.MERGE&&commitA.id!==commitB.parents[0]?`M ${p1.x} ${p1.y} L ${p2.x-radius} ${p1.y} ${arc} ${p2.x} ${p1.y-offset} L ${p2.x} ${p2.y}`:`M ${p1.x} ${p1.y} L ${p1.x} ${p2.y+radius} ${arc2} ${p1.x+offset} ${p2.y} L ${p2.x} ${p2.y}`),p1.y===p2.y&&(lineDef=`M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`));if(void 0===lineDef)throw new Error("Line definition not found");svg.append("path").attr("d",lineDef).attr("class","arrow arrow"+calcColorIndex(colorClassNum,8,useColorTheme))},"drawArrow"),drawArrows=__name((svg,commits)=>{const gArrows=svg.append("g").attr("class","commit-arrows");[...commits.keys()].forEach(key=>{const commit2=commits.get(key);commit2.parents&&commit2.parents.length>0&&commit2.parents.forEach(parent=>{drawArrow(gArrows,commits.get(parent),commit2,commits)})})},"drawArrows"),drawBranches=__name((svg,branches,gitGraphConfig,id)=>{const{look:look,theme:theme,themeVariables:themeVariables}=getConfig2(),{dropShadow:dropShadow,THEME_COLOR_LIMIT:themeColorLimit}=themeVariables,useReduxGeometry=REDUX_GEOMETRY_THEMES.has(theme??""),useColorTheme=COLOR_THEMES.has(theme??""),g=svg.append("g");branches.forEach((branch2,index)=>{var _a;const adjustIndexForTheme=calcColorIndex(index,useReduxGeometry?themeColorLimit:8,useColorTheme),pos=null==(_a=branchPos.get(branch2.name))?void 0:_a.pos;if(void 0===pos)throw new Error(`Position not found for branch ${branch2.name}`);const spineY="TB"===dir||"BT"===dir?pos:useReduxGeometry?pos+6+1:pos-2,line=g.append("line");line.attr("x1",0),line.attr("y1",spineY),line.attr("x2",maxPos),line.attr("y2",spineY),line.attr("class","branch branch"+adjustIndexForTheme),"TB"===dir?(line.attr("y1",30),line.attr("x1",pos),line.attr("y2",maxPos),line.attr("x2",pos)):"BT"===dir&&(line.attr("y1",maxPos),line.attr("x1",pos),line.attr("y2",30),line.attr("x2",pos)),lanes.push(spineY);const name=branch2.name,labelElement=drawText(name),bkg=g.insert("rect"),label=g.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+adjustIndexForTheme);label.node().appendChild(labelElement);const bbox=labelElement.getBBox(),borderRadius=useReduxGeometry?0:4,labelPaddingX=useReduxGeometry?16:0,labelPaddingY=useReduxGeometry?12:0;"neo"===look&&bkg.attr("data-look","neo"),bkg.attr("class","branchLabelBkg label"+adjustIndexForTheme).attr("style","neo"===look?`filter:${useReduxGeometry?`url(#${id}-drop-shadow)`:dropShadow}`:"").attr("rx",borderRadius).attr("ry",borderRadius).attr("x",-bbox.width-4-(!0===gitGraphConfig.rotateCommitLabel?30:0)).attr("y",-bbox.height/2+10).attr("width",bbox.width+18+labelPaddingX).attr("height",bbox.height+4+labelPaddingY),label.attr("transform","translate("+(-bbox.width-14-(!0===gitGraphConfig.rotateCommitLabel?30:0)+labelPaddingX/2)+", "+(spineY-bbox.height/2-2)+")"),"TB"===dir?(bkg.attr("x",pos-bbox.width/2-10).attr("y",0),label.attr("transform","translate("+(pos-bbox.width/2-5)+", 0)"),useReduxGeometry&&(bkg.attr("transform",`translate(${-labelPaddingX/2-3}, ${-labelPaddingY-10})`),label.attr("transform","translate("+(pos-bbox.width/2-5)+", "+(2*-labelPaddingY+7)+")"))):"BT"===dir?(bkg.attr("x",pos-bbox.width/2-10).attr("y",maxPos),label.attr("transform","translate("+(pos-bbox.width/2-5)+", "+maxPos+")"),useReduxGeometry&&(bkg.attr("transform",`translate(${-labelPaddingX/2-3}, ${labelPaddingY+10})`),label.attr("transform","translate("+(pos-bbox.width/2-5)+", "+(maxPos+2*labelPaddingY+4)+")"))):bkg.attr("transform","translate(-19, "+(spineY-12-labelPaddingY/2)+")")})},"drawBranches"),setBranchPosition=__name(function(name,pos,index,bbox,rotateCommitLabel){return branchPos.set(name,{pos:pos,index:index}),pos+=50+(rotateCommitLabel?40:0)+("TB"===dir||"BT"===dir?bbox.width/2:0)},"setBranchPosition"),gitGraphRenderer_default={draw:__name(function(txt,id,ver,diagObj){clear3(),log.debug("in gitgraph renderer",txt+"\n","id:",id,ver);const db2=diagObj.db;if(!db2.getConfig)return void log.error("getConfig method is not available on db");const gitGraphConfig=db2.getConfig(),rotateCommitLabel=gitGraphConfig.rotateCommitLabel??!1;allCommitsDict=db2.getCommits();const branches=db2.getBranchesAsObjArray();dir=db2.getDirection();const diagram2=select(`[id="${id}"]`),{look:look,theme:theme,themeVariables:themeVariables}=getConfig2(),{useGradient:useGradient,gradientStart:gradientStart,gradientStop:gradientStop,filterColor:filterColor}=themeVariables;if(useGradient){const gradient=diagram2.append("defs").append("linearGradient").attr("id",id+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");gradient.append("stop").attr("offset","0%").attr("stop-color",gradientStart).attr("stop-opacity",1),gradient.append("stop").attr("offset","100%").attr("stop-color",gradientStop).attr("stop-opacity",1)}"neo"===look&&REDUX_GEOMETRY_THEMES.has(theme??"")&&diagram2.append("defs").append("filter").attr("id",id+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",filterColor);let pos=0;branches.forEach((branch2,index)=>{var _a;const labelElement=drawText(branch2.name),g=diagram2.append("g"),branchLabel=g.insert("g").attr("class","branchLabel"),label=branchLabel.insert("g").attr("class","label branch-label");null==(_a=label.node())||_a.appendChild(labelElement);const bbox=labelElement.getBBox();pos=setBranchPosition(branch2.name,pos,index,bbox,rotateCommitLabel),label.remove(),branchLabel.remove(),g.remove()}),drawCommits(diagram2,allCommitsDict,!1,gitGraphConfig),gitGraphConfig.showBranches&&drawBranches(diagram2,branches,gitGraphConfig,id),drawArrows(diagram2,allCommitsDict),drawCommits(diagram2,allCommitsDict,!0,gitGraphConfig),utils_default.insertTitle(diagram2,"gitTitleText",gitGraphConfig.titleTopMargin??0,db2.getDiagramTitle()),setupGraphViewbox2(void 0,diagram2,gitGraphConfig.diagramPadding,gitGraphConfig.useMaxWidth)},"draw")},REDUX_GEOMETRY_THEMES2=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),COLOR_THEMES2=new Set(["redux-color","redux-dark-color"]),NEO_THEMES=new Set(["neo","neo-dark"]),DARK_THEMES2=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),NEO_COLOR_GEN_THEMES=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),genGitGraphGradient=__name(options=>{const{svgId:svgId}=options;let sections="";if(options.useGradient&&svgId)for(let i=0;i<options.THEME_COLOR_LIMIT;i++)sections+=`\n .label${i} { fill: ${options.mainBkg}; stroke: url(${svgId}-gradient); stroke-width: ${options.strokeWidth};}\n `;return sections},"genGitGraphGradient"),genColor=__name(options=>{const config=getConfig(),{theme:theme,themeVariables:themeVariables}=config,{borderColorArray:borderColorArray}=themeVariables,useReduxGeometry=REDUX_GEOMETRY_THEMES2.has(theme);if(NEO_THEMES.has(theme)){let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)if(0===i)sections+=`\n .branch-label${i} { fill: ${options.nodeBorder};}\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.nodeBorder}; }\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n .commit-cherry-pick${i} { stroke: ${options.nodeBorder}; }\n ${genGitGraphGradient(options)}`;else{const ci=i%8;sections+=`\n .branch-label${i} { fill: ${options["gitBranchLabel"+ci]}; }\n .commit${i} { stroke: ${options["git"+ci]}; fill: ${options["git"+ci]}; }\n .commit-highlight${i} { stroke: ${options["gitInv"+ci]}; fill: ${options["gitInv"+ci]}; }\n .arrow${i} { stroke: ${options["git"+ci]}; }\n `}return sections}if(COLOR_THEMES2.has(theme)){let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)if(0===i)sections+=`\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry?`font-weight:${options.noteFontWeight}`:""} }\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.mainBkg}; }\n .label${i} { fill: ${options.mainBkg}; stroke: ${options.nodeBorder}; stroke-width: ${options.strokeWidth}; ${useReduxGeometry?`font-weight:${options.noteFontWeight}`:""} }\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n `;else{const colorIndex=i%borderColorArray.length;sections+=`\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry?`font-weight:${options.noteFontWeight}`:""} }\n .commit${i} { stroke: ${borderColorArray[colorIndex]}; fill: ${borderColorArray[colorIndex]}; }\n .commit-highlight${i} { stroke: ${borderColorArray[colorIndex]}; fill: ${borderColorArray[colorIndex]}; }\n .label${i} { fill: ${DARK_THEMES2.has(theme)?options.mainBkg:borderColorArray[colorIndex]}; stroke: ${borderColorArray[colorIndex]}; stroke-width: ${options.strokeWidth}; }\n .arrow${i} { stroke: ${borderColorArray[colorIndex]}; }\n `}return sections}{let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)sections+=`\n .branch-label${i} { fill: ${options.nodeBorder}; ${useReduxGeometry?`font-weight:${options.noteFontWeight}`:""} }\n .commit${i} { stroke: ${options.nodeBorder}; }\n .commit-highlight${i} { stroke: ${options.nodeBorder}; fill: ${options.nodeBorder}; }\n .label${i} { fill: ${options.mainBkg}; stroke: ${options.nodeBorder}; stroke-width: ${options.strokeWidth}; ${useReduxGeometry?`font-weight:${options.noteFontWeight}`:""}}\n .arrow${i} { stroke: ${options.nodeBorder}; }\n .commit-bullets { fill: ${options.nodeBorder}; }\n .commit-cherry-pick${i} { stroke: ${options.nodeBorder}; }\n `;return sections}},"genColor"),normalTheme=__name(options=>`${Array.from({length:options.THEME_COLOR_LIMIT},(_,i)=>i).map(i=>{const ci=i%8;return`\n .branch-label${i} { fill: ${options["gitBranchLabel"+ci]}; }\n .commit${i} { stroke: ${options["git"+ci]}; fill: ${options["git"+ci]}; }\n .commit-highlight${i} { stroke: ${options["gitInv"+ci]}; fill: ${options["gitInv"+ci]}; }\n .label${i} { fill: ${options["git"+ci]}; }\n .arrow${i} { stroke: ${options["git"+ci]}; }\n `}).join("\n")}`,"normalTheme"),diagram={parser:parser,db:db,renderer:gitGraphRenderer_default,styles:__name(options=>{const config=getConfig(),{theme:theme}=config,useNeoColorGen=NEO_COLOR_GEN_THEMES.has(theme);return`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n \n ${useNeoColorGen?genColor(options):normalTheme(options)}\n\n .branch {\n stroke-width: ${options.strokeWidth};\n stroke: ${options.commitLineColor??options.lineColor};\n stroke-dasharray: ${useNeoColorGen?"4 2":"2"};\n }\n .commit-label { font-size: ${options.commitLabelFontSize}; fill: ${useNeoColorGen?options.nodeBorder:options.commitLabelColor}; ${useNeoColorGen?`font-weight:${options.noteFontWeight};`:""}}\n .commit-label-bkg { font-size: ${options.commitLabelFontSize}; fill: ${useNeoColorGen?"transparent":options.commitLabelBackground}; opacity: ${useNeoColorGen?"":.5}; }\n .tag-label { font-size: ${options.tagLabelFontSize}; fill: ${options.tagLabelColor};}\n .tag-label-bkg { fill: ${useNeoColorGen?options.mainBkg:options.tagLabelBackground}; stroke: ${useNeoColorGen?options.nodeBorder:options.tagLabelBorder}; ${useNeoColorGen?`filter:${options.dropShadow}`:""} }\n .tag-hole { fill: ${options.textColor}; }\n\n .commit-merge {\n stroke: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n fill: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n }\n .commit-reverse {\n stroke: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n fill: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n stroke-width: ${useNeoColorGen?options.strokeWidth:3};\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n fill: ${useNeoColorGen?options.mainBkg:options.primaryColor};\n }\n\n .arrow {\n /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */\n stroke-width: ${REDUX_GEOMETRY_THEMES2.has(theme)?options.strokeWidth:8};\n stroke-linecap: round;\n fill: none\n }\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`},"getStyles")};export{diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as EditorView,U as EditorSelection,a as LanguageSupport,X as html,Y as parseMixed,Z as syntaxTree,_ as LRLanguage,$ as styleTags,t as tags,a0 as indentNodeProp,a1 as delimitedIndent,a2 as foldNodeProp,a3 as LRParser,a4 as ExternalTokenizer,a5 as LocalTokenGroup}from"./vendor-codemirror-CPWlhuQ1.js";import"./vendor-antd-BTBRwbax.js";import"./vendor-virtuoso-Bq6QMhgG.js";function wordChar(code){return code>=65&&code<=90||code>=97&&code<=122}const base=new ExternalTokenizer(input=>{let start=input.pos;for(;;){let{next:next}=input;if(next<0)break;if(123==next){let after=input.peek(1);if(123==after){if(input.pos>start)break;return void input.acceptToken(1,2)}if(35==after){if(input.pos>start)break;return void input.acceptToken(2,2)}if(37==after){if(input.pos>start)break;let scan=2,size=2;for(;;){let next2=input.peek(scan);if(32==next2||10==next2)++scan;else if(35==next2)for(++scan;;){let comment=input.peek(scan);if(comment<0||10==comment)break;scan++}else{if(45!=next2||2!=size)return void input.acceptToken(3,size);size=++scan}}}}if(input.advance(),10==next)break}input.pos>start&&input.acceptToken(155)});function rawTokenizer(endTag,text2,tagStart2){return new ExternalTokenizer(input=>{let start=input.pos;for(;;){let{next:next}=input;if(123==next&&37==input.peek(1)){let scan=2;for(;;scan++){let ch=input.peek(scan);if(32!=ch&&10!=ch)break}let word="";for(;;scan++){let next2=input.peek(scan);if(!wordChar(next2))break;word+=String.fromCharCode(next2)}if(word==endTag){if(input.pos>start)break;input.acceptToken(tagStart2,2);break}}else if(next<0)break;if(input.advance(),10==next)break}input.pos>start&&input.acceptToken(text2)})}const raw=rawTokenizer("endraw",156,4),spec_identifier={__proto__:null,in:38,is:40,and:46,or:48,not:52,if:78,else:80,true:98,false:98,self:100,super:102,loop:104,recursive:136,scoped:160,required:162,as:256,import:260,ignore:268,missing:270,with:272,without:274,context:276},spec_TagName={__proto__:null,if:112,elif:118,else:122,endif:126,for:132,endfor:140,raw:146,endraw:152,block:158,endblock:166,macro:172,endmacro:182,call:188,endcall:192,filter:198,endfilter:202,set:208,endset:212,trans:218,pluralize:222,endtrans:226,with:232,endwith:236,autoescape:242,endautoescape:246,import:254,from:258,include:266},parser=LRParser.deserialize({version:14,states:"!*dQVOPOOOOOP'#F`'#F`OeOTO'#CbOvQSO'#CdO!kOPO'#DcO!yOPO'#DnO#XOQO'#DuO#^OPO'#D{O#lOPO'#ESO#zOPO'#E[O$YOPO'#EaO$hOPO'#EfO$vOPO'#EkO%UOPO'#ErO%dOPO'#EwOOOP'#F|'#F|O%rQWO'#E|O&sO#tO'#F]OOOP'#Fq'#FqOOOP'#F_'#F_QVOPOOOOOP-E9^-E9^OOQO'#Ce'#CeO'sQSO,59OO'zQSO'#DWO(RQSO'#DXO(YQ`O'#DZOOQO'#Fr'#FrOvQSO'#CuO(aOPO'#CbOOOP'#Fd'#FdO!kOPO,59}OOOP,59},59}O(oOPO,59}O(}QWO'#E|OOOP,5:Y,5:YO)[OPO,5:YO!yOPO,5:YO)jQWO'#E|OOOQ'#Ff'#FfO)tOQO'#DxO)|OQO,5:aOOOP,5:g,5:gO#^OPO,5:gO*RQWO'#E|OOOP,5:n,5:nO#lOPO,5:nO*YQWO'#E|OOOP,5:v,5:vO#zOPO,5:vO*aQWO'#E|OOOP,5:{,5:{O$YOPO,5:{O*hQWO'#E|OOOP,5;Q,5;QO$hOPO,5;QO*oQWO'#E|OOOP,5;V,5;VO*vOPO,5;VO$vOPO,5;VO+UQWO'#E|OOOP,5;^,5;^O%UOPO,5;^O+`QWO'#E|OOOP,5;c,5;cO%dOPO,5;cO+gQWO'#E|O+nQSO,5;hOvQSO,5:OO+uQSO,5:ZO+zQSO,5:bO+uQSO,5:hO+uQSO,5:oO,PQSO,5:wO,XQpO,5:|O+uQSO,5;RO,^QSO,5;WO,fQSO,5;_OvQSO,5;dOvQSO,5;jOvQSO,5;jOvQSO,5;pOOOO'#Fk'#FkO,nO#tO,5;wOOOP-E9]-E9]O,vQ!bO,59QOvQSO,59TOvQSO,59UOvQSO,59UOvQSO,59UOvQSO,59UO,{QSO'#C}O,XQpO,59cOOQO,59q,59qOOOP1G.j1G.jOvQSO,59UO-SQSO,59UOvQSO,59UOvQSO,59UOvQSO,59nO-wQSO'#FxO.RQSO,59rO.WQSO,59tOOQO,59s,59sO.bQSO'#D[O.iQWO'#F{O.qQWO,59uO0WQSO,59aOOOP-E9b-E9bOOOP1G/i1G/iO(oOPO1G/iO(oOPO1G/iO)TQWO'#E|OvQSO,5:SO0nQSO,5:UO0sQSO,5:WOOOP1G/t1G/tO)[OPO1G/tO)mQWO'#E|O)[OPO1G/tO0xQSO,5:_OOOQ-E9d-E9dOOOP1G/{1G/{O0}QWO'#DyOOOP1G0R1G0RO1SQSO,5:lOOOP1G0Y1G0YO1[QSO,5:tOOOP1G0b1G0bO1aQSO,5:yOOOP1G0g1G0gO1fQSO,5;OOOOP1G0l1G0lO1kQSO,5;TOOOP1G0q1G0qO*vOPO1G0qO+XQWO'#E|O*vOPO1G0qOvQSO,5;YO1pQSO,5;[OOOP1G0x1G0xO1uQSO,5;aOOOP1G0}1G0}O1zQSO,5;fO2PQSO1G1SOOOP1G1S1G1SO2WQSO1G/jOOQO'#Dq'#DqO2_QSO1G/uOOOQ1G/|1G/|O2gQSO1G0SO2rQSO1G0ZO2zQSO'#EVO3SQSO1G0cO,SQSO1G0cO4fQSO'#FvOOQO'#Fv'#FvO5]QSO1G0hO5bQSO1G0mOOOP1G0r1G0rO5mQSO1G0rO5rQSO'#GOO5zQSO1G0yO6PQSO1G1OO6WQSO1G1UO6_QSO1G1UO6fQSO1G1[OOOO-E9i-E9iOOOP1G1c1G1cOOQO1G.l1G.lO6vQSO1G.oO8wQSO1G.pO:oQSO1G.pO:vQSO1G.pO<nQSO1G.pO<uQSO'#FwO>QQSO'#FrO>XQSO'#FwO>aQSO,59iOOQO1G.}1G.}O>fQSO1G.pO@aQSO1G.pOB_QSO1G.pOBfQSO1G.pOD^QSO1G/YOvQSO'#FbODeQSO,5<dOOQO1G/^1G/^ODmQSO1G/_OOQO1G/`1G/`ODuQSO,59vOvQSO'#FcOEjQWO,5<gOOQO1G/a1G/aPErQWO'#E|OOOP7+%T7+%TO(oOPO7+%TOEyQSO1G/nOOOP1G/p1G/pOOOP1G/r1G/rOOOP7+%`7+%`O)[OPO7+%`OOOP1G/y1G/yOFQQSO,5:eOOOP1G0W1G0WOFVQSO1G0WOOOP1G0`1G0`OOOP1G0e1G0eOOOP1G0j1G0jOOOP1G0o1G0oOOOP7+&]7+&]O*vOPO7+&]OF[QSO1G0tOOOP1G0v1G0vOOOP1G0{1G0{OOOP1G1Q1G1QOOOP7+&n7+&nOOOP7+%U7+%UO+uQSO'#FeOFcQSO7+%aOvQSO7+%aOOOP7+%n7+%nOFkQSO7+%nOFpQSO7+%nOOOP7+%u7+%uOFxQSO7+%uOF}QSO'#F}OGQQSO'#F}OGYQSO,5:qOOOP7+%}7+%}OG_QSO7+%}OGdQSO7+%}OOQO,59f,59fOOOP7+&S7+&SOGlQSO7+&oOOOP7+&X7+&XOvQSO7+&oOvQSO7+&^OGtQSO,5<jOvQSO,5<jOOOP7+&e7+&eOOOP7+&j7+&jO+uQSO7+&pOG|QSO7+&pOOOP7+&v7+&vOHRQSO7+&vOHWQSO7+&vOOQO7+$Z7+$ZOvQSO'#FaOH]QSO,5<cOvQSO,59jOOQO1G/T1G/TOOQO7+$[7+$[OvQSO7+$tOHeQSO,5;|OOQO-E9`-E9`OOQO7+$y7+$yOImQ`O1G/bOIwQSO'#D^OOQO,5;},5;}OOQO-E9a-E9aOOOP<<Ho<<HoOOOP7+%Y7+%YOOOP<<Hz<<HzOOOP1G0P1G0POOOP7+%r7+%rOOOP<<Iw<<IwOOOP7+&`7+&`OOQO,5<P,5<POOQO-E9c-E9cOvQSO<<H{OJOQSO<<H{OOOP<<IY<<IYOJYQSO<<IYOOOP<<Ia<<IaOvQSO,5:rO+uQSO'#FgOJ_QSO,5<iOOQO1G0]1G0]OOOP<<Ii<<IiOJgQSO<<IiOvQSO<<JZOJlQSO<<JZOJsQSO<<IxOvQSO1G2UOJ}QSO1G2UOKXQSO<<J[OK^QSO'#CeOOQO'#FT'#FTOKiQSO'#FTOKnQSO<<J[OKvQSO<<JbOK{QSO<<JbOLWQSO,5;{OLbQSO'#FrOOQO,5;{,5;{OOQO-E9_-E9_OLiQSO1G/UOM}QSO<<H`O! ]Q`O,59aODuQSO,59xO! sQSOAN>gOOOPAN>gAN>gO! }QSOAN>gOOOPAN>tAN>tO!!SQSO1G0^O!!^QSO,5<ROOQO,5<R,5<ROOQO-E9e-E9eOOOPAN?TAN?TO!!iQSOAN?uOOOPAN?uAN?uO+uQSO'#FhO!!pQSOAN?dOOOPAN?dAN?dO!!xQSO7+'pO+uQSO'#FiO!#SQSO7+'pOOOPAN?vAN?vO+uQSO,5;oOG|QSO'#FjO!#[QSOAN?vOOOPAN?|AN?|O!#dQSOAN?|OvQSO,59mO!$sQ`O1G.pO!%{Q`O1G.pO!&SQ`O1G.pO!'[Q`O1G.pO!'cQ`O'#FvO!'jQ`O1G.pO!(uQ`O1G.pO!*TQ`O1G.pO!*[Q`O1G.pO!+dQ`O1G/YO!+kQ`O1G/dOOOPG24RG24RO!+uQSOG24ROvQSO,5:sOOOPG25aG25aO!+zQSO,5<SOOQO-E9f-E9fOOOPG25OG25OO!,PQSO<<K[O!,XQSO,5<TOOQO-E9g-E9gOOQO1G1Z1G1ZOOQO,5<U,5<UOOQO-E9h-E9hOOOPG25bG25bO!,aQSOG25hO!,fQSO1G/XOOOPLD)mLD)mO!,pQSO1G0_OvQSO1G1nO!,zQSO1G1oOvQSO1G1oOOOPLD+SLD+SO!-wQ`O<<H`O!.[QSO7+'YOvQSO7+'ZO!.fQSO7+'ZO!.pQSO<<JuODuQSO'#CuODuQSO,59UODuQSO,59UODuQSO,59UODuQSO,59UO!.zQpO,59cODuQSO,59UO!/PQSO,59UODuQSO,59UODuQSO,59UODuQSO,59nO!/tQSO1G.pP!0RQSO1G/YODuQSO7+$tO!0YQ`O1G.pP!0gQ`O1G/YO-SQSO,59UPvQSO,59nO!0nQSO,59aP!3XQSO1G.pP!3`QSO1G.pP!5aQSO1G/YP!5hQSO<<H`O!/PQSO,59UPDuQSO,59nP!6_QSO1G/YP!7pQ`O1G/YO-SQSO'#CuO-SQSO,59UO-SQSO,59UO-SQSO,59UO-SQSO,59UO-SQSO,59UP-SQSO,59UP-SQSO,59UP-SQSO,59nO!7wQSO1G.pO!9xQSO1G.pO!:PQSO1G.pO!;UQSO1G.pP-SQSO7+$tO!<XQ`O,59aP!>SQ`O1G.pP!>ZQ`O1G.pP!>bQ`O1G/YP!?QQ`O<<H`O!/PQSO'#CuO!/PQSO,59UO!/PQSO,59UO!/PQSO,59UO!/PQSO,59UO!/PQSO,59UP!/PQSO,59UP!/PQSO,59UP!/PQSO,59nP!/PQSO7+$tP-SQSO,59nP!/PQSO,59nO!?zQ`O1G.pO!@RQ`O1G.pO!@fQ`O1G.pO!@yQ`O1G.p",stateData:"!Ac~O$dOS~OPROQaOR`O$aPO~O$aPOPUXQUXRUX$`UX~OekOfkOjlOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~OPROQaORrO$aPO~OPROQaORvO$aPO~O$bwO~OPROQaOR|O$aPO~OPROQaOR!PO$aPO~OPROQaOR!SO$aPO~OPROQaOR!VO$aPO~OPROQaOR!YO$aPO~OPROQaOR!^O$aPO~OPROQaOR!aO$aPO~OPROQaOR!dO$aPO~O!X!eO!Y!fO!d!gO!k!hO!q!iO!x!jO#Q!kO#V!lO#[!mO#a!nO#h!oO#m!pO#s!qO#u!rO#y!sO~O$s!tO~OZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UOl#OOp!}Ow#VO$i!xO~OV#QO~P&xO$h$lP~PvOo#ZO~PvO$m$oP~PvO$aPOPUXQUXRUX~OPROQaOR#dO$aPO~O!]#eO!_#fO!a#gO~P%rOPROQaOR#jO$aPO~O!_#fO!h#lO~P%rO$bwOS!lX~OS#oO~O!u#qO~P%rO!}#sO~P%rO#S#uO~P%rO#X#wO~P%rO#^#yO~P%rOPROQaOR#|O$aPO~O#c$OO#e$PO~P%rO#j$RO~P%rO#o$TO~P%rO!Z$VO~PvO$g$XO~O!Z$ZO~Op$^O$gfO~Om$aO~O!Z$eO$g$XO~O$g$XO!Z$rP~O$Q$nO$s!tO~O[$oO~Oo$kP~PvOekOfkOj)fOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Ot%PO$h$lX~P&xO$h%RO~Oo%TOt%PO~P&xO!P%UO~P&xOt%VO$m$oX~O$m%XO~OZ!wOp!}O$i!xOViagiahialiawiatia$hiaoia!Pia!Zia#tia#via#zia#|ia#}iaxia!fia~O_!yO`!zOa!{Ob!|Oc#ROd#SO~P.vO!Z%^O~O!Z%_O~O!Z%bO~O!n%cO~O!Z%dO$g$XO~O!Z%fO~O!Z%gO~O!Z%hO~O!Z%iO~O!Z%mO~O!Z%nO~O!Z%oO~O!Z%pO~P&xO!Z%qO~P&xOc%tOt%rO~O!Z%uO!r%wO!s%vO~Op$^O!Z%xO~O$g$XOo$qP~Op!}O!Z%}O~Op!}OZ$jX_$jX`$jXa$jXb$jXc$jXd$jXg$jXh$jXl$jXw$jX$i$jXt$jXe$jXf$jX$g$jXx$jX~O!Z$jXV$jX$h$jXo$jX!P$jX#t$jX#v$jX#z$jX#|$jX#}$jX!f$jX~P3[O!Z&RO~Os&UOt%rO!Z&TO~Os&VO~Os&XOt%rO~O!Z&YO~O!Z&ZO~P&xO#t&[O~P&xO#v&]O~P&xO!Z&^O#z&`O#|&_O#}&_O~P&xO$h&aO~P&xOZ!wOp!}O$i!xOV^i`^ia^ib^ic^id^ig^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ie^if^i$g^ix^i!f^i~O_^i~P6}OZ!wO_!yOp!}O$i!xOV^ia^ib^ic^id^ig^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~O`^i~P9OO`!zO~P9OOZ!wO_!yO`!zOa!{Op!}O$i!xOV^ic^id^ig^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Ob^i~P:}Ot&bOo$kX~P&xOZ$fX_$fX`$fXa$fXb$fXc$fXd$fXg$fXh$fXl$fXo$fXp$fXt$fXw$fX$i$fX~Os&dO~P=POt&bOo$kX~Oo&eO~Ob!|O~P:}OZ!wO_)gO`)hOa)iOb)jOc)kOp!}O$i!xOV^id^ig^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Oe&fOf&fO$gfO~P>mOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOp!}O$i!xOV^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P@nOg#TO~P@nOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UOp!}O$i!xOVvilviwvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox&gO~PBmOt%PO$h$la~Oo&jOt%PO~OekOfkOj(yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Ot%VO$m$oa~O!]#eO~P%rO!Z&pO~P&xO!Z&rO~O!Z&sO~O!Z&uO~P&xOc&xOt%rO~O!Z&zO~O!Z&zO!s&{O~O!Z&|O~Os&}Ot'OOo$qX~Oo'QO~O!Z'RO~Op!}O!Z'RO~Os'TOt%rO~Os'WOt%rO~O$g'ZO~O$O'_O~O#{'`O~Ot&bOo$ka~Ot$Ua$h$Uao$Ua~P&xOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOl)OOp!}Ow)TO$i!xO~Ot!Oi$m!Oi~PHrO!P'hO~P&xO!Z'jO!f'kO~P&xO!Z'lO~Ot'OOo$qa~O!Z'qO~O!Z'sO~P&xOt'tO!Z'vO~P&xOt'xO!Z$ri~P&xO!Z'zO~Ot!eX!Z!eX#tXX~O#t'{O~Ot'|O!Z'zO~O!Z(OO~O!Z(OO#|(PO#}(PO~Oo$Tat$Ta~P&xOs(QO~P=POoritri~P&xOZ!wOp!}O$i!xOVvylvywvytvy$hvyovy!Pvy!Zvy#tvy#vvy#zvy#|vy#}vyxvy!fvy~O_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UO~PLsOZ!wOp!}O$i!xOgiahialiatiawia$miaxia~O_(zO`({Oa(|Ob(}Oc)POd)QO~PNkO!Z(^O!f(_O~P&xO!Z(^O~Oo!zit!zi~P&xOs(`Oo$Zat$Za~O!Z(aO~P&xOt'tO!Z(dO~Ot'xO!Z$rq~P&xOt'xO!Z$rq~Ot'|O!Z(kO~O$O(lO~OZ!wOp!}O$i!xO`^ia^ib^ic^id^ig^ih^il^it^iw^i$m^ie^if^i$g^ix^i~O_^i~P!#iOZ!wO_(zOp!}O$i!xOa^ib^ic^id^ig^ih^il^it^iw^i$m^ix^i~O`^i~P!$zO`({O~P!$zOZ!wO_(zO`({Oa(|Op!}O$i!xOc^id^ig^ih^il^it^iw^i$m^ix^i~Ob^i~P!&ZO$m$jX~P3[Ob(}O~P!&ZOZ!wO_)zO`){Oa)|Ob)}Oc*OOp!}O$i!xOd^ig^ih^il^it^iw^i$m^ix^i~Oe&fOf&fO$gfO~P!'qOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOp!}O$i!xOh^il^it^iw^i$m^ix^i~Og^i~P!)SOg)RO~P!)SOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xOlvitviwvi$mvi~Ox)WO~P!*cOt!Qi$m!Qi~PHrO!Z(nO~Os(pO~Ot'xO!Z$ry~Os(rOt%rO~O!Z(sO~Oouitui~P&xOo!{it!{i~P&xOs(vOt%rO~OZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xO~Olvytvywvy$mvyxvy~P!-SOt$[q!Z$[q~P&xOt$]q!Z$]q~P&xOt$]y!Z$]y~P&xOm(VO~OekOfkOj)yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Oe^if^i$g^i~P>mOxvi~PBmOe^if^i$g^i~P!'qOxvi~P!*cO_)gO`)hOa)iOb)jOc)kOd)ZOeiafia$gia~P.vOZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOp!}O$i!xOV^ie^if^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P!1_Og)lO~P!1_OZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOp!}O$i!xOVvievifvilviwvi$gvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox)sO~P!3gO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOevyfvy$gvy~PLsOxvi~P!3gOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOg*POh*QOp!}O$i!xOevifvilvitviwvi$gvi$mvi~Oxvi~P!6fO_)gO~P6}OZ!wO_)gO`)hOp!}O$i!xOV^ib^ic^id^ie^if^ig^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Oa^i~P!8OOa)iO~P!8OOZ!wOp!}O$i!xOc^id^ie^if^ig^ih^il^iw^i$g^it^ix^i~O_)gO`)hOa)iOb)jOV^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^i!f^i~P!:WO_)zO`){Oa)|Ob)}Oc*OOd)bOeiafia$gia~PNkOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOp!}O$i!xOe^if^ih^il^it^iw^i$g^i$m^ix^i~Og^i~P!<xOg*PO~P!<xOx*SO~P!6fOZ!wO_)zO`){Oa)|Ob)}Op!}O$i!xO~Oc*OOd)bOg*POh*QOevyfvylvytvywvy$gvy$mvyxvy~P!>iO_)zO~P!#iO_)zO`){Oa^ib^i$m^i~P!:WO_)zO`){Oa)|Ob^i$m^i~P!:WO_)zO`){Oa)|Ob)}O$m^i~P!:WOfaZa~",goto:"Cy$sPPPPPP$tP$t%j'sPP's'sPPPPPPPPPP'sP'sPP)jPP)o+nPP+q'sPP's's's's's+tP+wPPPP+z,pPPP-fP-jP-vP+z.UP.zP/zP+z0YP1O1RP+z1UPPP1zP+z2QP2v2|3P3SP+z3YP4OP+z4UP4zP+z5QP5vP+z5|P6rP6xP+z7WP7|P+z8SP8xP$t$t$tPPPP9O$tPPPPPP$tP9U:j;f;m;w;}<T<g<m<t<z=U=[PPPPP=b>YPPPCcCjCmPPCp$tCsCv!gbOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k$dkRhijl!e!f!p!q!r!s!x!y!z!{!|#R#S#T#U#V#e$O%P%U%V%t&U&V&X&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UQ$_!kQ$v!}Q&P$`S&f${(XS']&]'|R'b&b$ikRhijl!e!f!p!q!r!s!x!y!z!{!|!}#R#S#T#U#V#e$O%P%U%V%t&U&V&X&b&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UV$b!l#O)O$d#Pg#W#Y#[#_$U$W$i$j$k$l$p$q$r$s$t$u$z${$|$}%O%]%l&h&k&l&y'U'V'X'a'e'f'g'i'm'r'w(R(S(T(U(W(X(Y(Z([(](m(o(t(u(w(x)U)V)X)Y)])^)_)`)a)d)e)o)p)q)r)t)u)v)w)x*V*W*X*YQ&O$_S&Q$a(VR'S&PR$w!}R'c&bR#]jR&m%V!g_OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k!gSOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQqSQtTQ#boR#kuQpSS#aoqS%Z#b#cR&o%[!gTOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$Y!gQ$[!iQ$]!jQ$d!mQ$f!nQ$g!oQ%e#qQ%z$^Q&v%rQ'Y&[S'[&]'|Q'n'OQ(b'tQ(f'xR(h'{QsTS#htuS%`#i#kR&q%a!gUOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kRyUR#ny!gVOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQzVR#p{!gWOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$`!kR%y$]R%{$^R'o'OQ}WR#r!O!gXOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!QXR#t!R!gYOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!TYR#v!U!gZOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!WZR#x!X!g[OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ![[R#}!]Q!Z[S#z![!]S%j#{#}R&t%k!g]OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!_]R$Q!`!g^OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!b^R$S!cQ'^&]R(i'|QdOQuTQ{VQ!OWQ!RXQ!UYQ!XZQ!][Q!`]Q!c^p!vdu{!O!R!U!X!]!`!c#c#i#{%[%a%kQ#cqQ#itQ#{![Q%[#bQ%a#kR%k#}SQOdSeQm!cmSTVWXYZ[]^oqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kS&c$u$wR'd&cQ%Q#WQ%S#YT&i%Q%SQ%W#]R&n%WQoSR#`oQ%s$YQ&S$dQ&W$gW&w%s&S&W(qR(q(fQxUR#mxS'P%z%{R'p'PQ'u'VR(c'uQ'y'XQ(e'wT(g'y(eQ'}'^R(j'}Q!uaR$m!u!bcOTVWXYZ[]^dqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQgRQ#WhQ#YiQ#[jQ#_lQ$U!eQ$W!fQ$i!pQ$j!qQ$k!rQ$l!sQ$p!xS$q!y)gQ$r!zQ$s!{Q$t!|Q$u!}Q$z#RQ${#SQ$|#TQ$}#UQ%O#VQ%]#eQ%l$OQ&h%PQ&k%UQ&l%VQ&y%tQ'U&UQ'V&VQ'X&XQ'a&bQ'e&dQ'f&gQ'g(yQ'i&xQ'm&}Q'r'TQ'w'WS(R(z)zQ(S({Q(T(|Q(U(}Q(W)PQ(X)QQ(Y)RQ(Z)SQ([)TQ(]'hQ(m(QQ(o(`Q(t)WQ(u(pQ(w(rQ(x(vQ)U)ZQ)V)[Q)X)bQ)Y)cQ)])fQ)^)lQ)_)mQ)`)nQ)a)sQ)d*TQ)e*UQ)o)hQ)p)iQ)q)jQ)r)kQ)t)yQ)u*PQ)v*QQ)w*RQ)x*SQ*V){Q*W)|Q*X)}R*Y*OQ$c!lT$y#O)OR$x!}R#XhR#^jR%|$^R$h!o",nodeNames:"⚠ {{ {# {% {% Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression ConcatOp ArithOp ArithOp CompareOp in is StringLiteral NumberLiteral and or NotExpression not FilterExpression FilterOp FilterName FilterCall ) ( ArgumentList NamedArgument AssignOp , NamedArgument ConditionalExpression if else CallExpression ArrayExpression TupleExpression ParenthesizedExpression DictExpression Entry : Entry BooleanLiteral self super loop IfStatement Tag TagName if %} Tag elif Tag else EndTag endif ForStatement Tag for Definition recursive EndTag endfor RawStatement Tag raw RawText EndTag endraw BlockStatement Tag block scoped required EndTag endblock MacroStatement Tag macro ParamList OptionalParameter OptionalParameter EndTag endmacro CallStatement Tag call EndTag endcall FilterStatement Tag filter EndTag endfilter SetStatement Tag set EndTag endset TransStatement Tag trans Tag pluralize EndTag endtrans WithStatement Tag with EndTag endwith AutoescapeStatement Tag autoescape EndTag endautoescape Tag Tag Tag import as from import ImportItem Tag include ignore missing with without context Comment #}",maxTerm:173,nodeProps:[["closedBy",1,"}}",2,"#}",-2,3,4,"%}",32,")"],["openedBy",7,"{{",31,"(",57,"{%",140,"{#"],["group",-18,9,10,13,14,21,22,25,27,38,41,42,43,44,45,49,50,51,52,"Expression",-11,53,64,71,77,84,92,97,102,107,114,119,"Statement"]],skippedNodes:[0],repeatNodeCount:13,tokenData:".|~RqXY#YYZ#Y]^#Ypq#Yqr#krs#vuv&nwx&{xy)nyz)sz{)x{|*V|}+|}!O,R!O!P,g!P!Q,o!Q![+h![!],w!^!_,|!_!`-U!`!a,|!c!}-^!}#O.U#P#Q.Z#R#S-^#T#o-^#o#p.`#p#q.e#q#r.j#r#s.w%W;'S-^;'S;:j.O<%lO-^~#_S$d~XY#YYZ#Y]^#Ypq#Y~#nP!_!`#q~#vOb~~#yWOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~$hOe~~$kYOY#vYZ#vZr#vrs%Zs#O#v#O#P$h#P;'S#v;'S;=`&O;=`<%l#v<%lO#v~%`We~OY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~%{P;=`<%l#v~&RXOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x;=`<%l#v<%lO#v~&sP`~#q#r&v~&{O!Z~~'OWOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~'kYOY&{YZ&{Zw&{wx(Zx#O&{#O#P'h#P;'S&{;'S;=`)O;=`<%l&{<%lO&{~(`We~OY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~({P;=`<%l&{~)RXOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x;=`<%l&{<%lO&{~)sOp~~)xOo~~)}P`~z{*Q~*VO`~~*[Qa~!O!P*b!Q![+h~*eP!Q![*h~*mSf~!Q![*h!g!h*y#R#S*h#X#Y*y~*|R{|+V}!O+V!Q![+]~+YP!Q![+]~+bQf~!Q![+]#R#S+]~+mTf~!O!P*b!Q![+h!g!h*y#R#S+h#X#Y*y~,ROt~~,WRa~uv,a!O!P*b!Q![+h~,dP#q#r&v~,lPZ~!Q![*h~,tP`~!P!Q*Q~,|O!P~~-RPb~!_!`#q~-ZPs~!_!`#q!`-iVm`[p!XS$gY!Q![-^!c!}-^#R#S-^#T#o-^%W;'S-^;'S;:j.O<%lO-^!`.RP;=`<%l-^~.ZO$i~~.`O$h~~.eO$n~~.jOl~^.oP$m[#q#r.rQ.wOVQ~.|O_~",tokenizers:[base,raw,1,2,3,4,5,new LocalTokenGroup("b~RPstU~XP#q#r[~aO$Q~~",17,173)],topRules:{Template:[0,5]},specialized:[{term:161,get:value=>spec_identifier[value]||-1},{term:55,get:value=>spec_TagName[value]||-1}],tokenPrec:3602});function completions(words,type){return words.split(" ").map(label=>({label:label,type:type}))}const Filters=completions("abs attr batch capitalize center default dictsort escape filesizeformat first float forceescape format groupby indent int items join last length list lower map max min pprint random reject rejectattr replace reverse round safe select selectattr slice sort string striptags sum title tojson trim truncate unique upper urlencode urlize wordcount wordwrap xmlattr","function"),Functions=completions("boolean callable defined divisibleby eq escaped even filter float ge gt in integer iterable le lower lt mapping ne none number odd sameas sequence string test undefined upper range lipsum dict joiner namespace","function"),Globals=completions("loop super self true false varargs kwargs caller name arguments catch_kwargs catch_varargs caller","keyword"),Expressions=Functions.concat(Globals),Tags=completions("raw endraw filter endfilter trans pluralize endtrans with endwith autoescape endautoescape if elif else endif for endfor call endcall block endblock set endset macro endmacro import include break continue debug do extends","keyword");function jinjaCompletionSource(config={}){let tags2=config.tags?config.tags.concat(Tags):Tags,exprs=config.variables?config.variables.concat(Expressions):Expressions,{properties:properties}=config;return context=>{var _a;let cx=function(context){var _a;let{state:state,pos:pos}=context,node=syntaxTree(state).resolveInner(pos,-1).enterUnfinishedNodesBefore(pos),before=(null===(_a=node.childBefore(pos))||void 0===_a?void 0:_a.name)||node.name;if("FilterName"==node.name)return{type:"filter",node:node};if(context.explicit&&("FilterOp"==before||"filter"==before))return{type:"filter"};if("TagName"==node.name)return{type:"tag",node:node};if(context.explicit&&"{%"==before)return{type:"tag"};if("PropertyName"==node.name&&"MemberExpression"==node.parent.name)return{type:"prop",node:node,target:node.parent};if("."==node.name&&"MemberExpression"==node.parent.name)return{type:"prop",target:node.parent};if("MemberExpression"==node.name&&"."==before)return{type:"prop",target:node};if("VariableName"==node.name)return{type:"expr",from:node.from};if("Comment"==node.name||"StringLiteral"==node.name||"NumberLiteral"==node.name)return null;let word=context.matchBefore(/[\w\u00c0-\uffff]+$/);return word?{type:"expr",from:word.from}:context.explicit?{type:"expr"}:null}(context);if(!cx)return null;let options,from=null!==(_a=cx.from)&&void 0!==_a?_a:cx.node?cx.node.from:context.pos;return options="filter"==cx.type?Filters:"tag"==cx.type?tags2:"expr"==cx.type?exprs:properties?function(state,node,context,properties){let path=[];for(;;){let obj=node.getChild("Expression");if(!obj)return[];if("VariableName"==obj.name){path.unshift(state.sliceDoc(obj.from,obj.to));break}if("MemberExpression"!=obj.name)return[];{let name=obj.getChild("PropertyName");name&&path.unshift(state.sliceDoc(name.from,name.to)),node=obj}}return properties(path,state,context)}(context.state,cx.target,context,properties):[],options.length?{options:options,from:from,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const closePercentBrace=EditorView.inputHandler.of((view,from,to,text2)=>"%"==text2&&from==to&&"{}"==view.state.doc.sliceString(from-1,to+1)&&(view.dispatch(view.state.changeByRange(range=>({changes:{from:range.from,to:range.to,insert:"%%"},range:EditorSelection.cursor(range.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function statementIndent(except){return context=>{let back=except.test(context.textAfter);return context.lineIndent(context.node.from)+(back?0:context.unit)}}const tagLanguage=LRLanguage.define({name:"jinja",parser:parser.configure({props:[styleTags({"TagName raw endraw filter endfilter as trans pluralize endtrans with endwith autoescape endautoescape":tags.keyword,"required scoped recursive with without context ignore missing":tags.modifier,self:tags.self,"loop super":tags.standard(tags.variableName),"if elif else endif for endfor call endcall":tags.controlKeyword,"block endblock set endset macro endmacro import from include":tags.definitionKeyword,"Comment/...":tags.blockComment,VariableName:tags.variableName,Definition:tags.definition(tags.variableName),PropertyName:tags.propertyName,FilterName:tags.special(tags.variableName),ArithOp:tags.arithmeticOperator,AssignOp:tags.definitionOperator,"not and or":tags.logicOperator,CompareOp:tags.compareOperator,"in is":tags.operatorKeyword,"FilterOp ConcatOp":tags.operator,StringLiteral:tags.string,NumberLiteral:tags.number,BooleanLiteral:tags.bool,"{% %} {# #} {{ }} { }":tags.brace,"( )":tags.paren,".":tags.derefOperator,": , .":tags.punctuation}),indentNodeProp.add({Tag:delimitedIndent({closing:"%}"}),"IfStatement ForStatement":statementIndent(/^\s*(\{%-?\s*)?(endif|endfor|else|elif)\b/),Statement:statementIndent(/^\s*(\{%-?\s*)?end\w/)}),foldNodeProp.add({"Statement Comment"(tree){let first=tree.firstChild,last=tree.lastChild;return!first||"Tag"!=first.name&&"{#"!=first.name?null:{from:first.to,to:"EndTag"==last.name||"#}"==last.name?last.from:tree.to}}})]}),languageData:{indentOnInput:/^\s*{%-?\s*(?:end|elif|else)$/}}),baseHTML=html();function makeJinja(base2){return tagLanguage.configure({wrap:parseMixed(node=>node.type.isTop?{parser:base2.parser,overlay:n=>"Text"==n.name||"RawText"==n.name}:null)},"jinja")}const jinjaLanguage=makeJinja(baseHTML.language);function jinja(config={}){let base2=config.base||baseHTML,lang=base2.language==baseHTML.language?jinjaLanguage:makeJinja(base2.language);return new LanguageSupport(lang,[base2.support,lang.data.of({autocomplete:jinjaCompletionSource(config)}),base2.language.data.of({closeBrackets:{brackets:["{"]}}),closePercentBrace])}export{closePercentBrace,jinja,jinjaCompletionSource,jinjaLanguage};
|