@axiom-lattice/gateway 10.1.0 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/{a2a-standard-NOAVPYXJ.mjs → a2a-standard-OANCQYQ2.mjs} +8 -4
  2. package/dist/a2a-standard-OANCQYQ2.mjs.map +1 -0
  3. package/dist/{chunk-A7YNAU5L.mjs → chunk-4XWI7U3L.mjs} +106 -1
  4. package/dist/chunk-4XWI7U3L.mjs.map +1 -0
  5. package/dist/{chunk-PHWGCRW2.mjs → chunk-67CDUQM3.mjs} +16 -2
  6. package/dist/chunk-67CDUQM3.mjs.map +1 -0
  7. package/dist/{chunk-T2HIWZGP.mjs → chunk-BIMO2ILH.mjs} +1 -1
  8. package/dist/chunk-BIMO2ILH.mjs.map +1 -0
  9. package/dist/embed/{embed-page-AgentDetailSideApp-5L5GY5TY.js → embed-page-AgentDetailSideApp-WAATX6D3.js} +1 -1
  10. package/dist/embed/{embed-page-AgentGovernanceWorkbench-RKNSCQUM.js → embed-page-AgentGovernanceWorkbench-MOIYXL5S.js} +1 -1
  11. package/dist/embed/{embed-page-LangfuseDashboard-QHWHMJVB.js → embed-page-LangfuseDashboard-7ZWWE45Q.js} +1 -1
  12. package/dist/embed/{embed-page-MessageGraph-HDJYCYZV.js → embed-page-MessageGraph-JG554SNZ.js} +1 -1
  13. package/dist/embed/{embed-page-ReactChart-KJS73V5Q.js → embed-page-ReactChart-WHOMS6I6.js} +1 -1
  14. package/dist/embed/{embed-page-ReactInfographic-677NVKOU.js → embed-page-ReactInfographic-5P36JLSX.js} +1 -1
  15. package/dist/embed/{embed-page-SkillFlow-ULY3XZ3A.js → embed-page-SkillFlow-RP54B2A5.js} +1 -1
  16. package/dist/embed/{embed-page-TasksSideApp-X2YZGU7K.js → embed-page-TasksSideApp-6TCN3T73.js} +1 -1
  17. package/dist/embed/{embed-page-ThreadMaintenancePanel-N5IFOOFT.js → embed-page-ThreadMaintenancePanel-WNWYNASM.js} +1 -1
  18. package/dist/embed/{embed-page-TopologyRuntimeView-LZTSYJE5.js → embed-page-TopologyRuntimeView-UMC4XOUL.js} +1 -1
  19. package/dist/embed/{embed-page-WorkflowAutomationView-KIKV62O2.js → embed-page-WorkflowAutomationView-PUOPYYGB.js} +1 -1
  20. package/dist/embed/embed-page-all-NEJVJ4G7.js +1 -0
  21. package/dist/embed/{embed-page-architectureDiagram-VXUJARFQ-TYJ3NO2K.js → embed-page-architectureDiagram-VXUJARFQ-THUN2PFL.js} +1 -1
  22. package/dist/embed/embed-page-aspnet-SRK67AH2.js +1 -0
  23. package/dist/embed/{embed-page-blockDiagram-VD42YOAC-L4J3TZWR.js → embed-page-blockDiagram-VD42YOAC-K7OX6LIO.js} +1 -1
  24. package/dist/embed/{embed-page-c4Diagram-YG6GDRKO-CP2IXU3Z.js → embed-page-c4Diagram-YG6GDRKO-DJDAF5AO.js} +1 -1
  25. package/dist/embed/embed-page-chunk-4GCFDWE7.js +6997 -0
  26. package/dist/embed/{embed-page-chunk-3FNSGFP2.js → embed-page-chunk-5EENS2J7.js} +16 -16
  27. package/dist/embed/{embed-page-chunk-3XPHW2C7.js → embed-page-chunk-5O5IKZOC.js} +1 -1
  28. package/dist/embed/{embed-page-chunk-DQJVWZOB.js → embed-page-chunk-A2AHDN6K.js} +1 -1
  29. package/dist/embed/embed-page-chunk-AFYXBC77.js +217 -0
  30. package/dist/embed/{embed-page-chunk-F5QVZLK5.js → embed-page-chunk-DTRFJLVZ.js} +1 -1
  31. package/dist/embed/embed-page-chunk-ESQ5V77Q.js +1 -0
  32. package/dist/embed/{embed-page-chunk-2VJ7T35I.js → embed-page-chunk-FD2PRLMW.js} +1 -1
  33. package/dist/embed/{embed-page-chunk-KXVXKWED.js → embed-page-chunk-G2RO6IBN.js} +1 -1
  34. package/dist/embed/{embed-page-chunk-BBIV2YA2.js → embed-page-chunk-G6UTU7IC.js} +1 -1
  35. package/dist/embed/{embed-page-chunk-7GLQRV3J.js → embed-page-chunk-J5AHS4PO.js} +1 -1
  36. package/dist/embed/{embed-page-chunk-5WWOKLDB.js → embed-page-chunk-JUZPOR5Y.js} +1 -1
  37. package/dist/embed/{embed-page-chunk-5HWN5HSA.js → embed-page-chunk-ML6AVDQQ.js} +1 -1
  38. package/dist/embed/{embed-page-chunk-YBP3MD23.js → embed-page-chunk-OBN4XHZP.js} +1 -1
  39. package/dist/embed/{embed-page-chunk-NVFNRWRN.js → embed-page-chunk-PLNJRORR.js} +1 -1
  40. package/dist/embed/{embed-page-chunk-FF2HNPMW.js → embed-page-chunk-QRFTGCB2.js} +1 -1
  41. package/dist/embed/{embed-page-chunk-4BPMGDDV.js → embed-page-chunk-RU45VIPM.js} +1 -1
  42. package/dist/embed/{embed-page-chunk-AEDAOTEO.js → embed-page-chunk-SQ4GANYE.js} +1 -1
  43. package/dist/embed/embed-page-chunk-TZPX2O54.js +7 -0
  44. package/dist/embed/{embed-page-chunk-YJUCDIYK.js → embed-page-chunk-V7R2Y72J.js} +1 -1
  45. package/dist/embed/{embed-page-chunk-XSKDYUNQ.js → embed-page-chunk-VY6MAPHR.js} +1 -1
  46. package/dist/embed/{embed-page-chunk-WK77HIEN.js → embed-page-chunk-WFUFTRWA.js} +1 -1
  47. package/dist/embed/{embed-page-chunk-7CJDHJEH.js → embed-page-chunk-XKGF5D6L.js} +1 -1
  48. package/dist/embed/{embed-page-chunk-WWXRO4ZL.js → embed-page-chunk-XSKNS3LY.js} +1 -1
  49. package/dist/embed/{embed-page-chunk-DI5UAV2I.js → embed-page-chunk-ZVTX7OVB.js} +1 -1
  50. package/dist/embed/embed-page-classDiagram-2ON5EDUG-VYHHMIKZ.js +1 -0
  51. package/dist/embed/embed-page-classDiagram-v2-WZHVMYZB-5AISLXUF.js +1 -0
  52. package/dist/embed/{embed-page-code-highlighter-4XNLEZAM.js → embed-page-code-highlighter-ZZBZ7CEQ.js} +1 -1
  53. package/dist/embed/embed-page-cshtml-ZY7LJSTH.js +1 -0
  54. package/dist/embed/{embed-page-dagre-6UL2VRFP-LTZ2DVVO.js → embed-page-dagre-6UL2VRFP-UQFZMKYW.js} +1 -1
  55. package/dist/embed/{embed-page-diagram-PSM6KHXK-JHYXSMCB.js → embed-page-diagram-PSM6KHXK-4IKXWNA4.js} +1 -1
  56. package/dist/embed/{embed-page-diagram-QEK2KX5R-2YGDFFTU.js → embed-page-diagram-QEK2KX5R-245T32UF.js} +1 -1
  57. package/dist/embed/{embed-page-diagram-S2PKOQOG-6EW6MDJW.js → embed-page-diagram-S2PKOQOG-BOA5MJA5.js} +1 -1
  58. package/dist/embed/embed-page-en-5E2A4Q7G.js +1 -0
  59. package/dist/embed/embed-page-en-AEJHFSAV.js +1 -0
  60. package/dist/embed/{embed-page-en-3Z4N5KXB.js → embed-page-en-QULE3S6E.js} +1 -1
  61. package/dist/embed/{embed-page-erDiagram-Q2GNP2WA-KSUS6MHW.js → embed-page-erDiagram-Q2GNP2WA-S4J4SQPR.js} +1 -1
  62. package/dist/embed/{embed-page-flowDiagram-NV44I4VS-AYXRDKAJ.js → embed-page-flowDiagram-NV44I4VS-ZFIJXKMW.js} +1 -1
  63. package/dist/embed/{embed-page-ganttDiagram-JELNMOA3-AV7N2N3T.js → embed-page-ganttDiagram-JELNMOA3-7MSIEWL4.js} +1 -1
  64. package/dist/embed/{embed-page-gitGraphDiagram-NY62KEGX-IBVOXVO5.js → embed-page-gitGraphDiagram-NY62KEGX-F6KE6PZK.js} +1 -1
  65. package/dist/embed/embed-page-infoDiagram-WHAUD3N6-FQMKXERB.js +2 -0
  66. package/dist/embed/{embed-page-journeyDiagram-XKPGCS4Q-3GILI7Y4.js → embed-page-journeyDiagram-XKPGCS4Q-6VTW6GQ3.js} +1 -1
  67. package/dist/embed/{embed-page-kanban-definition-3W4ZIXB7-UGO3J7IH.js → embed-page-kanban-definition-3W4ZIXB7-7IZYCLQZ.js} +1 -1
  68. package/dist/embed/{embed-page-mermaid-QZJOSGTZ.js → embed-page-mermaid-O5AJMXHC.js} +2 -2
  69. package/dist/embed/{embed-page-mindmap-definition-VGOIOE7T-VXXZJS3Z.js → embed-page-mindmap-definition-VGOIOE7T-GKTOT34A.js} +1 -1
  70. package/dist/embed/{embed-page-pieDiagram-ADFJNKIX-ZFAWYA2N.js → embed-page-pieDiagram-ADFJNKIX-VDPALO42.js} +1 -1
  71. package/dist/embed/{embed-page-requirementDiagram-UZGBJVZJ-2QBINXR7.js → embed-page-requirementDiagram-UZGBJVZJ-LTZH6RTD.js} +1 -1
  72. package/dist/embed/{embed-page-sequenceDiagram-WL72ISMW-3MGTESG4.js → embed-page-sequenceDiagram-WL72ISMW-LV6Q4SHW.js} +1 -1
  73. package/dist/embed/{embed-page-stateDiagram-FKZM4ZOC-W6VPIMB5.js → embed-page-stateDiagram-FKZM4ZOC-U4NHQDNP.js} +1 -1
  74. package/dist/embed/embed-page-stateDiagram-v2-4FDKWEC3-G3EWQCOW.js +1 -0
  75. package/dist/embed/{embed-page-tsx-LGDDERM2.js → embed-page-tsx-PNW7N5T4.js} +1 -1
  76. package/dist/embed/{embed-page-xychartDiagram-PRI3JC2R-7XKT4R7V.js → embed-page-xychartDiagram-PRI3JC2R-VZSIXBFK.js} +1 -1
  77. package/dist/embed/embed-page-zh-EZHTNARQ.js +1 -0
  78. package/dist/embed/embed-page-zh-TOINMHLQ.js +1 -0
  79. package/dist/embed/{embed-page-zh-GXE63PQ7.js → embed-page-zh-WT752BVZ.js} +1 -1
  80. package/dist/embed/embed-page.js +1 -1
  81. package/dist/embed/mcp-app-page.js +32 -32
  82. package/dist/index.d.mts +145 -1
  83. package/dist/index.d.ts +145 -1
  84. package/dist/index.js +8154 -1466
  85. package/dist/index.js.map +1 -1
  86. package/dist/index.mjs +7093 -491
  87. package/dist/index.mjs.map +1 -1
  88. package/dist/{mcp-app-shares-SHPBJQXS.mjs → mcp-app-shares-VN6G3LNW.mjs} +2 -2
  89. package/dist/{mcp-apps-QVUK6UBA.mjs → mcp-apps-MZECSNN2.mjs} +2 -2
  90. package/package.json +11 -7
  91. package/dist/a2a-standard-NOAVPYXJ.mjs.map +0 -1
  92. package/dist/chunk-A7YNAU5L.mjs.map +0 -1
  93. package/dist/chunk-PHWGCRW2.mjs.map +0 -1
  94. package/dist/chunk-T2HIWZGP.mjs.map +0 -1
  95. package/dist/embed/embed-page-all-JEPF6WHD.js +0 -1
  96. package/dist/embed/embed-page-aspnet-GIV4ESY6.js +0 -1
  97. package/dist/embed/embed-page-chunk-54M4265G.js +0 -211
  98. package/dist/embed/embed-page-chunk-5QZRLAW2.js +0 -7
  99. package/dist/embed/embed-page-chunk-MVT6CPWE.js +0 -6986
  100. package/dist/embed/embed-page-chunk-ZQQFWEWO.js +0 -1
  101. package/dist/embed/embed-page-classDiagram-2ON5EDUG-MHNSVPAN.js +0 -1
  102. package/dist/embed/embed-page-classDiagram-v2-WZHVMYZB-QCMEVMYH.js +0 -1
  103. package/dist/embed/embed-page-cshtml-RYMZMLKB.js +0 -1
  104. package/dist/embed/embed-page-en-2S7Q4NKN.js +0 -1
  105. package/dist/embed/embed-page-infoDiagram-WHAUD3N6-ZULKOSOZ.js +0 -2
  106. package/dist/embed/embed-page-stateDiagram-v2-4FDKWEC3-QYJ47QBY.js +0 -1
  107. package/dist/embed/embed-page-zh-GX6IEO57.js +0 -1
  108. /package/dist/embed/{embed-page-chunk-UH47IEAR.js → embed-page-chunk-34FVRFPW.js} +0 -0
  109. /package/dist/{mcp-app-shares-SHPBJQXS.mjs.map → mcp-app-shares-VN6G3LNW.mjs.map} +0 -0
  110. /package/dist/{mcp-apps-QVUK6UBA.mjs.map → mcp-apps-MZECSNN2.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ import{a}from"./embed-page-chunk-J5AHS4PO.js";import"./embed-page-chunk-INUQ73SI.js";import"./embed-page-chunk-E7ECPW5G.js";import"./embed-page-chunk-QRPDJVB7.js";import"./embed-page-chunk-QBTAJ2YI.js";export{a as default};
@@ -1,4 +1,4 @@
1
- import{a as z}from"./embed-page-chunk-XSKDYUNQ.js";import{a as C}from"./embed-page-chunk-NVFNRWRN.js";import{c as q,m as y}from"./embed-page-chunk-YJUCDIYK.js";import{a as U,b as Y,c as H,d as j,e as V}from"./embed-page-chunk-F5QVZLK5.js";import{b as A,d as G,e as R,g as T,h as M,i as F,j as O}from"./embed-page-chunk-WWXRO4ZL.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import{a as B}from"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-KXVXKWED.js";import{B as k}from"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{V as _}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as g,d as i}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ne(e),edges:te(e)};return y(e.graph())||(t.value=q(e.graph())),t}function ne(e){return k(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),s={v:t};return y(n)||(s.value=n),y(a)||(s.parent=a),s})}function te(e){return k(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return y(t.name)||(a.name=t.name),y(n)||(a.value=n),a})}var d=new Map,b=new Map,W=new Map,re=g(()=>{b.clear(),W.clear(),d.clear()},"clear"),J=g((e,t)=>{let n=b.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=g((e,t)=>{let n=b.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||J(e.v,t)||J(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),Z=g((e,t,n,a)=>{i.warn("Copying children of ",e,"root",a,"data",t.node(e),a);let s=t.children(e)||[];e!==a&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)Z(o,t,n,a);else{let l=t.node(o);i.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(i.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(i.debug("Setting parent",o,e),n.setParent(o,e)):(i.info("In copy ",e,"root",a,"data",t.node(e),a),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));let u=t.edges(o);i.debug("Copying Edges",u),u.forEach(c=>{i.info("Edge",c);let m=t.edge(c.v,c.w,c.name);i.info("Edge data",m,a);try{se(c,a)?(i.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){i.error(h)}})}i.debug("Removing node",o),t.removeNode(o)})},"copy"),$=g((e,t)=>{let n=t.children(e),a=[...n];for(let s of n)W.set(s,e),a=[...a,...$(s,t)];return a},"extractDescendants"),oe=g((e,t,n)=>{let a=e.edges().filter(c=>c.v===t||c.w===t),s=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=s.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),S=g((e,t,n)=>{let a=t.children(e);if(i.trace("Searching children of id ",e,a),a.length<1)return e;let s;for(let o of a){let l=S(o,t,n),u=oe(t,n,l);if(l)if(u.length>0)s=l;else return l}return s},"findNonClusterChild"),Q=g(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),ae=g((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),b.set(n,$(n,e)),d.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let a=e.children(n),s=e.edges();a.length>0?(i.debug("Cluster identified",n,b),s.forEach(o=>{let l=J(o.v,n),u=J(o.w,n);l^u&&(i.warn("Edge: ",o," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",b.get(n)),d.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,b)});for(let n of d.keys()){let a=d.get(n).id,s=e.parent(a);s!==n&&d.has(s)&&!d.get(s).externalConnections&&(d.get(n).id=s)}e.edges().forEach(function(n){let a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),s=Q(n.v),o=Q(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){let l=e.parent(s);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){let l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,a,n.name)}}),i.warn("Adjusted Graph",p(e)),L(e,0),i.trace(d)},"adjustClustersAndEdges"),L=g((e,t)=>{if(i.warn("extractor - ",t,p(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),a=!1;for(let s of n){let o=e.children(s);a=a||o.length>0}if(!a){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(let s of n)if(i.debug("Extracting node",s,d,d.has(s)&&!d.get(s).externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!d.has(s))i.debug("Not a cluster",s,t);else if(!d.get(s).externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(s)?.clusterData?.dir&&(l=d.get(s).clusterData.dir,i.warn("Fixing dir",d.get(s).clusterData.dir,l));let u=new C({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",p(e)),Z(s,e,u,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:d.get(s).clusterData,label:d.get(s).label,graph:u}),i.warn("New graph after copy node: (",s,")",p(u)),i.debug("Old graph after copy",p(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!d.get(s).externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(d);n=e.nodes(),i.warn("New list of nodes",n);for(let s of n){let o=e.node(s);i.warn(" Now next level",s,o),o?.clusterNode&&L(o.graph,t+1)}},"extractor"),I=g((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{let s=e.children(a),o=I(e,s);n=[...n,...o]}),n},"sorter"),ce=g(e=>I(e,e.children()),"sortNodesByHierarchy"),ee=g(async(e,t,n,a,s,o)=>{i.warn("Graph in recursive render:XAX",p(t),s);let l=t.graph().rankdir;i.trace("Dir in recursive render - dir:",l);let u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));let c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),v=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){let r=t.node(f);if(s!==void 0){let w=JSON.parse(JSON.stringify(s.clusterData));i.trace(`Setting data for parent cluster XXX
1
+ import{a as z}from"./embed-page-chunk-VY6MAPHR.js";import{a as C}from"./embed-page-chunk-PLNJRORR.js";import{c as q,m as y}from"./embed-page-chunk-V7R2Y72J.js";import{a as U,b as Y,c as H,d as j,e as V}from"./embed-page-chunk-DTRFJLVZ.js";import{b as A,d as G,e as R,g as T,h as M,i as F,j as O}from"./embed-page-chunk-XSKNS3LY.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import{a as B}from"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-G2RO6IBN.js";import"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{V as _}from"./embed-page-chunk-DOZHL42J.js";import{b as g,d as i}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import{B as k}from"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ne(e),edges:te(e)};return y(e.graph())||(t.value=q(e.graph())),t}function ne(e){return k(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),s={v:t};return y(n)||(s.value=n),y(a)||(s.parent=a),s})}function te(e){return k(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return y(t.name)||(a.name=t.name),y(n)||(a.value=n),a})}var d=new Map,b=new Map,W=new Map,re=g(()=>{b.clear(),W.clear(),d.clear()},"clear"),J=g((e,t)=>{let n=b.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=g((e,t)=>{let n=b.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||J(e.v,t)||J(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),Z=g((e,t,n,a)=>{i.warn("Copying children of ",e,"root",a,"data",t.node(e),a);let s=t.children(e)||[];e!==a&&s.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)Z(o,t,n,a);else{let l=t.node(o);i.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(i.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(i.debug("Setting parent",o,e),n.setParent(o,e)):(i.info("In copy ",e,"root",a,"data",t.node(e),a),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));let u=t.edges(o);i.debug("Copying Edges",u),u.forEach(c=>{i.info("Edge",c);let m=t.edge(c.v,c.w,c.name);i.info("Edge data",m,a);try{se(c,a)?(i.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){i.error(h)}})}i.debug("Removing node",o),t.removeNode(o)})},"copy"),$=g((e,t)=>{let n=t.children(e),a=[...n];for(let s of n)W.set(s,e),a=[...a,...$(s,t)];return a},"extractDescendants"),oe=g((e,t,n)=>{let a=e.edges().filter(c=>c.v===t||c.w===t),s=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=s.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),S=g((e,t,n)=>{let a=t.children(e);if(i.trace("Searching children of id ",e,a),a.length<1)return e;let s;for(let o of a){let l=S(o,t,n),u=oe(t,n,l);if(l)if(u.length>0)s=l;else return l}return s},"findNonClusterChild"),Q=g(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),ae=g((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),b.set(n,$(n,e)),d.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let a=e.children(n),s=e.edges();a.length>0?(i.debug("Cluster identified",n,b),s.forEach(o=>{let l=J(o.v,n),u=J(o.w,n);l^u&&(i.warn("Edge: ",o," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",b.get(n)),d.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,b)});for(let n of d.keys()){let a=d.get(n).id,s=e.parent(a);s!==n&&d.has(s)&&!d.get(s).externalConnections&&(d.get(n).id=s)}e.edges().forEach(function(n){let a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),s=Q(n.v),o=Q(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){let l=e.parent(s);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){let l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,a,n.name)}}),i.warn("Adjusted Graph",p(e)),L(e,0),i.trace(d)},"adjustClustersAndEdges"),L=g((e,t)=>{if(i.warn("extractor - ",t,p(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),a=!1;for(let s of n){let o=e.children(s);a=a||o.length>0}if(!a){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(let s of n)if(i.debug("Extracting node",s,d,d.has(s)&&!d.get(s).externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!d.has(s))i.debug("Not a cluster",s,t);else if(!d.get(s).externalConnections&&e.children(s)&&e.children(s).length>0){i.warn("Cluster without external connections, without a parent and with children",s,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(s)?.clusterData?.dir&&(l=d.get(s).clusterData.dir,i.warn("Fixing dir",d.get(s).clusterData.dir,l));let u=new C({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",p(e)),Z(s,e,u,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:d.get(s).clusterData,label:d.get(s).label,graph:u}),i.warn("New graph after copy node: (",s,")",p(u)),i.debug("Old graph after copy",p(e))}else i.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!d.get(s).externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.debug(d);n=e.nodes(),i.warn("New list of nodes",n);for(let s of n){let o=e.node(s);i.warn(" Now next level",s,o),o?.clusterNode&&L(o.graph,t+1)}},"extractor"),I=g((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{let s=e.children(a),o=I(e,s);n=[...n,...o]}),n},"sorter"),ce=g(e=>I(e,e.children()),"sortNodesByHierarchy"),ee=g(async(e,t,n,a,s,o)=>{i.warn("Graph in recursive render:XAX",p(t),s);let l=t.graph().rankdir;i.trace("Dir in recursive render - dir:",l);let u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));let c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),v=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){let r=t.node(f);if(s!==void 0){let w=JSON.parse(JSON.stringify(s.clusterData));i.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,f,`
3
3
  data=`,w.height,`
4
4
  Parent cluster`,s.height),t.setNode(s.id,w),t.parent(f)||(i.trace("Setting parent",f,s.id),t.setParent(f,s.id,w))}if(i.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),r?.clusterNode){i.info("Cluster identified XBX",f,r.width,t.node(f));let{ranksep:w,nodesep:E}=t.graph();r.graph.setGraph({...r.graph.graph(),ranksep:w+25,nodesep:E});let N=await ee(v,r.graph,n,a,t.node(f),o),D=N.elem;A(r,D),r.diff=N.diff||0,i.info("New compound node after recursive render XAX",f,"width",r.width,"height",r.height),M(D,r)}else t.children(f).length>0?(i.trace("Cluster - the non recursive path XBX",f,r.id,r,r.width,"Graph:",t),i.trace(S(r.id,t)),d.set(r.id,{id:S(r.id,t),node:r})):(i.trace("Node - the non recursive path XAX",f,v,t.node(f),l),await T(v,t.node(f),{config:o,dir:l}))})),await g(async()=>{let f=t.edges().map(async function(r){let w=t.edge(r.v,r.w,r.name);i.info("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),i.info("Edge "+r.v+" -> "+r.w+": ",r," ",JSON.stringify(t.edge(r))),i.info("Fix",d,"ids:",r.v,r.w,"Translating: ",d.get(r.v),d.get(r.w)),await Y(h,w)});await Promise.all(f)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(p(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),z(t),i.info("Graph after layout:",JSON.stringify(p(t)));let P=0,{subGraphTitleTotalMargin:x}=B(o);return await Promise.all(ce(t).map(async function(f){let r=t.node(f);if(i.info("Position XBX => "+f+": ("+r.x,","+r.y,") width: ",r.width," height: ",r.height),r?.clusterNode)r.y+=x,i.info("A tainted cluster node XBX1",f,r.id,r.width,r.height,r.x,r.y,t.parent(f)),d.get(r.id).node=r,O(r);else if(t.children(f).length>0){i.info("A pure cluster node XBX1",f,r.id,r.x,r.y,r.width,r.height,t.parent(f)),r.height+=x,t.node(r.parentId);let w=r?.padding/2||0,E=r?.labelBBox?.height||0,N=E-w||0;i.debug("OffsetY",N,"labelHeight",E,"halfPadding",w),await G(c,r),d.get(r.id).node=r}else{let w=t.node(r.parentId);r.y+=x/2,i.info("A regular node XBX1 - using the padding",r.id,"parent",r.parentId,r.width,r.height,r.x,r.y,"offsetY",r.offsetY,"parent",w,w?.offsetY,r),O(r)}})),t.edges().forEach(function(f){let r=t.edge(f);i.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(r),r),r.points.forEach(D=>D.y+=x/2);let w=t.node(f.v);var E=t.node(f.w);let N=j(m,r,d,n,w,E,a);H(r,N)}),t.nodes().forEach(function(f){let r=t.node(f);i.info(f,r.type,r.diff),r.isGroup&&(P=r.diff)}),i.warn("Returning from recursive render XAX",u,P),{elem:u,diff:P}},"recursiveRender"),Ne=g(async(e,t)=>{let n=new C({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");V(a,e.markers,e.type,e.diagramId),F(),U(),R(),re(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){let l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);let h=structuredClone(o),v=structuredClone(o),X=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.id=l+"-cyclic-special-1",v.arrowTypeStart="none",v.arrowTypeEnd="none",v.id=l+"-cyclic-special-mid",X.label="",m.isGroup&&(h.fromCluster=l,X.toCluster=l),X.id=l+"-cyclic-special-2",X.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,v,l+"-cyclic-special-1"),n.setEdge(c,l,X,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),i.warn("Graph at first:",JSON.stringify(p(n))),ae(n),i.warn("Graph after XAX:",JSON.stringify(p(n)));let s=_();await ee(a,n,e.type,e.diagramId,void 0,s)},"render");export{Ne as render};
@@ -1,4 +1,4 @@
1
- import{a as ce}from"./embed-page-chunk-VWLWYYRF.js";import{a as pe}from"./embed-page-chunk-UH47IEAR.js";import"./embed-page-chunk-UI6UN3LT.js";import{a as ne}from"./embed-page-chunk-F2TRDKUW.js";import{a as ie}from"./embed-page-chunk-OGGV5DFT.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-MJZLFFU3.js";import{c as oe,d as T}from"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import{l as O}from"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{K as J,O as K,P as Q,Q as Z,R as ee,S as te,T as ae,U as le,p as q,x as I}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as d,d as H}from"./embed-page-chunk-OKE5VRNR.js";import{e as F,f as se,h as re,i as R}from"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as D}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var de=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Q,this.getAccTitle=Z,this.setDiagramTitle=ae,this.getDiagramTitle=le,this.getAccDescription=te,this.setAccDescription=ee}static{d(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let s=q,a=I();return O({...s.treemap,...a.treemap??{}})}addNode(s,a){this.nodes.push(s),this.levels.set(s,a),a===0&&(this.outerNodes.push(s),this.root??=s)}getRoot(){return{name:"",children:this.outerNodes}}addClass(s,a){let o=this.classes.get(s)??{id:s,styles:[],textStyles:[]},i=a.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(p=>{oe(p)&&(o?.textStyles?o.textStyles.push(p):o.textStyles=[p]),o?.styles?o.styles.push(p):o.styles=[p]}),this.classes.set(s,o)}getClasses(){return this.classes}getStylesForClass(s){return this.classes.get(s)?.styles??[]}clear(){K(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function he(s){if(!s.length)return[];let a=[],o=[];return s.forEach(i=>{let p={name:i.name,children:i.type==="Leaf"?void 0:[]};for(p.classSelector=i?.classSelector,i?.cssCompiledStyles&&(p.cssCompiledStyles=[i.cssCompiledStyles]),i.type==="Leaf"&&i.value!==void 0&&(p.value=i.value);o.length>0&&o[o.length-1].level>=i.level;)o.pop();if(o.length===0)a.push(p);else{let n=o[o.length-1].node;n.children?n.children.push(p):n.children=[p]}i.type!=="Leaf"&&o.push({node:p,level:i.level})}),a}d(he,"buildHierarchy");var ve=d((s,a)=>{ce(s,a);let o=[];for(let n of s.TreemapRows??[])n.$type==="ClassDefStatement"&&a.addClass(n.className??"",n.styleText??"");for(let n of s.TreemapRows??[]){let h=n.item;if(!h)continue;let u=n.indent?parseInt(n.indent):0,V=Ce(h),l=h.classSelector?a.getStylesForClass(h.classSelector):[],N=l.length>0?l.join(";"):void 0,v={level:u,name:V,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:N};o.push(v)}let i=he(o),p=d((n,h)=>{for(let u of n)a.addNode(u,h),u.children&&u.children.length>0&&p(u.children,h+1)},"addNodesRecursively");p(i,0)},"populate"),Ce=d(s=>s.name?String(s.name):"","getItemName"),me={parser:{yy:void 0},parse:d(async s=>{try{let o=await pe("treemap",s);H.debug("Treemap AST:",o);let i=me.parser?.yy;if(!(i instanceof de))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ve(o,i)}catch(a){throw H.error("Error parsing treemap:",a),a}},"parse")},we=10,z=10,M=25,Te=d((s,a,o,i)=>{let p=i.db,n=p.getConfig(),h=n.padding??we,u=p.getDiagramTitle(),V=p.getRoot(),{themeVariables:l}=I();if(!V)return;let N=u?30:0,v=ne(a),G=n.nodeWidth?n.nodeWidth*z:960,X=n.nodeHeight?n.nodeHeight*z:500,B=G,Y=X+N;v.attr("viewBox",`0 0 ${B} ${Y}`),J(v,Y,B,n.useMaxWidth);let C;try{let e=n.valueFormat||",";if(e==="$0,0")C=d(t=>"$"+F(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),r=t?t[0]:"";C=d(m=>"$"+F(","+r)(m),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);C=d(r=>"$"+F(t||"")(r),"valueFormat")}else C=F(e)}catch(e){H.error("Error creating format function:",e),C=F(",")}let A=R().range(["transparent",l.cScale0,l.cScale1,l.cScale2,l.cScale3,l.cScale4,l.cScale5,l.cScale6,l.cScale7,l.cScale8,l.cScale9,l.cScale10,l.cScale11]),ue=R().range(["transparent",l.cScalePeer0,l.cScalePeer1,l.cScalePeer2,l.cScalePeer3,l.cScalePeer4,l.cScalePeer5,l.cScalePeer6,l.cScalePeer7,l.cScalePeer8,l.cScalePeer9,l.cScalePeer10,l.cScalePeer11]),W=R().range([l.cScaleLabel0,l.cScaleLabel1,l.cScaleLabel2,l.cScaleLabel3,l.cScaleLabel4,l.cScaleLabel5,l.cScaleLabel6,l.cScaleLabel7,l.cScaleLabel8,l.cScaleLabel9,l.cScaleLabel10,l.cScaleLabel11]);u&&v.append("text").attr("x",B/2).attr("y",N/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);let j=v.append("g").attr("transform",`translate(0, ${N})`).attr("class","treemapContainer"),fe=se(V).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),U=re().size([G,X]).paddingTop(e=>e.children&&e.children.length>0?M+z:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?z:0).paddingRight(e=>e.children&&e.children.length>0?z:0).paddingBottom(e=>e.children&&e.children.length>0?z:0).round(!0)(fe),ye=U.descendants().filter(e=>e.children&&e.children.length>0),k=j.selectAll(".treemapSection").data(ye).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);k.append("rect").attr("width",e=>e.x1-e.x0).attr("height",M).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),k.append("clipPath").attr("id",(e,t)=>`clip-section-${a}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",M),k.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>ue(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";let t=T({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),k.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";let t="dominant-baseline: middle; font-size: 12px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;let t=D(this),r=e.data.name;t.text(r);let m=e.x1-e.x0,g=6,S;n.showValues!==!1&&e.value?S=m-10-30-10-g:S=m-g-6;let f=Math.max(15,S),c=t.node();if(c.getComputedTextLength()>f){let y=r;for(;y.length>0;){if(y=r.substring(0,y.length-1),y.length===0){t.text("..."),c.getComputedTextLength()>f&&t.text("");break}if(t.text(y+"..."),c.getComputedTextLength()<=f)break}}}),n.showValues!==!1&&k.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",M/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?C(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";let t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")});let ge=U.leaves(),E=j.selectAll(".treemapLeafGroup").data(ge).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);E.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>T({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),E.append("clipPath").attr("id",(e,t)=>`clip-${a}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),E.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{let t="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+W(e.data.name)+";",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.data.name).each(function(e){let t=D(this),r=e.x1-e.x0,m=e.y1-e.y0,g=t.node(),S=4,L=r-2*S,f=m-2*S;if(L<10||f<10){t.style("display","none");return}let c=parseInt(t.style("font-size"),10),w=8,x=28,y=.6,b=6,P=2;for(;g.getComputedTextLength()>L&&c>w;)c--,t.style("font-size",`${c}px`);let $=Math.max(b,Math.min(x,Math.round(c*y))),_=c+P+$;for(;_>f&&c>w&&(c--,$=Math.max(b,Math.min(x,Math.round(c*y))),!($<b&&c===w));)t.style("font-size",`${c}px`),_=c+P+$,$<=b&&_>f;t.style("font-size",`${c}px`),(g.getComputedTextLength()>L||c<w||f<c)&&t.style("display","none")}),n.showValues!==!1&&E.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{let r="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+W(t.data.name)+";",m=T({cssCompiledStyles:t.data.cssCompiledStyles});return r+m.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,r)=>`url(#clip-${a}-${r})`).text(t=>t.value?C(t.value):"").each(function(t){let r=D(this),m=this.parentNode;if(!m){r.style("display","none");return}let g=D(m).select(".treemapLabel");if(g.empty()||g.style("display")==="none"){r.style("display","none");return}let S=parseFloat(g.style("font-size")),L=28,f=.6,c=6,w=2,x=Math.max(c,Math.min(L,Math.round(S*f)));r.style("font-size",`${x}px`);let b=(t.y1-t.y0)/2+S/2+w;r.attr("y",b);let P=t.x1-t.x0,xe=t.y1-t.y0-4,be=P-8;r.node().getComputedTextLength()>be||b+x>xe||x<c?r.style("display","none"):r.style("display",null)});let Se=n.diagramPadding??8;ie(v,Se,"flowchart",n?.useMaxWidth||!1)},"draw"),Le=d(function(s,a){return a.db.getClasses()},"getClasses"),$e={draw:Te,getClasses:Le},Fe={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},ze=d(({treemap:s}={})=>{let a=O(Fe,s);return`
1
+ import{a as ce}from"./embed-page-chunk-VWLWYYRF.js";import{a as ne}from"./embed-page-chunk-F2TRDKUW.js";import{a as pe}from"./embed-page-chunk-34FVRFPW.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-UI6UN3LT.js";import{a as ie}from"./embed-page-chunk-OGGV5DFT.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-MJZLFFU3.js";import{c as oe,d as T}from"./embed-page-chunk-VHUKORYK.js";import{l as O}from"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{K as J,O as K,P as Q,Q as Z,R as ee,S as te,T as ae,U as le,p as q,x as I}from"./embed-page-chunk-DOZHL42J.js";import{b as d,d as H}from"./embed-page-chunk-OKE5VRNR.js";import{e as F,f as se,h as re,i as R}from"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as D}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var de=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=Q,this.getAccTitle=Z,this.setDiagramTitle=ae,this.getDiagramTitle=le,this.getAccDescription=te,this.setAccDescription=ee}static{d(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let s=q,a=I();return O({...s.treemap,...a.treemap??{}})}addNode(s,a){this.nodes.push(s),this.levels.set(s,a),a===0&&(this.outerNodes.push(s),this.root??=s)}getRoot(){return{name:"",children:this.outerNodes}}addClass(s,a){let o=this.classes.get(s)??{id:s,styles:[],textStyles:[]},i=a.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(p=>{oe(p)&&(o?.textStyles?o.textStyles.push(p):o.textStyles=[p]),o?.styles?o.styles.push(p):o.styles=[p]}),this.classes.set(s,o)}getClasses(){return this.classes}getStylesForClass(s){return this.classes.get(s)?.styles??[]}clear(){K(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function he(s){if(!s.length)return[];let a=[],o=[];return s.forEach(i=>{let p={name:i.name,children:i.type==="Leaf"?void 0:[]};for(p.classSelector=i?.classSelector,i?.cssCompiledStyles&&(p.cssCompiledStyles=[i.cssCompiledStyles]),i.type==="Leaf"&&i.value!==void 0&&(p.value=i.value);o.length>0&&o[o.length-1].level>=i.level;)o.pop();if(o.length===0)a.push(p);else{let n=o[o.length-1].node;n.children?n.children.push(p):n.children=[p]}i.type!=="Leaf"&&o.push({node:p,level:i.level})}),a}d(he,"buildHierarchy");var ve=d((s,a)=>{ce(s,a);let o=[];for(let n of s.TreemapRows??[])n.$type==="ClassDefStatement"&&a.addClass(n.className??"",n.styleText??"");for(let n of s.TreemapRows??[]){let h=n.item;if(!h)continue;let u=n.indent?parseInt(n.indent):0,V=Ce(h),l=h.classSelector?a.getStylesForClass(h.classSelector):[],N=l.length>0?l.join(";"):void 0,v={level:u,name:V,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:N};o.push(v)}let i=he(o),p=d((n,h)=>{for(let u of n)a.addNode(u,h),u.children&&u.children.length>0&&p(u.children,h+1)},"addNodesRecursively");p(i,0)},"populate"),Ce=d(s=>s.name?String(s.name):"","getItemName"),me={parser:{yy:void 0},parse:d(async s=>{try{let o=await pe("treemap",s);H.debug("Treemap AST:",o);let i=me.parser?.yy;if(!(i instanceof de))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");ve(o,i)}catch(a){throw H.error("Error parsing treemap:",a),a}},"parse")},we=10,z=10,M=25,Te=d((s,a,o,i)=>{let p=i.db,n=p.getConfig(),h=n.padding??we,u=p.getDiagramTitle(),V=p.getRoot(),{themeVariables:l}=I();if(!V)return;let N=u?30:0,v=ne(a),G=n.nodeWidth?n.nodeWidth*z:960,X=n.nodeHeight?n.nodeHeight*z:500,B=G,Y=X+N;v.attr("viewBox",`0 0 ${B} ${Y}`),J(v,Y,B,n.useMaxWidth);let C;try{let e=n.valueFormat||",";if(e==="$0,0")C=d(t=>"$"+F(",")(t),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),r=t?t[0]:"";C=d(m=>"$"+F(","+r)(m),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);C=d(r=>"$"+F(t||"")(r),"valueFormat")}else C=F(e)}catch(e){H.error("Error creating format function:",e),C=F(",")}let A=R().range(["transparent",l.cScale0,l.cScale1,l.cScale2,l.cScale3,l.cScale4,l.cScale5,l.cScale6,l.cScale7,l.cScale8,l.cScale9,l.cScale10,l.cScale11]),ue=R().range(["transparent",l.cScalePeer0,l.cScalePeer1,l.cScalePeer2,l.cScalePeer3,l.cScalePeer4,l.cScalePeer5,l.cScalePeer6,l.cScalePeer7,l.cScalePeer8,l.cScalePeer9,l.cScalePeer10,l.cScalePeer11]),W=R().range([l.cScaleLabel0,l.cScaleLabel1,l.cScaleLabel2,l.cScaleLabel3,l.cScaleLabel4,l.cScaleLabel5,l.cScaleLabel6,l.cScaleLabel7,l.cScaleLabel8,l.cScaleLabel9,l.cScaleLabel10,l.cScaleLabel11]);u&&v.append("text").attr("x",B/2).attr("y",N/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);let j=v.append("g").attr("transform",`translate(0, ${N})`).attr("class","treemapContainer"),fe=se(V).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),U=re().size([G,X]).paddingTop(e=>e.children&&e.children.length>0?M+z:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?z:0).paddingRight(e=>e.children&&e.children.length>0?z:0).paddingBottom(e=>e.children&&e.children.length>0?z:0).round(!0)(fe),ye=U.descendants().filter(e=>e.children&&e.children.length>0),k=j.selectAll(".treemapSection").data(ye).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);k.append("rect").attr("width",e=>e.x1-e.x0).attr("height",M).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),k.append("clipPath").attr("id",(e,t)=>`clip-section-${a}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",M),k.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>A(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>ue(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";let t=T({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),k.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";let t="dominant-baseline: middle; font-size: 12px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;let t=D(this),r=e.data.name;t.text(r);let m=e.x1-e.x0,g=6,S;n.showValues!==!1&&e.value?S=m-10-30-10-g:S=m-g-6;let f=Math.max(15,S),c=t.node();if(c.getComputedTextLength()>f){let y=r;for(;y.length>0;){if(y=r.substring(0,y.length-1),y.length===0){t.text("..."),c.getComputedTextLength()>f&&t.text("");break}if(t.text(y+"..."),c.getComputedTextLength()<=f)break}}}),n.showValues!==!1&&k.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",M/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?C(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";let t="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+W(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")});let ge=U.leaves(),E=j.selectAll(".treemapLeafGroup").data(ge).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);E.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("style",e=>T({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?A(e.parent.data.name):A(e.data.name)).attr("stroke-width",3),E.append("clipPath").attr("id",(e,t)=>`clip-${a}-${t}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),E.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{let t="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+W(e.data.name)+";",r=T({cssCompiledStyles:e.data.cssCompiledStyles});return t+r.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,t)=>`url(#clip-${a}-${t})`).text(e=>e.data.name).each(function(e){let t=D(this),r=e.x1-e.x0,m=e.y1-e.y0,g=t.node(),S=4,L=r-2*S,f=m-2*S;if(L<10||f<10){t.style("display","none");return}let c=parseInt(t.style("font-size"),10),w=8,x=28,y=.6,b=6,P=2;for(;g.getComputedTextLength()>L&&c>w;)c--,t.style("font-size",`${c}px`);let $=Math.max(b,Math.min(x,Math.round(c*y))),_=c+P+$;for(;_>f&&c>w&&(c--,$=Math.max(b,Math.min(x,Math.round(c*y))),!($<b&&c===w));)t.style("font-size",`${c}px`),_=c+P+$,$<=b&&_>f;t.style("font-size",`${c}px`),(g.getComputedTextLength()>L||c<w||f<c)&&t.style("display","none")}),n.showValues!==!1&&E.append("text").attr("class","treemapValue").attr("x",t=>(t.x1-t.x0)/2).attr("y",function(t){return(t.y1-t.y0)/2}).attr("style",t=>{let r="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+W(t.data.name)+";",m=T({cssCompiledStyles:t.data.cssCompiledStyles});return r+m.labelStyles.replace("color:","fill:")}).attr("clip-path",(t,r)=>`url(#clip-${a}-${r})`).text(t=>t.value?C(t.value):"").each(function(t){let r=D(this),m=this.parentNode;if(!m){r.style("display","none");return}let g=D(m).select(".treemapLabel");if(g.empty()||g.style("display")==="none"){r.style("display","none");return}let S=parseFloat(g.style("font-size")),L=28,f=.6,c=6,w=2,x=Math.max(c,Math.min(L,Math.round(S*f)));r.style("font-size",`${x}px`);let b=(t.y1-t.y0)/2+S/2+w;r.attr("y",b);let P=t.x1-t.x0,xe=t.y1-t.y0-4,be=P-8;r.node().getComputedTextLength()>be||b+x>xe||x<c?r.style("display","none"):r.style("display",null)});let Se=n.diagramPadding??8;ie(v,Se,"flowchart",n?.useMaxWidth||!1)},"draw"),Le=d(function(s,a){return a.db.getClasses()},"getClasses"),$e={draw:Te,getClasses:Le},Fe={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},ze=d(({treemap:s}={})=>{let a=O(Fe,s);return`
2
2
  .treemapNode.section {
3
3
  stroke: ${a.sectionStrokeColor};
4
4
  stroke-width: ${a.sectionStrokeWidth};
@@ -1,4 +1,4 @@
1
- import{a as E}from"./embed-page-chunk-VWLWYYRF.js";import{a as F}from"./embed-page-chunk-UH47IEAR.js";import"./embed-page-chunk-UI6UN3LT.js";import{a as I}from"./embed-page-chunk-F2TRDKUW.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-MJZLFFU3.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import{l as y}from"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{O as A,P as L,Q as T,R as O,S,T as k,U as R,n as b,p as M,x as C}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as o,d as w}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},_={axes:[],curves:[],options:h},m=structuredClone(_),H=M.radar,j=o(()=>y({...H,...C().radar}),"getConfig"),D=o(()=>m.axes,"getAxes"),N=o(()=>m.curves,"getCurves"),U=o(()=>m.options,"getOptions"),X=o(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=o(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=o(a=>{if(a[0].axis==null)return a.map(e=>e.value);let t=D();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{let r=a.find(n=>n.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=o(a=>{let t=a.reduce((e,r)=>(e[r.name]=r,e),{});m.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule}},"setOptions"),J=o(()=>{A(),m=structuredClone(_)},"clear"),$={getAxes:D,getCurves:N,getOptions:U,setAxes:X,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:L,getAccTitle:T,setDiagramTitle:k,getDiagramTitle:R,getAccDescription:S,setAccDescription:O},K=o(a=>{E(a,$);let{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),Q={parse:o(async a=>{let t=await F("radar",a);w.debug(t),K(t)},"parse")},tt=o((a,t,e,r)=>{let n=r.db,i=n.getAxes(),l=n.getCurves(),s=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),p=I(t),u=et(p,c),g=s.max??Math.max(...l.map(f=>Math.max(...f.entries))),x=s.min,v=Math.min(c.width,c.height)/2;at(u,i,v,s.ticks,s.graticule),rt(u,i,v,c),G(u,i,l,x,g,s.graticule,c),V(u,l,s.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=o((a,t)=>{let e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,n={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${n.x}, ${n.y})`)},"drawFrame"),at=o((a,t,e,r,n)=>{if(n==="circle")for(let i=0;i<r;i++){let l=e*(i+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(n==="polygon"){let i=t.length;for(let l=0;l<r;l++){let s=e*(l+1)/r,c=t.map((d,p)=>{let u=2*p*Math.PI/i-Math.PI/2,g=s*Math.cos(u),x=s*Math.sin(u);return`${g},${x}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=o((a,t,e,r)=>{let n=t.length;for(let i=0;i<n;i++){let l=t[i].label,s=2*i*Math.PI/n-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(s)).attr("y2",e*r.axisScaleFactor*Math.sin(s)).attr("class","radarAxisLine"),a.append("text").text(l).attr("x",e*r.axisLabelFactor*Math.cos(s)).attr("y",e*r.axisLabelFactor*Math.sin(s)).attr("class","radarAxisLabel")}},"drawAxes");function G(a,t,e,r,n,i,l){let s=t.length,c=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==s)return;let u=d.entries.map((g,x)=>{let v=2*Math.PI*x/s-Math.PI/2,f=P(g,r,n,c),W=f*Math.cos(v),B=f*Math.sin(v);return{x:W,y:B}});i==="circle"?a.append("path").attr("d",z(u,l.curveTension)).attr("class",`radarCurve-${p}`):i==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}o(G,"drawCurves");function P(a,t,e,r){let n=Math.min(Math.max(a,t),e);return r*(n-t)/(e-t)}o(P,"relativeRadius");function z(a,t){let e=a.length,r=`M${a[0].x},${a[0].y}`;for(let n=0;n<e;n++){let i=a[(n-1+e)%e],l=a[n],s=a[(n+1)%e],c=a[(n+2)%e],d={x:l.x+(s.x-i.x)*t,y:l.y+(s.y-i.y)*t},p={x:s.x-(c.x-l.x)*t,y:s.y-(c.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${s.x},${s.y}`}return`${r} Z`}o(z,"closedRoundCurve");function V(a,t,e,r){if(!e)return;let n=(r.width/2+r.marginRight)*3/4,i=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((s,c)=>{let d=a.append("g").attr("transform",`translate(${n}, ${i+c*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(s.label)})}o(V,"drawLegend");var nt={draw:tt},st=o((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){let n=a[`cScale${r}`];e+=`
1
+ import{a as E}from"./embed-page-chunk-VWLWYYRF.js";import{a as I}from"./embed-page-chunk-F2TRDKUW.js";import{a as F}from"./embed-page-chunk-34FVRFPW.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-UI6UN3LT.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-MJZLFFU3.js";import{l as y}from"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{O as A,P as L,Q as T,R as O,S,T as k,U as R,n as b,p as M,x as C}from"./embed-page-chunk-DOZHL42J.js";import{b as o,d as w}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},_={axes:[],curves:[],options:h},m=structuredClone(_),H=M.radar,j=o(()=>y({...H,...C().radar}),"getConfig"),D=o(()=>m.axes,"getAxes"),N=o(()=>m.curves,"getCurves"),U=o(()=>m.options,"getOptions"),X=o(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=o(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=o(a=>{if(a[0].axis==null)return a.map(e=>e.value);let t=D();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{let r=a.find(n=>n.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=o(a=>{let t=a.reduce((e,r)=>(e[r.name]=r,e),{});m.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule}},"setOptions"),J=o(()=>{A(),m=structuredClone(_)},"clear"),$={getAxes:D,getCurves:N,getOptions:U,setAxes:X,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:L,getAccTitle:T,setDiagramTitle:k,getDiagramTitle:R,getAccDescription:S,setAccDescription:O},K=o(a=>{E(a,$);let{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),Q={parse:o(async a=>{let t=await F("radar",a);w.debug(t),K(t)},"parse")},tt=o((a,t,e,r)=>{let n=r.db,i=n.getAxes(),l=n.getCurves(),s=n.getOptions(),c=n.getConfig(),d=n.getDiagramTitle(),p=I(t),u=et(p,c),g=s.max??Math.max(...l.map(f=>Math.max(...f.entries))),x=s.min,v=Math.min(c.width,c.height)/2;at(u,i,v,s.ticks,s.graticule),rt(u,i,v,c),G(u,i,l,x,g,s.graticule,c),V(u,l,s.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=o((a,t)=>{let e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,n={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${n.x}, ${n.y})`)},"drawFrame"),at=o((a,t,e,r,n)=>{if(n==="circle")for(let i=0;i<r;i++){let l=e*(i+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(n==="polygon"){let i=t.length;for(let l=0;l<r;l++){let s=e*(l+1)/r,c=t.map((d,p)=>{let u=2*p*Math.PI/i-Math.PI/2,g=s*Math.cos(u),x=s*Math.sin(u);return`${g},${x}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=o((a,t,e,r)=>{let n=t.length;for(let i=0;i<n;i++){let l=t[i].label,s=2*i*Math.PI/n-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(s)).attr("y2",e*r.axisScaleFactor*Math.sin(s)).attr("class","radarAxisLine"),a.append("text").text(l).attr("x",e*r.axisLabelFactor*Math.cos(s)).attr("y",e*r.axisLabelFactor*Math.sin(s)).attr("class","radarAxisLabel")}},"drawAxes");function G(a,t,e,r,n,i,l){let s=t.length,c=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==s)return;let u=d.entries.map((g,x)=>{let v=2*Math.PI*x/s-Math.PI/2,f=P(g,r,n,c),W=f*Math.cos(v),B=f*Math.sin(v);return{x:W,y:B}});i==="circle"?a.append("path").attr("d",z(u,l.curveTension)).attr("class",`radarCurve-${p}`):i==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}o(G,"drawCurves");function P(a,t,e,r){let n=Math.min(Math.max(a,t),e);return r*(n-t)/(e-t)}o(P,"relativeRadius");function z(a,t){let e=a.length,r=`M${a[0].x},${a[0].y}`;for(let n=0;n<e;n++){let i=a[(n-1+e)%e],l=a[n],s=a[(n+1)%e],c=a[(n+2)%e],d={x:l.x+(s.x-i.x)*t,y:l.y+(s.y-i.y)*t},p={x:s.x-(c.x-l.x)*t,y:s.y-(c.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${s.x},${s.y}`}return`${r} Z`}o(z,"closedRoundCurve");function V(a,t,e,r){if(!e)return;let n=(r.width/2+r.marginRight)*3/4,i=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((s,c)=>{let d=a.append("g").attr("transform",`translate(${n}, ${i+c*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(s.label)})}o(V,"drawLegend");var nt={draw:tt},st=o((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){let n=a[`cScale${r}`];e+=`
2
2
  .radarCurve-${r} {
3
3
  color: ${n};
4
4
  fill: ${n};
@@ -1,4 +1,4 @@
1
- import{a as z}from"./embed-page-chunk-VWLWYYRF.js";import{a as E}from"./embed-page-chunk-UH47IEAR.js";import"./embed-page-chunk-UI6UN3LT.js";import{a as P}from"./embed-page-chunk-F2TRDKUW.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-MJZLFFU3.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import{l as u}from"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{K as x,O as y,P as $,Q as B,R as C,S,T as D,U as T,p as w,x as v}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as h,d as m}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var N=w.packet,F=class{constructor(){this.packet=[],this.setAccTitle=$,this.getAccTitle=B,this.setDiagramTitle=D,this.getDiagramTitle=T,this.getAccDescription=S,this.setAccDescription=C}static{h(this,"PacketDB")}getConfig(){let t=u({...N,...v().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){y(),this.packet=[]}},L=1e4,M=h((t,e)=>{z(t,e);let a=-1,o=[],n=1,{bitsPerRow:l}=e.getConfig();for(let{start:r,end:s,bits:d,label:c}of t.blocks){if(r!==void 0&&s!==void 0&&s<r)throw new Error(`Packet block ${r} - ${s} is invalid. End must be greater than start.`);if(r??=a+1,r!==a+1)throw new Error(`Packet block ${r} - ${s??r} is not contiguous. It should start from ${a+1}.`);if(d===0)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(s??=r+(d??1)-1,d??=s-r+1,a=s,m.debug(`Packet block ${r} - ${a} with label ${c}`);o.length<=l+1&&e.getPacket().length<L;){let[p,i]=Y({start:r,end:s,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(e.pushWord(o),o=[],n++),!i)break;({start:r,end:s,bits:d,label:c}=i)}}e.pushWord(o)},"populate"),Y=h((t,e,a)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let o=e*a-1,n=e*a;return[{start:t.start,end:o,label:t.label,bits:o-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),A={parser:{yy:void 0},parse:h(async t=>{let e=await E("packet",t),a=A.parser?.yy;if(!(a instanceof F))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");m.debug(e),M(e,a)},"parse")},I=h((t,e,a,o)=>{let n=o.db,l=n.getConfig(),{rowHeight:r,paddingY:s,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),i=n.getDiagramTitle(),f=r+s,g=f*(p.length+1)-(i?0:r),k=d*c+2,b=P(e);b.attr("viewbox",`0 0 ${k} ${g}`),x(b,g,k,l.useMaxWidth);for(let[W,_]of p.entries())O(b,_,W,l);b.append("text").text(i).attr("x",k/2).attr("y",g-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),O=h((t,e,a,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:r,bitsPerRow:s,showBits:d})=>{let c=t.append("g"),p=a*(o+l)+l;for(let i of e){let f=i.start%s*r+1,g=(i.end-i.start+1)*r-n;if(c.append("rect").attr("x",f).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",f+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(i.label),!d)continue;let k=i.end===i.start,b=p-2;c.append("text").attr("x",f+(k?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(i.start),k||c.append("text").attr("x",f+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(i.end)}},"drawWord"),j={draw:I},G={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},H=h(({packet:t}={})=>{let e=u(G,t);return`
1
+ import{a as z}from"./embed-page-chunk-VWLWYYRF.js";import{a as P}from"./embed-page-chunk-F2TRDKUW.js";import{a as E}from"./embed-page-chunk-34FVRFPW.js";import"./embed-page-chunk-ARNGODUC.js";import"./embed-page-chunk-WB3JMX5B.js";import"./embed-page-chunk-UI6UN3LT.js";import"./embed-page-chunk-57ESBUNV.js";import"./embed-page-chunk-UF2RW6L6.js";import"./embed-page-chunk-DXR73EFU.js";import"./embed-page-chunk-55HDN6EZ.js";import"./embed-page-chunk-MJZLFFU3.js";import{l as u}from"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{K as x,O as y,P as $,Q as B,R as C,S,T as D,U as T,p as w,x as v}from"./embed-page-chunk-DOZHL42J.js";import{b as h,d as m}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-IGOT476M.js";import"./embed-page-chunk-QLA2XU73.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var N=w.packet,F=class{constructor(){this.packet=[],this.setAccTitle=$,this.getAccTitle=B,this.setDiagramTitle=D,this.getDiagramTitle=T,this.getAccDescription=S,this.setAccDescription=C}static{h(this,"PacketDB")}getConfig(){let t=u({...N,...v().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){y(),this.packet=[]}},L=1e4,M=h((t,e)=>{z(t,e);let a=-1,o=[],n=1,{bitsPerRow:l}=e.getConfig();for(let{start:r,end:s,bits:d,label:c}of t.blocks){if(r!==void 0&&s!==void 0&&s<r)throw new Error(`Packet block ${r} - ${s} is invalid. End must be greater than start.`);if(r??=a+1,r!==a+1)throw new Error(`Packet block ${r} - ${s??r} is not contiguous. It should start from ${a+1}.`);if(d===0)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(s??=r+(d??1)-1,d??=s-r+1,a=s,m.debug(`Packet block ${r} - ${a} with label ${c}`);o.length<=l+1&&e.getPacket().length<L;){let[p,i]=Y({start:r,end:s,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(e.pushWord(o),o=[],n++),!i)break;({start:r,end:s,bits:d,label:c}=i)}}e.pushWord(o)},"populate"),Y=h((t,e,a)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let o=e*a-1,n=e*a;return[{start:t.start,end:o,label:t.label,bits:o-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),A={parser:{yy:void 0},parse:h(async t=>{let e=await E("packet",t),a=A.parser?.yy;if(!(a instanceof F))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");m.debug(e),M(e,a)},"parse")},I=h((t,e,a,o)=>{let n=o.db,l=n.getConfig(),{rowHeight:r,paddingY:s,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),i=n.getDiagramTitle(),f=r+s,g=f*(p.length+1)-(i?0:r),k=d*c+2,b=P(e);b.attr("viewbox",`0 0 ${k} ${g}`),x(b,g,k,l.useMaxWidth);for(let[W,_]of p.entries())O(b,_,W,l);b.append("text").text(i).attr("x",k/2).attr("y",g-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),O=h((t,e,a,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:r,bitsPerRow:s,showBits:d})=>{let c=t.append("g"),p=a*(o+l)+l;for(let i of e){let f=i.start%s*r+1,g=(i.end-i.start+1)*r-n;if(c.append("rect").attr("x",f).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",f+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(i.label),!d)continue;let k=i.end===i.start,b=p-2;c.append("text").attr("x",f+(k?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(i.start),k||c.append("text").attr("x",f+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(i.end)}},"drawWord"),j={draw:I},G={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},H=h(({packet:t}={})=>{let e=u(G,t);return`
2
2
  .packetByte {
3
3
  font-size: ${e.byteFontSize};
4
4
  }
@@ -0,0 +1 @@
1
+ import"./embed-page-chunk-QBTAJ2YI.js";var o={"auth.login.title":"Welcome Back","auth.login.subtitle":"Sign in to your account","auth.login.submit":"Sign In","auth.login.forgotPassword":"Forgot password?","auth.login.noAccount":"Don't have an account?","auth.login.createOne":"Create one","auth.login.sso":"Sign in with company account","auth.login.ssoWith":"Sign in with {{provider}}","auth.login.localDisabled":"Password sign-in is disabled. Use your company account.","auth.login.breakGlassNotice":"Password sign-in is disabled. This form is for the emergency break-glass account only.","auth.error.accountPending":"Your account was created and is waiting for administrator approval.","auth.error.accountSuspended":"Your account is suspended. Contact your administrator.","auth.error.oidcFailed":"Company sign-in failed. Please try again.","auth.error.notProvisioned":"Your account is not provisioned. Contact your administrator.","auth.error.emailInUse":"This email is already linked to another account. Contact your administrator.","auth.error.invalidState":"The sign-in request expired. Please try again.","auth.error.emailRequired":"Your identity provider did not return an email address.","auth.register.title":"Create Account","auth.register.subtitle":"Start your journey with us","auth.register.submit":"Create Account","auth.register.hasAccount":"Already have an account?","auth.register.success":"Account created successfully","auth.changePassword.title":"Change Password","auth.changePassword.submit":"Change Password","auth.changePassword.success":"Password changed successfully","auth.changePassword.failed":"Failed to change password","auth.changePassword.currentRequired":"Please enter current password","auth.changePassword.newRequired":"Please enter new password","auth.changePassword.confirmRequired":"Please confirm new password","auth.changePassword.tooShort":"Password must be at least 6 characters","auth.field.email":"Email","auth.field.password":"Password","auth.field.fullName":"Full name","auth.field.confirmPassword":"Confirm password","auth.field.currentPassword":"Current password","auth.field.newPassword":"New password","auth.field.confirmNewPassword":"Confirm new password","auth.field.name":"Name","auth.field.description":"Description","auth.field.logoUrl":"Logo URL","auth.tenant.title":"Select Your Tenant","auth.tenant.selectTitle":"Select Tenant","auth.tenant.chooseDescription":"Choose a tenant to continue","auth.tenant.description":"Welcome, {{name}}! Choose a tenant to continue","auth.tenant.empty.title":"Welcome, {{name}}!","auth.tenant.empty.noAccess":"You don't have access to any tenants yet.","auth.tenant.empty.contactAdmin":"Please contact your administrator to be assigned to a tenant.","auth.tenant.empty.platformAccess":"You don't have tenant access, but you can manage the platform with your platform role.","auth.tenant.searchPlaceholder":"Search tenant...","auth.tenant.searchAriaLabel":"Search tenants","auth.tenant.noMatch":"No tenants match","auth.tenant.noMatchHint":"Try a different search.","auth.tenant.showAll":"Show all tenants","auth.tenant.noWorkspaces":"No workspaces available","auth.tenant.noWorkspacesHint":"Contact your administrator to be added to a tenant.","auth.tenant.countOne":"tenant","auth.tenant.countOther":"tenants","auth.tenant.logout":"Log Out","auth.tenant.editTitle":"Edit Tenant","auth.tenantSettings.title":"Tenant Settings","auth.tenantSettings.general":"General","auth.tenantSettings.save":"Save Settings","auth.tenantSettings.updated":"Tenant updated","auth.tenantSettings.updateFailed":"Failed to update tenant","auth.tenantSettings.namePlaceholder":"Tenant name","auth.tenantSettings.nameRequired":"Tenant name is required","auth.tenantSettings.descriptionPlaceholder":"Brief description","auth.tenantSettings.logoUrlHelp":"e.g. https://example.com/logo.png or data:image/png;base64,iVBORw...","auth.tenantSettings.primaryColorLabel":"Brand color","auth.tenantSettings.primaryColorHelp":"Workspace brand color. Overrides the domain/platform primary color. Use #RGB or #RRGGBB.","auth.tenantSettings.primaryColorInvalid":"Use a hex color such as #5b50c6.","auth.tenantSettings.coordinatorMentionLabel":"Coordinator mention name","auth.tenantSettings.coordinatorMentionHelp":"Handle for the room coordinator bot (e.g. @room-coordinator). Lowercase; 2\u201332 chars; letters/digits/_/-, starting with a letter. Applies to newly created group rooms.","auth.tenantSettings.coordinatorMentionInvalid":"Lowercase; 2\u201332 chars; start with a letter","auth.user.profile":"Profile","auth.user.settings":"Settings","auth.user.changePassword":"Change password","auth.user.platformAdmin":"Admin Center","auth.user.logout":"Log out","auth.user.notifications":"Notifications","auth.user.language":"Language","auth.user.editTenant":"Edit Tenant","auth.user.switchTenant":"Switch Tenant","auth.user.currentWorkspace":"Current Workspace","auth.user.loggingOut":"Logging out...","auth.protected.title":"Authentication Required","auth.protected.description":"Please log in to access this page.","auth.notifications.on":"On","auth.notifications.off":"Off","auth.tenantLogo.alt":"{{name}} logo","auth.tenantLogo.altFallback":"Tenant logo","auth.appSwitcher.title":"Switch App","auth.appSwitcher.search":"Search apps","auth.appSwitcher.empty":"No apps registered","auth.appSwitcher.current":"Current","auth.modelProviders.title":"Model Providers","auth.modelProviders.add":"Add Provider","auth.modelProviders.apiKey":"API Key","auth.modelProviders.baseUrl":"Base URL","auth.modelProviders.modelName":"Model Name","auth.modelProviders.edit":"Edit Provider","auth.modelProviders.deleteTitle":"Delete model provider","auth.modelProviders.loadFailed":"Failed to load model providers","auth.modelProviders.empty":"No model providers","auth.modelProviders.emptyHint":'Click "Add Provider" to connect an upstream',"auth.modelProviders.namePlaceholder":"e.g., openai-prod","auth.modelProviders.nameHelp":"Unique within this tenant. Shown as the model key prefix.","auth.modelProviders.displayName":"Display Name","auth.modelProviders.displayNamePlaceholder":"e.g., OpenAI (production)","auth.modelProviders.baseUrlPlaceholder":"e.g., https://api.openai.com/v1","auth.modelProviders.baseUrlHelp":"The base address only \u2014 not a full endpoint path such as /v1/models or /v1/chat/completions; the gateway appends the path itself. Any OpenAI-compatible upstream works, including a self-hosted vLLM or Ollama on a private address.","auth.modelProviders.testLatency":"Test latency","auth.modelProviders.listModels":"List models","auth.modelProviders.enabledCount":"{{enabled}} / {{total}} enabled","auth.modelProviders.keyConfigured":"Configured \u2014 not shown","auth.modelProviders.keyReplacedOnSave":"The new key replaces the stored one on save.","auth.modelProviders.keyStoredOnServer":"A key is stored on the server and is never sent back.","auth.modelProviders.keyStoredOnServerHint":"A key is stored on the server (ends in {{hint}}) and is never sent back.","auth.modelProviders.replaceKey":"Replace key","auth.modelProviders.keyNotStored":"Optional. Leave blank for a server that needs no authentication \u2014 a self-hosted Ollama, vLLM or LM Studio, for example. Stored encrypted and never sent back to the browser.","auth.modelProviders.requestProtocol":"Request protocol","auth.modelProviders.requestProtocolHelp":"Decides the route and the request body. Chat Completions posts messages to /v1/chat/completions; the Responses API posts input to /v1/responses. Getting it wrong shows up as unrecognised parameters, a missing route, or endless retries.","auth.modelProviders.styleChatCompletions":"Chat Completions (/v1/chat/completions)","auth.modelProviders.styleResponses":"Responses (/v1/responses)","auth.modelProviders.saveProvider":"Save provider","auth.modelProviders.createProvider":"Create provider","auth.modelProviders.providerChoice":"Model provider","auth.modelProviders.providerChoiceHint":"Choose the service you are connecting to prefill its name and Base URL, or Custom to fill everything in yourself. Every field stays editable afterwards.","auth.modelProviders.templateCustom":"Custom","auth.modelProviders.templateOllama":"Ollama (local)","auth.modelProviders.templateVllm":"vLLM (local)","auth.modelProviders.templateLmstudio":"LM Studio (local)","auth.modelProviders.modelsSectionHelp":"Add the models this provider serves; they are saved together with the provider.","auth.modelProviders.noDraftModels":"No models added yet. You can add them now, or save and add them later from the provider's card.","auth.modelProviders.draftModelAdded":"Model added to this form \u2014 it is saved with the provider.","auth.modelProviders.draftModelUpdated":"Model updated in this form \u2014 it is saved with the provider.","auth.modelProviders.syncApiModels":"Sync API models","auth.modelProviders.saveSelection":"Save selection","auth.modelProviders.selectAllNew":"Select all new","auth.modelProviders.clear":"Clear","auth.modelProviders.newSelected":"{{selected}} of {{total}} new selected","auth.modelProviders.droppedBanner":"{{count}} dropped upstream \u2014 kept and flagged, not deleted","auth.modelProviders.droppedUpstream":"dropped upstream","auth.modelProviders.configured":"configured","auth.modelProviders.readingUpstream":"Reading the upstream model list\u2026","auth.modelProviders.noModelsYet":'No models yet. Use "Sync API models" to pull the list, or add one by hand.',"auth.modelProviders.searchModels":"Search models by id, name or owner","auth.modelProviders.noSearchResults":"No models match your search.","auth.modelProviders.remove":"Remove","auth.modelProviders.removeModelTitle":'Remove "{{modelId}}"?',"auth.modelProviders.referencesStopResolving":"Any agent or eval configuration referencing it will stop resolving.","auth.modelProviders.referencesStopResolvingPlural":"Any agent or eval configuration referencing them will stop resolving.","auth.modelProviders.removeDefaultModel":"This is the tenant's default model. Make another model the default first, then remove this one.","auth.modelProviders.removed":"Model removed","auth.modelProviders.removeFailed":"Failed to remove model","auth.modelProviders.models":"Models","auth.modelProviders.modelsFor":"Models \u2014 {{name}}","auth.modelProviders.modelsAdded":"{{count}} model(s) added","auth.modelProviders.modelsAddedTo":"{{count}} model(s) added to {{name}}","auth.modelProviders.noNewModels":"No new models to add","auth.modelProviders.noNewModelsFor":"No new models for {{name}}","auth.modelProviders.saveModelsFailed":"Failed to save models","auth.modelProviders.nameAndBaseUrlRequired":"Name and Base URL are required","auth.modelProviders.replacementKeyRequired":"Enter the replacement key, or cancel the replacement","auth.modelProviders.created":"Model provider created","auth.modelProviders.updated":"Model provider updated","auth.modelProviders.deleted":"Model provider deleted","auth.modelProviders.saveFailed":"Failed to save model provider","auth.modelProviders.updateFailed":"Failed to update provider","auth.modelProviders.deleteFailed":"Failed to delete model provider","auth.modelProviders.probeFailed":"Probe failed","auth.modelProviders.modelCount":"{{count}} models ({{enabled}} enabled)","auth.modelProviders.disabledSuffix":" \xB7 disabled","auth.modelProviders.deleteConfirm":"Delete {{name}}?","auth.modelProviders.deleteAlsoModels":"This also deletes the {{count}} models it provides.","auth.modelProviders.probeFailure.authFailed":"The upstream rejected these credentials (401/403). Check the API key is correct, current, and allowed to call this service.","auth.modelProviders.probeFailure.unreachable":"The base URL is unreachable. Usually a typo, or a full endpoint path pasted where the base address belongs.","auth.modelProviders.probeFailure.redirectBlocked":"The upstream redirected. Enter the final address directly \u2014 the gateway does not follow redirects.","auth.modelProviders.probeFailure.timeout":"The upstream did not respond in time. The service may be down, or the link slow.","auth.modelProviders.probeFailure.rateLimited":"The upstream rate limited the request (429). Try again shortly.","auth.modelProviders.probeFailure.invalidResponse":"The upstream answered, but not with a model list. Confirm the address serves an OpenAI-compatible /v1/models.","auth.modelProviders.probeFailure.generic":"Check the base URL and API key, and that the request protocol matches what the upstream serves.","auth.modelProviders.visionTitle":"Vision","auth.modelProviders.visionEnabled":"Enabled","auth.modelProviders.visionDisabled":"Disabled","auth.modelProviders.visionHelp":"Reads images. Agents refuse to open image files with a model that does not have this on.","auth.modelProviders.visionTurnOn":"Turn on","auth.modelProviders.visionTurnOff":"Turn off","auth.modelProviders.visionAriaOn":"Reads images. Click to turn off.","auth.modelProviders.visionAriaOff":"No image support. Click to enable.","auth.modelProviders.visionMarked":"Model marked as reading images","auth.modelProviders.visionCleared":"Image support cleared","auth.modelProviders.visionUpdateFailed":"Failed to update model","auth.modelProviders.thinkingTitle":"Thinking","auth.modelProviders.thinkingOn":"On","auth.modelProviders.thinkingOff":"Off","auth.modelProviders.thinkingHelp":"Whether the model reasons before answering. Models added here start with it off; turn it on for a model that should.","auth.modelProviders.thinkingTurnOn":"Enable thinking","auth.modelProviders.thinkingTurnOff":"Disable thinking","auth.modelProviders.thinkingAriaOn":"Thinking is on. Click to disable.","auth.modelProviders.thinkingAriaOff":"Thinking is off. Click to enable.","auth.modelProviders.thinkingMarked":"Thinking enabled for this model","auth.modelProviders.thinkingCleared":"Thinking disabled for this model","auth.modelProviders.thinkingUpdateFailed":"Failed to update model","auth.modelProviders.kindLabel":"Model type","auth.modelProviders.kindChat":"Chat","auth.modelProviders.kindEmbedding":"Embedding","auth.modelProviders.kindAsr":"Speech recognition","auth.modelProviders.kindHelp":"Chat models answer prompts and appear in the agent model pickers. Embedding models power collections; speech models transcribe audio. They live in one catalog but are never offered to the wrong picker.","auth.modelProviders.kindForModel":"Type of {{modelId}}","auth.modelProviders.kindGuessHint":"The type is guessed from the model id \u2014 change it before saving if it is wrong.","auth.modelProviders.kindUpdated":"Model type updated","auth.modelProviders.kindUpdatedDefaultCleared":"Model type updated \u2014 it is no longer the default for its previous type.","auth.modelProviders.kindUpdateFailed":"Failed to change the model type","auth.modelProviders.embeddingTestAria":"Run one embedding request against this model","auth.modelProviders.embeddingTestOk":"Embedding OK \u2014 {{dimensions}} dimensions in {{latency}}ms","auth.modelProviders.embeddingTestNoVector":"Reached in {{latency}}ms, but the response carried no vector","auth.modelProviders.embeddingTestFailed":"Embedding test failed{{reason}}","auth.modelProviders.addModel":"Add model","auth.modelProviders.editModel":"Edit model","auth.modelProviders.modelIdLabel":"Model ID","auth.modelProviders.modelIdHelp":'Exactly as the upstream names it \u2014 a mismatch surfaces later as "model not found". It is sent as typed: an upstream that publishes no list gives nothing to check it against.',"auth.modelProviders.extraConfigLabel":"Extra config","auth.modelProviders.extraConfigHelp":"A JSON object merged over the provider's settings \u2014 temperature, maxTokens, modelKwargs, contextWindow and so on (contextWindow is the input window used to decide when history is compacted). Empty means no per-model config. It cannot change where the request goes: the provider's address and credential always win.","auth.modelProviders.modelIdRequired":"Model ID is required","auth.modelProviders.extraInvalidJson":"Extra config is not valid JSON","auth.modelProviders.extraNotObject":"Extra config must be a JSON object","auth.modelProviders.modelAdded":"Model added","auth.modelProviders.modelUpdated":"Model updated","auth.modelProviders.modelSaveFailed":"Failed to save model","auth.modelProviders.badgeDefault":"default","auth.modelProviders.ariaEnabled":"Enabled","auth.modelProviders.ariaEditModelConfig":"Edit model config","auth.modelProviders.ariaRemoveModel":"Remove {{modelId}}","auth.modelProviders.ariaDefaultNotRemovable":"Default model cannot be removed","auth.modelProviders.defaultForKind":"Default {{kind}} model","auth.modelProviders.defaultsTitle":"Default model configuration","auth.modelProviders.sourceTitle":"Model source","auth.modelProviders.sourcePlatformHint":"Models are provided by the platform's deployment configuration. Nothing to set up.","auth.modelProviders.sourceOwn":"Your providers","auth.modelProviders.sourceOwnHint":"This tenant runs on its own model providers. Platform models are no longer used.","auth.modelProviders.sourceCannotDisable":"Once you have providers, platform models are no longer used \u2014 this cannot be switched back.","auth.modelProviders.sourceConfirmTitle":"Use your own model providers?","auth.modelProviders.sourceConfirmBody":"This is a one-way change. From then on only models from your providers are used: platform models are no longer a fallback, so anything missing fails instead.","auth.modelProviders.sourceConfirmNote":"You can never remove your last provider \u2014 without one there would be nothing left to run.","auth.modelProviders.sourceConfirmCta":"Add a provider","auth.modelProviders.deploymentTitle":"Models are provided by the platform","auth.modelProviders.deploymentHelp":"No configuration needed \u2014 these run on the platform's deployment-level models. Turn on the switch above to supply this tenant's own models instead.","auth.modelProviders.deploymentManaged":"Platform-hosted","auth.modelProviders.setupSummary":"{{count}}/{{total}} set","auth.modelProviders.setupMissing":"Missing default: {{kinds}}","auth.modelProviders.setupMissingHint":"Without a default, anything that needs this kind fails rather than falling back to a platform model.","auth.modelProviders.setupMissingNoModels":"Add a model under one of your providers, then pick it here. Until then this kind cannot run \u2014 there is no fallback.","auth.modelProviders.statusSet":"Ready","auth.modelProviders.statusNotSet":"Not set","auth.modelProviders.statusAttention":"Unavailable","auth.modelProviders.kindPurposeChat":"Answers prompts and runs agents","auth.modelProviders.kindPurposeEmbedding":"Powers collections and semantic search","auth.modelProviders.kindPurposeAsr":"Transcribes audio","auth.modelProviders.kindListSeparator":", ","auth.modelProviders.lastProviderNotRemovable":"The last provider cannot be removed. Add another provider first.","auth.modelProviders.defaultModelHelp":"Used wherever something needs a model and none is chosen: an agent with no model configured, the personal assistant, an eval run with no judge model, and reading an image.","auth.modelProviders.defaultModelEmpty":"Add a model to this provider first","auth.modelProviders.defaultModelPlaceholder":"Select a model","auth.modelProviders.defaultModelUpdated":"Default model updated","auth.modelProviders.defaultModelFailed":"Failed to set the default model","auth.modelProviders.kindAll":"All","auth.modelProviders.statusFilterAll":"All statuses","auth.modelProviders.statusEnabled":"Enabled","auth.modelProviders.statusDisabled":"Disabled","auth.modelProviders.statusDefault":"Default","auth.modelProviders.statusStale":"Dropped","auth.modelProviders.statusConfigured":"Configured","auth.modelProviders.statusUnconfigured":"Not configured","auth.modelProviders.selectModelAria":"Select {{modelId}}","auth.modelProviders.modelDisplayNameLabel":"Display name","auth.modelProviders.modelDisplayNamePlaceholder":"Leave empty to use the upstream name","auth.modelProviders.contextWindowLabel":"Context window","auth.modelProviders.contextWindowPlaceholder":"128K","auth.modelProviders.contextWindowHelp":"The number of tokens the model can read at once, used to decide when history is compacted. Accepts 128000, 128K, 1M and similar; empty means unset.","auth.modelProviders.contextWindowInvalid":"The context window must be a positive integer, optionally with a K or M suffix","auth.modelProviders.thinkingDefaultLabel":"Thinking enabled by default (Thinking / Reasoning)","auth.modelProviders.formatJson":"Format","auth.modelProviders.clearJson":"Clear","auth.modelProviders.jsonValid":"\u2713 Valid JSON","auth.modelProviders.jsonInvalid":"Invalid JSON","auth.modelProviders.jsonCharCount":"{{count}} characters","auth.modelProviders.extraPresetLabel":"Presets","auth.modelProviders.presetStandard":"Standard sampling","auth.modelProviders.presetThinking":"Thinking kwargs","auth.oidcProviders.title":"OIDC Providers","auth.oidcProviders.subtitle":"Identity providers","auth.oidcProviders.add":"Add provider","auth.oidcProviders.stats.total":"Total","auth.oidcProviders.searchPlaceholder":"Search name, ID, or issuer","auth.oidcProviders.filter.all":"All","auth.oidcProviders.filter.status":"Filter by status","auth.oidcProviders.filter.source":"Filter by source","auth.oidcProviders.filterSource.all":"All sources","auth.oidcProviders.emptyFiltered":"No matching providers","auth.oidcProviders.emptyFilteredHelp":"Try a different search or filter.","auth.oidcProviders.createTitle":"Create OIDC provider","auth.oidcProviders.editTitle":"Edit OIDC provider","auth.oidcProviders.loadFailed":"Failed to load OIDC providers.","auth.oidcProviders.adminRequired":"Platform administrator required to manage OIDC providers.","auth.oidcProviders.empty":"No OIDC providers configured","auth.oidcProviders.emptyHint":"Add a provider to let users sign in with their company account.","auth.oidcProviders.created":"OIDC provider created","auth.oidcProviders.updated":"OIDC provider updated","auth.oidcProviders.deleted":"OIDC provider deleted","auth.oidcProviders.createFailed":"Failed to create OIDC provider.","auth.oidcProviders.updateFailed":"Failed to update OIDC provider.","auth.oidcProviders.deleteFailed":"Failed to delete OIDC provider.","auth.oidcProviders.jitLabel":"JIT","auth.oidcProviders.jit.on":"On","auth.oidcProviders.jit.off":"Off","auth.oidcProviders.defaultTenantShort":"Default tenant","auth.oidcProviders.redirectUriShort":"Redirect URI","auth.oidcProviders.source.env":"Env","auth.oidcProviders.source.store":"Store","auth.oidcProviders.status.enabled":"Enabled","auth.oidcProviders.status.disabled":"Disabled","auth.oidcProviders.actions.edit":"Edit provider","auth.oidcProviders.actions.delete":"Delete provider","auth.oidcProviders.actions.deleteTitle":"Delete OIDC provider","auth.oidcProviders.actions.deleteConfirm":"Delete {{name}}? Users signing in through it will no longer be able to.","auth.oidcProviders.actions.test":"Test connection","auth.oidcProviders.actions.copyRedirect":"Copy redirect URI","auth.oidcProviders.actions.copySuccess":"Redirect URI copied","auth.oidcProviders.actions.copyFailed":"Failed to copy redirect URI","auth.oidcProviders.fields.id":"Provider ID","auth.oidcProviders.fields.displayName":"Display name","auth.oidcProviders.fields.issuer":"Issuer","auth.oidcProviders.fields.clientId":"Client ID","auth.oidcProviders.fields.clientSecret":"Client secret","auth.oidcProviders.fields.scopes":"Scopes","auth.oidcProviders.fields.enabled":"Enabled","auth.oidcProviders.fields.jitProvisioning":"Just-in-time provisioning","auth.oidcProviders.fields.autoLinkEmail":"Automatically link by email","auth.oidcProviders.fields.defaultTenantId":"Default tenant ID","auth.oidcProviders.fields.allowedPrivateHosts":"Allowed private-network hosts","auth.oidcProviders.fields.redirectUri":"Redirect URI","auth.oidcProviders.idPlaceholder":"e.g., entra","auth.oidcProviders.idHelp":"Lowercase letters, digits and hyphens; 2\u201332 characters. Cannot be changed later. Reserved: oidc, local.","auth.oidcProviders.displayNamePlaceholder":"e.g., Microsoft Entra ID","auth.oidcProviders.issuerPlaceholder":"e.g., https://login.microsoftonline.com/<tenant-id>/v2.0","auth.oidcProviders.issuerHelp":"Use the tenant-specific issuer. The common and organizations endpoints are rejected.","auth.oidcProviders.clientIdPlaceholder":"Application (client) ID","auth.oidcProviders.clientSecretPlaceholder":"Client secret value","auth.oidcProviders.clientSecretPlaceholderEdit":"Configured \u2014 leave blank to keep","auth.oidcProviders.clientSecretHelp":"Stored encrypted and never returned to the browser.","auth.oidcProviders.clientSecretBlankKeepsExisting":"A secret is already stored. Leave this blank to keep it, or enter a new value to replace it.","auth.oidcProviders.scopesHelp":"Space-separated. Must include openid.","auth.oidcProviders.allowedPrivateHostsPlaceholder":"e.g., idp.internal.example.com","auth.oidcProviders.allowedPrivateHostsHelp":"Only exact hostnames. Empty means no private-network issuer is allowed.","auth.oidcProviders.defaultTenantPlaceholder":"Tenant UUID","auth.oidcProviders.defaultTenantHelp":"Optional. When JIT provisioning is enabled, new users join this tenant; leave blank to create a tenantless user until an administrator assigns one.","auth.oidcProviders.redirectUriPending":"Generated after the provider is saved","auth.oidcProviders.redirectUriHelp":"Register this exact URI in your identity provider's app configuration.","auth.oidcProviders.validation.id":"Provider ID is required.","auth.oidcProviders.validation.idPattern":"Provider ID must match [a-z0-9][a-z0-9-]{1,31}.","auth.oidcProviders.validation.idReserved":"This provider ID is reserved.","auth.oidcProviders.validation.displayName":"Display name is required.","auth.oidcProviders.validation.issuer":"Issuer is required.","auth.oidcProviders.validation.clientId":"Client ID is required.","auth.oidcProviders.validation.clientSecret":"Client secret is required.","auth.oidcProviders.validation.scopesOpenid":"Scopes must include openid.","auth.oidcProviders.test.run":"Test connection","auth.oidcProviders.test.succeeded":"Discovery succeeded","auth.oidcProviders.test.failed":"Connection test failed.","auth.oidcProviders.test.passed":"Connection test succeeded for {{issuer}}.","auth.oidcProviders.test.authorizationEndpoint":"Authorization endpoint","auth.oidcProviders.test.tokenEndpoint":"Token endpoint","auth.oidcProviders.test.jwksUri":"JWKS URI","auth.oidcProviders.test.userinfoEndpoint":"Userinfo endpoint","auth.invite.title":"You have an invitation","auth.invite.signInFirst":"Sign in with your enterprise account to continue.","auth.invite.platformDescription":"This link requests a platform role. A platform administrator must approve it.","auth.invite.tenantDescription":"This link invites you to join a tenant. Sign in to continue.","auth.invite.unavailable":"This invitation link is invalid, expired, or already used.","auth.invite.emailMismatch":"This invitation is for a different email address.","auth.invite.rateLimited":"Too many attempts. Try again later.","auth.invite.failed":"Failed to process the invitation.","auth.invite.joinedTitle":"Invitation accepted","auth.invite.joinedDescription":"You have joined the tenant.","auth.invite.pendingTitle":"Waiting for administrator approval","auth.invite.pendingDescription":"Your request was submitted. An administrator must approve it before the role or membership is granted.","auth.invite.claim":"Accept invitation","auth.invite.continue":"Continue","auth.emailCompletion.title":"Complete your account email","auth.emailCompletion.description":"Your identity provider did not return an email. Enter the email your administrator should use to review your account.","auth.emailCompletion.emailLabel":"Email","auth.emailCompletion.emailPlaceholder":"you@company.com","auth.emailCompletion.submit":"Submit for review","auth.emailCompletion.pendingTitle":"Waiting for administrator review","auth.emailCompletion.pendingDescription":"Your email was submitted. An administrator must approve the account before you can sign in.","auth.emailCompletion.activeTitle":"Account already linked","auth.emailCompletion.activeDescription":"This SSO identity is already linked. Return to the sign-in page to continue.","auth.emailCompletion.unavailableTitle":"Account unavailable","auth.emailCompletion.unavailableDescription":"Contact your administrator to resolve this account.","auth.emailCompletion.invalidEmail":"Enter a valid email address.","auth.emailCompletion.invalidToken":"This email completion link is invalid or expired. Start sign-in again.","auth.emailCompletion.alreadyUsed":"This email completion link was already used. Start sign-in again.","auth.emailCompletion.disabled":"Email completion is not enabled.","auth.emailCompletion.rateLimited":"Too many attempts. Try again later.","auth.emailCompletion.failed":"Failed to submit the email.","auth.emailCompletion.backToSignIn":"Back to sign in","auth.error.passwordMismatch":"Passwords do not match","auth.error.registerFailed":"Registration failed","auth.error.invalidCredentials":"Invalid email or password","auth.error.generic":"Something went wrong. Please try again.","auth.error.loginFailed":"Login failed","auth.error.unauthorized":"Unauthorized","auth.error.selectTenantFailed":"Failed to select tenant","auth.error.fetchTenantsFailed":"Failed to fetch tenants","auth.error.fetchUsersFailed":"Failed to fetch users","auth.error.refreshUserFailed":"Failed to refresh user","auth.error.changePasswordFailed":"Failed to change password","auth.success.registered":"Registration successful!"},a={messages:o};export{a as default,o as messages};
@@ -0,0 +1 @@
1
+ import"./embed-page-chunk-QBTAJ2YI.js";var n={"platformAdmin.title":"Admin Center","platformAdmin.backToWorkspace":"Back to workspace","platformAdmin.roleLabel":"Role","platformAdmin.readOnly":"Read-only","platformAdmin.loadFailed":"Failed to load your platform identity.","platformAdmin.group.access":"Access","platformAdmin.group.tenancy":"Tenancy","platformAdmin.group.identity":"Identity","platformAdmin.group.settings":"Settings","platformAdmin.nav.overview":"Overview","platformAdmin.nav.settingsAuthentication":"Authentication","platformAdmin.nav.settingsRateLimits":"Rate Limits & Quotas","platformAdmin.nav.settingsBranding":"Branding","platformAdmin.nav.members":"Platform Roles","platformAdmin.nav.users":"People","platformAdmin.nav.tenants":"Tenants","platformAdmin.nav.assignments":"Tenant Members","platformAdmin.nav.inviteLinks":"Invite Links","platformAdmin.inviteLinks.title":"Invite Links","platformAdmin.inviteLinks.canonicalNotice":"Invite links always open on the canonical Console URL. Custom-domain branding does not change invite-link origin.","platformAdmin.inviteLinks.subtitle":"Create copyable links for platform roles and tenant memberships.","platformAdmin.inviteLinks.tabs.links":"Links","platformAdmin.inviteLinks.tabs.policy":"Policy","platformAdmin.inviteLinks.create":"Create invite link","platformAdmin.inviteLinks.createTitle":"Create invite link","platformAdmin.inviteLinks.scopePlatform":"Platform role","platformAdmin.inviteLinks.scopeTenant":"Tenant membership","platformAdmin.inviteLinks.emailPlaceholder":"Email binding (optional)","platformAdmin.inviteLinks.tenantPlaceholder":"Select a tenant","platformAdmin.inviteLinks.hours":"hours","platformAdmin.inviteLinks.uses":"uses","platformAdmin.inviteLinks.expiryLabel":"Expiry (hours)","platformAdmin.inviteLinks.maxUsesLabel":"Max uses","platformAdmin.inviteLinks.createHelp":"Platform role links always require admin approval. Tenant member links auto-join only when email-bound and the IdP returns email_verified=true.","platformAdmin.inviteLinks.created":"Invite link created","platformAdmin.inviteLinks.createFailed":"Failed to create the invite link.","platformAdmin.inviteLinks.invalid":"Expiry must be between 1 and 8760 hours, and max uses between 1 and 100.","platformAdmin.inviteLinks.loadFailed":"Failed to load invite links.","platformAdmin.inviteLinks.empty":"No invite links yet.","platformAdmin.inviteLinks.emptyHelp":"Create a link to invite someone.","platformAdmin.inviteLinks.emptyFiltered":"No matching links","platformAdmin.inviteLinks.emptyFilteredHelp":"Try a different search or status filter.","platformAdmin.inviteLinks.searchPlaceholder":"Search by email, scope, or role","platformAdmin.inviteLinks.filter.all":"All","platformAdmin.inviteLinks.status.active":"Active","platformAdmin.inviteLinks.status.expiring":"Expiring soon","platformAdmin.inviteLinks.status.expired":"Expired","platformAdmin.inviteLinks.status.used":"Used","platformAdmin.inviteLinks.status.revoked":"Revoked","platformAdmin.inviteLinks.createdBy":"Created by {{name}}","platformAdmin.inviteLinks.resultTitle":"Invite link created","platformAdmin.inviteLinks.resultHelp":"Copy this link now and share it with the recipient.","platformAdmin.inviteLinks.resultUrlLabel":"Invite link URL","platformAdmin.inviteLinks.copy":"Copy link","platformAdmin.inviteLinks.copied":"Link copied","platformAdmin.inviteLinks.copyFailed":"Failed to copy the link.","platformAdmin.inviteLinks.revoke":"Revoke","platformAdmin.inviteLinks.revoked":"Revoked","platformAdmin.inviteLinks.revokedMessage":"Invite link revoked","platformAdmin.inviteLinks.revokeFailed":"Failed to revoke the invite link.","platformAdmin.inviteLinks.revokeConfirm":"Revoke this invite link? It can no longer be used.","platformAdmin.inviteLinks.usage":"Used {{used}} / {{max}}","platformAdmin.inviteLinks.expires":"Expires {{date}}","platformAdmin.inviteLinks.tenantRequired":"Select a tenant.","platformAdmin.nav.oidc":"OIDC Providers","platformAdmin.role.owner":"Owner","platformAdmin.role.admin":"Admin","platformAdmin.role.auditor":"Auditor","platformAdmin.role.description.owner":"Full control, including granting and revoking platform owners.","platformAdmin.role.description.admin":"Manage users, tenants, assignments, and OIDC providers. Cannot manage owners.","platformAdmin.role.description.auditor":"Read-only platform access.","platformAdmin.tenantRole.owner":"Tenant owner","platformAdmin.tenantRole.admin":"Tenant admin","platformAdmin.tenantRole.member":"Member","platformAdmin.access.deniedTitle":"Access denied","platformAdmin.access.deniedDescription":"Your account does not have a platform role. Ask a platform owner to grant you access.","platformAdmin.access.back":"Back to workspace","platformAdmin.overview.title":"Overview","platformAdmin.overview.loadFailed":"Failed to load the platform overview.","platformAdmin.overview.systemStatusLoadFailed":"Failed to load the system status.","platformAdmin.overview.subtitle":"A live snapshot of platform health, people, and identity configuration.","platformAdmin.overview.refreshedAt":"Updated {{date}}","platformAdmin.overview.refresh":"Refresh","platformAdmin.overview.retry":"Retry","platformAdmin.overview.needsAttention":"Needs attention","platformAdmin.overview.needsAttentionSubtitle":"Resolve these items to keep the platform healthy.","platformAdmin.overview.allClear":"All clear","platformAdmin.overview.allClearDescription":"No warnings or pending reviews right now.","platformAdmin.overview.unavailable":"{{label}} unavailable","platformAdmin.overview.health":"Platform health","platformAdmin.overview.healthSubtitle":"Runtime status, readiness, and dependencies.","platformAdmin.overview.healthHealthy":"Healthy","platformAdmin.overview.healthDegraded":"Degraded","platformAdmin.overview.healthUnavailable":"Unavailable","platformAdmin.overview.environment":"Environment","platformAdmin.overview.environmentSubtitle":"Read-only deployment endpoints and diagnostics. Secret values are never shown.","platformAdmin.overview.atAGlance":"Platform at a glance","platformAdmin.overview.atAGlanceSubtitle":"Counts across users, tenants, and platform access.","platformAdmin.overview.uptimeSeconds":"{{seconds}}s","platformAdmin.overview.metrics.users":"Users","platformAdmin.overview.metrics.tenants":"Tenants","platformAdmin.overview.metrics.access":"Admin Center access","platformAdmin.overview.metrics.providers":"OIDC providers","platformAdmin.overview.metrics.inviteLinks":"Invite Links","platformAdmin.overview.breakdown.active":"Active","platformAdmin.overview.breakdown.inactive":"Inactive","platformAdmin.overview.breakdown.pending":"Pending","platformAdmin.overview.breakdown.suspended":"Suspended","platformAdmin.overview.breakdown.owners":"Owners","platformAdmin.overview.breakdown.admins":"Admins","platformAdmin.overview.breakdown.auditors":"Auditors","platformAdmin.overview.breakdown.enabled":"Enabled","platformAdmin.overview.breakdown.disabled":"Disabled","platformAdmin.overview.breakdown.expiringSoon":"Expiring soon","platformAdmin.overview.attention.readiness.title":"Readiness warnings","platformAdmin.overview.attention.readiness.description":"Multi-replica and shared-store checks need review.","platformAdmin.overview.attention.sso.title":"Pending SSO requests","platformAdmin.overview.attention.sso.description":"Enterprise SSO identities are waiting for review.","platformAdmin.overview.attention.users.title":"Pending users","platformAdmin.overview.attention.users.description":"Users are waiting for approval.","platformAdmin.overview.attention.invitations.title":"Pending invitations","platformAdmin.overview.attention.invitations.description":"Invitations have been sent and not yet accepted.","platformAdmin.overview.attention.inviteLinks.title":"Invite links expiring soon","platformAdmin.overview.attention.inviteLinks.description":"Active invite links expire within 7 days.","platformAdmin.overview.attention.review":"Review","platformAdmin.overview.attention.unavailable":"This data could not be loaded.","platformAdmin.members.title":"Platform Roles","platformAdmin.members.subtitle":"Manage who has platform-level access. Only platform owners may grant or change the owner role.","platformAdmin.members.add":"Grant platform role","platformAdmin.members.addMember":"Add member","platformAdmin.members.allRoles":"All roles","platformAdmin.members.grantedBy":"Granted by {{name}}","platformAdmin.members.grantedAt":"Granted {{date}}","platformAdmin.members.pendingInvitations":"Pending invitations {{count}} \u2192","platformAdmin.members.openInvitations":"Open invitations","platformAdmin.users.title":"Users","platformAdmin.users.subtitle":"Every user in the deployment, including users without a platform role.","platformAdmin.users.searchPlaceholder":"Search by name or email","platformAdmin.users.filterStatus":"Status","platformAdmin.users.allStatuses":"All statuses","platformAdmin.users.roleNone":"No platform role","platformAdmin.users.created":"Created {{date}}","platformAdmin.users.empty":"No users match the current filters.","platformAdmin.users.create":"Create user","platformAdmin.users.createTitle":"Create user","platformAdmin.users.editTitle":"Edit user","platformAdmin.users.email":"Email","platformAdmin.users.name":"Name","platformAdmin.users.status":"Status","platformAdmin.users.password":"Password","platformAdmin.users.passwordHint":"At least 6 characters. Leave blank for SSO-only access.","platformAdmin.users.createdMessage":"User created","platformAdmin.users.createSucceeded":"Created {{email}}.","platformAdmin.users.createFailed":"Failed to create the user.","platformAdmin.users.emailRequired":"Enter an email address.","platformAdmin.users.nameRequired":"Enter a name.","platformAdmin.users.passwordTooShort":"Password must be at least 6 characters.","platformAdmin.users.emailExists":"A user with this email already exists.","platformAdmin.users.updated":"User updated","platformAdmin.users.updateFailed":"Failed to update the user.","platformAdmin.users.deleted":"User deleted","platformAdmin.users.deleteFailed":"Failed to delete the user.","platformAdmin.users.deleteTitle":"Delete user","platformAdmin.users.deleteConfirm":"Delete {{name}}? This cannot be undone.","platformAdmin.users.edit":"Edit user","platformAdmin.users.delete":"Delete user","platformAdmin.users.loadFailed":"Failed to load users.","platformAdmin.people.title":"People","platformAdmin.people.subtitle":"Users, platform invitations, and SSO approvals.","platformAdmin.people.addUser":"Add user","platformAdmin.people.managePlatformRole":"Manage platform role","platformAdmin.people.emptyHelp":"Adjust the filters or add a new item.","platformAdmin.people.tab.users":"Users","platformAdmin.people.tab.invitations":"Platform invitations","platformAdmin.people.tab.sso":"Pending SSO","platformAdmin.ssoClaims.title":"Pending SSO requests","platformAdmin.ssoClaims.subtitle":"Enterprise SSO identities without an email. Review the requested email before creating or linking an account.","platformAdmin.ssoClaims.empty":"No pending SSO requests.","platformAdmin.ssoClaims.loadFailed":"Failed to load pending SSO requests.","platformAdmin.ssoClaims.editEmail":"Edit email","platformAdmin.ssoClaims.updated":"Email updated","platformAdmin.ssoClaims.updateFailed":"Failed to update the email.","platformAdmin.ssoClaims.approve":"Approve","platformAdmin.ssoClaims.approveTitle":"Approve SSO request","platformAdmin.ssoClaims.approveHelp":"Creates an active passwordless user. Assigning a tenant is optional.","platformAdmin.ssoClaims.approved":"SSO request approved","platformAdmin.ssoClaims.approveFailed":"Failed to approve the SSO request.","platformAdmin.ssoClaims.assignTenantOptional":"Assign tenant (optional)","platformAdmin.ssoClaims.linkExisting":"Link existing user","platformAdmin.ssoClaims.linkTitle":"Link SSO identity to existing user","platformAdmin.ssoClaims.linkWarning":"This links the SSO identity to the existing account. The existing email is kept.","platformAdmin.ssoClaims.linked":"SSO identity linked","platformAdmin.ssoClaims.linkFailed":"Failed to link the SSO identity.","platformAdmin.ssoClaims.reject":"Reject","platformAdmin.ssoClaims.rejected":"SSO request rejected","platformAdmin.ssoClaims.rejectFailed":"Failed to reject the SSO request.","platformAdmin.ssoClaims.rejectConfirm":"Reject this SSO request? The user will need to sign in again.","platformAdmin.ssoClaims.requestedPlatformRole":"Requested platform role: {{role}}","platformAdmin.ssoClaims.requestedTenantRole":"Requested tenant role: {{role}}","platformAdmin.ssoClaims.existingUser":"Existing: {{name}} ({{role}})","platformAdmin.ssoClaims.submitted":"Submitted {{date}}","platformAdmin.ssoClaims.expired":"Expired","platformAdmin.people.invitationSearchPlaceholder":"Search by email","platformAdmin.people.invitationSecondary":"Pending platform invitation","platformAdmin.people.invitedRole":"Invited: {{role}}","platformAdmin.people.invitedBy":"Invited by {{name}}","platformAdmin.people.invitedAt":"Invited {{date}}","platformAdmin.userStatus.active":"Active","platformAdmin.userStatus.pending":"Pending","platformAdmin.userStatus.suspended":"Suspended","platformAdmin.members.grantTitle":"Grant platform role","platformAdmin.members.grant":"Grant","platformAdmin.members.user":"User email or user ID","platformAdmin.members.searchPlaceholder":"user@example.com or user id","platformAdmin.members.role":"Platform role","platformAdmin.members.empty":"No platform users yet.","platformAdmin.members.userRequired":"Enter a user email or user ID.","platformAdmin.members.granted":"Platform role granted","platformAdmin.members.invited":"Invitation sent to {{email}}","platformAdmin.members.invitationNotice":"Invitation created for {{email}}. Manage it under People \u2192 Platform invitations.","platformAdmin.members.openPeople":"Open People","platformAdmin.members.updated":"Platform role updated","platformAdmin.members.revoked":"Platform role revoked","platformAdmin.members.grantFailed":"Failed to grant the platform role.","platformAdmin.members.updateFailed":"Failed to update the platform role.","platformAdmin.members.revokeFailed":"Failed to revoke the platform role.","platformAdmin.members.loadFailed":"Failed to load platform users.","platformAdmin.members.lastOwner":"At least one platform owner must remain.","platformAdmin.members.ownerOnly":"Only a platform owner may manage the owner role.","platformAdmin.members.revoke":"Revoke platform role","platformAdmin.members.changeRole":"Change role","platformAdmin.members.revokeConfirm":"Revoke the platform role for {{name}}?","platformAdmin.members.columns.user":"User","platformAdmin.members.columns.role":"Role","platformAdmin.members.columns.granted":"Granted","platformAdmin.members.columns.actions":"Actions","platformAdmin.members.nameFallback":"Unknown user","platformAdmin.invitations.title":"Pending invitations","platformAdmin.invitations.subtitle":"Invitees receive their platform role on their first verified SSO login.","platformAdmin.invitations.empty":"No pending invitations.","platformAdmin.invitations.columns.email":"Email","platformAdmin.invitations.columns.role":"Role","platformAdmin.invitations.columns.invited":"Invited","platformAdmin.invitations.columns.actions":"Actions","platformAdmin.invitations.revoke":"Revoke invitation","platformAdmin.invitations.revokeConfirm":"Revoke the pending invitation for {{email}}?","platformAdmin.invitations.revoked":"Invitation revoked","platformAdmin.invitations.revokeFailed":"Failed to revoke the invitation.","platformAdmin.tenants.title":"Tenants","platformAdmin.tenants.subtitle":"Tenant lifecycle and status across the platform.","platformAdmin.tenants.add":"Add tenant","platformAdmin.tenants.createTitle":"Create tenant","platformAdmin.tenants.editTitle":"Edit tenant","platformAdmin.tenants.name":"Name","platformAdmin.tenants.description":"Description","platformAdmin.tenants.status":"Status","platformAdmin.tenants.status.active":"Active","platformAdmin.tenants.status.inactive":"Inactive","platformAdmin.tenants.status.suspended":"Suspended","platformAdmin.tenants.empty":"No tenants yet.","platformAdmin.tenants.emptyHelp":"Create a tenant to get started.","platformAdmin.tenants.emptyFiltered":"No matching tenants.","platformAdmin.tenants.emptyFilteredHelp":"Adjust the search or status filter.","platformAdmin.tenants.searchPlaceholder":"Search by name, description, or ID","platformAdmin.tenants.allStatuses":"All statuses","platformAdmin.tenants.noDescription":"No description","platformAdmin.tenants.default":"Default","platformAdmin.tenants.members":"Members","platformAdmin.tenants.defaultDeleteBlocked":"Default tenant cannot be deleted","platformAdmin.tenants.nameRequired":"Tenant name is required.","platformAdmin.tenants.created":"Tenant created","platformAdmin.tenants.updated":"Tenant updated","platformAdmin.tenants.deleted":"Tenant deleted","platformAdmin.tenants.loadFailed":"Failed to load tenants.","platformAdmin.tenants.createFailed":"Failed to create the tenant.","platformAdmin.tenants.updateFailed":"Failed to update the tenant.","platformAdmin.tenants.deleteFailed":"Failed to delete the tenant.","platformAdmin.tenants.deleteTitle":"Delete tenant","platformAdmin.tenants.deleteConfirm":"Delete {{name}}? This cannot be undone.","platformAdmin.tenants.columns.name":"Name","platformAdmin.tenants.columns.status":"Status","platformAdmin.tenants.columns.created":"Created","platformAdmin.tenants.columns.actions":"Actions","platformAdmin.assignments.title":"Tenant Members","platformAdmin.assignments.subtitle":"Assign platform users to tenants and manage their tenant roles.","platformAdmin.assignments.tenant":"Tenant","platformAdmin.assignments.selectTenant":"Select a tenant","platformAdmin.assignments.add":"Add member","platformAdmin.assignments.addTitle":"Add tenant member","platformAdmin.assignments.user":"User email or user ID","platformAdmin.assignments.searchPlaceholder":"user@example.com or user id","platformAdmin.assignments.searchMembers":"Search by name or email","platformAdmin.assignments.allRoles":"All roles","platformAdmin.assignments.roleFilter.owner":"Owner","platformAdmin.assignments.roleFilter.admin":"Admin","platformAdmin.assignments.roleFilter.member":"Member","platformAdmin.assignments.stats.owner":"Owners","platformAdmin.assignments.stats.admin":"Admins","platformAdmin.assignments.stats.member":"Members","platformAdmin.assignments.joined":"Joined {{date}}","platformAdmin.assignments.role":"Tenant role","platformAdmin.assignments.empty":"No members in this tenant.","platformAdmin.assignments.emptyHelp":"Add a member to get started.","platformAdmin.assignments.emptyFiltered":"No matching members","platformAdmin.assignments.emptyFilteredHelp":"Try a different search or role filter.","platformAdmin.assignments.noTenant":"Select a tenant to view its members.","platformAdmin.assignments.userRequired":"Enter a user email or user ID.","platformAdmin.assignments.userNotFound":"No platform user matches that email or user ID.","platformAdmin.assignments.added":"Tenant member added","platformAdmin.assignments.removed":"Tenant member removed","platformAdmin.assignments.loadTenantsFailed":"Failed to load tenants.","platformAdmin.assignments.loadMembersFailed":"Failed to load tenant members.","platformAdmin.assignments.addFailed":"Failed to add the tenant member.","platformAdmin.assignments.removeFailed":"Failed to remove the tenant member.","platformAdmin.assignments.remove":"Remove","platformAdmin.assignments.removeConfirm":"Remove {{name}} from {{tenant}}?","platformAdmin.assignments.changeRole":"Change role","platformAdmin.assignments.changeRoleTitle":"Change tenant role","platformAdmin.assignments.roleUpdated":"Tenant role updated","platformAdmin.assignments.roleUpdateFailed":"Failed to update the tenant role.","platformAdmin.assignments.columns.user":"User","platformAdmin.assignments.columns.role":"Role","platformAdmin.assignments.columns.joined":"Joined","platformAdmin.assignments.columns.actions":"Actions","platformAdmin.inviteLinks.defaultPolicy.title":"Default invite policy","platformAdmin.inviteLinks.defaultPolicy.help":"Defaults applied when creating a new invite link. You can override them per link.","platformAdmin.inviteLinks.defaultPolicy.expiry":"Default expiry (hours)","platformAdmin.inviteLinks.defaultPolicy.maxUses":"Default max uses","platformAdmin.inviteLinks.defaultPolicy.save":"Save default policy","platformAdmin.inviteLinks.defaultPolicy.saved":"Default invite policy saved","platformAdmin.inviteLinks.defaultPolicy.saveFailed":"Failed to save the default invite policy.","platformAdmin.inviteLinks.defaultPolicy.unchanged":"Existing links are not changed.","platformAdmin.inviteLinks.defaultPolicy.loadFailed":"Failed to load the default invite policy.","platformAdmin.inviteLinks.defaultPolicy.invalid":"Default expiry must be between {{minHours}} and {{maxHours}} hours, and max uses between {{minUses}} and {{maxUses}}.","platformAdmin.inviteLinks.defaultPolicy.source":"Source","platformAdmin.inviteLinks.defaultPolicy.resetExpiry":"Reset default expiry to fallback","platformAdmin.inviteLinks.defaultPolicy.resetMaxUses":"Reset default max uses to fallback","platformAdmin.inviteLinks.defaultPolicy.updatedBy":"Last updated by {{user}}","platformAdmin.inviteLinks.defaultPolicy.updatedAt":"Last updated {{date}}","platformAdmin.settings.title":"Settings","platformAdmin.settings.subtitle":"Manage authentication, rate limits, quotas, and runtime environment.","platformAdmin.settings.loadFailed":"Failed to load platform settings.","platformAdmin.settings.versionConflict":"These settings changed elsewhere. The latest values were reloaded; review your changes and save again.","platformAdmin.settings.saved":"Platform settings saved","platformAdmin.settings.saveFailed":"Failed to save platform settings.","platformAdmin.settings.readOnlyNote":"You have read-only access to platform settings.","platformAdmin.settings.unsaved":"Unsaved changes","platformAdmin.settings.updatedBy":"Last updated by {{user}}","platformAdmin.settings.updatedAt":"Last updated {{date}}","platformAdmin.settings.notAvailable":"Not available","platformAdmin.settings.source.label":"Source","platformAdmin.settings.source.default":"Default","platformAdmin.settings.source.env":"Environment","platformAdmin.settings.source.platform":"Platform","platformAdmin.settings.reset":"Reset to fallback","platformAdmin.settings.resetHint":"Reset this setting to the environment/default value.","platformAdmin.settings.save":"Save","platformAdmin.settings.auth.title":"Authentication","platformAdmin.settings.auth.description":"Enterprise SSO options that change how users complete sign-in.","platformAdmin.settings.auth.emailCompletion":"Allow SSO email completion","platformAdmin.settings.auth.emailCompletionHelp":"When enabled, users without an email in their SSO identity can submit one for admin approval instead of being rejected.","platformAdmin.settings.auth.fallback":"Fallback: {{value}}","platformAdmin.settings.auth.enabled":"Enabled","platformAdmin.settings.auth.disabled":"Disabled","platformAdmin.settings.auth.configured":"Configured on the platform","platformAdmin.settings.auth.notConfigured":"Using the environment/default value","platformAdmin.settings.rateLimits.title":"Rate Limits & Quotas","platformAdmin.settings.rateLimits.description":"Fixed-window request limits and per-tenant execution quotas.","platformAdmin.settings.rateLimits.openApi":"Open API requests/min","platformAdmin.settings.rateLimits.openAgent":"Open Agent requests/min","platformAdmin.settings.rateLimits.a2aJsonRpc":"A2A JSON-RPC requests/min","platformAdmin.settings.rateLimits.a2aJsonRpcIp":"A2A requests/min per IP","platformAdmin.settings.rateLimits.maxActive":"Max active run tasks per tenant","platformAdmin.settings.rateLimits.requestsPerMinute":"requests/min","platformAdmin.settings.rateLimits.unlimited":"Unlimited","platformAdmin.settings.rateLimits.maxActiveHelp":"Leave unlimited to allow any number of concurrently running tasks per tenant.","platformAdmin.settings.rateLimits.invalid":"Enter a whole number between {{min}} and {{max}}.","platformAdmin.settings.rateLimits.confirmTitle":"Save rate limits?","platformAdmin.settings.rateLimits.confirmBody":"New rate limits and quotas apply to subsequent requests across all tenants.","platformAdmin.settings.environment.readinessMultiReplica":"Multi-replica","platformAdmin.settings.environment.readinessSingleReplica":"Single replica","platformAdmin.settings.environment.service":"Service","platformAdmin.settings.environment.version":"Version","platformAdmin.settings.environment.commit":"Commit","platformAdmin.settings.environment.environment":"Environment","platformAdmin.settings.environment.replica":"Replica","platformAdmin.settings.environment.uptime":"Uptime","platformAdmin.settings.environment.startedAt":"Started at","platformAdmin.settings.environment.endpoints":"Public endpoints","platformAdmin.settings.environment.gatewayUrl":"Gateway URL","platformAdmin.settings.environment.consoleUrl":"Console URL","platformAdmin.settings.environment.oidcRedirectUri":"OIDC redirect URI","platformAdmin.settings.environment.inviteBaseUrl":"Invite base URL","platformAdmin.settings.environment.dependencies":"Dependencies","platformAdmin.settings.environment.dependency.database":"Database","platformAdmin.settings.environment.dependency.redis":"Redis","platformAdmin.settings.environment.dependency.encryption":"Encryption key","platformAdmin.settings.environment.dependency.tokenSecret":"Token secret","platformAdmin.settings.environment.dependency.vapid":"Web Push (VAPID)","platformAdmin.settings.environment.status.configured":"Configured","platformAdmin.settings.environment.status.not_configured":"Not configured","platformAdmin.settings.environment.status.connected":"Connected","platformAdmin.settings.environment.diagnostics":"Diagnostics","platformAdmin.settings.environment.migrationVersion":"Migration version","platformAdmin.settings.environment.warnings":"Warnings","platformAdmin.settings.environment.noWarnings":"No warnings.","platformAdmin.settings.branding.title":"Branding","platformAdmin.settings.branding.description":"Default brand, live login preview, and host-specific overrides for the console, login, and public surfaces.","platformAdmin.settings.branding.loadFailed":"Failed to load branding settings.","platformAdmin.settings.branding.saveFailed":"Failed to save branding settings.","platformAdmin.settings.branding.saved":"Branding settings saved","platformAdmin.settings.branding.versionConflict":"Branding changed elsewhere. The latest values were reloaded; review your changes and save again.","platformAdmin.settings.branding.scopeNotice":"Custom domains currently change branding and workspace theme only. Sessions, OIDC callbacks, and invite links still use the canonical Console URL.","platformAdmin.settings.branding.readOnlyNote":"You have read-only access to branding settings.","platformAdmin.settings.branding.save":"Save branding","platformAdmin.settings.branding.default.title":"Default brand","platformAdmin.settings.branding.default.description":"Applied when no domain-specific override matches. Leave a field blank to use the built-in fallback.","platformAdmin.settings.branding.field.brandName":"Brand name","platformAdmin.settings.branding.field.logoUrl":"Logo URL","platformAdmin.settings.branding.field.faviconUrl":"Favicon URL","platformAdmin.settings.branding.field.primaryColor":"Primary color","platformAdmin.settings.branding.field.backgroundColor":"Background color","platformAdmin.settings.branding.field.loginTitle":"Login title","platformAdmin.settings.branding.field.loginSubtitle":"Login subtitle","platformAdmin.settings.branding.error.brandName":"Brand name must be 80 characters or fewer.","platformAdmin.settings.branding.error.url":"Enter an http(s) URL.","platformAdmin.settings.branding.error.color":"Enter a hex color like #1677ff.","platformAdmin.settings.branding.error.text":"Use 200 characters or fewer.","platformAdmin.settings.branding.preview.title":"Login preview","platformAdmin.settings.branding.preview.description":"Preview of the sign-in surface using the default brand.","platformAdmin.settings.branding.preview.defaultBrand":"Your brand","platformAdmin.settings.branding.preview.defaultTitle":"Welcome back","platformAdmin.settings.branding.preview.defaultSubtitle":"Sign in to continue","platformAdmin.settings.branding.preview.signIn":"Sign in","platformAdmin.settings.branding.domains.title":"Domains","platformAdmin.settings.branding.domains.description":"Host-specific branding and public URLs. DNS, TLS, ingress, and OIDC callbacks are managed by operations; the status here is informational.","platformAdmin.settings.branding.domains.add":"Add domain","platformAdmin.settings.branding.domains.empty":"No domains configured. The default brand applies to every host.","platformAdmin.settings.branding.domains.opsNote":"DNS, TLS, ingress, and OIDC callback changes are managed by operations. Status is informational only.","platformAdmin.settings.branding.domains.notSet":"Not set","platformAdmin.settings.branding.domains.inherit":"Inherits default","platformAdmin.settings.branding.domains.status.active":"Active","platformAdmin.settings.branding.domains.status.pending":"Pending","platformAdmin.settings.branding.domain.addTitle":"Add domain","platformAdmin.settings.branding.domain.editTitle":"Edit domain","platformAdmin.settings.branding.domain.deleteTitle":"Delete domain","platformAdmin.settings.branding.domain.deleteConfirm":"Delete branding for {{host}}? This cannot be undone.","platformAdmin.settings.branding.domain.host":"Host","platformAdmin.settings.branding.domain.hostHint":"Exact host only. No scheme, path, port, or wildcard.","platformAdmin.settings.branding.domain.status":"Status","platformAdmin.settings.branding.domain.publicGatewayUrl":"Public gateway URL","platformAdmin.settings.branding.domain.publicConsoleUrl":"Public console URL","platformAdmin.settings.branding.domain.hostRequired":"Host is required.","platformAdmin.settings.branding.domain.invalidHost":"Enter an exact host without a scheme, path, port, or wildcard.","platformAdmin.settings.branding.domain.duplicateHost":"This host is already configured.","platformAdmin.settings.branding.domain.overrides.title":"Brand overrides","platformAdmin.settings.branding.domain.overrides.description":"Leave a field blank to inherit the default brand.","platformAdmin.settings.setting.auth.emailCompletionEnabled":"SSO email completion","platformAdmin.settings.setting.invite.defaultExpiresInHours":"Default invite expiry (hours)","platformAdmin.settings.setting.invite.defaultMaxUses":"Default invite max uses","platformAdmin.settings.setting.rateLimits.openApiPerMinute":"Open API requests/min","platformAdmin.settings.setting.rateLimits.openAgentPerMinute":"Open Agent requests/min","platformAdmin.settings.setting.rateLimits.a2aJsonRpcPerMinute":"A2A JSON-RPC requests/min","platformAdmin.settings.setting.rateLimits.a2aJsonRpcIpPerMinute":"A2A requests/min per IP","platformAdmin.settings.setting.rateLimits.maxActiveRunTasksPerTenant":"Max active run tasks per tenant"},i={messages:n};export{i as default,n as messages};
@@ -1 +1 @@
1
- import"./embed-page-chunk-QBTAJ2YI.js";var n={"info.title":"System Info","info.tabs.system":"System","info.tabs.metrics":"Metrics","info.metrics.replica":"Replica","info.metrics.uptime":"Uptime","info.metrics.pendingThreads":"Pending threads","info.metrics.runs":"Agent runs","info.metrics.worker":"Execution worker","info.metrics.chunkSource":"Chunk source","info.metrics.chunkTtl":"Chunk TTL (ms)","info.metrics.chunkMaxLen":"Chunk max length","info.metrics.workerEnabled":"Worker enabled","info.metrics.workerStarted":"Worker started","info.metrics.inFlight":"In flight","info.metrics.maxThreads":"Max threads","info.metrics.scanInterval":"Scan interval","info.metrics.loadFailed":"Failed to load gateway metrics.","info.metrics.empty":"No gateway metrics available.","info.metrics.currentReplicaNote":"Showing the replica that served this request. Use Prometheus/Grafana for fleet-wide aggregation.","info.metrics.runStatus.pending":"Pending","info.metrics.runStatus.running":"Running","info.metrics.runStatus.success":"Success","info.metrics.runStatus.error":"Error","info.metrics.runStatus.interrupted":"Interrupted","info.metrics.runStatus.cancelled":"Cancelled","info.metrics.runStatus.timeout":"Timeout","info.empty":"No gateway information available.","info.loadFailed":"Failed to load gateway information.","info.notAvailable":"Not available","info.enabled":"Enabled","info.disabled":"Disabled","info.uptimeSeconds":"{{seconds}} s","info.fields.service":"Service","info.fields.version":"Version","info.fields.commit":"Commit","info.fields.deployment":"Deployment","info.fields.uptime":"Uptime","info.fields.startedAt":"Started","info.flags.title":"Flags","info.flags.authRequired":"Auth required","info.flags.executionWorker":"Execution worker","info.flags.chunkSource":"Chunk source","info.flags.multiReplica":"Multi-replica","info.capabilities.title":"Capabilities","info.capabilities.a2a":"A2A","info.capabilities.mcp":"MCP","info.capabilities.store":"Store","info.capabilities.crons":"Crons","info.capabilities.threadEvents":"Thread events","info.capabilities.threadEventsWebSocket":"Thread events WebSocket","info.capabilities.metrics":"Metrics","info.capabilities.taskLifecycle":"Task lifecycle","info.endpoints.title":"Endpoints","info.endpoints.health":"Health","info.endpoints.metrics":"Metrics","info.endpoints.info":"Info","info.endpoints.mcp":"MCP","info.endpoints.store":"Store","info.endpoints.threadEvents":"Thread events","info.endpoints.a2aAgentCard":"A2A agent card","info.endpoints.a2aJsonRpc":"A2A JSON-RPC"},t={messages:n};export{t as default,n as messages};
1
+ import"./embed-page-chunk-QBTAJ2YI.js";var n={"info.title":"System Info","info.tabs.system":"System","info.tabs.metrics":"Metrics","info.metrics.replica":"Replica","info.metrics.uptime":"Uptime","info.metrics.pendingThreads":"Pending threads","info.metrics.runs":"Agent runs","info.metrics.worker":"Execution worker","info.metrics.chunkSource":"Chunk source","info.metrics.chunkTtl":"Chunk TTL (ms)","info.metrics.chunkMaxLen":"Chunk max length","info.metrics.workerEnabled":"Worker enabled","info.metrics.workerStarted":"Worker started","info.metrics.inFlight":"In flight","info.metrics.maxThreads":"Max threads","info.metrics.scanInterval":"Scan interval","info.metrics.loadFailed":"Failed to load gateway metrics.","info.metrics.empty":"No gateway metrics available.","info.metrics.currentReplicaNote":"Showing the replica that served this request. Use Prometheus/Grafana for fleet-wide aggregation.","info.metrics.runStatus.pending":"Pending","info.metrics.runStatus.running":"Running","info.metrics.runStatus.success":"Success","info.metrics.runStatus.error":"Error","info.metrics.runStatus.interrupted":"Interrupted","info.metrics.runStatus.cancelled":"Cancelled","info.metrics.runStatus.timeout":"Timeout","info.empty":"No gateway information available.","info.loadFailed":"Failed to load gateway information.","info.notAvailable":"Not available","info.enabled":"Enabled","info.disabled":"Disabled","info.uptimeSeconds":"{{seconds}} s","info.fields.service":"Service","info.fields.version":"Version","info.fields.commit":"Commit","info.fields.deployment":"Deployment","info.fields.uptime":"Uptime","info.fields.startedAt":"Started","info.flags.title":"Flags","info.flags.authRequired":"Auth required","info.flags.executionWorker":"Execution worker","info.flags.chunkSource":"Chunk source","info.flags.multiReplica":"Multi-replica","info.capabilities.title":"Capabilities","info.capabilities.a2a":"A2A","info.capabilities.mcp":"MCP","info.capabilities.store":"Store","info.capabilities.crons":"Crons","info.capabilities.threadEvents":"Thread events","info.capabilities.threadEventsWebSocket":"Thread events WebSocket","info.capabilities.metrics":"Metrics","info.capabilities.taskLifecycle":"Task lifecycle","info.endpoints.title":"Endpoints","info.endpoints.health":"Health","info.endpoints.metrics":"Metrics","info.endpoints.info":"Info","info.endpoints.platformInfo":"Platform info","info.endpoints.platformMetrics":"Platform metrics","info.endpoints.mcp":"MCP","info.endpoints.store":"Store","info.endpoints.threadEvents":"Thread events","info.endpoints.a2aAgentCard":"A2A agent card","info.endpoints.a2aJsonRpc":"A2A JSON-RPC"},t={messages:n};export{t as default,n as messages};
@@ -1,4 +1,4 @@
1
- import{a as Gt}from"./embed-page-chunk-QFMGN2VD.js";import{a as Kt}from"./embed-page-chunk-OGGV5DFT.js";import{b as Pt,c as zt}from"./embed-page-chunk-WK77HIEN.js";import"./embed-page-chunk-F5QVZLK5.js";import"./embed-page-chunk-WWXRO4ZL.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-KXVXKWED.js";import{m as Ft,p as Yt}from"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{O as Ct,P as vt,Q as Dt,R as wt,S as Vt,T as Lt,U as Mt,V as K,a as It,b as xt}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as l,c as Rt,d as C}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as Bt}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var dt=(function(){var e=l(function(N,n,a,c){for(a=a||{},c=N.length;c--;a[N[c]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],d=[1,10],o=[1,11],h=[1,12],p=[1,13],R=[1,20],k=[1,21],g=[1,22],w=[1,23],Z=[1,24],E=[1,19],tt=[1,25],U=[1,26],S=[1,18],V=[1,33],et=[1,34],st=[1,35],it=[1,36],rt=[1,37],pt=[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],O=[1,43],L=[1,52],M=[40,50,68,69],B=[1,63],F=[1,61],A=[1,58],Y=[1,62],P=[1,64],j=[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],bt=[63,64,65,66,67],ft=[1,81],yt=[1,80],kt=[1,78],_t=[1,79],gt=[6,10,42,47],v=[6,10,13,41,42,47,48,49],W=[1,89],Q=[1,88],X=[1,87],z=[19,56],mt=[1,98],Et=[1,97],nt=[19,56,58,60],at={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:l(function(n,a,c,r,u,t,G){var s=t.length-1;switch(u){case 1:break;case 2:this.$=[];break;case 3:t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 5:this.$=t[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[s-4]),r.addEntity(t[s-2]),r.addRelationship(t[s-4],t[s],t[s-2],t[s-3]);break;case 9:r.addEntity(t[s-8]),r.addEntity(t[s-4]),r.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),r.setClass([t[s-8]],t[s-6]),r.setClass([t[s-4]],t[s-2]);break;case 10:r.addEntity(t[s-6]),r.addEntity(t[s-2]),r.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),r.setClass([t[s-6]],t[s-4]);break;case 11:r.addEntity(t[s-6]),r.addEntity(t[s-4]),r.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),r.setClass([t[s-4]],t[s-2]);break;case 12:r.addEntity(t[s-3]),r.addAttributes(t[s-3],t[s-1]);break;case 13:r.addEntity(t[s-5]),r.addAttributes(t[s-5],t[s-1]),r.setClass([t[s-5]],t[s-3]);break;case 14:r.addEntity(t[s-2]);break;case 15:r.addEntity(t[s-4]),r.setClass([t[s-4]],t[s-2]);break;case 16:r.addEntity(t[s]);break;case 17:r.addEntity(t[s-2]),r.setClass([t[s-2]],t[s]);break;case 18:r.addEntity(t[s-6],t[s-4]),r.addAttributes(t[s-6],t[s-1]);break;case 19:r.addEntity(t[s-8],t[s-6]),r.addAttributes(t[s-8],t[s-1]),r.setClass([t[s-8]],t[s-3]);break;case 20:r.addEntity(t[s-5],t[s-3]);break;case 21:r.addEntity(t[s-7],t[s-5]),r.setClass([t[s-7]],t[s-2]);break;case 22:r.addEntity(t[s-3],t[s-1]);break;case 23:r.addEntity(t[s-5],t[s-3]),r.setClass([t[s-5]],t[s]);break;case 24:case 25:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[s-3],r.addClass(t[s-2],t[s-1]);break;case 37:case 38:case 56:case 64:this.$=[t[s]];break;case 39:case 40:this.$=t[s-2].concat([t[s]]);break;case 41:this.$=t[s-2],r.setClass(t[s-1],t[s]);break;case 42:this.$=t[s-3],r.addCssStyles(t[s-2],t[s-1]);break;case 43:this.$=[t[s]];break;case 44:t[s-2].push(t[s]),this.$=t[s-2];break;case 46:this.$=t[s-1]+t[s];break;case 54:case 76:case 77:this.$=t[s].replace(/"/g,"");break;case 55:case 78:this.$=t[s];break;case 57:t[s].push(t[s-1]),this.$=t[s];break;case 58:this.$={type:t[s-1],name:t[s]};break;case 59:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 60:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 61:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 62:case 63:case 66:this.$=t[s];break;case 65:t[s-2].push(t[s]),this.$=t[s-2];break;case 67:this.$=t[s].replace(/"/g,"");break;case 68:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 69:this.$=r.Cardinality.ZERO_OR_ONE;break;case 70:this.$=r.Cardinality.ZERO_OR_MORE;break;case 71:this.$=r.Cardinality.ONE_OR_MORE;break;case 72:this.$=r.Cardinality.ONLY_ONE;break;case 73:this.$=r.Cardinality.MD_PARENT;break;case 74:this.$=r.Identification.NON_IDENTIFYING;break;case 75:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:d,24:o,26:h,28:p,29:14,30:15,31:16,32:17,33:R,34:k,35:g,36:w,37:Z,40:E,43:tt,44:U,50:S},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:27,11:9,22:d,24:o,26:h,28:p,29:14,30:15,31:16,32:17,33:R,34:k,35:g,36:w,37:Z,40:E,43:tt,44:U,50:S},e(i,[2,5]),e(i,[2,6]),e(i,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:V,64:et,65:st,66:it,67:rt}),{23:[1,38]},{25:[1,39]},{27:[1,40]},e(i,[2,27]),e(i,[2,28]),e(i,[2,29]),e(i,[2,30]),e(i,[2,31]),e(pt,[2,54]),e(pt,[2,55]),e(i,[2,32]),e(i,[2,33]),e(i,[2,34]),e(i,[2,35]),{16:41,40:T,41:O},{16:44,40:T,41:O},{16:45,40:T,41:O},e(i,[2,4]),{11:46,40:E,50:S},{16:47,40:T,41:O},{18:48,19:[1,49],51:50,52:51,56:L},{11:53,40:E,50:S},{62:54,68:[1,55],69:[1,56]},e(M,[2,69]),e(M,[2,70]),e(M,[2,71]),e(M,[2,72]),e(M,[2,73]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),{13:B,38:57,41:F,42:A,45:59,46:60,48:Y,49:P},e(j,[2,37]),e(j,[2,38]),{16:65,40:T,41:O,42:A},{13:B,38:66,41:F,42:A,45:59,46:60,48:Y,49:P},{13:[1,67],15:[1,68]},e(i,[2,17],{61:32,12:69,17:[1,70],42:A,63:V,64:et,65:st,66:it,67:rt}),{19:[1,71]},e(i,[2,14]),{18:72,19:[2,56],51:50,52:51,56:L},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:V,64:et,65:st,66:it,67:rt},e(bt,[2,74]),e(bt,[2,75]),{6:ft,10:yt,39:77,42:kt,47:_t},{40:[1,82],41:[1,83]},e(gt,[2,43],{46:84,13:B,41:F,48:Y,49:P}),e(v,[2,45]),e(v,[2,50]),e(v,[2,51]),e(v,[2,52]),e(v,[2,53]),e(i,[2,41],{42:A}),{6:ft,10:yt,39:85,42:kt,47:_t},{14:86,40:W,50:Q,70:X},{16:90,40:T,41:O},{11:91,40:E,50:S},{18:92,19:[1,93],51:50,52:51,56:L},e(i,[2,12]),{19:[2,57]},e(z,[2,58],{54:94,55:95,57:96,59:mt,60:Et}),e([19,56,59,60],[2,63]),e(i,[2,22],{15:[1,100],17:[1,99]}),e([40,50],[2,68]),e(i,[2,36]),{13:B,41:F,45:101,46:60,48:Y,49:P},e(i,[2,47]),e(i,[2,48]),e(i,[2,49]),e(j,[2,39]),e(j,[2,40]),e(v,[2,46]),e(i,[2,42]),e(i,[2,8]),e(i,[2,76]),e(i,[2,77]),e(i,[2,78]),{13:[1,102],42:A},{13:[1,104],15:[1,103]},{19:[1,105]},e(i,[2,15]),e(z,[2,59],{55:106,58:[1,107],60:Et}),e(z,[2,60]),e(nt,[2,64]),e(z,[2,67]),e(nt,[2,66]),{18:108,19:[1,109],51:50,52:51,56:L},{16:110,40:T,41:O},e(gt,[2,44],{46:84,13:B,41:F,48:Y,49:P}),{14:111,40:W,50:Q,70:X},{16:112,40:T,41:O},{14:113,40:W,50:Q,70:X},e(i,[2,13]),e(z,[2,61]),{57:114,59:mt},{19:[1,115]},e(i,[2,20]),e(i,[2,23],{17:[1,116],42:A}),e(i,[2,11]),{13:[1,117],42:A},e(i,[2,10]),e(nt,[2,65]),e(i,[2,18]),{18:118,19:[1,119],51:50,52:51,56:L},{14:120,40:W,50:Q,70:X},{19:[1,121]},e(i,[2,21]),e(i,[2,9]),e(i,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:l(function(n,a){if(a.recoverable)this.trace(n);else{var c=new Error(n);throw c.hash=a,c}},"parseError"),parse:l(function(n){var a=this,c=[0],r=[],u=[null],t=[],G=this.table,s="",H=0,St=0,Tt=0,jt=2,Ot=1,Wt=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(I.yy[ct]=this.yy[ct]);b.setInput(n,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var ot=b.yylloc;t.push(ot);var Qt=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Xt(y){c.length=c.length-2*y,u.length=u.length-y,t.length=t.length-y}l(Xt,"popStack");function At(){var y;return y=r.pop()||b.lex()||Ot,typeof y!="number"&&(y instanceof Array&&(r=y,y=r.pop()),y=a.symbols_[y]||y),y}l(At,"lex");for(var f,lt,x,_,se,ht,D={},J,m,Nt,$;;){if(x=c[c.length-1],this.defaultActions[x]?_=this.defaultActions[x]:((f===null||typeof f>"u")&&(f=At()),_=G[x]&&G[x][f]),typeof _>"u"||!_.length||!_[0]){var ut="";$=[];for(J in G[x])this.terminals_[J]&&J>jt&&$.push("'"+this.terminals_[J]+"'");b.showPosition?ut="Parse error on line "+(H+1)+`:
1
+ import{a as Gt}from"./embed-page-chunk-QFMGN2VD.js";import{a as Kt}from"./embed-page-chunk-OGGV5DFT.js";import{b as Pt,c as zt}from"./embed-page-chunk-WFUFTRWA.js";import"./embed-page-chunk-DTRFJLVZ.js";import"./embed-page-chunk-XSKNS3LY.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-G2RO6IBN.js";import{m as Ft,p as Yt}from"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{O as Ct,P as vt,Q as Dt,R as wt,S as Vt,T as Lt,U as Mt,V as K,a as It,b as xt}from"./embed-page-chunk-DOZHL42J.js";import{b as l,c as Rt,d as C}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as Bt}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var dt=(function(){var e=l(function(N,n,a,c){for(a=a||{},c=N.length;c--;a[N[c]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],d=[1,10],o=[1,11],h=[1,12],p=[1,13],R=[1,20],k=[1,21],g=[1,22],w=[1,23],Z=[1,24],E=[1,19],tt=[1,25],U=[1,26],S=[1,18],V=[1,33],et=[1,34],st=[1,35],it=[1,36],rt=[1,37],pt=[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],O=[1,43],L=[1,52],M=[40,50,68,69],B=[1,63],F=[1,61],A=[1,58],Y=[1,62],P=[1,64],j=[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],bt=[63,64,65,66,67],ft=[1,81],yt=[1,80],kt=[1,78],_t=[1,79],gt=[6,10,42,47],v=[6,10,13,41,42,47,48,49],W=[1,89],Q=[1,88],X=[1,87],z=[19,56],mt=[1,98],Et=[1,97],nt=[19,56,58,60],at={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:l(function(n,a,c,r,u,t,G){var s=t.length-1;switch(u){case 1:break;case 2:this.$=[];break;case 3:t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 5:this.$=t[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[s-4]),r.addEntity(t[s-2]),r.addRelationship(t[s-4],t[s],t[s-2],t[s-3]);break;case 9:r.addEntity(t[s-8]),r.addEntity(t[s-4]),r.addRelationship(t[s-8],t[s],t[s-4],t[s-5]),r.setClass([t[s-8]],t[s-6]),r.setClass([t[s-4]],t[s-2]);break;case 10:r.addEntity(t[s-6]),r.addEntity(t[s-2]),r.addRelationship(t[s-6],t[s],t[s-2],t[s-3]),r.setClass([t[s-6]],t[s-4]);break;case 11:r.addEntity(t[s-6]),r.addEntity(t[s-4]),r.addRelationship(t[s-6],t[s],t[s-4],t[s-5]),r.setClass([t[s-4]],t[s-2]);break;case 12:r.addEntity(t[s-3]),r.addAttributes(t[s-3],t[s-1]);break;case 13:r.addEntity(t[s-5]),r.addAttributes(t[s-5],t[s-1]),r.setClass([t[s-5]],t[s-3]);break;case 14:r.addEntity(t[s-2]);break;case 15:r.addEntity(t[s-4]),r.setClass([t[s-4]],t[s-2]);break;case 16:r.addEntity(t[s]);break;case 17:r.addEntity(t[s-2]),r.setClass([t[s-2]],t[s]);break;case 18:r.addEntity(t[s-6],t[s-4]),r.addAttributes(t[s-6],t[s-1]);break;case 19:r.addEntity(t[s-8],t[s-6]),r.addAttributes(t[s-8],t[s-1]),r.setClass([t[s-8]],t[s-3]);break;case 20:r.addEntity(t[s-5],t[s-3]);break;case 21:r.addEntity(t[s-7],t[s-5]),r.setClass([t[s-7]],t[s-2]);break;case 22:r.addEntity(t[s-3],t[s-1]);break;case 23:r.addEntity(t[s-5],t[s-3]),r.setClass([t[s-5]],t[s]);break;case 24:case 25:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[s-3],r.addClass(t[s-2],t[s-1]);break;case 37:case 38:case 56:case 64:this.$=[t[s]];break;case 39:case 40:this.$=t[s-2].concat([t[s]]);break;case 41:this.$=t[s-2],r.setClass(t[s-1],t[s]);break;case 42:this.$=t[s-3],r.addCssStyles(t[s-2],t[s-1]);break;case 43:this.$=[t[s]];break;case 44:t[s-2].push(t[s]),this.$=t[s-2];break;case 46:this.$=t[s-1]+t[s];break;case 54:case 76:case 77:this.$=t[s].replace(/"/g,"");break;case 55:case 78:this.$=t[s];break;case 57:t[s].push(t[s-1]),this.$=t[s];break;case 58:this.$={type:t[s-1],name:t[s]};break;case 59:this.$={type:t[s-2],name:t[s-1],keys:t[s]};break;case 60:this.$={type:t[s-2],name:t[s-1],comment:t[s]};break;case 61:this.$={type:t[s-3],name:t[s-2],keys:t[s-1],comment:t[s]};break;case 62:case 63:case 66:this.$=t[s];break;case 65:t[s-2].push(t[s]),this.$=t[s-2];break;case 67:this.$=t[s].replace(/"/g,"");break;case 68:this.$={cardA:t[s],relType:t[s-1],cardB:t[s-2]};break;case 69:this.$=r.Cardinality.ZERO_OR_ONE;break;case 70:this.$=r.Cardinality.ZERO_OR_MORE;break;case 71:this.$=r.Cardinality.ONE_OR_MORE;break;case 72:this.$=r.Cardinality.ONLY_ONE;break;case 73:this.$=r.Cardinality.MD_PARENT;break;case 74:this.$=r.Identification.NON_IDENTIFYING;break;case 75:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:d,24:o,26:h,28:p,29:14,30:15,31:16,32:17,33:R,34:k,35:g,36:w,37:Z,40:E,43:tt,44:U,50:S},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:27,11:9,22:d,24:o,26:h,28:p,29:14,30:15,31:16,32:17,33:R,34:k,35:g,36:w,37:Z,40:E,43:tt,44:U,50:S},e(i,[2,5]),e(i,[2,6]),e(i,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:V,64:et,65:st,66:it,67:rt}),{23:[1,38]},{25:[1,39]},{27:[1,40]},e(i,[2,27]),e(i,[2,28]),e(i,[2,29]),e(i,[2,30]),e(i,[2,31]),e(pt,[2,54]),e(pt,[2,55]),e(i,[2,32]),e(i,[2,33]),e(i,[2,34]),e(i,[2,35]),{16:41,40:T,41:O},{16:44,40:T,41:O},{16:45,40:T,41:O},e(i,[2,4]),{11:46,40:E,50:S},{16:47,40:T,41:O},{18:48,19:[1,49],51:50,52:51,56:L},{11:53,40:E,50:S},{62:54,68:[1,55],69:[1,56]},e(M,[2,69]),e(M,[2,70]),e(M,[2,71]),e(M,[2,72]),e(M,[2,73]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),{13:B,38:57,41:F,42:A,45:59,46:60,48:Y,49:P},e(j,[2,37]),e(j,[2,38]),{16:65,40:T,41:O,42:A},{13:B,38:66,41:F,42:A,45:59,46:60,48:Y,49:P},{13:[1,67],15:[1,68]},e(i,[2,17],{61:32,12:69,17:[1,70],42:A,63:V,64:et,65:st,66:it,67:rt}),{19:[1,71]},e(i,[2,14]),{18:72,19:[2,56],51:50,52:51,56:L},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:V,64:et,65:st,66:it,67:rt},e(bt,[2,74]),e(bt,[2,75]),{6:ft,10:yt,39:77,42:kt,47:_t},{40:[1,82],41:[1,83]},e(gt,[2,43],{46:84,13:B,41:F,48:Y,49:P}),e(v,[2,45]),e(v,[2,50]),e(v,[2,51]),e(v,[2,52]),e(v,[2,53]),e(i,[2,41],{42:A}),{6:ft,10:yt,39:85,42:kt,47:_t},{14:86,40:W,50:Q,70:X},{16:90,40:T,41:O},{11:91,40:E,50:S},{18:92,19:[1,93],51:50,52:51,56:L},e(i,[2,12]),{19:[2,57]},e(z,[2,58],{54:94,55:95,57:96,59:mt,60:Et}),e([19,56,59,60],[2,63]),e(i,[2,22],{15:[1,100],17:[1,99]}),e([40,50],[2,68]),e(i,[2,36]),{13:B,41:F,45:101,46:60,48:Y,49:P},e(i,[2,47]),e(i,[2,48]),e(i,[2,49]),e(j,[2,39]),e(j,[2,40]),e(v,[2,46]),e(i,[2,42]),e(i,[2,8]),e(i,[2,76]),e(i,[2,77]),e(i,[2,78]),{13:[1,102],42:A},{13:[1,104],15:[1,103]},{19:[1,105]},e(i,[2,15]),e(z,[2,59],{55:106,58:[1,107],60:Et}),e(z,[2,60]),e(nt,[2,64]),e(z,[2,67]),e(nt,[2,66]),{18:108,19:[1,109],51:50,52:51,56:L},{16:110,40:T,41:O},e(gt,[2,44],{46:84,13:B,41:F,48:Y,49:P}),{14:111,40:W,50:Q,70:X},{16:112,40:T,41:O},{14:113,40:W,50:Q,70:X},e(i,[2,13]),e(z,[2,61]),{57:114,59:mt},{19:[1,115]},e(i,[2,20]),e(i,[2,23],{17:[1,116],42:A}),e(i,[2,11]),{13:[1,117],42:A},e(i,[2,10]),e(nt,[2,65]),e(i,[2,18]),{18:118,19:[1,119],51:50,52:51,56:L},{14:120,40:W,50:Q,70:X},{19:[1,121]},e(i,[2,21]),e(i,[2,9]),e(i,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:l(function(n,a){if(a.recoverable)this.trace(n);else{var c=new Error(n);throw c.hash=a,c}},"parseError"),parse:l(function(n){var a=this,c=[0],r=[],u=[null],t=[],G=this.table,s="",H=0,St=0,Tt=0,jt=2,Ot=1,Wt=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(I.yy[ct]=this.yy[ct]);b.setInput(n,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var ot=b.yylloc;t.push(ot);var Qt=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Xt(y){c.length=c.length-2*y,u.length=u.length-y,t.length=t.length-y}l(Xt,"popStack");function At(){var y;return y=r.pop()||b.lex()||Ot,typeof y!="number"&&(y instanceof Array&&(r=y,y=r.pop()),y=a.symbols_[y]||y),y}l(At,"lex");for(var f,lt,x,_,se,ht,D={},J,m,Nt,$;;){if(x=c[c.length-1],this.defaultActions[x]?_=this.defaultActions[x]:((f===null||typeof f>"u")&&(f=At()),_=G[x]&&G[x][f]),typeof _>"u"||!_.length||!_[0]){var ut="";$=[];for(J in G[x])this.terminals_[J]&&J>jt&&$.push("'"+this.terminals_[J]+"'");b.showPosition?ut="Parse error on line "+(H+1)+`:
2
2
  `+b.showPosition()+`
3
3
  Expecting `+$.join(", ")+", got '"+(this.terminals_[f]||f)+"'":ut="Parse error on line "+(H+1)+": Unexpected "+(f==Ot?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(ut,{text:b.match,token:this.terminals_[f]||f,line:b.yylineno,loc:ot,expected:$})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+f);switch(_[0]){case 1:c.push(f),u.push(b.yytext),t.push(b.yylloc),c.push(_[1]),f=null,lt?(f=lt,lt=null):(St=b.yyleng,s=b.yytext,H=b.yylineno,ot=b.yylloc,Tt>0&&Tt--);break;case 2:if(m=this.productions_[_[1]][1],D.$=u[u.length-m],D._$={first_line:t[t.length-(m||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(m||1)].first_column,last_column:t[t.length-1].last_column},Qt&&(D._$.range=[t[t.length-(m||1)].range[0],t[t.length-1].range[1]]),ht=this.performAction.apply(D,[s,St,H,I.yy,_[1],u,t].concat(Wt)),typeof ht<"u")return ht;m&&(c=c.slice(0,-1*m*2),u=u.slice(0,-1*m),t=t.slice(0,-1*m)),c.push(this.productions_[_[1]][0]),u.push(D.$),t.push(D._$),Nt=G[c[c.length-2]][c[c.length-1]],c.push(Nt);break;case 3:return!0}}return!0},"parse")},Ut=(function(){var N={EOF:1,parseError:l(function(a,c){if(this.yy.parser)this.yy.parser.parseError(a,c);else throw new Error(a)},"parseError"),setInput:l(function(n,a){return this.yy=a||this.yy||{},this._input=n,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:l(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:l(function(n){var a=n.length,c=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var r=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),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===r.length?this.yylloc.first_column:0)+r[r.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(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).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(n){this.unput(this.match.slice(n))},"less"),pastInput:l(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
@@ -1,4 +1,4 @@
1
- import{a as Zt,b as $t}from"./embed-page-chunk-WOZR3XCU.js";import{a as i1}from"./embed-page-chunk-IWUMSTJF.js";import{a as r1}from"./embed-page-chunk-QFMGN2VD.js";import{a as a1}from"./embed-page-chunk-OGGV5DFT.js";import{b as t1,c as s1}from"./embed-page-chunk-WK77HIEN.js";import"./embed-page-chunk-F5QVZLK5.js";import{f as e1}from"./embed-page-chunk-WWXRO4ZL.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-KXVXKWED.js";import{m as Xe,p as Qe}from"./embed-page-chunk-5WWOKLDB.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{J as zt,O as jt,P as Kt,Q as Yt,R as Ht,S as qt,T as Xt,U as Qt,V as de,W as rt,X as Jt,a as Ut,b as Wt}from"./embed-page-chunk-DOZHL42J.js";import"./embed-page-chunk-IRP2UOPH.js";import{b as g,d as Z}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as pe}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var p1="flowchart-",f1=class{constructor(){this.vertexCounter=0,this.config=de(),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=Kt,this.setAccDescription=Ht,this.setDiagramTitle=Xt,this.getAccTitle=Yt,this.getAccDescription=qt,this.getDiagramTitle=Qt,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{g(this,"FlowDB")}sanitizeText(e){return zt.sanitizeText(e,this.config)}lookUpDomId(e){for(let i of this.vertices.values())if(i.id===e)return i.domId;return e}addVertex(e,i,r,a,o,d,l={},k){if(!e||e.trim().length===0)return;let u;if(k!==void 0){let S;k.includes(`
1
+ import{a as Zt,b as $t}from"./embed-page-chunk-WOZR3XCU.js";import{a as i1}from"./embed-page-chunk-IWUMSTJF.js";import{a as r1}from"./embed-page-chunk-QFMGN2VD.js";import{a as a1}from"./embed-page-chunk-OGGV5DFT.js";import{b as t1,c as s1}from"./embed-page-chunk-WFUFTRWA.js";import"./embed-page-chunk-DTRFJLVZ.js";import{f as e1}from"./embed-page-chunk-XSKNS3LY.js";import"./embed-page-chunk-VHUKORYK.js";import"./embed-page-chunk-7TH7FFVA.js";import"./embed-page-chunk-V4BVAZDM.js";import"./embed-page-chunk-5EONYJU2.js";import"./embed-page-chunk-G2RO6IBN.js";import{m as Xe,p as Qe}from"./embed-page-chunk-JUZPOR5Y.js";import"./embed-page-chunk-IJPRKD63.js";import"./embed-page-chunk-UUJFXI6G.js";import{J as zt,O as jt,P as Kt,Q as Yt,R as Ht,S as qt,T as Xt,U as Qt,V as de,W as rt,X as Jt,a as Ut,b as Wt}from"./embed-page-chunk-DOZHL42J.js";import{b as g,d as Z}from"./embed-page-chunk-OKE5VRNR.js";import"./embed-page-chunk-DM5ESF6C.js";import"./embed-page-chunk-SV2BM3WO.js";import{b as pe}from"./embed-page-chunk-S4XZPBRM.js";import"./embed-page-chunk-IRP2UOPH.js";import"./embed-page-chunk-5JDQ456X.js";import"./embed-page-chunk-QBTAJ2YI.js";var p1="flowchart-",f1=class{constructor(){this.vertexCounter=0,this.config=de(),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=Kt,this.setAccDescription=Ht,this.setDiagramTitle=Xt,this.getAccTitle=Yt,this.getAccDescription=qt,this.getDiagramTitle=Qt,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{g(this,"FlowDB")}sanitizeText(e){return zt.sanitizeText(e,this.config)}lookUpDomId(e){for(let i of this.vertices.values())if(i.id===e)return i.domId;return e}addVertex(e,i,r,a,o,d,l={},k){if(!e||e.trim().length===0)return;let u;if(k!==void 0){let S;k.includes(`
2
2
  `)?S=k+`
3
3
  `:S=`{
4
4
  `+k+`