"id": "4597192000000287001" }, "Created_Time": "2024-10-28T11:27:52-06:00", "id": "4597192000209218445", "Created_By": { "name": "Victor Benavides Aguirre", "id": "4597192000017758098" } }, "message": "record updated", "status": "success" } ] } [32dc6024-ff2e-4344-885c-6ef671999022](2024-11-14 09:29:06) - Proceso finalizado exitosamente, URL: https://aptuslegal.app/imagenesAptusLegal/arochi/LogosArochi/MAR-127113.png [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:46) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127339","MarcaId":"4597192000213352867","user":"clozada@arochilindner.com"} [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:53) - Tokens generados: 1000.1b09227755ae23444eef6552a626d2ca.16d0c9163429957ffa0e766a7f53e64c [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:53) - Intento 0 el registro no contiene foto asociada [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:53) - ERROR al obtener imagen, intento: 1 , respuesta: null [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:55) - Intento 1 el registro no contiene foto asociada [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:55) - ERROR al obtener imagen, intento: 2 , respuesta: null [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:58) - Intento 2 el registro no contiene foto asociada [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:29:58) - ERROR al obtener imagen, intento: 3 , respuesta: null [daf6bf4f-1458-4fdc-9b2b-eb803260233d](2024-11-14 14:30:00) - No se pudo encontrar una imagen asociada a registro de CRM \n [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:08) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127340","MarcaId":"4597192000213352925","user":"clozada@arochilindner.com"} [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:15) - Tokens generados: 1000.1b09227755ae23444eef6552a626d2ca.16d0c9163429957ffa0e766a7f53e64c [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:16) - Intento 0 el registro no contiene foto asociada [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:16) - ERROR al obtener imagen, intento: 1 , respuesta: null [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:18) - Intento 1 el registro no contiene foto asociada [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:18) - ERROR al obtener imagen, intento: 2 , respuesta: null [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:20) - Intento 2 el registro no contiene foto asociada [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:20) - ERROR al obtener imagen, intento: 3 , respuesta: null [0991318c-15d4-473f-830f-4ef808707508](2024-11-14 14:30:22) - No se pudo encontrar una imagen asociada a registro de CRM \n [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:41) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127341","MarcaId":"4597192000213352983","user":"clozada@arochilindner.com"} [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:48) - Tokens generados: 1000.1b09227755ae23444eef6552a626d2ca.16d0c9163429957ffa0e766a7f53e64c [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:48) - Intento 0 el registro no contiene foto asociada [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:48) - ERROR al obtener imagen, intento: 1 , respuesta: null [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:51) - Intento 1 el registro no contiene foto asociada [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:51) - ERROR al obtener imagen, intento: 2 , respuesta: null [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:53) - Intento 2 el registro no contiene foto asociada [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:53) - ERROR al obtener imagen, intento: 3 , respuesta: null [90165a7f-8dd7-42ed-971a-c30880ac6346](2024-11-14 14:30:55) - No se pudo encontrar una imagen asociada a registro de CRM \n [y:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var l=1;l=0;o--){var l=this.listeners[o];l.event===a&&l.callback===s&&this.listeners.splice(o,1)}},i.emit=function(a,s){for(var o=0;o{(function(e,r){typeof $2=="object"&&typeof JI=="object"?JI.exports=r(QI()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof $2=="object"?$2.coseBase=r(QI()):e.coseBase=r(e.layoutBase)})($2,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(o,l,u){i.call(this,o,l,u)}a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(o,l,u){i.call(this,o,l,u)}a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(o){i.call(this,o)}a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(l,u,h,f){i.call(this,l,u,h,f)}s.prototype=Object.create(i.prototype);for(var o in i)s[o]=i[o];s.prototype.move=function(){var l=this.graphManager.getLayout();this.displacementX=l.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=l.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>l.coolingFactor*l.maxNodeDisplacement&&(this.displacementX=l.coolingFactor*l.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>l.coolingFactor*l.maxNodeDisplacement&&(this.displacementY=l.coolingFactor*l.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),l.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(l,u){for(var h=this.getChild().getNodes(),f,d=0;d0)this.positionNodesRadially(T);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),A=this.nodesWithGravity.filter(function(C){return E.has(C)});this.graphManager.setAllNodesToApplyGravitation(A),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var T=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(I){return T.has(I)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var A=!this.isTreeGrowing&&!this.isGrowthFinished,C=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(A,C),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var T=this.graphManager.getAllNodes(),E={},A=0;A1){var k;for(k=0;kC&&(C=Math.floor(R.y)),M=Math.floor(R.x+u.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(f.WORLD_CENTER_X-R.x/2,f.WORLD_CENTER_Y-R.y/2))},w.radialLayout=function(T,E,A){var C=Math.max(this.maxDiagonalInTree(T),u.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(E,null,0,359,0,C);var I=y.calculateBounds(T),M=new b;M.setDeviceOrgX(I.getMinX()),M.setDeviceOrgY(I.getMinY()),M.setWorldOrgX(A.x),M.setWorldOrgY(A.y);for(var R=0;R1;){var X=U[0];U.splice(0,1);var ee=O.indexOf(X);ee>=0&&O.splice(ee,1),G--,P--}E!=null?$=(O.indexOf(U[0])+1)%G:$=0;for(var Y=Math.abs(C-A)/P,oe=$;B!=P;oe=++oe%G){var Q=O[oe].getOtherEnd(T);if(Q!=E){var ue=(A+B*Y)%360,re=(ue+Y)%360;w.branchRadialLayout(Q,T,ue,re,I+M,M),B++}}},w.maxDiagonalInTree=function(T){for(var E=m.MIN_VALUE,A=0;AE&&(E=I)}return E},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var T=this,E={};this.memberGroups={},this.idToDummyNode={};for(var A=[],C=this.graphManager.getAllNodes(),I=0;I"u"&&(E[k]=[]),E[k]=E[k].concat(M)}Object.keys(E).forEach(function(L){if(E[L].length>1){var _="DummyCompound_"+L;T.memberGroups[_]=E[L];var D=E[L][0].getParent(),N=new o(T.graphManager);N.id=_,N.paddingLeft=D.paddingLeft||0,N.paddingRight=D.paddingRight||0,N.paddingBottom=D.paddingBottom||0,N.paddingTop=D.paddingTop||0,T.idToDummyNode[_]=N;var O=T.getGraphManager().add(T.newGraph(),N),P=D.getChild();P.add(N);for(var B=0;B=0;T--){var E=this.compoundOrder[T],A=E.id,C=E.paddingLeft,I=E.paddingTop;this.adjustLocations(this.tiledMemberPack[A],E.rect.x,E.rect.y,C,I)}},w.prototype.repopulateZeroDegreeMembers=function(){var T=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(A){var C=T.idToDummyNode[A],I=C.paddingLeft,M=C.paddingTop;T.adjustLocations(E[A],C.rect.x,C.rect.y,I,M)})},w.prototype.getToBeTiled=function(T){var E=T.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var A=T.getChild();if(A==null)return this.toBeTiled[E]=!1,!1;for(var C=A.getNodes(),I=0;I0)return this.toBeTiled[E]=!1,!1;if(M.getChild()==null){this.toBeTiled[M.id]=!1;continue}if(!this.getToBeTiled(M))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},w.prototype.getNodeDegree=function(T){for(var E=T.id,A=T.getEdges(),C=0,I=0;IL&&(L=D.rect.height)}A+=L+T.verticalPadding}},w.prototype.tileCompoundMembers=function(T,E){var A=this;this.tiledMemberPack=[],Object.keys(T).forEach(function(C){var I=E[C];A.tiledMemberPack[C]=A.tileNodes(T[C],I.paddingLeft+I.paddingRight),I.rect.width=A.tiledMemberPack[C].width,I.rect.height=A.tiledMemberPack[C].height})},w.prototype.tileNodes=function(T,E){var A=u.TILING_PADDING_VERTICAL,C=u.TILING_PADDING_HORIZONTAL,I={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:A,horizontalPadding:C};T.sort(function(k,L){return k.rect.width*k.rect.height>L.rect.width*L.rect.height?-1:k.rect.width*k.rect.height0&&(R+=T.horizontalPadding),T.rowWidth[A]=R,T.width0&&(k+=T.verticalPadding);var L=0;k>T.rowHeight[A]&&(L=T.rowHeight[A],T.rowHeight[A]=k,L=T.rowHeight[A]-L),T.height+=L,T.rows[A].push(E)},w.prototype.getShortestRowIndex=function(T){for(var E=-1,A=Number.MAX_VALUE,C=0;CA&&(E=C,A=T.rowWidth[C]);return E},w.prototype.canAddHorizontal=function(T,E,A){var C=this.getShortestRowIndex(T);if(C<0)return!0;var I=T.rowWidth[C];if(I+T.horizontalPadding+E<=T.width)return!0;var M=0;T.rowHeight[C]0&&(M=A+T.verticalPadding-T.rowHeight[C]);var R;T.width-I>=E+T.horizontalPadding?R=(T.height+M)/(I+E+T.horizontalPadding):R=(T.height+M)/T.width,M=A+T.verticalPadding;var k;return T.widthM&&E!=A){C.splice(-1,1),T.rows[A].push(I),T.rowWidth[E]=T.rowWidth[E]-M,T.rowWidth[A]=T.rowWidth[A]+M,T.width=T.rowWidth[instance.getLongestRowIndex(T)];for(var R=Number.MIN_VALUE,k=0;kR&&(R=C[k].height);E>0&&(R+=T.verticalPadding);var L=T.rowHeight[E]+T.rowHeight[A];T.rowHeight[E]=R,T.rowHeight[A]0)for(var P=I;P<=M;P++)O[0]+=this.grid[P][R-1].length+this.grid[P][R].length-1;if(M0)for(var P=R;P<=k;P++)O[3]+=this.grid[I-1][P].length+this.grid[I][P].length-1;for(var B=m.MAX_VALUE,G,$,U=0;U{(function(e,r){typeof z2=="object"&&typeof tN=="object"?tN.exports=r(eN()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof z2=="object"?z2.cytoscapeCoseBilkent=r(eN()):e.cytoscapeCoseBilkent=r(e.coseBase)})(z2,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,o=n(0).CoSELayout,l=n(0).CoSENode,u=n(0).layoutBase.PointD,h=n(0).layoutBase.DimensionD,f={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function d(v,y){var b={};for(var w in v)b[w]=v[w];for(var w in y)b[w]=y[w];return b}function p(v){this.options=d(f,v),g(this.options)}var g=function(y){y.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=y.nodeRepulsion),y.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=y.idealEdgeLength),y.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=y.edgeElasticity),y.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=y.nestingFactor),y.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=y.gravity),y.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=y.numIter),y.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=y.gravityRange),y.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=y.gravityCompound),y.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=y.gravityRangeCompound),y.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=y.initialEnergyOnIncremental),y.quality=="draft"?i.QUALITY=0:y.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=y.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!y.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=y.animate,s.TILE=y.tile,s.TILING_PADDING_VERTICAL=typeof y.tilingPaddingVertical=="function"?y.tilingPaddingVertical.call():y.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof y.tilingPaddingHorizontal=="function"?y.tilingPaddingHorizontal.call():y.tilingPaddingHorizontal};p.prototype.run=function(){var v,y,b=this.options,w=this.idToLNode={},S=this.layout=new o,T=this;T.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var E=S.newGraphManager();this.gm=E;var A=this.options.eles.nodes(),C=this.options.eles.edges();this.root=E.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(A),S);for(var I=0;I0){var k;k=b.getGraphManager().add(b.newGraph(),A),this.processChildrenList(k,E,b)}}},p.prototype.stop=function(){return this.stopped=!0,this};var m=function(y){y("layout","cose-bilkent",p)};typeof cytoscape<"u"&&m(cytoscape),e.exports=m})])})});var Hce={};hr(Hce,{render:()=>YFe});function $ce(t,e){t.forEach(r=>{let n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}function zce(t,e){t.forEach(r=>{let n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}function Gce(t){return new Promise(e=>{let r=He("body").append("div").attr("id","cy").attr("style","display:none"),n=$o({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),$ce(t.nodes,n),zce(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{J.info("Cytoscape ready",a),e(n)})})}function Vce(t){return t.nodes().map(e=>{let r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}function Uce(t){return t.edges().map(e=>{let r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}async function qce(t,e){J.debug("Starting cose-bilkent layout algorithm");try{Wce(t);let r=await Gce(t),n=Vce(r),i=Uce(r);return J.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw J.error("Error in cose-bilkent layout algorithm:",r),r}}function Wce(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var Fce,HFe,YFe,Yce=F(()=>{rr();KI();Fce=Fa(Bce(),1);cr();$o.use(Fce.default);x($ce,"addNodes");x(zce,"addEdges");x(Gce,"createCytoscapeInstance");x(Vce,"extractPositionedNodes");x(Uce,"extractPositionedEdges");x(qce,"executeCoseBilkentLayout");x(Wce,"validateLayoutData");HFe=x(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{let h={},f={},d=e.select("g");a(d,t.markers,t.type,t.diagramId);let p=d.insert("g").attr("class","subgraphs"),g=d.insert("g").attr("class","edgePaths"),m=d.insert("g").attr("class","edgeLabels"),v=d.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async w=>{if(w.isGroup){let S={...w};f[w.id]=S,h[w.id]=S,await r(p,w)}else{let S={...w};h[w.id]=S;let T=await s(v,w,{config:t.config,dir:t.direction||"TB"}),E=T.node().getBBox();S.width=E.width,S.height=E.height,S.domId=T,o.debug(`Node ${w.id} dimensions: ${E.width}x${E.height}`)}})),o.debug("Running cose-bilkent layout algorithm");let y={...t,nodes:t.nodes.map(w=>{let S=h[w.id];return{...w,width:S.width,height:S.height}})},b=await qce(y,t.config);o.debug("Positioning nodes based on layout results"),b.nodes.forEach(w=>{let S=h[w.id];S?.domId&&(S.domId.attr("transform",`translate(${w.x}, ${w.y})`),S.x=w.x,S.y=w.y,o.debug(`Positioned node ${S.id} at center (${w.x}, ${w.y})`))}),b.edges.forEach(w=>{let S=t.edges.find(T=>T.id===w.id);S&&(S.points=[{x:w.startX,y:w.startY},{x:w.midX,y:w.midY},{x:w.endX,y:w.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async w=>{let S=await i(m,w),T=h[w.start??""],E=h[w.end??""];if(T&&E){let A=b.edges.find(C=>C.id===w.id);if(A){o.debug("APA01 positionedEdge",A);let C={...w},I=n(g,C,f,t.type,T,E,t.diagramId);l(C,I)}else{let C={...w,points:[{x:T.x||0,y:T.y||0},{x:E.x||0,y:E.y||0}]},I=n(g,C,f,t.type,T,E,t.diagramId);l(C,I)}}})),o.debug("Cose-bilkent rendering completed")},"render"),YFe=HFe});var XFe,G2,rN,jFe,zo,Ic,Go=F(()=>{Io();Ls();hn();vr();rr();XFe={common:Je,getConfig:or,insertCluster:tg,insertEdge:yw,insertEdgeLabel:mw,insertMarkers:xw,insertNode:Fd,interpolateToCurve:z5,labelHelper:jt,log:J,positionEdgeLabel:vw},G2={},rN=x(t=>{for(let e of t)G2[e.name]=e},"registerLayoutLoaders"),jFe=x(()=>{rN([{name:"dagre",loader:x(async()=>await Promise.resolve().then(()=>(vae(),mae)),"loader")},{name:"cose-bilkent",loader:x(async()=>await Promise.resolve().then(()=>(Yce(),Hce)),"loader")}])},"registerDefaultLayoutLoaders");jFe();zo=x(async(t,e)=>{if(!(t.layoutAlgorithm in G2))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=G2[t.layoutAlgorithm];return(await r.loader()).render(t,e,XFe,{algorithm:r.algorithm})},"render"),Ic=x((t="",{fallback:e="dagre"}={})=>{if(t in G2)return t;if(e in G2)return J.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var aN,h0,Ok,due,Pk,Bk,La,Fk,$k=F(()=>{vr();rr();aN=Fa(Np(),1),h0=x((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Ok=x((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};h0(t,r).lower()},"drawBackgroundRect"),due=x((t,e)=>{let r=e.text.replace(rd," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),Pk=x((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,aN.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),Bk=x((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,aN.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),La=x(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Fk=x(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var Sue={};hr(Sue,{diagram:()=>q$e});function Wo(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=m_(e[t].text,i,n),e[t].textLines=e[t].text.split(Je.lineBreakRegex).length,e[t].width=i,e[t].height=Dy(e[t].text,n);else{let a=e[t].text.split(Je.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let o of a)e[t].width=Math.max(ea(o,n),e[t].width),s=Dy(o,n),e[t].height=e[t].height+s}}function fN(t,e,r,n,i){let a=new Tue(i);a.data.widthLimit=r.data.widthLimit/Math.min(oN,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&Ft.wrap,h=zk(Ft);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Wo("label",o,u,h,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let g=zk(Ft);Wo("type",o,u,g,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let g=zk(Ft);g.fontSize=g.fontSize-2,Wo("descr",o,u,g,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%oN===0){let g=r.data.startx+Ft.diagramMarginX,m=r.data.stopy+Ft.diagramMarginY+l;a.setData(g,g,m,m)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Ft.diagramMarginX:a.data.startx,m=a.data.starty;a.setData(g,g,m,m)}a.name=o.alias;let f=i.db.getC4ShapeArray(o.alias),d=i.db.getC4ShapeKeys(o.alias);d.length>0&&Eue(a,t,f,d),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&fN(t,e,a,p,i),o.alias!=="global"&&kue(t,o,a),r.data.stopy=Math.max(a.data.stopy+Ft.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Ft.c4ShapeMargin,r.data.stopx),qk=Math.max(qk,r.data.stopx),Wk=Math.max(Wk,r.data.stopy)}}var xue,Gk,ZFe,kl,kf,ns,Tl,Dc,H2,cN,uN,Vk,Uk,mue,QFe,JFe,e$e,t$e,r$e,n$e,i$e,a$e,s$e,o$e,l$e,c$e,u$e,h$e,f$e,d$e,p$e,vue,g$e,m$e,yue,v$e,y$e,x$e,b$e,Ef,w$e,T$e,k$e,E$e,S$e,sN,hN,bue,C$e,A$e,_$e,L$e,R$e,I$e,N$e,D$e,M$e,O$e,P$e,B$e,Fu,Nc,qk,Wk,wue,oN,Ft,Tue,lN,W2,zk,F$e,kue,Eue,qo,pue,$$e,z$e,G$e,gue,V$e,U$e,q$e,Cue=F(()=>{$k();hn();vr();rr();cr();xue=Fa(Np(),1),Gk=(function(){var t=x(function(qe,Le,Me,Ne){for(Me=Me||{},Ne=qe.length;Ne--;Me[qe[Ne]]=Le);return Me},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],h=[1,67],f=[1,68],d=[1,69],p=[1,29],g=[1,30],m=[1,31],v=[1,32],y=[1,33],b=[1,34],w=[1,35],S=[1,36],T=[1,37],E=[1,38],A=[1,39],C=[1,40],I=[1,41],M=[1,42],R=[1,43],k=[1,44],L=[1,45],_=[1,46],D=[1,47],N=[1,48],O=[1,50],P=[1,51],B=[1,52],G=[1,53],$=[1,54],U=[1,55],X=[1,56],ee=[1,57],Y=[1,58],oe=[1,59],Q=[1,60],ue=[14,42],re=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],te=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Z=[1,82],j=[1,83],ae=[1,84],K=[1,85],de=[12,14,42],ne=[12,14,33,42],be=[12,14,33,42,76,77,79,80],W=[12,33],Ve=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],pe={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:x(function(Le,Me,Ne,Ce,Fe,fe,ye){var H=fe.length-1;switch(Fe){case 3:Ce.setDirection("TB");break;case 4:Ce.setDirection("BT");break;case 5:Ce.setDirection("RL");break;case 6:Ce.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ce.setC4Type(fe[H-3]);break;case 19:Ce.setTitle(fe[H].substring(6)),this.$=fe[H].substring(6);break;case 20:Ce.setAccDescription(fe[H].substring(15)),this.$=fe[H].substring(15);break;case 21:this.$=fe[H].trim(),Ce.setTitle(this.$);break;case 22:case 23:this.$=fe[H].trim(),Ce.setAccDescription(this.$);break;case 28:fe[H].splice(2,0,"ENTERPRISE"),Ce.addPersonOrSystemBoundary(...fe[H]),this.$=fe[H];break;case 29:fe[H].splice(2,0,"SYSTEM"),Ce.addPersonOrSystemBoundary(...fe[H]),this.$=fe[H];break;case 30:Ce.addPersonOrSystemBoundary(...fe[H]),this.$=fe[H];break;case 31:fe[H].splice(2,0,"CONTAINER"),Ce.addContainerBoundary(...fe[H]),this.$=fe[H];break;case 32:Ce.addDeploymentNode("node",...fe[H]),this.$=fe[H];break;case 33:Ce.addDeploymentNode("nodeL",...fe[H]),this.$=fe[H];break;case 34:Ce.addDeploymentNode("nodeR",...fe[H]),this.$=fe[H];break;case 35:Ce.popBoundaryParseStack();break;case 39:Ce.addPersonOrSystem("person",...fe[H]),this.$=fe[H];break;case 40:Ce.addPersonOrSystem("external_person",...fe[H]),this.$=fe[H];break;case 41:Ce.addPersonOrSystem("system",...fe[H]),this.$=fe[H];break;case 42:Ce.addPersonOrSystem("system_db",...fe[H]),this.$=fe[H];break;case 43:Ce.addPersonOrSystem("system_queue",...fe[H]),this.$=fe[H];break;case 44:Ce.addPersonOrSystem("external_system",...fe[H]),this.$=fe[H];break;case 45:Ce.addPersonOrSystem("external_system_db",...fe[H]),this.$=fe[H];break;case 46:Ce.addPersonOrSystem("external_system_queue",...fe[H]),this.$=fe[H];break;case 47:Ce.addContainer("container",...fe[H]),this.$=fe[H];break;case 48:Ce.addContainer("container_db",...fe[H]),this.$=fe[H];break;case 49:Ce.addContainer("container_queue",...fe[H]),this.$=fe[H];break;case 50:Ce.addContainer("external_container",...fe[H]),this.$=fe[H];break;case 51:Ce.addContainer("external_container_db",...fe[H]),this.$=fe[H];break;case 52:Ce.addContainer("external_container_queue",...fe[H]),this.$=fe[H];break;case 53:Ce.addComponent("component",...fe[H]),this.$=fe[H];break;case 54:Ce.addComponent("component_db",...fe[H]),this.$=fe[H];break;case 55:Ce.addComponent("component_queue",...fe[H]),this.$=fe[H];break;case 56:Ce.addComponent("external_component",...fe[H]),this.$=fe[H];break;case 57:Ce.addComponent("external_component_db",...fe[H]),this.$=fe[H];break;case 58:Ce.addComponent("external_component_queue",...fe[H]),this.$=fe[H];break;case 60:Ce.addRel("rel",...fe[H]),this.$=fe[H];break;case 61:Ce.addRel("birel",...fe[H]),this.$=fe[H];break;case 62:Ce.addRel("rel_u",...fe[H]),this.$=fe[H];break;case 63:Ce.addRel("rel_d",...fe[H]),this.$=fe[H];break;case 64:Ce.addRel("rel_l",...fe[H]),this.$=fe[H];break;case 65:Ce.addRel("rel_r",...fe[H]),this.$=fe[H];break;case 66:Ce.addRel("rel_b",...fe[H]),this.$=fe[H];break;case 67:fe[H].splice(0,1),Ce.addRel("rel",...fe[H]),this.$=fe[H];break;case 68:Ce.updateElStyle("update_el_style",...fe[H]),this.$=fe[H];break;case 69:Ce.updateRelStyle("update_rel_style",...fe[H]),this.$=fe[H];break;case 70:Ce.updateLayoutConfig("update_layout_config",...fe[H]),this.$=fe[H];break;case 71:this.$=[fe[H]];break;case 72:fe[H].unshift(fe[H-1]),this.$=fe[H];break;case 73:case 75:this.$=fe[H].trim();break;case 74:let he={};he[fe[H-1].trim()]=fe[H].trim(),this.$=he;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{14:[1,74]},t(ue,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:h,40:f,41:d,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q}),t(ue,[2,14]),t(re,[2,16],{12:[1,76]}),t(ue,[2,36],{12:[1,77]}),t(te,[2,19]),t(te,[2,20]),{25:[1,78]},{27:[1,79]},t(te,[2,23]),{35:80,75:81,76:Z,77:j,79:ae,80:K},{35:86,75:81,76:Z,77:j,79:ae,80:K},{35:87,75:81,76:Z,77:j,79:ae,80:K},{35:88,75:81,76:Z,77:j,79:ae,80:K},{35:89,75:81,76:Z,77:j,79:ae,80:K},{35:90,75:81,76:Z,77:j,79:ae,80:K},{35:91,75:81,76:Z,77:j,79:ae,80:K},{35:92,75:81,76:Z,77:j,79:ae,80:K},{35:93,75:81,76:Z,77:j,79:ae,80:K},{35:94,75:81,76:Z,77:j,79:ae,80:K},{35:95,75:81,76:Z,77:j,79:ae,80:K},{35:96,75:81,76:Z,77:j,79:ae,80:K},{35:97,75:81,76:Z,77:j,79:ae,80:K},{35:98,75:81,76:Z,77:j,79:ae,80:K},{35:99,75:81,76:Z,77:j,79:ae,80:K},{35:100,75:81,76:Z,77:j,79:ae,80:K},{35:101,75:81,76:Z,77:j,79:ae,80:K},{35:102,75:81,76:Z,77:j,79:ae,80:K},{35:103,75:81,76:Z,77:j,79:ae,80:K},{35:104,75:81,76:Z,77:j,79:ae,80:K},t(de,[2,59]),{35:105,75:81,76:Z,77:j,79:ae,80:K},{35:106,75:81,76:Z,77:j,79:ae,80:K},{35:107,75:81,76:Z,77:j,79:ae,80:K},{35:108,75:81,76:Z,77:j,79:ae,80:K},{35:109,75:81,76:Z,77:j,79:ae,80:K},{35:110,75:81,76:Z,77:j,79:ae,80:K},{35:111,75:81,76:Z,77:j,79:ae,80:K},{35:112,75:81,76:Z,77:j,79:ae,80:K},{35:113,75:81,76:Z,77:j,79:ae,80:K},{35:114,75:81,76:Z,77:j,79:ae,80:K},{35:115,75:81,76:Z,77:j,79:ae,80:K},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:h,40:f,41:d,43:23,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:Z,77:j,79:ae,80:K},{35:120,75:81,76:Z,77:j,79:ae,80:K},{35:121,75:81,76:Z,77:j,79:ae,80:K},{35:122,75:81,76:Z,77:j,79:ae,80:K},{35:123,75:81,76:Z,77:j,79:ae,80:K},{35:124,75:81,76:Z,77:j,79:ae,80:K},{35:125,75:81,76:Z,77:j,79:ae,80:K},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ue,[2,15]),t(re,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(ue,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:h,40:f,41:d,44:p,45:g,46:m,47:v,48:y,49:b,50:w,51:S,52:T,53:E,54:A,55:C,56:I,57:M,58:R,59:k,60:L,61:_,62:D,63:N,64:O,65:P,66:B,67:G,68:$,69:U,70:X,71:ee,72:Y,73:oe,74:Q}),t(te,[2,21]),t(te,[2,22]),t(de,[2,39]),t(ne,[2,71],{75:81,35:132,76:Z,77:j,79:ae,80:K}),t(be,[2,73]),{78:[1,133]},t(be,[2,75]),t(be,[2,76]),t(de,[2,40]),t(de,[2,41]),t(de,[2,42]),t(de,[2,43]),t(de,[2,44]),t(de,[2,45]),t(de,[2,46]),t(de,[2,47]),t(de,[2,48]),t(de,[2,49]),t(de,[2,50]),t(de,[2,51]),t(de,[2,52]),t(de,[2,53]),t(de,[2,54]),t(de,[2,55]),t(de,[2,56]),t(de,[2,57]),t(de,[2,58]),t(de,[2,60]),t(de,[2,61]),t(de,[2,62]),t(de,[2,63]),t(de,[2,64]),t(de,[2,65]),t(de,[2,66]),t(de,[2,67]),t(de,[2,68]),t(de,[2,69]),t(de,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(W,[2,28]),t(W,[2,29]),t(W,[2,30]),t(W,[2,31]),t(W,[2,32]),t(W,[2,33]),t(W,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(re,[2,18]),t(ue,[2,38]),t(ne,[2,72]),t(be,[2,74]),t(de,[2,24]),t(de,[2,35]),t(Ve,[2,25]),t(Ve,[2,26],{12:[1,138]}),t(Ve,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:x(function(Le,Me){if(Me.recoverable)this.trace(Le);else{var Ne=new Error(Le);throw Ne.hash=Me,Ne}},"parseError"),parse:x(function(Le){var Me=this,Ne=[0],Ce=[],Fe=[null],fe=[],ye=this.table,H="",he=0,z=0,se=0,le=2,ke=1,ve=fe.slice.call(arguments,1),me=Object.create(this.lexer),Ie={yy:{}};for(var _e in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_e)&&(Ie.yy[_e]=this.yy[_e]);me.setInput(Le,Ie.yy),Ie.yy.lexer=me,Ie.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var ze=me.yylloc;fe.push(ze);var Xe=me.options&&me.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(st){Ne.length=Ne.length-2*st,Fe.length=Fe.length-st,fe.length=fe.length-st}x(ft,"popStack");function We(){var st;return st=Ce.pop()||me.lex()||ke,typeof st!="number"&&(st instanceof Array&&(Ce=st,st=Ce.pop()),st=Me.symbols_[st]||st),st}x(We,"lex");for(var Oe,Ke,Ue,nt,Dt,ut,kt={},ot,Qe,dt,gt;;){if(Ue=Ne[Ne.length-1],this.defaultActions[Ue]?nt=this.defaultActions[Ue]:((Oe===null||typeof Oe>"u")&&(Oe=We()),nt=ye[Ue]&&ye[Ue][Oe]),typeof nt>"u"||!nt.length||!nt[0]){var ht="";gt=[];for(ot in ye[Ue])this.terminals_[ot]&&ot>le&>.push("'"+this.terminals_[ot]+"'");me.showPosition?ht="Parse error on line "+(he+1)+`: `+me.showPosition()+` Expecting `+gt.join(", ")+", got '"+(this.terminals_[Oe]||Oe)+"'":ht="Parse error on line "+(he+1)+": Unexpected "+(Oe==ke?"end of input":"'"+(this.terminals_[Oe]||Oe)+"'"),this.parseError(ht,{text:me.match,token:this.terminals_[Oe]||Oe,line:me.yylineno,loc:ze,expected:gt})}if(nt[0]instanceof Array&&nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ue+", token: "+Oe);switch(nt[0]){case 1:Ne.push(Oe),Fe.push(me.yytext),fe.push(me.yylloc),Ne.push(nt[1]),Oe=null,Ke?(Oe=Ke,Ke=null):(z=me.yyleng,H=me.yytext,he=me.yylineno,ze=me.yylloc,se>0&&se--);break;case 2:if(Qe=this.productions_[nt[1]][1],kt.$=Fe[Fe.length-Qe],kt._$={first_line:fe[fe.length-(Qe||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(Qe||1)].first_column,last_column:fe[fe.length-1].last_column},Xe&&(kt._$.range=[fe[fe.length-(Qe||1)].range[0],fe[fe.length-1].range[1]]),ut=this.performAction.apply(kt,[H,z,he,Ie.yy,nt[1],Fe,fe].concat(ve)),typeof ut<"u")return ut;Qe&&(Ne=Ne.slice(0,-1*Qe*2),Fe=Fe.slice(0,-1*Qe),fe=fe.slice(0,-1*Qe)),Ne.push(this.productions_[nt[1]][0]),Fe.push(kt.$),fe.push(kt._$),dt=ye[Ne[Ne.length-2]][Ne[Ne.length-1]],Ne.push(dt);break;case 3:return!0}}return!0},"parse")},Be=(function(){var qe={EOF:1,parseError:x(function(Me,Ne){if(this.yy.parser)this.yy.parser.parseError(Me,Ne);else throw new Error(Me)},"parseError"),setInput:x(function(Le,Me){return this.yy=Me||this.yy||{},this._input=Le,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:x(function(){var Le=this._input[0];this.yytext+=Le,this.yyleng++,this.offset++,this.match+=Le,this.matched+=Le;var Me=Le.match(/(?:\r\n?|\n).*/g);return Me?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Le},"input"),unput:x(function(Le){var Me=Le.length,Ne=Le.split(/(?:\r\n?|\n)/g);this._input=Le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Me),this.offset-=Me;var Ce=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),Ne.length-1&&(this.yylineno-=Ne.length-1);var Fe=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:Ne?(Ne.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Ne.length].length-Ne[0].length:this.yylloc.first_column-Me},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-Me]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(Le){this.unput(this.match.slice(Le))},"less"),pastInput:x(function(){var Le=this.matched.substr(0,this.matched.length-this.match.length);return(Le.length>20?"...":"")+Le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var Le=this.match;return Le.length<20&&(Le+=this._input.substr(0,20-Le.length)),(Le.substr(0,20)+(Le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var Le=this.pastInput(),Me=new Array(Le.length+1).join("-");return Le+this.upcomingInput()+` `+Me+"^"},"showPosition"),test_match:x(function(Le,Me){var Ne,Ce,Fe;if(this.options.backtrack_lexer&&(Fe={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&&(Fe.yylloc.range=this.yylloc.range.slice(0))),Ce=Le[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Le[0].length},this.yytext+=Le[0],this.match+=Le[0],this.matches=Le,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(Le[0].length),this.matched+=Le[0],Ne=this.performAction.call(this,this.yy,this,Me,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ne)return Ne;if(this._backtrack){for(var fe in Fe)this[fe]=Fe[fe];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Le,Me,Ne,Ce;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),fe=0;feMe[0].length)){if(Me=Ne,Ce=fe,this.options.backtrack_lexer){if(Le=this.test_match(Ne,Fe[fe]),Le!==!1)return Le;if(this._backtrack){Me=!1;continue}else return!1}else if(!this.options.flex)break}return Me?(Le=this.test_match(Me,Fe[Ce]),Le!==!1?Le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var Me=this.next();return Me||this.lex()},"lex"),begin:x(function(Me){this.conditionStack.push(Me)},"begin"),popState:x(function(){var Me=this.conditionStack.length-1;return Me>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(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:x(function(Me){return Me=this.conditionStack.length-1-Math.abs(Me||0),Me>=0?this.conditionStack[Me]:"INITIAL"},"topState"),pushState:x(function(Me){this.begin(Me)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(Me,Ne,Ce,Fe){var fe=Fe;switch(Ce){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,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,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return qe})();pe.lexer=Be;function Ye(){this.yy={}}return x(Ye,"Parser"),Ye.prototype=pe,pe.Parser=Ye,new Ye})();Gk.parser=Gk;ZFe=Gk,kl=[],kf=[""],ns="global",Tl="",Dc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H2=[],cN="",uN=!1,Vk=4,Uk=2,QFe=x(function(){return mue},"getC4Type"),JFe=x(function(t){mue=ar(t,we())},"setC4Type"),e$e=x(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={},h=H2.find(f=>f.from===e&&f.to===r);if(h?u=h:H2.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]={text:d}}else u.descr={text:a};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.sprite=s;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Ef()},"addRel"),t$e=x(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={},l=kl.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,kl.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,h]=Object.entries(n)[0];o[u]={text:h}}else o.descr={text:n};if(typeof i=="object"){let[u,h]=Object.entries(i)[0];o[u]=h}else o.sprite=i;if(typeof a=="object"){let[u,h]=Object.entries(a)[0];o[u]=h}else o.tags=a;if(typeof s=="object"){let[u,h]=Object.entries(s)[0];o[u]=h}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=ns,o.wrap=Ef()},"addPersonOrSystem"),r$e=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={},u=kl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,kl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]={text:f}}else l.descr={text:i};if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.sprite=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.tags=s;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.wrap=Ef(),l.typeC4Shape={text:t},l.parentBoundary=ns},"addContainer"),n$e=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={},u=kl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,kl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]={text:f}}else l.descr={text:i};if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.sprite=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.tags=s;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.wrap=Ef(),l.typeC4Shape={text:t},l.parentBoundary=ns},"addComponent"),i$e=x(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Dc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Dc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=ns,a.wrap=Ef(),Tl=ns,ns=t,kf.push(Tl)},"addPersonOrSystemBoundary"),a$e=x(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Dc.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Dc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=ns,a.wrap=Ef(),Tl=ns,ns=t,kf.push(Tl)},"addContainerBoundary"),s$e=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={},u=Dc.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Dc.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]={text:f}}else l.descr={text:i};if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.tags=s;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.nodeType=t,l.parentBoundary=ns,l.wrap=Ef(),Tl=ns,ns=e,kf.push(Tl)},"addDeploymentNode"),o$e=x(function(){ns=Tl,kf.pop(),Tl=kf.pop(),kf.push(Tl)},"popBoundaryParseStack"),l$e=x(function(t,e,r,n,i,a,s,o,l,u,h){let f=kl.find(d=>d.alias===e);if(!(f===void 0&&(f=Dc.find(d=>d.alias===e),f===void 0))){if(r!=null)if(typeof r=="object"){let[d,p]=Object.entries(r)[0];f[d]=p}else f.bgColor=r;if(n!=null)if(typeof n=="object"){let[d,p]=Object.entries(n)[0];f[d]=p}else f.fontColor=n;if(i!=null)if(typeof i=="object"){let[d,p]=Object.entries(i)[0];f[d]=p}else f.borderColor=i;if(a!=null)if(typeof a=="object"){let[d,p]=Object.entries(a)[0];f[d]=p}else f.shadowing=a;if(s!=null)if(typeof s=="object"){let[d,p]=Object.entries(s)[0];f[d]=p}else f.shape=s;if(o!=null)if(typeof o=="object"){let[d,p]=Object.entries(o)[0];f[d]=p}else f.sprite=o;if(l!=null)if(typeof l=="object"){let[d,p]=Object.entries(l)[0];f[d]=p}else f.techn=l;if(u!=null)if(typeof u=="object"){let[d,p]=Object.entries(u)[0];f[d]=p}else f.legendText=u;if(h!=null)if(typeof h=="object"){let[d,p]=Object.entries(h)[0];f[d]=p}else f.legendSprite=h}},"updateElStyle"),c$e=x(function(t,e,r,n,i,a,s){let o=H2.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),u$e=x(function(t,e,r){let n=Vk,i=Uk;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(Vk=n),i>=1&&(Uk=i)},"updateLayoutConfig"),h$e=x(function(){return Vk},"getC4ShapeInRow"),f$e=x(function(){return Uk},"getC4BoundaryInRow"),d$e=x(function(){return ns},"getCurrentBoundaryParse"),p$e=x(function(){return Tl},"getParentBoundaryParse"),vue=x(function(t){return t==null?kl:kl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),g$e=x(function(t){return kl.find(e=>e.alias===t)},"getC4Shape"),m$e=x(function(t){return Object.keys(vue(t))},"getC4ShapeKeys"),yue=x(function(t){return t==null?Dc:Dc.filter(e=>e.parentBoundary===t)},"getBoundaries"),v$e=yue,y$e=x(function(){return H2},"getRels"),x$e=x(function(){return cN},"getTitle"),b$e=x(function(t){uN=t},"setWrap"),Ef=x(function(){return uN},"autoWrap"),w$e=x(function(){kl=[],Dc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Tl="",ns="global",kf=[""],H2=[],kf=[""],cN="",uN=!1,Vk=4,Uk=2},"clear"),T$e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},k$e={FILLED:0,OPEN:1},E$e={LEFTOF:0,RIGHTOF:1,OVER:2},S$e=x(function(t){cN=ar(t,we())},"setTitle"),sN={addPersonOrSystem:t$e,addPersonOrSystemBoundary:i$e,addContainer:r$e,addContainerBoundary:a$e,addComponent:n$e,addDeploymentNode:s$e,popBoundaryParseStack:o$e,addRel:e$e,updateElStyle:l$e,updateRelStyle:c$e,updateLayoutConfig:u$e,autoWrap:Ef,setWrap:b$e,getC4ShapeArray:vue,getC4Shape:g$e,getC4ShapeKeys:m$e,getBoundaries:yue,getBoundarys:v$e,getCurrentBoundaryParse:d$e,getParentBoundaryParse:p$e,getRels:y$e,getTitle:x$e,getC4Type:QFe,getC4ShapeInRow:h$e,getC4BoundaryInRow:f$e,setAccTitle:Er,getAccTitle:Cr,getAccDescription:_r,setAccDescription:Ar,getConfig:x(()=>we().c4,"getConfig"),clear:w$e,LINETYPE:T$e,ARROWTYPE:k$e,PLACEMENT:E$e,setTitle:S$e,setC4Type:JFe},hN=x(function(t,e){return h0(t,e)},"drawRect"),bue=x(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:(0,xue.sanitizeUrl)(a);s.attr("xlink:href",o)},"drawImage"),C$e=x((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",o=a.lineColor?a.lineColor:"#444444",l=a.offsetX?parseInt(a.offsetX):0,u=a.offsetY?parseInt(a.offsetY):0,h="";if(i===0){let d=n.append("line");d.attr("x1",a.startPoint.x),d.attr("y1",a.startPoint.y),d.attr("x2",a.endPoint.x),d.attr("y2",a.endPoint.y),d.attr("stroke-width","1"),d.attr("stroke",o),d.style("fill","none"),a.type!=="rel_b"&&d.attr("marker-end","url("+h+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&d.attr("marker-start","url("+h+"#arrowend)"),i=-1}else{let d=n.append("path");d.attr("fill","none").attr("stroke-width","1").attr("stroke",o).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&d.attr("marker-end","url("+h+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&d.attr("marker-start","url("+h+"#arrowend)")}let f=r.messageFont();Fu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+l,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+u,a.label.width,a.label.height,{fill:s},f),a.techn&&a.techn.text!==""&&(f=r.messageFont(),Fu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+l,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+u,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},f))}},"drawRels"),A$e=x(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};hN(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,Fu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,Fu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,Fu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),_$e=x(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let o=t.append("g");o.attr("class","person-man");let l=La();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},hN(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=B$e(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":bue(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,Fu(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&e.techn?.text!==""?Fu(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&e.type.text!==""&&Fu(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&e.descr.text!==""&&(h=r.personFont(),h.fontColor=a,Fu(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height},"drawC4Shape"),L$e=x(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),R$e=x(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),I$e=x(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),N$e=x(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),D$e=x(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),M$e=x(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),O$e=x(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),P$e=x(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),B$e=x((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),Fu=(function(){function t(i,a,s,o,l,u,h){let f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(f,h)}x(t,"byText");function e(i,a,s,o,l,u,h,f){let{fontSize:d,fontFamily:p,fontWeight:g}=f,m=i.split(Je.lineBreakRegex);for(let v=0;v=this.data.widthLimit||r>=this.data.widthLimit||this.nextData.cnt>wue)&&(e=this.nextData.startx+t.margin+Ft.nextLinePaddingX,n=this.nextData.stopy+t.margin*2,this.nextData.stopx=r=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=n+t.height,this.nextData.cnt=1),t.x=e,t.y=n,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},lN(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},lN=x(function(t){Nn(Ft,t),t.fontFamily&&(Ft.personFontFamily=Ft.systemFontFamily=Ft.messageFontFamily=t.fontFamily),t.fontSize&&(Ft.personFontSize=Ft.systemFontSize=Ft.messageFontSize=t.fontSize),t.fontWeight&&(Ft.personFontWeight=Ft.systemFontWeight=Ft.messageFontWeight=t.fontWeight)},"setConf"),W2=x((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),zk=x(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),F$e=x(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");x(Wo,"calcC4ShapeTextWH");kue=x(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Ft.c4ShapeMargin-35;let n=e.wrap&&Ft.wrap,i=zk(Ft);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=ea(e.label.text,i);Wo("label",e,n,i,a),Nc.drawBoundary(t,e,Ft)},"drawBoundary"),Eue=x(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],o=W2(Ft,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=ea("\xAB"+s.typeC4Shape.text+"\xBB",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=Ft.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&Ft.wrap,u=Ft.width-Ft.c4ShapePadding*2,h=W2(Ft,s.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Wo("label",s,l,h,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=W2(Ft,s.typeC4Shape.text);Wo("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=W2(Ft,s.techn.text);Wo("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let f=i,d=s.label.width;if(s.descr&&s.descr.text!==""){let p=W2(Ft,s.typeC4Shape.text);Wo("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,d=Math.max(s.label.width,s.descr.width),f=i-s.descr.textLines*5}d=d+Ft.c4ShapePadding,s.width=Math.max(s.width||Ft.width,d,Ft.width),s.height=Math.max(s.height||Ft.height,f,Ft.height),s.margin=s.margin||Ft.c4ShapeMargin,t.insert(s),Nc.drawC4Shape(e,s,Ft)}t.bumpLastMargin(Ft.c4ShapeMargin)},"drawC4ShapeArray"),qo=class{static{x(this,"Point")}constructor(t,e){this.x=t,this.y=e}},pue=x(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),h=u/l,f=t.height/t.width,d=null;return n==a&&ri?d=new qo(r,o):r==i&&na&&(d=new qo(s,n)),r>i&&n=h?d=new qo(r,o+h*t.width/2):d=new qo(s-l/u*t.height/2,n+t.height):r=h?d=new qo(r+t.width,o+h*t.width/2):d=new qo(s+l/u*t.height/2,n+t.height):ra?f>=h?d=new qo(r+t.width,o-h*t.width/2):d=new qo(s+t.height/2*l/u,n):r>i&&n>a&&(f>=h?d=new qo(r,o-t.width/2*h):d=new qo(s-t.height/2*l/u,n)),d},"getIntersectPoint"),$$e=x(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=pue(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=pue(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),z$e=x(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Ft.wrap,o=F$e(Ft);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let u=ea(a.label.text,o);Wo("label",a,s,o,u),a.techn&&a.techn.text!==""&&(u=ea(a.techn.text,o),Wo("techn",a,s,o,u)),a.descr&&a.descr.text!==""&&(u=ea(a.descr.text,o),Wo("descr",a,s,o,u));let h=r(a.from),f=r(a.to),d=$$e(h,f);a.startPoint=d.startPoint,a.endPoint=d.endPoint}Nc.drawRels(t,e,Ft)},"drawRels");x(fN,"drawInsideBoundary");G$e=x(function(t,e,r,n){Ft=we().c4;let i=we().securityLevel,a;i==="sandbox"&&(a=He("#i"+e));let s=i==="sandbox"?He(a.nodes()[0].contentDocument.body):He("body"),o=n.db;n.db.setWrap(Ft.wrap),wue=o.getC4ShapeInRow(),oN=o.getC4BoundaryInRow(),J.debug(`C:${JSON.stringify(Ft,null,2)}`);let l=i==="sandbox"?s.select(`[id="${e}"]`):He(`[id="${e}"]`);Nc.insertComputerIcon(l),Nc.insertDatabaseIcon(l),Nc.insertClockIcon(l);let u=new Tue(n);u.setData(Ft.diagramMarginX,Ft.diagramMarginX,Ft.diagramMarginY,Ft.diagramMarginY),u.data.widthLimit=screen.availWidth,qk=Ft.diagramMarginX,Wk=Ft.diagramMarginY;let h=n.db.getTitle(),f=n.db.getBoundaries("");fN(l,"",u,f,n),Nc.insertArrowHead(l),Nc.insertArrowEnd(l),Nc.insertArrowCrossHead(l),Nc.insertArrowFilledHead(l),z$e(l,n.db.getRels(),n.db.getC4Shape,n),u.data.stopx=qk,u.data.stopy=Wk;let d=u.data,g=d.stopy-d.starty+2*Ft.diagramMarginY,v=d.stopx-d.startx+2*Ft.diagramMarginX;h&&l.append("text").text(h).attr("x",(d.stopx-d.startx)/2-4*Ft.diagramMarginX).attr("y",d.starty+Ft.diagramMarginY),un(l,g,v,Ft.useMaxWidth);let y=h?60:0;l.attr("viewBox",d.startx-Ft.diagramMarginX+" -"+(Ft.diagramMarginY+y)+" "+v+" "+(g+y)),J.debug("models:",d)},"draw"),gue={drawPersonOrSystemArray:Eue,drawBoundary:kue,setConf:lN,draw:G$e},V$e=x(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } `,"getStyles"),U$e=V$e,q$e={parser:ZFe,db:sN,renderer:gue,styles:U$e,init:x(({c4:t,wrap:e})=>{gue.setConf(t),sN.setWrap(e)},"init")}});var Mc,Sf=F(()=>{rr();Mc=x(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; height: 1em; overflow: visible; vertical-align: -0.125em; } .node .label-icon path { fill: currentColor; stroke: revert; stroke-width: revert; } `,"getIconStyles")});var Ho,El=F(()=>{rr();cr();Ho=x((t,e)=>{let r;return e==="sandbox"&&(r=He("#i"+t)),(e==="sandbox"?He(r.nodes()[0].contentDocument.body):He("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Bs,W$e,H$e,Yo=F(()=>{vr();rr();Bs=x((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:o}=W$e(t,e);un(t,a,i,n);let l=H$e(s,o,i,a,e);t.attr("viewBox",l),J.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),W$e=x((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),H$e=x((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var Hk={};hr(Hk,{diagram:()=>rze});var Y$e,X$e,j$e,K$e,Z$e,dN,Aue,_ue,Q$e,J$e,eze,tze,rze,Yk=F(()=>{Sf();vy();El();Yo();Go();Io();Ks();Ls();ja();Ka();na();hn();vr();rr();cr();cr();qs();Y$e="flowchart-",X$e=class{constructor(){this.vertexCounter=0,this.config=we(),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=Er,this.setAccDescription=Ar,this.setDiagramTitle=Dr,this.getAccTitle=Cr,this.getAccDescription=_r,this.getDiagramTitle=Lr,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")}static{x(this,"FlowDB")}sanitizeText(t){return Je.sanitizeText(t,this.config)}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return e.domId;return t}addVertex(t,e,r,n,i,a,s={},o){if(!t||t.trim().length===0)return;let l;if(o!==void 0){let d;o.includes(` `)?d=o+` `:d=`{ `+o+` }`,l=Lh(d,{schema:_h})}let u=this.edges.find(d=>d.id===t);if(u){let d=l;d?.animate!==void 0&&(u.animate=d.animate),d?.animation!==void 0&&(u.animation=d.animation),d?.curve!==void 0&&(u.interpolate=d.curve);return}let h,f=this.vertices.get(t);if(f===void 0&&(f={id:t,labelType:"text",domId:Y$e+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,f)),this.vertexCounter++,e!==void 0?(this.config=we(),h=this.sanitizeText(e.text.trim()),f.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),f.text=h):f.text===void 0&&(f.text=t),r!==void 0&&(f.type=r),n?.forEach(d=>{f.styles.push(d)}),i?.forEach(d=>{f.classes.push(d)}),a!==void 0&&(f.dir=a),f.props===void 0?f.props=s:s!==void 0&&Object.assign(f.props,s),l!==void 0){if(l.shape){if(l.shape!==l.shape.toLowerCase()||l.shape.includes("_"))throw new Error(`No such shape: ${l.shape}. Shape names should be lowercase.`);if(!f9(l.shape))throw new Error(`No such shape: ${l.shape}.`);f.type=l?.shape}l?.label&&(f.text=l?.label),l?.icon&&(f.icon=l?.icon,!l.label?.trim()&&f.text===t&&(f.text="")),l?.form&&(f.form=l?.form),l?.pos&&(f.pos=l?.pos),l?.img&&(f.img=l?.img,!l.label?.trim()&&f.text===t&&(f.text="")),l?.constraint&&(f.constraint=l.constraint),l.w&&(f.assetWidth=Number(l.w)),l.h&&(f.assetHeight=Number(l.h))}}addSingleLink(t,e,r,n){let s={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};J.info("abc78 Got edge...",s);let o=r.text;if(o!==void 0&&(s.text=this.sanitizeText(o.text.trim()),s.text.startsWith('"')&&s.text.endsWith('"')&&(s.text=s.text.substring(1,s.text.length-1)),s.labelType=o.type),r!==void 0&&(s.type=r.type,s.stroke=r.stroke,s.length=r.length>10?10:r.length),n&&!this.edges.some(l=>l.id===n))s.id=n,s.isUserDefinedId=!0;else{let l=this.edges.filter(u=>u.start===s.start&&u.end===s.end);l.length===0?s.id=$h(s.start,s.end,{counter:0,prefix:"L"}):s.id=$h(s.start,s.end,{counter:l.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))J.info("Pushing edge..."),this.edges.push(s);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. You have to call mermaid.initialize.`)}isLinkData(t){return t!==null&&typeof t=="object"&&"id"in t&&typeof t.id=="string"}addLink(t,e,r){let n=this.isLinkData(r)?r.id.replace("@",""):void 0;J.info("addLink",t,e,n);for(let i of t)for(let a of e){let s=i===t[t.length-1],o=a===e[0];s&&o?this.addSingleLink(i,a,r,n):this.addSingleLink(i,a,r,void 0)}}updateLinkInterpolate(t,e){t.forEach(r=>{r==="default"?this.edges.defaultInterpolate=e:this.edges[r].interpolate=e})}updateLink(t,e){t.forEach(r=>{if(typeof r=="number"&&r>=this.edges.length)throw new Error(`The index ${r} 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.)`);r==="default"?this.edges.defaultStyle=e:(this.edges[r].style=e,(this.edges[r]?.style?.length??0)>0&&!this.edges[r]?.style?.some(n=>n?.startsWith("fill"))&&this.edges[r]?.style?.push("fill:none"))})}addClass(t,e){let r=e.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/ยงยงยง/g,",").split(";");t.split(",").forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r?.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setDirection(t){this.direction=t.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(t,e){for(let r of t.split(",")){let n=this.vertices.get(r);n&&n.classes.push(e);let i=this.edges.find(s=>s.id===r);i&&i.classes.push(e);let a=this.subGraphLookup.get(r);a&&a.classes.push(e)}}setTooltip(t,e){if(e!==void 0){e=this.sanitizeText(e);for(let r of t.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(r):r,e)}}setClickFun(t,e,r){let n=this.lookUpDomId(t);if(we().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{let s=document.querySelector(`[id="${n}"]`);s!==null&&s.addEventListener("click",()=>{zt.runFunc(e,...i)},!1)}))}setLink(t,e,r){t.split(",").forEach(n=>{let i=this.vertices.get(n);i!==void 0&&(i.link=zt.formatUrl(e,this.config),i.linkTarget=r)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,r){t.split(",").forEach(n=>{this.setClickFun(n,e,r)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=He(".mermaidTooltip");(e._groups||e)[0][0]===null&&(e=He("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),He(t).select("svg").selectAll("g.node").on("mouseover",i=>{let a=He(i.currentTarget);if(a.attr("title")===null)return;let o=i.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(a.attr("title")).style("left",window.scrollX+o.left+(o.right-o.left)/2+"px").style("top",window.scrollY+o.bottom+"px"),e.html(e.html().replace(/<br\/>/g,"
")),a.classed("hover",!0)}).on("mouseout",i=>{e.transition().duration(500).style("opacity",0),He(i.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=we(),mr()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);let s=x(f=>{let d={boolean:{},number:{},string:{}},p=[],g;return{nodeList:f.filter(function(v){let y=typeof v;return v.stmt&&v.stmt==="dir"?(g=v.value,!1):v.trim()===""?!1:y in d?d[y].hasOwnProperty(v)?!1:d[y][v]=!0:p.includes(v)?!1:p.push(v)}),dir:g}},"uniq")(e.flat()),o=s.nodeList,l=s.dir,u=we().flowchart??{};if(l=l??(u.inheritDir?this.getDirection()??we().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let s=this.indexNodes2(t,a);if(s.result)return{result:!0,count:i+s.count};i=i+s.count}n=n+1}return{result:!1,count:i}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(t){let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1);break}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}}countChar(t,e){let r=e.length,n=0;for(let i=0;i":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1));break}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let s=this.countChar(".",r);return s&&(i="dotted",a=s),{type:n,stroke:i,length:a}}destructLink(t,e){let r=this.destructEndLink(t),n;if(e){if(n=this.destructStartLink(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=r.length,n}return r}exists(t,e){for(let r of t)if(r.nodes.includes(e))return!0;return!1}makeUniq(t,e){let r=[];return t.nodes.forEach((n,i)=>{this.exists(e,n)||r.push(t.nodes[i])}),{nodes:r}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return t.form==="circle"?"iconCircle":t.form==="square"?"iconSquare":t.form==="rounded"?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(r=>r.id===e)}destructEdgeType(t){let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e;break}return{arrowTypeStart:e,arrowTypeEnd:r}}addNodeFromVertex(t,e,r,n,i,a){let s=r.get(t.id),o=n.get(t.id)??!1,l=this.findNode(e,t.id);if(l)l.cssStyles=t.styles,l.cssCompiledStyles=this.getCompiledStyles(t.classes),l.cssClasses=t.classes.join(" ");else{let u={id:t.id,label:t.text,labelStyle:"",parentId:s,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};o?e.push({...u,isGroup:!0,shape:"rect"}):e.push({...u,isGroup:!1,shape:this.getTypeFromVertex(t)})}}getCompiledStyles(t){let e=[];for(let r of t){let n=this.classes.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}getData(){let t=we(),e=[],r=[],n=this.getSubGraphs(),i=new Map,a=new Map;for(let l=n.length-1;l>=0;l--){let u=n[l];u.nodes.length>0&&a.set(u.id,!0);for(let h of u.nodes)i.set(h,u.id)}for(let l=n.length-1;l>=0;l--){let u=n[l];e.push({id:u.id,label:u.title,labelStyle:"",parentId:i.get(u.id),padding:8,cssCompiledStyles:this.getCompiledStyles(u.classes),cssClasses:u.classes.join(" "),shape:"rect",dir:u.dir,isGroup:!0,look:t.look})}this.getVertices().forEach(l=>{this.addNodeFromVertex(l,e,i,a,t,t.look||"classic")});let o=this.getEdges();return o.forEach((l,u)=>{let{arrowTypeStart:h,arrowTypeEnd:f}=this.destructEdgeType(l.type),d=[...o.defaultStyle??[]];l.style&&d.push(...l.style);let p={id:$h(l.start,l.end,{counter:u,prefix:"L"},l.id),isUserDefinedId:l.isUserDefinedId,start:l.start,end:l.end,type:l.type??"normal",label:l.text,labelpos:"c",thickness:l.stroke,minlen:l.length,classes:l?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:l?.stroke==="invisible"||l?.type==="arrow_open"?"none":h,arrowTypeEnd:l?.stroke==="invisible"||l?.type==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(l.classes),labelStyle:d,style:d,pattern:l.stroke,look:t.look,animate:l.animate,animation:l.animation,curve:l.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};r.push(p)}),{nodes:e,edges:r,other:{},config:t}}defaultConfig(){return j4.flowchart}},j$e=x(function(t,e){return e.db.getClasses()},"getClasses"),K$e=x(async function(t,e,r,n){J.info("REF0:"),J.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=we(),o;i==="sandbox"&&(o=He("#i"+e));let l=i==="sandbox"?o.nodes()[0].contentDocument:document;J.debug("Before getData: ");let u=n.db.getData();J.debug("Data: ",u);let h=Ho(e,i),f=n.db.getDirection();u.type=n.type,u.layoutAlgorithm=Ic(s),u.layoutAlgorithm==="dagre"&&s==="elk"&&J.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."),u.direction=f,u.nodeSpacing=a?.nodeSpacing||50,u.rankSpacing=a?.rankSpacing||50,u.markers=["point","circle","cross"],u.diagramId=e,J.debug("REF1:",u),await zo(u,h);let d=u.config.flowchart?.diagramPadding??8;zt.insertTitle(h,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),Bs(h,d,"flowchart",a?.useMaxWidth||!1);for(let p of u.nodes){let g=He(`#${e} [id="${p.id}"]`);if(!g||!p.link)continue;let m=l.createElementNS("http://www.w3.org/2000/svg","a");m.setAttributeNS("http://www.w3.org/2000/svg","class",p.cssClasses),m.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?m.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):p.linkTarget&&m.setAttributeNS("http://www.w3.org/2000/svg","target",p.linkTarget);let v=g.insert(function(){return m},":first-child"),y=g.select(".label-container");y&&v.append(function(){return y.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Z$e={getClasses:j$e,draw:K$e},dN=(function(){var t=x(function(tr,et,mt,Gt){for(mt=mt||{},Gt=tr.length;Gt--;mt[tr[Gt]]=et);return mt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[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],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],h=[1,23],f=[1,25],d=[1,26],p=[1,27],g=[1,49],m=[1,48],v=[1,29],y=[1,30],b=[1,31],w=[1,32],S=[1,33],T=[1,44],E=[1,46],A=[1,42],C=[1,47],I=[1,43],M=[1,50],R=[1,45],k=[1,51],L=[1,52],_=[1,34],D=[1,35],N=[1,36],O=[1,37],P=[1,57],B=[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],G=[1,61],$=[1,60],U=[1,62],X=[8,9,11,75,77,78],ee=[1,78],Y=[1,91],oe=[1,96],Q=[1,95],ue=[1,92],re=[1,88],te=[1,94],Z=[1,90],j=[1,97],ae=[1,93],K=[1,98],de=[1,89],ne=[8,9,10,11,40,75,77,78],be=[8,9,10,11,40,46,75,77,78],W=[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],Ve=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],pe=[44,60,89,102,105,106,109,111,114,115,116],Be=[1,121],Ye=[1,122],qe=[1,124],Le=[1,123],Me=[44,60,62,74,89,102,105,106,109,111,114,115,116],Ne=[1,133],Ce=[1,147],Fe=[1,148],fe=[1,149],ye=[1,150],H=[1,135],he=[1,137],z=[1,141],se=[1,142],le=[1,143],ke=[1,144],ve=[1,145],me=[1,146],Ie=[1,151],_e=[1,152],ze=[1,131],Xe=[1,132],ft=[1,139],We=[1,134],Oe=[1,138],Ke=[1,136],Ue=[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],nt=[1,154],Dt=[1,156],ut=[8,9,11],kt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],ot=[1,176],Qe=[1,172],dt=[1,173],gt=[1,177],ht=[1,174],st=[1,175],Br=[77,116,119],wt=[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],mn=[10,106],Ir=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],er=[1,247],Zt=[1,245],wr=[1,249],xt=[1,243],Se=[1,244],tt=[1,246],St=[1,248],pr=[1,250],vn=[1,268],cn=[8,9,11,106],Jr=[8,9,10,11,60,84,105,106,109,110,111,112],Di={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:x(function(et,mt,Gt,at,Tr,ge,Fl){var xe=ge.length-1;switch(Tr){case 2:this.$=[];break;case 3:(!Array.isArray(ge[xe])||ge[xe].length>0)&&ge[xe-1].push(ge[xe]),this.$=ge[xe-1];break;case 4:case 183:this.$=ge[xe];break;case 11:at.setDirection("TB"),this.$="TB";break;case 12:at.setDirection(ge[xe-1]),this.$=ge[xe-1];break;case 27:this.$=ge[xe-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=at.addSubGraph(ge[xe-6],ge[xe-1],ge[xe-4]);break;case 34:this.$=at.addSubGraph(ge[xe-3],ge[xe-1],ge[xe-3]);break;case 35:this.$=at.addSubGraph(void 0,ge[xe-1],void 0);break;case 37:this.$=ge[xe].trim(),at.setAccTitle(this.$);break;case 38:case 39:this.$=ge[xe].trim(),at.setAccDescription(this.$);break;case 43:this.$=ge[xe-1]+ge[xe];break;case 44:this.$=ge[xe];break;case 45:at.addVertex(ge[xe-1][ge[xe-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ge[xe]),at.addLink(ge[xe-3].stmt,ge[xe-1],ge[xe-2]),this.$={stmt:ge[xe-1],nodes:ge[xe-1].concat(ge[xe-3].nodes)};break;case 46:at.addLink(ge[xe-2].stmt,ge[xe],ge[xe-1]),this.$={stmt:ge[xe],nodes:ge[xe].concat(ge[xe-2].nodes)};break;case 47:at.addLink(ge[xe-3].stmt,ge[xe-1],ge[xe-2]),this.$={stmt:ge[xe-1],nodes:ge[xe-1].concat(ge[xe-3].nodes)};break;case 48:this.$={stmt:ge[xe-1],nodes:ge[xe-1]};break;case 49:at.addVertex(ge[xe-1][ge[xe-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ge[xe]),this.$={stmt:ge[xe-1],nodes:ge[xe-1],shapeData:ge[xe]};break;case 50:this.$={stmt:ge[xe],nodes:ge[xe]};break;case 51:this.$=[ge[xe]];break;case 52:at.addVertex(ge[xe-5][ge[xe-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ge[xe-4]),this.$=ge[xe-5].concat(ge[xe]);break;case 53:this.$=ge[xe-4].concat(ge[xe]);break;case 54:this.$=ge[xe];break;case 55:this.$=ge[xe-2],at.setClass(ge[xe-2],ge[xe]);break;case 56:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"square");break;case 57:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"doublecircle");break;case 58:this.$=ge[xe-5],at.addVertex(ge[xe-5],ge[xe-2],"circle");break;case 59:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"ellipse");break;case 60:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"stadium");break;case 61:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"subroutine");break;case 62:this.$=ge[xe-7],at.addVertex(ge[xe-7],ge[xe-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ge[xe-5],ge[xe-3]]]));break;case 63:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"cylinder");break;case 64:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"round");break;case 65:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"diamond");break;case 66:this.$=ge[xe-5],at.addVertex(ge[xe-5],ge[xe-2],"hexagon");break;case 67:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"odd");break;case 68:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"trapezoid");break;case 69:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"inv_trapezoid");break;case 70:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"lean_right");break;case 71:this.$=ge[xe-3],at.addVertex(ge[xe-3],ge[xe-1],"lean_left");break;case 72:this.$=ge[xe],at.addVertex(ge[xe]);break;case 73:ge[xe-1].text=ge[xe],this.$=ge[xe-1];break;case 74:case 75:ge[xe-2].text=ge[xe-1],this.$=ge[xe-2];break;case 76:this.$=ge[xe];break;case 77:var qr=at.destructLink(ge[xe],ge[xe-2]);this.$={type:qr.type,stroke:qr.stroke,length:qr.length,text:ge[xe-1]};break;case 78:var qr=at.destructLink(ge[xe],ge[xe-2]);this.$={type:qr.type,stroke:qr.stroke,length:qr.length,text:ge[xe-1],id:ge[xe-3]};break;case 79:this.$={text:ge[xe],type:"text"};break;case 80:this.$={text:ge[xe-1].text+""+ge[xe],type:ge[xe-1].type};break;case 81:this.$={text:ge[xe],type:"string"};break;case 82:this.$={text:ge[xe],type:"markdown"};break;case 83:var qr=at.destructLink(ge[xe]);this.$={type:qr.type,stroke:qr.stroke,length:qr.length};break;case 84:var qr=at.destructLink(ge[xe]);this.$={type:qr.type,stroke:qr.stroke,length:qr.length,id:ge[xe-1]};break;case 85:this.$=ge[xe-1];break;case 86:this.$={text:ge[xe],type:"text"};break;case 87:this.$={text:ge[xe-1].text+""+ge[xe],type:ge[xe-1].type};break;case 88:this.$={text:ge[xe],type:"string"};break;case 89:case 104:this.$={text:ge[xe],type:"markdown"};break;case 101:this.$={text:ge[xe],type:"text"};break;case 102:this.$={text:ge[xe-1].text+""+ge[xe],type:ge[xe-1].type};break;case 103:this.$={text:ge[xe],type:"text"};break;case 105:this.$=ge[xe-4],at.addClass(ge[xe-2],ge[xe]);break;case 106:this.$=ge[xe-4],at.setClass(ge[xe-2],ge[xe]);break;case 107:case 115:this.$=ge[xe-1],at.setClickEvent(ge[xe-1],ge[xe]);break;case 108:case 116:this.$=ge[xe-3],at.setClickEvent(ge[xe-3],ge[xe-2]),at.setTooltip(ge[xe-3],ge[xe]);break;case 109:this.$=ge[xe-2],at.setClickEvent(ge[xe-2],ge[xe-1],ge[xe]);break;case 110:this.$=ge[xe-4],at.setClickEvent(ge[xe-4],ge[xe-3],ge[xe-2]),at.setTooltip(ge[xe-4],ge[xe]);break;case 111:this.$=ge[xe-2],at.setLink(ge[xe-2],ge[xe]);break;case 112:this.$=ge[xe-4],at.setLink(ge[xe-4],ge[xe-2]),at.setTooltip(ge[xe-4],ge[xe]);break;case 113:this.$=ge[xe-4],at.setLink(ge[xe-4],ge[xe-2],ge[xe]);break;case 114:this.$=ge[xe-6],at.setLink(ge[xe-6],ge[xe-4],ge[xe]),at.setTooltip(ge[xe-6],ge[xe-2]);break;case 117:this.$=ge[xe-1],at.setLink(ge[xe-1],ge[xe]);break;case 118:this.$=ge[xe-3],at.setLink(ge[xe-3],ge[xe-2]),at.setTooltip(ge[xe-3],ge[xe]);break;case 119:this.$=ge[xe-3],at.setLink(ge[xe-3],ge[xe-2],ge[xe]);break;case 120:this.$=ge[xe-5],at.setLink(ge[xe-5],ge[xe-4],ge[xe]),at.setTooltip(ge[xe-5],ge[xe-2]);break;case 121:this.$=ge[xe-4],at.addVertex(ge[xe-2],void 0,void 0,ge[xe]);break;case 122:this.$=ge[xe-4],at.updateLink([ge[xe-2]],ge[xe]);break;case 123:this.$=ge[xe-4],at.updateLink(ge[xe-2],ge[xe]);break;case 124:this.$=ge[xe-8],at.updateLinkInterpolate([ge[xe-6]],ge[xe-2]),at.updateLink([ge[xe-6]],ge[xe]);break;case 125:this.$=ge[xe-8],at.updateLinkInterpolate(ge[xe-6],ge[xe-2]),at.updateLink(ge[xe-6],ge[xe]);break;case 126:this.$=ge[xe-6],at.updateLinkInterpolate([ge[xe-4]],ge[xe]);break;case 127:this.$=ge[xe-6],at.updateLinkInterpolate(ge[xe-4],ge[xe]);break;case 128:case 130:this.$=[ge[xe]];break;case 129:case 131:ge[xe-2].push(ge[xe]),this.$=ge[xe-2];break;case 133:this.$=ge[xe-1]+ge[xe];break;case 181:this.$=ge[xe];break;case 182:this.$=ge[xe-1]+""+ge[xe];break;case 184:this.$=ge[xe-1]+""+ge[xe];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}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:f,36:d,38:p,42:28,43:38,44:g,45:39,47:40,60:m,84:v,85:y,86:b,87:w,88:S,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L,121:_,122:D,123:N,124:O},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:P,15:53,18:56},t(B,[2,3]),t(B,[2,4]),t(B,[2,5]),t(B,[2,6]),t(B,[2,7]),t(B,[2,8]),{8:G,9:$,11:U,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:G,9:$,11:U,21:67},{8:G,9:$,11:U,21:68},{8:G,9:$,11:U,21:69},{8:G,9:$,11:U,21:70},{8:G,9:$,11:U,21:71},{8:G,9:$,10:[1,72],11:U,21:73},t(B,[2,36]),{35:[1,74]},{37:[1,75]},t(B,[2,39]),t(X,[2,50],{18:76,39:77,10:P,40:ee}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:Y,44:oe,60:Q,80:[1,86],89:ue,95:[1,83],97:[1,84],101:85,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de,120:87},t(B,[2,185]),t(B,[2,186]),t(B,[2,187]),t(B,[2,188]),t(ne,[2,51]),t(ne,[2,54],{46:[1,99]}),t(be,[2,72],{113:112,29:[1,100],44:g,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:m,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:T,102:E,105:A,106:C,109:I,111:M,114:R,115:k,116:L}),t(W,[2,181]),t(W,[2,142]),t(W,[2,143]),t(W,[2,144]),t(W,[2,145]),t(W,[2,146]),t(W,[2,147]),t(W,[2,148]),t(W,[2,149]),t(W,[2,150]),t(W,[2,151]),t(W,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(Ve,[2,26],{18:114,10:P}),t(B,[2,27]),{42:115,43:38,44:g,45:39,47:40,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},t(B,[2,40]),t(B,[2,41]),t(B,[2,42]),t(pe,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:Be,81:Ye,116:qe,119:Le},{75:[1,125],77:[1,126]},t(Me,[2,83]),t(B,[2,28]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,32]),{10:Ne,12:Ce,14:Fe,27:fe,28:127,32:ye,44:H,60:he,75:z,80:[1,129],81:[1,130],83:140,84:se,85:le,86:ke,87:ve,88:me,89:Ie,90:_e,91:128,105:ze,109:Xe,111:ft,114:We,115:Oe,116:Ke},t(Ue,a,{5:153}),t(B,[2,37]),t(B,[2,38]),t(X,[2,48],{44:nt}),t(X,[2,49],{18:155,10:P,40:Dt}),t(ne,[2,44]),{44:g,47:157,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},{102:[1,158],103:159,105:[1,160]},{44:g,47:161,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},{44:g,47:162,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},t(ut,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(ut,[2,115],{120:167,10:[1,166],14:Y,44:oe,60:Q,89:ue,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de}),t(ut,[2,117],{10:[1,168]}),t(kt,[2,183]),t(kt,[2,170]),t(kt,[2,171]),t(kt,[2,172]),t(kt,[2,173]),t(kt,[2,174]),t(kt,[2,175]),t(kt,[2,176]),t(kt,[2,177]),t(kt,[2,178]),t(kt,[2,179]),t(kt,[2,180]),{44:g,47:169,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},{30:170,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:178,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:180,50:[1,179],67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:181,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:182,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:183,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{109:[1,184]},{30:185,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:186,65:[1,187],67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:188,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:189,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{30:190,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},t(W,[2,182]),t(i,[2,20]),t(Ve,[2,25]),t(X,[2,46],{39:191,18:192,10:P,40:ee}),t(pe,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{77:[1,196],79:197,116:qe,119:Le},t(Br,[2,79]),t(Br,[2,81]),t(Br,[2,82]),t(Br,[2,168]),t(Br,[2,169]),{76:198,79:120,80:Be,81:Ye,116:qe,119:Le},t(Me,[2,84]),{8:G,9:$,10:Ne,11:U,12:Ce,14:Fe,21:200,27:fe,29:[1,199],32:ye,44:H,60:he,75:z,83:140,84:se,85:le,86:ke,87:ve,88:me,89:Ie,90:_e,91:201,105:ze,109:Xe,111:ft,114:We,115:Oe,116:Ke},t(wt,[2,101]),t(wt,[2,103]),t(wt,[2,104]),t(wt,[2,157]),t(wt,[2,158]),t(wt,[2,159]),t(wt,[2,160]),t(wt,[2,161]),t(wt,[2,162]),t(wt,[2,163]),t(wt,[2,164]),t(wt,[2,165]),t(wt,[2,166]),t(wt,[2,167]),t(wt,[2,90]),t(wt,[2,91]),t(wt,[2,92]),t(wt,[2,93]),t(wt,[2,94]),t(wt,[2,95]),t(wt,[2,96]),t(wt,[2,97]),t(wt,[2,98]),t(wt,[2,99]),t(wt,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,202],33:24,34:f,36:d,38:p,42:28,43:38,44:g,45:39,47:40,60:m,84:v,85:y,86:b,87:w,88:S,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L,121:_,122:D,123:N,124:O},{10:P,18:203},{44:[1,204]},t(ne,[2,43]),{10:[1,205],44:g,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:112,114:R,115:k,116:L},{10:[1,206]},{10:[1,207],106:[1,208]},t(mn,[2,128]),{10:[1,209],44:g,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:112,114:R,115:k,116:L},{10:[1,210],44:g,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:112,114:R,115:k,116:L},{80:[1,211]},t(ut,[2,109],{10:[1,212]}),t(ut,[2,111],{10:[1,213]}),{80:[1,214]},t(kt,[2,184]),{80:[1,215],98:[1,216]},t(ne,[2,55],{113:112,44:g,60:m,89:T,102:E,105:A,106:C,109:I,111:M,114:R,115:k,116:L}),{31:[1,217],67:ot,82:218,116:gt,117:ht,118:st},t(Ir,[2,86]),t(Ir,[2,88]),t(Ir,[2,89]),t(Ir,[2,153]),t(Ir,[2,154]),t(Ir,[2,155]),t(Ir,[2,156]),{49:[1,219],67:ot,82:218,116:gt,117:ht,118:st},{30:220,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{51:[1,221],67:ot,82:218,116:gt,117:ht,118:st},{53:[1,222],67:ot,82:218,116:gt,117:ht,118:st},{55:[1,223],67:ot,82:218,116:gt,117:ht,118:st},{57:[1,224],67:ot,82:218,116:gt,117:ht,118:st},{60:[1,225]},{64:[1,226],67:ot,82:218,116:gt,117:ht,118:st},{66:[1,227],67:ot,82:218,116:gt,117:ht,118:st},{30:228,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},{31:[1,229],67:ot,82:218,116:gt,117:ht,118:st},{67:ot,69:[1,230],71:[1,231],82:218,116:gt,117:ht,118:st},{67:ot,69:[1,233],71:[1,232],82:218,116:gt,117:ht,118:st},t(X,[2,45],{18:155,10:P,40:Dt}),t(X,[2,47],{44:nt}),t(pe,[2,75]),t(pe,[2,74]),{62:[1,234],67:ot,82:218,116:gt,117:ht,118:st},t(pe,[2,77]),t(Br,[2,80]),{77:[1,235],79:197,116:qe,119:Le},{30:236,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},t(Ue,a,{5:237}),t(wt,[2,102]),t(B,[2,35]),{43:238,44:g,45:39,47:40,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},{10:P,18:239},{10:er,60:Zt,84:wr,92:240,105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},{10:er,60:Zt,84:wr,92:251,104:[1,252],105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},{10:er,60:Zt,84:wr,92:253,104:[1,254],105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},{105:[1,255]},{10:er,60:Zt,84:wr,92:256,105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},{44:g,47:257,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},t(ut,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(ut,[2,116]),t(ut,[2,118],{10:[1,261]}),t(ut,[2,119]),t(be,[2,56]),t(Ir,[2,87]),t(be,[2,57]),{51:[1,262],67:ot,82:218,116:gt,117:ht,118:st},t(be,[2,64]),t(be,[2,59]),t(be,[2,60]),t(be,[2,61]),{109:[1,263]},t(be,[2,63]),t(be,[2,65]),{66:[1,264],67:ot,82:218,116:gt,117:ht,118:st},t(be,[2,67]),t(be,[2,68]),t(be,[2,70]),t(be,[2,69]),t(be,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(pe,[2,78]),{31:[1,265],67:ot,82:218,116:gt,117:ht,118:st},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,266],33:24,34:f,36:d,38:p,42:28,43:38,44:g,45:39,47:40,60:m,84:v,85:y,86:b,87:w,88:S,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L,121:_,122:D,123:N,124:O},t(ne,[2,53]),{43:267,44:g,45:39,47:40,60:m,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L},t(ut,[2,121],{106:vn}),t(cn,[2,130],{108:269,10:er,60:Zt,84:wr,105:xt,109:Se,110:tt,111:St,112:pr}),t(Jr,[2,132]),t(Jr,[2,134]),t(Jr,[2,135]),t(Jr,[2,136]),t(Jr,[2,137]),t(Jr,[2,138]),t(Jr,[2,139]),t(Jr,[2,140]),t(Jr,[2,141]),t(ut,[2,122],{106:vn}),{10:[1,270]},t(ut,[2,123],{106:vn}),{10:[1,271]},t(mn,[2,129]),t(ut,[2,105],{106:vn}),t(ut,[2,106],{113:112,44:g,60:m,89:T,102:E,105:A,106:C,109:I,111:M,114:R,115:k,116:L}),t(ut,[2,110]),t(ut,[2,112],{10:[1,272]}),t(ut,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:G,9:$,11:U,21:277},t(B,[2,34]),t(ne,[2,52]),{10:er,60:Zt,84:wr,105:xt,107:278,108:242,109:Se,110:tt,111:St,112:pr},t(Jr,[2,133]),{14:Y,44:oe,60:Q,89:ue,101:279,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de,120:87},{14:Y,44:oe,60:Q,89:ue,101:280,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de,120:87},{98:[1,281]},t(ut,[2,120]),t(be,[2,58]),{30:282,67:ot,80:Qe,81:dt,82:171,116:gt,117:ht,118:st},t(be,[2,66]),t(Ue,a,{5:283}),t(cn,[2,131],{108:269,10:er,60:Zt,84:wr,105:xt,109:Se,110:tt,111:St,112:pr}),t(ut,[2,126],{120:167,10:[1,284],14:Y,44:oe,60:Q,89:ue,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de}),t(ut,[2,127],{120:167,10:[1,285],14:Y,44:oe,60:Q,89:ue,105:re,106:te,109:Z,111:j,114:ae,115:K,116:de}),t(ut,[2,114]),{31:[1,286],67:ot,82:218,116:gt,117:ht,118:st},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,287],33:24,34:f,36:d,38:p,42:28,43:38,44:g,45:39,47:40,60:m,84:v,85:y,86:b,87:w,88:S,89:T,102:E,105:A,106:C,109:I,111:M,113:41,114:R,115:k,116:L,121:_,122:D,123:N,124:O},{10:er,60:Zt,84:wr,92:288,105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},{10:er,60:Zt,84:wr,92:289,105:xt,107:241,108:242,109:Se,110:tt,111:St,112:pr},t(be,[2,62]),t(B,[2,33]),t(ut,[2,124],{106:vn}),t(ut,[2,125],{106:vn})],defaultActions:{},parseError:x(function(et,mt){if(mt.recoverable)this.trace(et);else{var Gt=new Error(et);throw Gt.hash=mt,Gt}},"parseError"),parse:x(function(et){var mt=this,Gt=[0],at=[],Tr=[null],ge=[],Fl=this.table,xe="",qr=0,t4=0,US=0,qS=2,PB=1,n2e=ge.slice.call(arguments,1),Mi=Object.create(this.lexer),Wf={yy:{}};for(var WS in this.yy)Object.prototype.hasOwnProperty.call(this.yy,WS)&&(Wf.yy[WS]=this.yy[WS]);Mi.setInput(et,Wf.yy),Wf.yy.lexer=Mi,Wf.yy.parser=this,typeof Mi.yylloc>"u"&&(Mi.yylloc={});var HS=Mi.yylloc;ge.push(HS);var i2e=Mi.options&&Mi.options.ranges;typeof Wf.yy.parseError=="function"?this.parseError=Wf.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function a2e(Us){Gt.length=Gt.length-2*Us,Tr.length=Tr.length-Us,ge.length=ge.length-Us}x(a2e,"popStack");function BB(){var Us;return Us=at.pop()||Mi.lex()||PB,typeof Us!="number"&&(Us instanceof Array&&(at=Us,Us=at.pop()),Us=mt.symbols_[Us]||Us),Us}x(BB,"lex");for(var Ba,YS,Hf,po,dtt,XS,Q0={},r4,Kc,FB,n4;;){if(Hf=Gt[Gt.length-1],this.defaultActions[Hf]?po=this.defaultActions[Hf]:((Ba===null||typeof Ba>"u")&&(Ba=BB()),po=Fl[Hf]&&Fl[Hf][Ba]),typeof po>"u"||!po.length||!po[0]){var jS="";n4=[];for(r4 in Fl[Hf])this.terminals_[r4]&&r4>qS&&n4.push("'"+this.terminals_[r4]+"'");Mi.showPosition?jS="Parse error on line "+(qr+1)+`: `+Mi.showPosition()+` Expecting `+n4.join(", ")+", got '"+(this.terminals_[Ba]||Ba)+"'":jS="Parse error on line "+(qr+1)+": Unexpected "+(Ba==PB?"end of input":"'"+(this.terminals_[Ba]||Ba)+"'"),this.parseError(jS,{text:Mi.match,token:this.terminals_[Ba]||Ba,line:Mi.yylineno,loc:HS,expected:n4})}if(po[0]instanceof Array&&po.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Hf+", token: "+Ba);switch(po[0]){case 1:Gt.push(Ba),Tr.push(Mi.yytext),ge.push(Mi.yylloc),Gt.push(po[1]),Ba=null,YS?(Ba=YS,YS=null):(t4=Mi.yyleng,xe=Mi.yytext,qr=Mi.yylineno,HS=Mi.yylloc,US>0&&US--);break;case 2:if(Kc=this.productions_[po[1]][1],Q0.$=Tr[Tr.length-Kc],Q0._$={first_line:ge[ge.length-(Kc||1)].first_line,last_line:ge[ge.length-1].last_line,first_column:ge[ge.length-(Kc||1)].first_column,last_column:ge[ge.length-1].last_column},i2e&&(Q0._$.range=[ge[ge.length-(Kc||1)].range[0],ge[ge.length-1].range[1]]),XS=this.performAction.apply(Q0,[xe,t4,qr,Wf.yy,po[1],Tr,ge].concat(n2e)),typeof XS<"u")return XS;Kc&&(Gt=Gt.slice(0,-1*Kc*2),Tr=Tr.slice(0,-1*Kc),ge=ge.slice(0,-1*Kc)),Gt.push(this.productions_[po[1]][0]),Tr.push(Q0.$),ge.push(Q0._$),FB=Fl[Gt[Gt.length-2]][Gt[Gt.length-1]],Gt.push(FB);break;case 3:return!0}}return!0},"parse")},vs=(function(){var tr={EOF:1,parseError:x(function(mt,Gt){if(this.yy.parser)this.yy.parser.parseError(mt,Gt);else throw new Error(mt)},"parseError"),setInput:x(function(et,mt){return this.yy=mt||this.yy||{},this._input=et,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:x(function(){var et=this._input[0];this.yytext+=et,this.yyleng++,this.offset++,this.match+=et,this.matched+=et;var mt=et.match(/(?:\r\n?|\n).*/g);return mt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),et},"input"),unput:x(function(et){var mt=et.length,Gt=et.split(/(?:\r\n?|\n)/g);this._input=et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-mt),this.offset-=mt;var at=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),Gt.length-1&&(this.yylineno-=Gt.length-1);var Tr=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:Gt?(Gt.length===at.length?this.yylloc.first_column:0)+at[at.length-Gt.length].length-Gt[0].length:this.yylloc.first_column-mt},this.options.ranges&&(this.yylloc.range=[Tr[0],Tr[0]+this.yyleng-mt]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(et){this.unput(this.match.slice(et))},"less"),pastInput:x(function(){var et=this.matched.substr(0,this.matched.length-this.match.length);return(et.length>20?"...":"")+et.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var et=this.match;return et.length<20&&(et+=this._input.substr(0,20-et.length)),(et.substr(0,20)+(et.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var et=this.pastInput(),mt=new Array(et.length+1).join("-");return et+this.upcomingInput()+` `+mt+"^"},"showPosition"),test_match:x(function(et,mt){var Gt,at,Tr;if(this.options.backtrack_lexer&&(Tr={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&&(Tr.yylloc.range=this.yylloc.range.slice(0))),at=et[0].match(/(?:\r\n?|\n).*/g),at&&(this.yylineno+=at.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:at?at[at.length-1].length-at[at.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+et[0].length},this.yytext+=et[0],this.match+=et[0],this.matches=et,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(et[0].length),this.matched+=et[0],Gt=this.performAction.call(this,this.yy,this,mt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Gt)return Gt;if(this._backtrack){for(var ge in Tr)this[ge]=Tr[ge];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var et,mt,Gt,at;this._more||(this.yytext="",this.match="");for(var Tr=this._currentRules(),ge=0;gemt[0].length)){if(mt=Gt,at=ge,this.options.backtrack_lexer){if(et=this.test_match(Gt,Tr[ge]),et!==!1)return et;if(this._backtrack){mt=!1;continue}else return!1}else if(!this.options.flex)break}return mt?(et=this.test_match(mt,Tr[at]),et!==!1?et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var mt=this.next();return mt||this.lex()},"lex"),begin:x(function(mt){this.conditionStack.push(mt)},"begin"),popState:x(function(){var mt=this.conditionStack.length-1;return mt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(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:x(function(mt){return mt=this.conditionStack.length-1-Math.abs(mt||0),mt>=0?this.conditionStack[mt]:"INITIAL"},"topState"),pushState:x(function(mt){this.begin(mt)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(mt,Gt,at,Tr){var ge=Tr;switch(at){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Gt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Fl=/\n\s*/g;return Gt.yytext=Gt.yytext.replace(Fl,"
"),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;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 33:this.popState();break;case 34:return 88;case 35:return mt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return mt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return mt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}};return tr})();Di.lexer=vs;function Yi(){this.yy={}}return x(Yi,"Parser"),Yi.prototype=Di,Di.Parser=Yi,new Yi})();dN.parser=dN;Aue=dN,_ue=Object.assign({},Aue);_ue.parse=t=>{let e=t.replace(/}\s*\n/g,`} `);return Aue.parse(e)};Q$e=_ue,J$e=x((t,e)=>{let r=Xf,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return $a(n,i,a,e)},"fade"),eze=x(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } .cluster-label text { fill: ${t.titleColor}; } .cluster-label span { color: ${t.titleColor}; } .cluster-label span p { background-color: transparent; } .label text,span { fill: ${t.nodeTextColor||t.textColor}; color: ${t.nodeTextColor||t.textColor}; } .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: 1px; } .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { text-anchor: middle; } // .flowchart-label .text-outer-tspan { // text-anchor: middle; // } // .flowchart-label .text-inner-tspan { // text-anchor: start; // } .node .katex path { fill: #000; stroke: #000; stroke-width: 1px; } .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { text-align: center; } .node.clickable { cursor: pointer; } .root .anchor path { fill: ${t.lineColor} !important; stroke-width: 0; stroke: ${t.lineColor}; } .arrowheadPath { fill: ${t.arrowheadColor}; } .edgePath .path { stroke: ${t.lineColor}; stroke-width: 2.0px; } .flowchart-link { stroke: ${t.lineColor}; fill: none; } .edgeLabel { background-color: ${t.edgeLabelBackground}; p { background-color: ${t.edgeLabelBackground}; } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } /* For html labels only */ .labelBkg { background-color: ${J$e(t.edgeLabelBackground,.5)}; // background-color: } .cluster rect { fill: ${t.clusterBkg}; stroke: ${t.clusterBorder}; stroke-width: 1px; } .cluster text { fill: ${t.titleColor}; } .cluster span { color: ${t.titleColor}; } /* .cluster div { color: ${t.titleColor}; } */ div.mermaidTooltip { position: absolute; text-align: center; max-width: 200px; padding: 2px; font-family: ${t.fontFamily}; font-size: 12px; background: ${t.tertiaryColor}; border: 1px solid ${t.border2}; border-radius: 2px; pointer-events: none; z-index: 100; } .flowchartTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } rect.text { fill: none; stroke-width: 0; } .icon-shape, .image-shape { background-color: ${t.edgeLabelBackground}; p { background-color: ${t.edgeLabelBackground}; padding: 2px; } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } ${Mc()} `,"getStyles"),tze=eze,rze={parser:Q$e,get db(){return new X$e},renderer:Z$e,styles:tze,init:x(t=>{t.flowchart||(t.flowchart={}),t.layout&&xv({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,xv({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var Rue={};hr(Rue,{diagram:()=>cze});var pN,nze,ize,Lue,aze,sze,oze,lze,cze,Iue=F(()=>{El();Yo();Go();Io();Ks();Ls();ja();Ka();na();hn();vr();rr();cr();qs();pN=(function(){var t=x(function(j,ae,K,de){for(K=K||{},de=j.length;de--;K[j[de]]=ae);return K},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,20],o=[1,21],l=[1,22],u=[1,23],h=[1,24],f=[1,19],d=[1,25],p=[1,26],g=[1,18],m=[1,33],v=[1,34],y=[1,35],b=[1,36],w=[1,37],S=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],T=[1,42],E=[1,43],A=[1,52],C=[40,50,68,69],I=[1,63],M=[1,61],R=[1,58],k=[1,62],L=[1,64],_=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],D=[63,64,65,66,67],N=[1,81],O=[1,80],P=[1,78],B=[1,79],G=[6,10,42,47],$=[6,10,13,41,42,47,48,49],U=[1,89],X=[1,88],ee=[1,87],Y=[19,56],oe=[1,98],Q=[1,97],ue=[19,56,58,60],re={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1