@turmind/halo 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/admin-out/404.html +1 -1
- package/admin-out/_next/static/chunks/0.700b96fc96b80936.js +1 -0
- package/admin-out/_next/static/chunks/1101-d2f818895a3aa32e.js +1 -0
- package/admin-out/_next/static/chunks/1160.e199e2decb964814.js +1 -0
- package/admin-out/_next/static/chunks/1208.0d86b06cbdf8a97e.js +38 -0
- package/admin-out/_next/static/chunks/1299.9ae1e73c8ca9cc34.js +23 -0
- package/admin-out/_next/static/chunks/1336.3eb7654fcfae2a58.js +1 -0
- package/admin-out/_next/static/chunks/1494.56493f36b01d2bda.js +1 -0
- package/admin-out/_next/static/chunks/1522.7d80e505c25fc865.js +1 -0
- package/admin-out/_next/static/chunks/1650.78e7ab21cb8bbb48.js +62 -0
- package/admin-out/_next/static/chunks/1690.20f8661b1877aa3d.js +1 -0
- package/admin-out/_next/static/chunks/1807.764b0338b13846a5.js +1 -0
- package/admin-out/_next/static/chunks/1989-3aeeefebf77a40f3.js +1 -0
- package/admin-out/_next/static/chunks/199.fca450ee70f089fb.js +1 -0
- package/admin-out/_next/static/chunks/1b86ba38-4193816aebc732b9.js +1 -0
- package/admin-out/_next/static/chunks/{1d2d5650-d8d130c85727fdbb.js → 1d2d5650-c677408087984c7a.js} +1 -1
- package/admin-out/_next/static/chunks/2202.59a95bacad0d8c25.js +1 -0
- package/admin-out/_next/static/chunks/2204.93c869dacb19e384.js +1 -0
- package/admin-out/_next/static/chunks/2329.2f32de914b104261.js +148 -0
- package/admin-out/_next/static/chunks/2449.53d632fa8e412643.js +1 -0
- package/admin-out/_next/static/chunks/2477.79f2f92780311a37.js +94 -0
- package/admin-out/_next/static/chunks/2555.279979b7abe9d67f.js +104 -0
- package/admin-out/_next/static/chunks/2612.427656205dd7d7cc.js +1 -0
- package/admin-out/_next/static/chunks/2938.1555d68665415ace.js +1 -0
- package/admin-out/_next/static/chunks/295.0ef9b18be46f06e5.js +1 -0
- package/admin-out/_next/static/chunks/2979.d5a2293e776ec5de.js +1 -0
- package/admin-out/_next/static/chunks/3023.8f2b6311aae80029.js +36 -0
- package/admin-out/_next/static/chunks/3047.a49ae982be1f9fd4.js +226 -0
- package/admin-out/_next/static/chunks/304eda7d.2c6ab1276b03c10a.js +1 -0
- package/admin-out/_next/static/chunks/3483.cb8f5ba28c565e7f.js +1 -0
- package/admin-out/_next/static/chunks/391.71124432b84c926d.js +24 -0
- package/admin-out/_next/static/chunks/3986.a6181916d2c44515.js +1 -0
- package/admin-out/_next/static/chunks/4120.c271dfe3e1bc082e.js +1 -0
- package/admin-out/_next/static/chunks/4267.030877aaeac1bd71.js +1 -0
- package/admin-out/_next/static/chunks/4362.9d2ee4f9b6facc49.js +1 -0
- package/admin-out/_next/static/chunks/43ad6dab.4911ea318c123311.js +62 -0
- package/admin-out/_next/static/chunks/4613.0985db499409cf22.js +1 -0
- package/admin-out/_next/static/chunks/4794.ba746110cfcbf536.js +1 -0
- package/admin-out/_next/static/chunks/4808.1cbe5b52fa01fc3d.js +1 -0
- package/admin-out/_next/static/chunks/4ec056c8.fe288ac8bd38a73b.js +160 -0
- package/admin-out/_next/static/chunks/5056.a87b1e056ba592b1.js +32 -0
- package/admin-out/_next/static/chunks/5058.8514aa6d6a947cce.js +1 -0
- package/admin-out/_next/static/chunks/545.e760052f10d36a9b.js +1 -0
- package/admin-out/_next/static/chunks/{510.e6c6faeb60ef3c33.js → 5510.f3889206b5768b33.js} +1 -1
- package/admin-out/_next/static/chunks/5593.d4c5f6a0862b4c6c.js +34 -0
- package/admin-out/_next/static/chunks/5700.4189184227fcf178.js +1 -0
- package/admin-out/_next/static/chunks/5741.dd7360163a2374cf.js +8 -0
- package/admin-out/_next/static/chunks/5850.b58c01f1e835d335.js +1 -0
- package/admin-out/_next/static/chunks/6066.1571d105977d528c.js +86 -0
- package/admin-out/_next/static/chunks/61527465.ae14a459dbfc381c.js +1 -0
- package/admin-out/_next/static/chunks/6203.672c38fcc2748c83.js +1 -0
- package/admin-out/_next/static/chunks/6390.4de9361c493b8d29.js +27 -0
- package/admin-out/_next/static/chunks/63c91ae9.ed896f9d6d01dfd4.js +1 -0
- package/admin-out/_next/static/chunks/6476.c7ec7d60350855c8.js +1 -0
- package/admin-out/_next/static/chunks/6574.30661d21e54bb004.js +1 -0
- package/admin-out/_next/static/chunks/6694.91c424de10ee2a24.js +79 -0
- package/admin-out/_next/static/chunks/6927.7f60d259473bb56a.js +193 -0
- package/admin-out/_next/static/chunks/7073.9d5f9dd7a77827b7.js +1 -0
- package/admin-out/_next/static/chunks/7250.a005173b9af23f14.js +1 -0
- package/admin-out/_next/static/chunks/7267.09e9b83beadc4847.js +1 -0
- package/admin-out/_next/static/chunks/72d2e465.c6751b76f1fa1cb3.js +1 -0
- package/admin-out/_next/static/chunks/7423.ce958b2d6a455a2f.js +1 -0
- package/admin-out/_next/static/chunks/7443.ee6684ba397e49da.js +41 -0
- package/admin-out/_next/static/chunks/7482.7f6f11637c008b77.js +1 -0
- package/admin-out/_next/static/chunks/7498.621ff3bc139607ad.js +1 -0
- package/admin-out/_next/static/chunks/7573.7f7f2a6fe7891e68.js +1 -0
- package/admin-out/_next/static/chunks/7613.fe24922a6a839656.js +1 -0
- package/admin-out/_next/static/chunks/7796.052a2a69f9bc0471.js +287 -0
- package/admin-out/_next/static/chunks/8148.156aea8f2a9ce398.js +115 -0
- package/admin-out/_next/static/chunks/8300.6c86a2236d42618f.js +64 -0
- package/admin-out/_next/static/chunks/8555.2e8d51736bfefd63.js +1 -0
- package/admin-out/_next/static/chunks/8558.baa0cf80a6964d20.js +286 -0
- package/admin-out/_next/static/chunks/8608.dba2a172fa47a740.js +77 -0
- package/admin-out/_next/static/chunks/8680.ed502a4a22357230.js +92 -0
- package/admin-out/_next/static/chunks/8698.28ca7821a30dba63.js +1 -0
- package/admin-out/_next/static/chunks/8712.e587efd8a6256aa9.js +1 -0
- package/admin-out/_next/static/chunks/8771.53592f31c08edafa.js +309 -0
- package/admin-out/_next/static/chunks/8878.330238d3d9f33faf.js +1 -0
- package/admin-out/_next/static/chunks/8892.9df3095f6c52e734.js +1 -0
- package/admin-out/_next/static/chunks/9104.6d57df418831714a.js +74 -0
- package/admin-out/_next/static/chunks/9121.574e833259fe9085.js +1 -0
- package/admin-out/_next/static/chunks/9142.0aac6a6c8e06bcaa.js +149 -0
- package/admin-out/_next/static/chunks/9180.3c809798364a0c62.js +1 -0
- package/admin-out/_next/static/chunks/92.788f49cdb265a668.js +217 -0
- package/admin-out/_next/static/chunks/9590.3e1a4754a7e66e84.js +93 -0
- package/admin-out/_next/static/chunks/9599.b2fd519c8a2951c9.js +1 -0
- package/admin-out/_next/static/chunks/9698-0157e7ac70c3f9fc.js +1 -0
- package/admin-out/_next/static/chunks/9837.92abff094b289f98.js +1 -0
- package/admin-out/_next/static/chunks/9839.73433bbeec6e1a51.js +1 -0
- package/admin-out/_next/static/chunks/9868.dcc9fd5f0041ffa8.js +1 -0
- package/admin-out/_next/static/chunks/9937.cff3c28655b07c61.js +24 -0
- package/admin-out/_next/static/chunks/a89fe872.304b3efb308b10a1.js +122 -0
- package/admin-out/_next/static/chunks/app/_not-found/page-e21cd35ca818a886.js +1 -0
- package/admin-out/_next/static/chunks/app/layout-0ed29966e0abc26b.js +1 -0
- package/admin-out/_next/static/chunks/app/page-ee29d11e13ec576e.js +1 -0
- package/admin-out/_next/static/chunks/bf5d185f.735c9f3d05199f97.js +1 -0
- package/admin-out/_next/static/chunks/db534642.8e8a9023cd90863d.js +1 -0
- package/admin-out/_next/static/chunks/fcb912be.a7d93c5f2dd72e30.js +66 -0
- package/admin-out/_next/static/chunks/framework-98918e2142cd6d06.js +1 -0
- package/admin-out/_next/static/chunks/main-93c216652d4113b1.js +1 -0
- package/admin-out/_next/static/chunks/main-app-5e981adb363c52e5.js +1 -0
- package/admin-out/_next/static/chunks/pages/{_app-a3b7e86f97343e7a.js → _app-6fab9bb03f9f4fdf.js} +1 -1
- package/admin-out/_next/static/chunks/pages/_error-ada6d7affab6ebcc.js +1 -0
- package/admin-out/_next/static/chunks/webpack-7f8156dbbdb54868.js +1 -0
- package/admin-out/_next/static/css/6da86a077e119a6c.css +1 -0
- package/admin-out/_next/static/{0cRHmPZfENhrU7Hb0w3n_ → hVkojb3RGS9VYbkj-EX9T}/_buildManifest.js +1 -1
- package/admin-out/index.html +1 -1
- package/admin-out/index.txt +5 -5
- package/bundled-docs/design/a2a.md +43 -13
- package/bundled-docs/design/architecture.md +1 -1
- package/bundled-docs/design/storage.md +2 -2
- package/bundled-docs/dev/add-model-provider.md +2 -2
- package/bundled-docs/dev/api.md +4 -2
- package/bundled-docs/dev/tools.md +10 -5
- package/bundled-docs/guide/chat.md +1 -0
- package/bundled-docs/guide/workspace.md +1 -1
- package/bundled-docs/requirements/chat.md +7 -0
- package/bundled-docs/requirements/editor.md +5 -2
- package/bundled-docs/requirements/explorer.md +5 -0
- package/bundled-docs/requirements/source-control.md +2 -0
- package/dist/index.js +143 -34
- package/package.json +1 -1
- package/templates/models/aws-bedrock-claude-invoke.yaml +3 -3
- package/templates/models/aws-bedrock-mantle.yaml +21 -15
- package/templates/models/aws-bedrock-openai.yaml +7 -3
- package/admin-out/_next/static/chunks/160.c52d3d6cf7bc8286.js +0 -1
- package/admin-out/_next/static/chunks/1b86ba38-c29611e086b2ce25.js +0 -1
- package/admin-out/_next/static/chunks/250.9094fea2325b09a3.js +0 -1
- package/admin-out/_next/static/chunks/304eda7d.f525962766560ba5.js +0 -1
- package/admin-out/_next/static/chunks/336.3171154ecc29c80a.js +0 -1
- package/admin-out/_next/static/chunks/362.a0c58d3bf9b1300b.js +0 -1
- package/admin-out/_next/static/chunks/398-9a8be186767b4504.js +0 -1
- package/admin-out/_next/static/chunks/449.c4b881b9ebdc556e.js +0 -1
- package/admin-out/_next/static/chunks/522.9e25c63e3082cb1c.js +0 -1
- package/admin-out/_next/static/chunks/58.d26b1c4f14404226.js +0 -1
- package/admin-out/_next/static/chunks/613.fb09e55e0a61d3fe.js +0 -1
- package/admin-out/_next/static/chunks/690.6a83d18b488a3e2e.js +0 -1
- package/admin-out/_next/static/chunks/698-19872069fed27164.js +0 -1
- package/admin-out/_next/static/chunks/73.05abce37d312e880.js +0 -1
- package/admin-out/_next/static/chunks/839.a2729fd33013d763.js +0 -1
- package/admin-out/_next/static/chunks/868.bbb91afd48c9eb58.js +0 -1
- package/admin-out/_next/static/chunks/892.a35118e09d8d8efd.js +0 -1
- package/admin-out/_next/static/chunks/989-71c38d29c6672b27.js +0 -1
- package/admin-out/_next/static/chunks/app/_not-found/page-4271518f2746cf73.js +0 -1
- package/admin-out/_next/static/chunks/app/layout-ea161287d934ba96.js +0 -1
- package/admin-out/_next/static/chunks/app/page-67334fcd2175c7ad.js +0 -1
- package/admin-out/_next/static/chunks/db534642.657a5bd93dc1e8c7.js +0 -1
- package/admin-out/_next/static/chunks/framework-c48c994d2190a38e.js +0 -1
- package/admin-out/_next/static/chunks/main-app-340a5b58ed229c4d.js +0 -1
- package/admin-out/_next/static/chunks/main-f1f665fbc24e1033.js +0 -1
- package/admin-out/_next/static/chunks/pages/_error-751fca0c729a7e01.js +0 -1
- package/admin-out/_next/static/chunks/webpack-662d2cae1104f635.js +0 -1
- package/admin-out/_next/static/css/3467b854242306b8.css +0 -1
- /package/admin-out/_next/static/{0cRHmPZfENhrU7Hb0w3n_ → hVkojb3RGS9VYbkj-EX9T}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5056],{64599:(t,e,n)=>{n.d(e,{CP:()=>d,Ck:()=>b,HT:()=>y,PB:()=>p,aC:()=>u,lC:()=>o,m:()=>h,tk:()=>l});var a=n(92826),r=n(88252),i=n(6341),s=n(93962),l=(0,r.K)((t,e)=>{let n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)n.attr(t,e.attrs[t]);return e.class&&n.attr("class",e.class),n},"drawRect"),o=(0,r.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),h=(0,r.K)((t,e)=>{let n=e.text.replace(a.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},"drawText"),u=(0,r.K)((t,e,n,a)=>{let r=t.append("image");r.attr("x",e),r.attr("y",n);let s=(0,i.J)(a);r.attr("xlink:href",s)},"drawImage"),d=(0,r.K)((t,e,n,a)=>{let r=t.append("use");r.attr("x",e),r.attr("y",n);let s=(0,i.J)(a);r.attr("xlink:href",`#${s}`)},"drawEmbeddedImage"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),b=(0,r.K)(()=>{let t=(0,s.Lt)(".mermaidTooltip");return t.empty()&&(t=(0,s.Lt)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},95056:(t,e,n)=>{n.d(e,{diagram:()=>tW});var a,r=n(64599),i=n(73823);n(39020),n(7322),n(52361),n(55490);var s=n(27058),l=n(92826),o=n(58442),h=n(88252),u=n(93962),d=function(){var t=(0,h.K)(function(t,e,n,a){for(n=n||{},a=t.length;a--;n[t[a]]=e);return n},"o"),e=[1,24],n=[1,25],a=[1,26],r=[1,27],i=[1,28],s=[1,63],l=[1,64],o=[1,65],u=[1,66],d=[1,67],p=[1,68],y=[1,69],b=[1,29],_=[1,30],f=[1,31],m=[1,32],g=[1,33],x=[1,34],E=[1,35],S=[1,36],T=[1,37],k=[1,38],C=[1,39],v=[1,40],O=[1,41],w=[1,42],R=[1,43],P=[1,44],D=[1,45],N=[1,46],K=[1,47],A=[1,48],L=[1,50],I=[1,51],M=[1,52],$=[1,53],B=[1,54],j=[1,55],Y=[1,56],U=[1,57],F=[1,58],z=[1,59],X=[1,60],q=[14,42],W=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[1,82],V=[1,83],G=[1,84],Z=[1,85],J=[12,14,42],tt=[12,14,33,42],te=[12,14,33,42,76,77,79,80],tn=[12,33],ta=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],tr={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,h.K)(function(t,e,n,a,r,i,s){var l=i.length-1;switch(r){case 3:a.setDirection("TB");break;case 4:a.setDirection("BT");break;case 5:a.setDirection("RL");break;case 6:a.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:a.setC4Type(i[l-3]);break;case 19:a.setTitle(i[l].substring(6)),this.$=i[l].substring(6);break;case 20:a.setAccDescription(i[l].substring(15)),this.$=i[l].substring(15);break;case 21:this.$=i[l].trim(),a.setTitle(this.$);break;case 22:case 23:this.$=i[l].trim(),a.setAccDescription(this.$);break;case 28:i[l].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 29:i[l].splice(2,0,"SYSTEM"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 30:a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 31:i[l].splice(2,0,"CONTAINER"),a.addContainerBoundary(...i[l]),this.$=i[l];break;case 32:a.addDeploymentNode("node",...i[l]),this.$=i[l];break;case 33:a.addDeploymentNode("nodeL",...i[l]),this.$=i[l];break;case 34:a.addDeploymentNode("nodeR",...i[l]),this.$=i[l];break;case 35:a.popBoundaryParseStack();break;case 39:a.addPersonOrSystem("person",...i[l]),this.$=i[l];break;case 40:a.addPersonOrSystem("external_person",...i[l]),this.$=i[l];break;case 41:a.addPersonOrSystem("system",...i[l]),this.$=i[l];break;case 42:a.addPersonOrSystem("system_db",...i[l]),this.$=i[l];break;case 43:a.addPersonOrSystem("system_queue",...i[l]),this.$=i[l];break;case 44:a.addPersonOrSystem("external_system",...i[l]),this.$=i[l];break;case 45:a.addPersonOrSystem("external_system_db",...i[l]),this.$=i[l];break;case 46:a.addPersonOrSystem("external_system_queue",...i[l]),this.$=i[l];break;case 47:a.addContainer("container",...i[l]),this.$=i[l];break;case 48:a.addContainer("container_db",...i[l]),this.$=i[l];break;case 49:a.addContainer("container_queue",...i[l]),this.$=i[l];break;case 50:a.addContainer("external_container",...i[l]),this.$=i[l];break;case 51:a.addContainer("external_container_db",...i[l]),this.$=i[l];break;case 52:a.addContainer("external_container_queue",...i[l]),this.$=i[l];break;case 53:a.addComponent("component",...i[l]),this.$=i[l];break;case 54:a.addComponent("component_db",...i[l]),this.$=i[l];break;case 55:a.addComponent("component_queue",...i[l]),this.$=i[l];break;case 56:a.addComponent("external_component",...i[l]),this.$=i[l];break;case 57:a.addComponent("external_component_db",...i[l]),this.$=i[l];break;case 58:a.addComponent("external_component_queue",...i[l]),this.$=i[l];break;case 60:a.addRel("rel",...i[l]),this.$=i[l];break;case 61:a.addRel("birel",...i[l]),this.$=i[l];break;case 62:a.addRel("rel_u",...i[l]),this.$=i[l];break;case 63:a.addRel("rel_d",...i[l]),this.$=i[l];break;case 64:a.addRel("rel_l",...i[l]),this.$=i[l];break;case 65:a.addRel("rel_r",...i[l]),this.$=i[l];break;case 66:a.addRel("rel_b",...i[l]),this.$=i[l];break;case 67:i[l].splice(0,1),a.addRel("rel",...i[l]),this.$=i[l];break;case 68:a.updateElStyle("update_el_style",...i[l]),this.$=i[l];break;case 69:a.updateRelStyle("update_rel_style",...i[l]),this.$=i[l];break;case 70:a.updateLayoutConfig("update_layout_config",...i[l]),this.$=i[l];break;case 71:this.$=[i[l]];break;case 72:i[l].unshift(i[l-1]),this.$=i[l];break;case 73:case 75:this.$=i[l].trim();break;case 74:let o={};o[i[l-1].trim()]=i[l].trim(),this.$=o;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:70,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:71,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:72,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:73,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{14:[1,74]},t(q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(q,[2,14]),t(W,[2,16],{12:[1,76]}),t(q,[2,36],{12:[1,77]}),t(Q,[2,19]),t(Q,[2,20]),{25:[1,78]},{27:[1,79]},t(Q,[2,23]),{35:80,75:81,76:H,77:V,79:G,80:Z},{35:86,75:81,76:H,77:V,79:G,80:Z},{35:87,75:81,76:H,77:V,79:G,80:Z},{35:88,75:81,76:H,77:V,79:G,80:Z},{35:89,75:81,76:H,77:V,79:G,80:Z},{35:90,75:81,76:H,77:V,79:G,80:Z},{35:91,75:81,76:H,77:V,79:G,80:Z},{35:92,75:81,76:H,77:V,79:G,80:Z},{35:93,75:81,76:H,77:V,79:G,80:Z},{35:94,75:81,76:H,77:V,79:G,80:Z},{35:95,75:81,76:H,77:V,79:G,80:Z},{35:96,75:81,76:H,77:V,79:G,80:Z},{35:97,75:81,76:H,77:V,79:G,80:Z},{35:98,75:81,76:H,77:V,79:G,80:Z},{35:99,75:81,76:H,77:V,79:G,80:Z},{35:100,75:81,76:H,77:V,79:G,80:Z},{35:101,75:81,76:H,77:V,79:G,80:Z},{35:102,75:81,76:H,77:V,79:G,80:Z},{35:103,75:81,76:H,77:V,79:G,80:Z},{35:104,75:81,76:H,77:V,79:G,80:Z},t(J,[2,59]),{35:105,75:81,76:H,77:V,79:G,80:Z},{35:106,75:81,76:H,77:V,79:G,80:Z},{35:107,75:81,76:H,77:V,79:G,80:Z},{35:108,75:81,76:H,77:V,79:G,80:Z},{35:109,75:81,76:H,77:V,79:G,80:Z},{35:110,75:81,76:H,77:V,79:G,80:Z},{35:111,75:81,76:H,77:V,79:G,80:Z},{35:112,75:81,76:H,77:V,79:G,80:Z},{35:113,75:81,76:H,77:V,79:G,80:Z},{35:114,75:81,76:H,77:V,79:G,80:Z},{35:115,75:81,76:H,77:V,79:G,80:Z},{20:116,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{12:[1,118],33:[1,117]},{35:119,75:81,76:H,77:V,79:G,80:Z},{35:120,75:81,76:H,77:V,79:G,80:Z},{35:121,75:81,76:H,77:V,79:G,80:Z},{35:122,75:81,76:H,77:V,79:G,80:Z},{35:123,75:81,76:H,77:V,79:G,80:Z},{35:124,75:81,76:H,77:V,79:G,80:Z},{35:125,75:81,76:H,77:V,79:G,80:Z},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(q,[2,15]),t(W,[2,17],{21:22,19:130,22:e,23:n,24:a,26:r,28:i}),t(q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:a,26:r,28:i,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:w,58:R,59:P,60:D,61:N,62:K,63:A,64:L,65:I,66:M,67:$,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(Q,[2,21]),t(Q,[2,22]),t(J,[2,39]),t(tt,[2,71],{75:81,35:132,76:H,77:V,79:G,80:Z}),t(te,[2,73]),{78:[1,133]},t(te,[2,75]),t(te,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(tn,[2,28]),t(tn,[2,29]),t(tn,[2,30]),t(tn,[2,31]),t(tn,[2,32]),t(tn,[2,33]),t(tn,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(W,[2,18]),t(q,[2,38]),t(tt,[2,72]),t(te,[2,74]),t(J,[2,24]),t(J,[2,35]),t(ta,[2,25]),t(ta,[2,26],{12:[1,138]}),t(ta,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,h.K)(function(t){var e=this,n=[0],a=[],r=[null],i=[],s=this.table,l="",o=0,u=0,d=0,p=i.slice.call(arguments,1),y=Object.create(this.lexer),b={};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(b[_]=this.yy[_]);y.setInput(t,b),b.lexer=y,b.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;i.push(f);var m=y.options&&y.options.ranges;function g(){var t;return"number"!=typeof(t=a.pop()||y.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof b.parseError?this.parseError=b.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){n.length=n.length-2*t,r.length=r.length-t,i.length=i.length-t},"popStack"),(0,h.K)(g,"lex");for(var x,E,S,T,k,C,v,O,w,R={};;){if(S=n[n.length-1],this.defaultActions[S]?T=this.defaultActions[S]:(null==x&&(x=g()),T=s[S]&&s[S][x]),void 0===T||!T.length||!T[0]){var P="";for(C in w=[],s[S])this.terminals_[C]&&C>2&&w.push("'"+this.terminals_[C]+"'");P=y.showPosition?"Parse error on line "+(o+1)+":\n"+y.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(P,{text:y.match,token:this.terminals_[x]||x,line:y.yylineno,loc:f,expected:w})}if(T[0]instanceof Array&&T.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+x);switch(T[0]){case 1:n.push(x),r.push(y.yytext),i.push(y.yylloc),n.push(T[1]),x=null,E?(x=E,E=null):(u=y.yyleng,l=y.yytext,o=y.yylineno,f=y.yylloc,d>0&&d--);break;case 2:if(v=this.productions_[T[1]][1],R.$=r[r.length-v],R._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},m&&(R._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(k=this.performAction.apply(R,[l,u,o,b,T[1],r,i].concat(p))))return k;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),i=i.slice(0,-1*v)),n.push(this.productions_[T[1]][0]),r.push(R.$),i.push(R._$),O=s[n[n.length-2]][n[n.length-1]],n.push(O);break;case 3:return!0}}return!0},"parse")};function ti(){this.yy={}}return tr.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=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),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var i in r)this[i]=r[i];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,a,r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!e||n[0].length>e[0].length)){if(e=n,a=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[i])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,h.K)(function(t,e,n,a){switch(n){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},(0,h.K)(ti,"Parser"),ti.prototype=tr,tr.Parser=ti,new ti}();d.parser=d;var p=(0,h.K)(t=>(0,l.D7)()[t],"getRequiredConfig"),y=new Set(["label","descr","techn","type"]),b=(0,h.K)((t,e)=>{for(let[n,a]of Object.entries(e))if(void 0!==a)if("object"==typeof a){let[e,n]=Object.entries(a)[0];t[e]=y.has(e)?{text:n}:n}else t[n]=a},"assignAttributes"),_=(0,h.K)(()=>({alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}),"createGlobalBoundary"),f=[],m=[""],g="global",x="",E=[_()],S=[],T="",k=!1,C=4,v=2,O=(0,h.K)(function(){return a},"getC4Type"),w=(0,h.K)(function(t){a=(0,l.jZ)(t,(0,l.D7)())},"setC4Type"),R=(0,h.K)(function(t,e,n,a,r,i,s,l,o){if(null==t||null==e||null==n||null==a)return;let h={},u=S.find(t=>t.from===e&&t.to===n);if(u?h=u:S.push(h),h.type=t,h.from=e,h.to=n,h.label={text:a},null==r)h.techn??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=y.has(t)?{text:e}:e}else h.techn={text:r};if(null==i)h.descr??={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]=y.has(t)?{text:e}:e}else h.descr={text:i};b(h,{sprite:s,tags:l,link:o}),h.wrap=G()},"addRel"),P=(0,h.K)(function(t,e,n,a,r,i,s){if(null===e||null===n)return;let l={},o=f.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,f.push(l)),null==n?l.label={text:""}:l.label={text:n},null==a)l.descr??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=y.has(t)?{text:e}:e}else l.descr={text:a};b(l,{sprite:r,tags:i,link:s}),l.typeC4Shape={text:t},l.parentBoundary=g,l.wrap=G()},"addPersonOrSystem"),D=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addContainer"),N=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addComponent"),K=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addPersonOrSystemBoundary"),A=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addContainerBoundary"),L=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=E.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,E.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.type={text:"node"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.type={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{tags:s,link:l}),o.nodeType=t,o.parentBoundary=g,o.wrap=G(),x=g,g=e,m.push(x)},"addDeploymentNode"),I=(0,h.K)(function(){g=x,m.pop(),x=m.pop(),m.push(x)},"popBoundaryParseStack"),M=(0,h.K)(function(t,e,n,a,r,i,s,l,o,h,u){let d=f.find(t=>t.alias===e);if(void 0!==d||void 0!==(d=E.find(t=>t.alias===e))){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.bgColor=n;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.fontColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.borderColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.shadowing=i;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shape=s;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.sprite=l;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.techn=o;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendText=h;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];d[t]=e}else d.legendSprite=u}},"updateElStyle"),$=(0,h.K)(function(t,e,n,a,r,i,s){let l=S.find(t=>t.from===e&&t.to===n);if(void 0!==l){if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.textColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.lineColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(i);if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(s)}},"updateRelStyle"),B=(0,h.K)(function(t,e,n){let a=C,r=v;a="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),r="object"==typeof n?parseInt(Object.values(n)[0]):parseInt(n),a>=1&&(C=a),r>=1&&(v=r)},"updateLayoutConfig"),j=(0,h.K)(function(){return C},"getC4ShapeInRow"),Y=(0,h.K)(function(){return v},"getC4BoundaryInRow"),U=(0,h.K)(function(){return g},"getCurrentBoundaryParse"),F=(0,h.K)(function(){return x},"getParentBoundaryParse"),z=(0,h.K)(function(t){return null==t?f:f.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),X=(0,h.K)(function(t){return f.find(e=>e.alias===t)??E.find(e=>e.alias===t)},"getC4Shape"),q=(0,h.K)(function(t){return Object.keys(z(t))},"getC4ShapeKeys"),W=(0,h.K)(function(t){return null==t?E:E.filter(e=>e.parentBoundary===t)},"getBoundaries"),Q=(0,h.K)(function(){return S},"getRels"),H=(0,h.K)(function(){return T},"getTitle"),V=(0,h.K)(function(t){k=t},"setWrap"),G=(0,h.K)(function(){return k},"autoWrap"),Z=(0,h.K)(function(){f=[],E=[_()],x="",g="global",m=[""],S=[],m=[""],T="",k=!1,C=4,v=2},"clear"),J=(0,h.K)(function(t){T=(0,l.jZ)(t,(0,l.D7)())},"setTitle"),tt={addPersonOrSystem:P,addPersonOrSystemBoundary:K,addContainer:D,addContainerBoundary:A,addComponent:N,addDeploymentNode:L,popBoundaryParseStack:I,addRel:R,updateElStyle:M,updateRelStyle:$,updateLayoutConfig:B,autoWrap:G,setWrap:V,getC4ShapeArray:z,getC4Shape:X,getC4ShapeKeys:q,getBoundaries:W,getBoundarys:W,getCurrentBoundaryParse:U,getParentBoundaryParse:F,getRels:Q,getTitle:H,getC4Type:O,getC4ShapeInRow:j,getC4BoundaryInRow:Y,setAccTitle:l.SV,getAccTitle:l.iN,getAccDescription:l.m7,setAccDescription:l.EI,getConfig:(0,h.K)(()=>p("c4"),"getConfig"),clear:Z,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:J,setC4Type:w},te=(0,h.K)(function(t,e){return(0,r.tk)(t,e)},"drawRect"),tn=(0,h.K)((t,e,n,a)=>{let r=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",l=t.offsetX?parseInt(String(t.offsetX)):0,o=t.offsetY?parseInt(String(t.offsetY)):0;if(0===i){let e=r.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)"),i=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)")}let h=t.label.width,u=n.messageFont();tu(n)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,h,t.label.height,{fill:e},u),t.techn&&""!==t.techn.text&&(u=n.messageFont(),tu(n)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+o,Math.max(h,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},u))}},"drawRels"),ta=(0,h.K)(function(t,e,n){let a=t.append("g"),r=e.bgColor?e.bgColor:"none",i=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1}),te(a,{x:e.x,y:e.y,fill:r,stroke:i,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l});let o=n.boundaryFont();o.fontWeight="bold",o.fontSize=o.fontSize+2,o.fontColor=s,tu(n)(e.label.text,a,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},o),e.type&&""!==e.type.text&&((o=n.boundaryFont()).fontColor=s,tu(n)(e.type.text,a,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},o)),e.descr&&""!==e.descr.text&&((o=n.boundaryFont()).fontSize=o.fontSize-2,o.fontColor=s,tu(n)(e.descr.text,a,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},o))},"drawBoundary"),tr=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ti=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ts=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tl=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),to=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),tc=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),th=(0,h.K)(function(t,e){let n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),tu=function(){function t(t,e,n,r,i,s,l){a(e.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,n,r,i,s,o,h){let{fontSize:u,fontFamily:d,fontWeight:p}=h,y=t.split(l.Y2.lineBreakRegex);for(let t=0;t<y.length;t++){let s=t*u-u*(y.length-1)/2,l=e.append("text").attr("x",n+i/2).attr("y",r).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",u).style("font-weight",p).style("font-family",d);l.append("tspan").attr("dy",s).text(y[t]).attr("alignment-baseline","mathematical"),a(l,o)}}function n(t,n,r,i,s,l,o,h){let u=n.append("switch"),d=u.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",l).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,r,i,s,l,o,h),a(d,o)}function a(t,e){for(let n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,h.K)(t,"byText"),(0,h.K)(e,"byTspan"),(0,h.K)(n,"byFo"),(0,h.K)(a,"_setTextAttrs"),function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?t:e}}(),td={drawBoundary:ta,drawRels:tn,insertArrowHead:tl,insertArrowEnd:to,insertArrowFilledHead:tc,insertArrowCrossHead:th,insertDatabaseIcon:tr,insertComputerIcon:ti,insertClockIcon:ts},tp=(0,h.K)((t,e)=>{if("sandbox"===e){let e=(0,u.Lt)("#i"+t),n=e.node()?.contentDocument;if(!n)throw Error(`Sandbox iframe #i${t} is missing its content document`);return{root:(0,u.Lt)(n.body),doc:n}}return{root:(0,u.Lt)("body"),doc:document}},"getDiagramRoot"),ty=new Set(["system_queue","external_system_queue","container_queue","external_container_queue","component_queue","external_component_queue"]),tb=new Set(["system_db","external_system_db","container_db","external_container_db","component_db","external_component_db"]),t_={person:"person",box:"rounded",rounded:"rounded",cylinder:"cylinder",database:"cylinder",db:"cylinder",queue:"h-cyl",pipe:"h-cyl",component:"fr-rect"},tf=(0,h.K)(t=>t?t_[t.toLowerCase()]:void 0,"keywordShape"),tm=(0,h.K)(t=>{let e=tf(t.shape)??tf(t.sprite);if(e)return e;if(t.tags)for(let e of t.tags.split(",")){let t=tf(e.trim());if(t)return t}let n=t.typeC4Shape.text;return"person"===n||"external_person"===n?"person":tb.has(n)?"cylinder":ty.has(n)?"h-cyl":"rounded"},"resolveNodeShape"),tg={person:"Person",system:"Software System",container:"Container",component:"Component"},tx=(0,h.K)(t=>{let e=t.replace(/^external_/,"").replace(/_(db|queue)$/,"");return tg[e]??e.replace(/_/g," ")},"stereotypeLabel"),tE=(0,h.K)(t=>t.startsWith("external_"),"isExternal"),tS=(0,h.K)(t=>{let e=tx(t.typeC4Shape.text);return t.techn?.text?`[${e}: ${t.techn.text}]`:`[${e}]`},"stereotypeText"),tT=["person","system","system_db","system_queue","container","container_db","container_queue","component","component_db","component_queue"].flatMap(t=>[t,`external_${t}`]),tk=new Set(tT),tC=(0,h.K)(t=>tk.has(t),"isC4ElementType"),tv=(0,h.K)((t,e)=>{let n=t.typeC4Shape.text,a=t.bgColor??(tC(n)&&e[`${n}_bg_color`]),r=t.borderColor??(tC(n)&&e[`${n}_border_color`]),i=[];return a&&i.push(`fill:${a}`),r&&i.push(`stroke:${r}`),i.push(`color:${t.fontColor??"#FFFFFF"}`),i},"elementCssStyles"),tO=(0,h.K)((t,e,n,a,r)=>{let i=t.typeC4Shape.text,s=["c4-shape",`c4-${i}`];tE(i)&&s.push("c4-external");let l=tm(t),o=tv(t,e);return("rounded"===l||"fr-rect"===l)&&o.push("rx:12px","ry:12px"),{id:t.alias,label:t.label.text,stereotype:tS(t),description:t.descr?.text?[t.descr.text]:void 0,labelType:"string",isGroup:!1,shape:l,cssClasses:s.join(" "),cssStyles:o,padding:n,look:a,useHtmlLabels:!1,width:r}},"buildC4Node"),tw=0,tR=0,tP=4,tD=2;d.yy=tt;var tN={},tK=class{static{(0,h.K)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,tA(t.db.getConfig())}setData(t,e,n,a){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(t,e,n,a){void 0===t[e]?t[e]=n:t[e]=a(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.stopx,n=this.data.widthLimit,a=this.nextData.startx===this.nextData.stopx?e+t.margin:e+2*t.margin,r=a+t.width,i=this.nextData.starty+2*t.margin,s=i+t.height;(a>=n||r>=n||this.nextData.cnt>tP)&&(a=this.nextData.startx+t.margin+tN.nextLinePaddingX,i=this.nextData.stopy+2*t.margin,this.nextData.stopx=r=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=s=i+t.height,this.nextData.cnt=1),t.x=a,t.y=i,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",s,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",s,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},tA(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},tA=(0,h.K)(function(t){(0,l.hH)(tN,t),t?.fontFamily&&(tN.personFontFamily=tN.systemFontFamily=tN.messageFontFamily=t.fontFamily),t?.fontSize&&(tN.personFontSize=tN.systemFontSize=tN.messageFontSize=t.fontSize),t?.fontWeight&&(tN.personFontWeight=tN.systemFontWeight=tN.messageFontWeight=t.fontWeight)},"setConf"),tL=(0,h.K)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),tI=(0,h.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function tM(t,e,n,a,r){let i=e[t];if(!i.width)if(n)i.text=(0,s.bH)(i.text,r,a),i.textLines=i.text.split(l.Y2.lineBreakRegex).length,i.width=r,i.height=(0,s.ru)(i.text,a);else{let t=i.text.split(l.Y2.lineBreakRegex);i.textLines=t.length;let e=0;for(let n of(i.height=0,i.width=0,t))i.width=Math.max((0,s.Un)(n,a),i.width),e=(0,s.ru)(n,a),i.height=i.height+e}return i}(0,h.K)(tM,"calcC4ShapeTextWH");var t$=(0,h.K)(function(t,e,n){let a=n.data.startx,r=n.data.starty;e.x=a,e.y=r,e.width=n.data.stopx-a,e.height=n.data.stopy-r,e.intersect=t=>i.I7.rect({x:e.x+e.width/2,y:e.y+e.height/2,width:e.width,height:e.height},t),e.label.y=tN.c4ShapeMargin-35;let l=e.wrap&&tN.wrap,o=tL(tN);o.fontSize=o.fontSize+2,o.fontWeight="bold";let h=(0,s.Un)(e.label.text,o);tM("label",e,l,o,h),td.drawBoundary(t,e,tN)},"drawBoundary"),tB=(0,h.K)(async function(t,e,n,a){let r=(0,l.D7)(),s=r.look??"classic",o={config:r},u=e.attr("id")??"",d=a.map(t=>n[Number(t)]),p=(0,h.K)(t=>{let e=t.shape?i.nq[t.shape]:void 0;if(!e)throw Error(`C4: no shape handler for "${t.shape}"`);return e},"shapeHandlerFor");for(let n of(await Promise.all(d.map(async t=>{let n=tO(t,tN,tN.c4ShapePadding,s,tN.width);n.domId=`${u}-${n.id}`;let a=await p(n)(e,n,o);t.width=n.width??tN.width,t.height=n.height??tN.height,t.margin=tN.c4ShapeMargin,a.remove()})),d))t.insert(n);await Promise.all(d.map(async t=>{let n=tO(t,tN,tN.c4ShapePadding,s,tN.width);n.domId=`${u}-${n.id}`,n.x=t.x+t.width/2,n.y=t.y+t.height/2;let a=e.append("g").attr("transform",`translate(${t.x+t.width/2}, ${t.y+t.height/2})`);await p(n)(a,n,o),t.intersect=n.intersect})),t.bumpLastMargin(tN.c4ShapeMargin)},"drawC4ShapeArray"),tj=class{static{(0,h.K)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},tY=(0,h.K)(function(t,e){if(!t.intersect)throw Error(`C4 element "${t.alias}" has no intersect function. Please report this to https://github.com/mermaid-js/mermaid/issues`);let{x:n,y:a}=t.intersect(e);return new tj(n,a)},"getIntersectPoint"),tU=(0,h.K)(function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let a=tY(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:a,endPoint:tY(e,n)}},"getIntersectPoints"),tF=(0,h.K)(function(t,e,n,a,r){let i=a.db.getC4Type(),l=0;for(let t of e){l+=1;let e=t.wrap&&tN.wrap,a=tI(tN);"C4Dynamic"===i&&(t.label.text=l+": "+t.label.text);let r=(0,s.Un)(t.label.text,a);tM("label",t,e,a,r),t.techn&&""!==t.techn.text&&(r=(0,s.Un)(t.techn.text,a),tM("techn",t,e,a,r)),t.descr&&""!==t.descr.text&&(r=(0,s.Un)(t.descr.text,a),tM("descr",t,e,a,r));let o=n(t.from),h=n(t.to);if(!o||!h)throw Error(`C4 rel "${t.from}" -> "${t.to}" references an unknown shape or boundary`);let u=tU(o,h);if(!u.startPoint||!u.endPoint)throw Error(`Could not calculate intersection points for rel "${t.from}" -> "${t.to}"`);t.startPoint=u.startPoint,t.endPoint=u.endPoint}td.drawRels(t,e,tN,r)},"drawRels");async function tz(t,e,n,a,r){let i=r.db,s=new tK(r);for(let[l,o]of(s.data.widthLimit=n.data.widthLimit/Math.min(tD,a.length),a.entries())){let a=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=a,a=o.image.Y+o.image.height);let h=o.wrap&&tN.wrap,u=tL(tN);u.fontSize=u.fontSize+2,u.fontWeight="bold";let d=tM("label",o,h,u,s.data.widthLimit);if(d.Y=a+8,a=d.Y+d.height,o.type&&""!==o.type.text){o.type.text="["+o.type.text+"]";let t=tM("type",o,h,tL(tN),s.data.widthLimit);t.Y=a+5,a=t.Y+t.height}if(o.descr&&""!==o.descr.text){let t=tL(tN);t.fontSize=t.fontSize-2;let e=tM("descr",o,h,t,s.data.widthLimit);e.Y=a+20,a=e.Y+e.height}if(0==l||l%tD==0){let t=n.data.startx+tN.diagramMarginX,e=n.data.stopy+tN.diagramMarginY+a;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+tN.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=o.alias;let p=i.getC4ShapeArray(o.alias),y=i.getC4ShapeKeys(o.alias);y.length>0&&await tB(s,t,p,y),e=o.alias;let b=i.getBoundaries(e);b.length>0&&await tz(t,e,s,b,r),"global"!==o.alias&&t$(t,o,s),n.data.stopy=Math.max(s.data.stopy+tN.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(s.data.stopx+tN.c4ShapeMargin,n.data.stopx),tw=Math.max(tw,n.data.stopx),tR=Math.max(tR,n.data.stopy)}}(0,h.K)(tz,"drawInsideBoundary");var tX={drawPersonOrSystemArray:tB,drawBoundary:t$,setConf:tA,draw:(0,h.K)(async function(t,e,n,a){tN=p("c4");let{root:r}=tp(e,(0,l.D7)().securityLevel),i=a.db;i.setWrap(tN.wrap),tP=i.getC4ShapeInRow(),tD=i.getC4BoundaryInRow(),o.R.debug(`C:${JSON.stringify(tN,null,2)}`);let s=r.select(`[id="${e}"]`);td.insertComputerIcon(s,e),td.insertDatabaseIcon(s,e),td.insertClockIcon(s,e);let h=new tK(a);h.setData(tN.diagramMarginX,tN.diagramMarginX,tN.diagramMarginY,tN.diagramMarginY),h.data.widthLimit=screen.availWidth,tw=tN.diagramMarginX,tR=tN.diagramMarginY;let u=i.getTitle(),d=i.getBoundaries("");await tz(s,"",h,d,a),td.insertArrowHead(s,e),td.insertArrowEnd(s,e),td.insertArrowCrossHead(s,e),td.insertArrowFilledHead(s,e),tF(s,i.getRels(),i.getC4Shape,a,e),h.data.stopx=tw,h.data.stopy=tR;let y=h.data,b=y.startx,_=y.starty,f=tR-_+2*tN.diagramMarginY,m=tw-b,g=m+2*tN.diagramMarginX;u&&s.append("text").text(u).attr("x",m/2-4*tN.diagramMarginX).attr("y",_+tN.diagramMarginY),(0,l.a$)(s,f,g,tN.useMaxWidth);let x=60*!!u;s.attr("viewBox",b-tN.diagramMarginX+" -"+(tN.diagramMarginY+x)+" "+g+" "+(f+x)),o.R.debug("models:",y)},"draw")},tq=(0,h.K)(()=>{let t=(0,l.D7)().c4??{},e=new CSSStyleSheet;for(let n of tT){let a=e.cssRules[e.insertRule(`.c4-shape.c4-${n} .label {}`,e.cssRules.length)],r=t[`${n}FontFamily`],i=t[`${n}FontSize`],s=t[`${n}FontWeight`];r&&a.style.setProperty("font-family",r),i&&a.style.setProperty("font-size","number"==typeof i?`${i}px`:i),s&&a.style.setProperty("font-weight",String(s))}return[...e.cssRules].filter(t=>t.style.length>0).map(t=>` ${t.cssText}`).join("\n")},"elementFontStyles"),tW={parser:d,db:tt,renderer:tX,styles:(0,h.K)(t=>`.person {
|
|
2
|
+
stroke: ${t.personBorder};
|
|
3
|
+
fill: ${t.personBkg};
|
|
4
|
+
}
|
|
5
|
+
${tq()}
|
|
6
|
+
|
|
7
|
+
/* The element font colour is set inline per element (default white); the
|
|
8
|
+
label text takes it via currentColor. */
|
|
9
|
+
.c4-shape .label,
|
|
10
|
+
.c4-shape .label text {
|
|
11
|
+
color: inherit;
|
|
12
|
+
fill: currentColor;
|
|
13
|
+
}
|
|
14
|
+
/* Structurizr typography: bold name, smaller stereotype/type and description lines. */
|
|
15
|
+
.c4-shape .label .c4-name {
|
|
16
|
+
font-weight: bold;
|
|
17
|
+
}
|
|
18
|
+
.c4-shape .label .c4-type {
|
|
19
|
+
font-size: 0.75em;
|
|
20
|
+
}
|
|
21
|
+
.c4-shape .label .c4-descr {
|
|
22
|
+
font-size: 0.82em;
|
|
23
|
+
}
|
|
24
|
+
.c4-shape .basic,
|
|
25
|
+
.c4-shape rect,
|
|
26
|
+
.c4-shape path,
|
|
27
|
+
.c4-shape circle,
|
|
28
|
+
.c4-shape ellipse,
|
|
29
|
+
.c4-shape line {
|
|
30
|
+
stroke-width: 2px;
|
|
31
|
+
}
|
|
32
|
+
`,"getStyles"),init:(0,h.K)(({c4:t,wrap:e})=>{tX.setConf(t),tt.setWrap(e)},"init")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5058],{10912:(e,t,n)=>{function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"font-family:sans-serif;padding:40px;max-width:800px;margin:0 auto",r=window.open("","_blank");r&&(r.document.write("<!DOCTYPE html><html><head><title>".concat(e.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]),"</title><style>body{").concat(n,"}img{max-width:100%}</style></head><body>").concat(t,"</body></html>")),r.document.close(),r.onload=()=>{r.print()})}n.d(t,{H:()=>r})},39250:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(79020).A)("Printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]])},75058:(e,t,n)=>{n.r(t),n.d(t,{MediaPreview:()=>L});var r=n(41440),a=n(54604),o=n(79020);let l=(0,o.A)("Highlighter",[["path",{d:"m9 11-6 6v3h9l3-3",key:"1a3l36"}],["path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4",key:"14a9rk"}]]),i=(0,o.A)("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),s=(0,o.A)("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);var c=n(23715),d=n(39250),u=n(37050),h=n(10912),x=n(35622),p=n(48253);let m=(0,o.A)("MoveUpRight",[["path",{d:"M13 5H19V11",key:"1n1gyv"}],["path",{d:"M19 5L5 19",key:"72u4yj"}]]),y=(0,o.A)("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);var g=n(80151),f=n(37784),v=n(97558),w=n(40909),b=n(17119);let k=[{id:"red",value:"#ef4444"},{id:"yellow",value:"#facc15"},{id:"green",value:"#22c55e"},{id:"blue",value:"#3b82f6"}],j=(e,t,n)=>Math.min(n,Math.max(t,e)),C=1/800;function N(e,t){switch(t.type){case"add":return[...e,t.stroke];case"undo":return e.slice(0,-1);case"clear":return e.length?[]:e}}function M(e,t,n){let r=Math.hypot(t.x-e.x,t.y-e.y)||1,a=(t.x-e.x)/r,o=(t.y-e.y)/r,l=Math.min(4*n,r),i=l/2,s={x:t.x-a*l,y:t.y-o*l};return{shaftEnd:s,head:[t,{x:s.x-o*i,y:s.y+a*i},{x:s.x+o*i,y:s.y-a*i}]}}let E=[{id:"pen",icon:x.A},{id:"rect",icon:p.A},{id:"arrow",icon:m}];function P(e){let{src:t,name:n,viewStyle:o,panning:l,onClose:i}=e,s=(0,b.kj)(),c=(0,a.useRef)(null),d=(0,a.useRef)(null),[u,h]=(0,a.useState)(null),[x,p]=(0,a.useState)("pen"),[m,P]=(0,a.useState)(k[0].value),[T,R]=(0,a.useReducer)(N,[]),S=(0,a.useRef)(null),[L,B]=(0,a.useState)(null),[D,Y]=(0,a.useState)(!1),[H,U]=(0,a.useState)(!1),X=(0,a.useRef)(!0);(0,a.useEffect)(()=>(X.current=!0,()=>{X.current=!1}),[]),(0,a.useEffect)(()=>{let e=e=>{let t="Escape"===e.key,n="z"===e.key.toLowerCase()&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey;if(!t&&!n)return;let r=document.activeElement;r&&("INPUT"===r.tagName||"TEXTAREA"===r.tagName||r.isContentEditable||r.closest(".monaco-editor"))||(e.preventDefault(),e.stopImmediatePropagation(),t?i():R({type:"undo"}))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[i]);let W=e=>{var t,n,r,a,o;return t=e.clientX,n=e.clientY,r=c.current.getBoundingClientRect(),a=u.w,o=u.h,{x:j((t-r.left)*a/r.width,0,a),y:j((n-r.top)*o/r.height,0,o)}},_=e=>{let t=S.current;t&&t.pointerId===e.pointerId&&(S.current=null,B(null),"pointerup"===e.type&&function(e){let t=e.points[0],n=e.points[e.points.length-1];return"pen"===e.tool||("rect"===e.tool?Math.min(Math.abs(n.x-t.x),Math.abs(n.y-t.y))>=e.width:Math.hypot(n.x-t.x,n.y-t.y)>=e.width)}(t.stroke)&&R({type:"add",stroke:t.stroke}))},z=async()=>{let e=d.current;if(!e||!u||D)return;Y(!0),U(!1);let t=null;try{let r=t=function(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:document.createElement("canvas"),o=Math.min(1,4096/Math.max(t,n));a.width=Math.max(1,Math.round(t*o)),a.height=Math.max(1,Math.round(n*o));let l=a.getContext("2d");if(!l)throw Error("no 2d context");for(let a of(l.scale(o,o),l.drawImage(e,0,0,t,n),r)){let e=a.points[0],t=a.points[a.points.length-1];if(e&&t)if(l.strokeStyle=a.color,l.fillStyle=a.color,l.lineWidth=a.width,l.beginPath(),"pen"===a.tool){for(let t of(l.lineCap="round",l.lineJoin="round",l.moveTo(e.x,e.y),a.points.slice(1)))l.lineTo(t.x,t.y);l.stroke()}else if("rect"===a.tool)l.lineCap="butt",l.lineJoin="miter",l.strokeRect(Math.min(e.x,t.x),Math.min(e.y,t.y),Math.abs(t.x-e.x),Math.abs(t.y-e.y));else{let n=M(e,t,a.width);l.lineCap="round",l.moveTo(e.x,e.y),l.lineTo(n.shaftEnd.x,n.shaftEnd.y),l.stroke(),l.beginPath(),l.moveTo(n.head[0].x,n.head[0].y),l.lineTo(n.head[1].x,n.head[1].y),l.lineTo(n.head[2].x,n.head[2].y),l.closePath(),l.fill()}}return a}(e,u.w,u.h,T),a=await new Promise(e=>r.toBlob(e,"image/png"));if(!a)throw Error("encode failed");if(!X.current)return;let o=new File([a],"".concat(n.replace(/\.[^./]+$/,""),"-annotated.png"),{type:"image/png"});window.dispatchEvent(new CustomEvent("halo:attach-image",{detail:{file:o}})),i()}catch(e){console.error("[ImageAnnotator] compose failed:",e),X.current&&U(!0)}finally{t&&(t.width=t.height=0),X.current&&Y(!1)}},O="flex h-7 w-7 items-center justify-center rounded-md transition-colors disabled:opacity-40 disabled:hover:bg-transparent",K="text-[var(--muted-foreground)] hover:bg-[var(--secondary)] hover:text-[var(--foreground)]";return(0,r.jsxs)("div",{className:(0,w.cn)("relative h-full w-full touch-none select-none overflow-hidden",l?"cursor-grabbing":"cursor-crosshair"),onPointerDown:e=>{var t,n;if(0!==e.button||(e.stopPropagation(),e.preventDefault(),!u||S.current))return;e.currentTarget.setPointerCapture(e.pointerId);let r=W(e),a={tool:x,color:m,width:(t=c.current.getBoundingClientRect().width,Math.max(4*(n=u.w)/t,Math.max(n,u.h)*C)),points:[r,r]};S.current={pointerId:e.pointerId,stroke:a},B(a)},onPointerMove:e=>{let t=S.current;if(!t||t.pointerId!==e.pointerId)return;let n=W(e);t.stroke={...t.stroke,points:"pen"===t.stroke.tool?[...t.stroke.points,n]:[t.stroke.points[0],n]},B(t.stroke)},onPointerUp:_,onPointerCancel:_,children:[(0,r.jsxs)("div",{ref:c,className:"relative w-fit",style:{transformOrigin:"0 0",...o},children:[(0,r.jsx)("img",{ref:d,src:t,alt:n,draggable:!1,className:"pointer-events-none block max-w-full",onLoad:e=>h({w:e.currentTarget.naturalWidth,h:e.currentTarget.naturalHeight}),onError:i}),u&&(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(u.w," ").concat(u.h),preserveAspectRatio:"none",className:"pointer-events-none absolute inset-0 h-full w-full",children:[(0,r.jsx)(A,{strokes:T}),L&&(0,r.jsx)(I,{s:L})]})]}),(0,r.jsxs)("div",{className:"absolute left-1/2 top-2 z-10 flex -translate-x-1/2 cursor-default flex-col items-center gap-1",onPointerDown:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 rounded-lg border border-[var(--border)] bg-[var(--card)] p-1 shadow-lg",children:[E.map(e=>{let{id:t,icon:n}=e;return(0,r.jsx)("button",{type:"button",onClick:()=>p(t),title:s("editor.annotate.".concat(t)),"aria-pressed":x===t,className:(0,w.cn)(O,x===t?"bg-[var(--secondary)] text-[var(--foreground)]":K),children:(0,r.jsx)(n,{className:"h-4 w-4"})},t)}),(0,r.jsx)("span",{className:"mx-0.5 h-5 w-px bg-[var(--border)]"}),k.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>P(e.value),title:s("editor.annotate.".concat(e.id)),"aria-pressed":m===e.value,className:(0,w.cn)(O,"hover:bg-[var(--secondary)]"),children:(0,r.jsx)("span",{className:(0,w.cn)("h-4 w-4 rounded-full",m===e.value&&"ring-2 ring-[var(--foreground)] ring-offset-1 ring-offset-[var(--card)]"),style:{background:e.value}})},e.id)),(0,r.jsx)("span",{className:"mx-0.5 h-5 w-px bg-[var(--border)]"}),(0,r.jsx)("button",{type:"button",onClick:()=>R({type:"undo"}),disabled:0===T.length,title:s("editor.annotate.undo"),className:(0,w.cn)(O,K),children:(0,r.jsx)(y,{className:"h-4 w-4"})}),(0,r.jsx)("button",{type:"button",onClick:()=>R({type:"clear"}),disabled:0===T.length,title:s("editor.annotate.clear"),className:(0,w.cn)(O,K),children:(0,r.jsx)(g.A,{className:"h-4 w-4"})}),(0,r.jsx)("span",{className:"mx-0.5 h-5 w-px bg-[var(--border)]"}),(0,r.jsxs)("button",{type:"button",onClick:()=>void z(),disabled:0===T.length||!u||D,className:"flex h-7 items-center gap-1 rounded-md bg-[var(--primary)] px-2 text-xs font-medium text-[var(--primary-foreground)] transition-opacity hover:opacity-90 disabled:opacity-40",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:s("editor.annotate.send")})]}),(0,r.jsx)("button",{type:"button",onClick:i,title:s("editor.annotate.exit"),className:(0,w.cn)(O,K),children:(0,r.jsx)(v.A,{className:"h-4 w-4"})})]}),H&&(0,r.jsx)("div",{role:"alert",className:"rounded-md border border-red-500/30 bg-[var(--card)] px-2.5 py-1 text-xs text-red-400 shadow",children:s("editor.annotate.failed")})]})]})}let A=(0,a.memo)(function(e){let{strokes:t}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e,t)=>(0,r.jsx)(I,{s:e},t))})});function I(e){let{s:t}=e,n=t.points[0],a=t.points[t.points.length-1],o={stroke:t.color,strokeWidth:t.width,fill:"none"};if("pen"===t.tool)return(0,r.jsx)("polyline",{points:t.points.map(e=>"".concat(e.x,",").concat(e.y)).join(" "),...o,strokeLinecap:"round",strokeLinejoin:"round"});if("rect"===t.tool)return(0,r.jsx)("rect",{x:Math.min(n.x,a.x),y:Math.min(n.y,a.y),width:Math.abs(a.x-n.x),height:Math.abs(a.y-n.y),...o});let l=M(n,a,t.width);return(0,r.jsxs)("g",{children:[(0,r.jsx)("line",{x1:n.x,y1:n.y,x2:l.shaftEnd.x,y2:l.shaftEnd.y,...o,strokeLinecap:"round"}),(0,r.jsx)("polygon",{points:l.head.map(e=>"".concat(e.x,",").concat(e.y)).join(" "),fill:t.color})]})}var T=n(27173),R=n(79906),S=n(29562);function L(e){let{name:t,path:n,viewUrl:o,downloadUrl:x,onOpenAsText:p}=e,m=(0,b.kj)(),y=function(e){var t,n;let r=null!=(n=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?n:"";return T.dj.includes(r)?"image":T.Tv.includes(r)?"video":T._H.includes(r)?"audio":null}(t),g=function(){let e=(0,a.useRef)(null),[t,n]=(0,a.useState)(1),[r,o]=(0,a.useState)({x:0,y:0}),l=(0,a.useRef)(null),[i,s]=(0,a.useState)(!1),c=(0,a.useCallback)(()=>{n(1),o({x:0,y:0})},[]),d=(0,a.useCallback)((e,t,r)=>{n(n=>{let a=Math.min(20,Math.max(.1,n*r)),l=a/n;return o(n=>({x:e-l*(e-n.x),y:t-l*(t-n.y)})),a})},[]),u=(0,a.useCallback)(t=>{let n=e.current;n&&d(n.clientWidth/2,n.clientHeight/2,t)},[d]),h=(0,a.useCallback)(t=>{var n;t.preventDefault();let r=null==(n=e.current)?void 0:n.getBoundingClientRect();r&&d(t.clientX-r.left,t.clientY-r.top,t.deltaY<0?1.15:.8695652173913044)},[d]),x=(0,a.useCallback)(e=>{(0===e.button||1===e.button)&&(e.preventDefault(),e.target.setPointerCapture(e.pointerId),l.current={startX:e.clientX,startY:e.clientY,origX:r.x,origY:r.y},s(!0))},[r]),p=(0,a.useCallback)(e=>{l.current&&o({x:l.current.origX+(e.clientX-l.current.startX),y:l.current.origY+(e.clientY-l.current.startY)})},[]),m=(0,a.useCallback)(()=>{l.current=null,s(!1)},[]);return(0,a.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>e.preventDefault();return t.addEventListener("wheel",n,{passive:!1}),()=>t.removeEventListener("wheel",n)},[]),{containerRef:e,scale:t,translate:r,dragging:i,reset:c,zoomCenter:u,onWheel:h,onPointerDown:x,onPointerMove:p,onPointerUp:m}}(),f=(0,S._r)(),[v,w]=(0,a.useState)(!1),k=v&&f===S.Uw&&!/\.svg$/i.test(t),[j,C]=(0,a.useState)(!1),N=f(e=>e.groups.some(e=>e.activeTab===n));j&&!N&&C(!1);let M=(0,a.useCallback)(()=>C(!1),[]),E="image"===y?(0,r.jsxs)(r.Fragment,{children:[k&&(0,r.jsxs)(u.IB,{onClick:()=>C(e=>!e),title:m(j?"editor.annotate.exit":"editor.annotate.hint"),children:[(0,r.jsx)(l,{className:j?"h-3 w-3 text-[var(--primary)]":"h-3 w-3"}),(0,r.jsx)("span",{className:j?"text-[var(--primary)]":void 0,children:m("editor.annotate")})]}),(0,r.jsx)(u.IB,{onClick:()=>g.zoomCenter(.8695652173913044),title:m("editor.zoomOut"),children:(0,r.jsx)(i,{className:"h-3 w-3"})}),(0,r.jsxs)("span",{className:"min-w-[3ch] text-center text-[10px] text-[var(--muted-foreground)]",children:[Math.round(100*g.scale),"%"]}),(0,r.jsx)(u.IB,{onClick:()=>g.zoomCenter(1.15),title:m("editor.zoomIn"),children:(0,r.jsx)(s,{className:"h-3 w-3"})}),(0,r.jsx)(u.IB,{onClick:g.reset,title:m("editor.resetZoom"),children:(0,r.jsx)(c.A,{className:"h-3 w-3"})}),(0,r.jsxs)(u.IB,{onClick:()=>(0,h.H)(t,'<img src="'.concat(o,'" />'),"margin:0;display:flex;justify-content:center;align-items:center;min-height:100vh;background:#fff"),title:m("editor.print"),children:[(0,r.jsx)(d.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:m("editor.print")})]})]}):null;return(0,r.jsxs)(u.no,{name:t,downloadUrl:x,onOpenAsText:p,extraToolbar:E,children:["image"===y&&(0,r.jsxs)("div",{ref:g.containerRef,className:"h-full w-full overflow-hidden bg-[#1a1a1a]",style:{cursor:g.dragging?"grabbing":"grab"},onWheel:g.onWheel,onPointerDown:g.onPointerDown,onPointerMove:g.onPointerMove,onPointerUp:g.onPointerUp,onPointerCancel:g.onPointerUp,children:[(0,r.jsx)(R.p,{src:o,alt:t,draggable:!1,placeholderClassName:"h-full w-full rounded-none bg-white/5 text-white/60",className:j?"hidden":void 0,onLoad:e=>w(e.currentTarget.naturalWidth>0),onError:()=>w(!1),style:{transformOrigin:"0 0",transform:"translate(".concat(g.translate.x,"px, ").concat(g.translate.y,"px) scale(").concat(g.scale,")")}}),j&&(0,r.jsx)(P,{src:o,name:t,viewStyle:{transform:"translate(".concat(g.translate.x,"px, ").concat(g.translate.y,"px) scale(").concat(g.scale,")")},panning:g.dragging,onClose:M})]}),"video"===y&&(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-black p-4",children:(0,r.jsx)("video",{src:o,controls:!0,className:"max-h-full max-w-full",children:(0,r.jsx)("track",{kind:"captions"})})}),"audio"===y&&(0,r.jsx)("div",{className:"flex h-full flex-col items-center justify-center gap-4 bg-[var(--background)]",children:(0,r.jsx)("audio",{src:o,controls:!0,className:"w-full max-w-md"})})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[545],{50545:(e,s,c)=>{c.d(s,{createInfoServices:()=>a.v});var a=c(22144);c(42172)}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[510],{5510:(e,t,s)=>{let n;s.d(t,{parse:()=>tG,stringify:()=>tW});let i=Symbol.for("yaml.alias"),r=Symbol.for("yaml.document"),o=Symbol.for("yaml.map"),l=Symbol.for("yaml.pair"),a=Symbol.for("yaml.scalar"),c=Symbol.for("yaml.seq"),u=Symbol.for("yaml.node.type"),h=e=>!!e&&"object"==typeof e&&e[u]===i,f=e=>!!e&&"object"==typeof e&&e[u]===r,d=e=>!!e&&"object"==typeof e&&e[u]===o,p=e=>!!e&&"object"==typeof e&&e[u]===l,m=e=>!!e&&"object"==typeof e&&e[u]===a,y=e=>!!e&&"object"==typeof e&&e[u]===c;function g(e){if(e&&"object"==typeof e)switch(e[u]){case o:case c:return!0}return!1}function b(e){if(e&&"object"==typeof e)switch(e[u]){case i:case o:case a:case c:return!0}return!1}let k=e=>(m(e)||g(e))&&!!e.anchor,w=Symbol("break visit"),v=Symbol("skip children"),S=Symbol("remove node");function E(e,t){let s=T(t);f(e)?N(null,e.contents,s,Object.freeze([e]))===S&&(e.contents=null):N(null,e,s,Object.freeze([]))}function N(e,t,s,n){let i=I(e,t,s,n);if(b(i)||p(i))return x(e,n,i),N(e,i,s,n);if("symbol"!=typeof i){if(g(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=N(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===w)return w;i===S&&(t.items.splice(e,1),e-=1)}}}else if(p(t)){n=Object.freeze(n.concat(t));let e=N("key",t.key,s,n);if(e===w)return w;e===S&&(t.key=null);let i=N("value",t.value,s,n);if(i===w)return w;i===S&&(t.value=null)}}return i}async function O(e,t){let s=T(t);f(e)?await A(null,e.contents,s,Object.freeze([e]))===S&&(e.contents=null):await A(null,e,s,Object.freeze([]))}async function A(e,t,s,n){let i=await I(e,t,s,n);if(b(i)||p(i))return x(e,n,i),A(e,i,s,n);if("symbol"!=typeof i){if(g(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=await A(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===w)return w;i===S&&(t.items.splice(e,1),e-=1)}}}else if(p(t)){n=Object.freeze(n.concat(t));let e=await A("key",t.key,s,n);if(e===w)return w;e===S&&(t.key=null);let i=await A("value",t.value,s,n);if(i===w)return w;i===S&&(t.value=null)}}return i}function T(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function I(e,t,s,n){return"function"==typeof s?s(e,t,n):d(t)?s.Map?.(e,t,n):y(t)?s.Seq?.(e,t,n):p(t)?s.Pair?.(e,t,n):m(t)?s.Scalar?.(e,t,n):h(t)?s.Alias?.(e,t,n):void 0}function x(e,t,s){let n=t[t.length-1];if(g(n))n.items[e]=s;else if(p(n))"key"===e?n.key=s:n.value=s;else if(f(n))n.contents=s;else{let e=h(n)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}E.BREAK=w,E.SKIP=v,E.REMOVE=S,O.BREAK=w,O.SKIP=v,O.REMOVE=S;let $={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},L=e=>e.replace(/[!,[\]{}]/g,e=>$[e]);class C{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},C.defaultYaml,e),this.tags=Object.assign({},C.defaultTags,t)}clone(){let e=new C(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new C(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:C.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},C.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:C.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},C.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),n=s.shift();switch(n){case"%TAG":{if(2!==s.length&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[e,n]=s;return this.tags[e]=n,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==s.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=s;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let s=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,s),!1}}default:return t(0,`Unknown directive ${n}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let s=e.slice(2,-1);return"!"===s||"!!"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),s)}let[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(e){return t(String(e)),null}return"!"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+L(e.substring(s.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);if(e&&n.length>0&&b(e.contents)){let s={};E(e.contents,(e,t)=>{b(t)&&t.tag&&(s[t.tag]=!0)}),t=Object.keys(s)}else t=[];for(let[i,r]of n)("!!"!==i||"tag:yaml.org,2002:"!==r)&&(!e||t.some(e=>e.startsWith(r)))&&s.push(`%TAG ${i} ${r}`);return s.join("\n")}}function _(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function B(e){let t=new Set;return E(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function K(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function j(e,t,s,n){if(n&&"object"==typeof n)if(Array.isArray(n))for(let t=0,s=n.length;t<s;++t){let s=n[t],i=j(e,n,String(t),s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}else if(n instanceof Map)for(let t of Array.from(n.keys())){let s=n.get(t),i=j(e,n,t,s);void 0===i?n.delete(t):i!==s&&n.set(t,i)}else if(n instanceof Set)for(let t of Array.from(n)){let s=j(e,n,t,t);void 0===s?n.delete(t):s!==t&&(n.delete(t),n.add(s))}else for(let[t,s]of Object.entries(n)){let i=j(e,n,t,s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}return e.call(t,s,n)}function M(e,t,s){if(Array.isArray(e))return e.map((e,t)=>M(e,String(t),s));if(e&&"function"==typeof e.toJSON){if(!s||!k(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=e=>{n.res=e,delete s.onCreate};let i=e.toJSON(t,s);return s.onCreate&&s.onCreate(i),i}return"bigint"!=typeof e||s?.keep?e:Number(e)}C.defaultYaml={explicit:!1,version:"1.2"},C.defaultTags={"!!":"tag:yaml.org,2002:"};class D{constructor(e){Object.defineProperty(this,u,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!f(e))throw TypeError("A document argument is required");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof s?s:100},o=M(this,"",r);if("function"==typeof n)for(let{count:e,res:t}of r.anchors.values())n(t,e);return"function"==typeof i?j(i,{"":o},"",o):o}}class P extends D{constructor(e){super(i),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let s,n;for(let i of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],E(e,{Node:(e,t)=>{(h(t)||k(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,r=this.resolve(n,t);if(!r)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=s.get(r);if(o||(M(r,null,t),o=s.get(r)),o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,s,n){if(h(s)){let e=s.resolve(t),i=n&&e&&n.get(e);return i?i.count*i.aliasCount:0}if(g(s)){let i=0;for(let r of s.items){let s=e(t,r,n);s>i&&(i=s)}return i}return p(s)?Math.max(e(t,s.key,n),e(t,s.value,n)):1}(n,r,s)),o.count*o.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if(_(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${n} `}return n}}let q=e=>!e||"function"!=typeof e&&"object"!=typeof e;class U extends D{constructor(e){super(a),this.value=e}toJSON(e,t){return t?.keep?this.value:M(this.value,e,t)}toString(){return String(this.value)}}function R(e,t,s){let n;if(f(e)&&(e=e.contents),b(e))return e;if(p(e)){let t=s.schema[o].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:r,onTagObj:l,schema:a,sourceObjects:u}=s;if(i&&e&&"object"==typeof e){if(n=u.get(e))return n.anchor??(n.anchor=r(e)),new P(n.anchor);n={anchor:null,node:null},u.set(e,n)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let h=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),n=e.find(e=>!e.format)??e[0];if(!n)throw Error(`Tag ${t} not found`);return n}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,a.tags);if(!h){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new U(e);return n&&(n.node=t),t}h=e instanceof Map?a[o]:Symbol.iterator in Object(e)?a[c]:a[o]}l&&(l(h),delete s.onTagObj);let d=h?.createNode?h.createNode(s.schema,e,s):"function"==typeof h?.nodeClass?.from?h.nodeClass.from(s.schema,e,s):new U(e);return t?d.tag=t:h.default||(d.tag=h.tag),n&&(n.node=d),d}function F(e,t,s){let n=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if("number"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=n,n=e}else n=new Map([[s,n]])}return R(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}U.BLOCK_FOLDED="BLOCK_FOLDED",U.BLOCK_LITERAL="BLOCK_LITERAL",U.PLAIN="PLAIN",U.QUOTE_DOUBLE="QUOTE_DOUBLE",U.QUOTE_SINGLE="QUOTE_SINGLE";let J=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class V extends D{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>b(t)||p(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(J(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(g(i))i.addIn(n,t);else if(void 0===i&&this.schema)this.set(s,F(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let n=this.get(t,!0);if(g(n))return n.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return 0===n.length?!t&&m(i)?i.value:i:g(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!p(t))return!1;let s=t.value;return null==s||e&&m(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let n=this.get(t,!0);return!!g(n)&&n.hasIn(s)}setIn(e,t){let[s,...n]=e;if(0===n.length)this.set(s,t);else{let e=this.get(s,!0);if(g(e))e.setIn(n,t);else if(void 0===e&&this.schema)this.set(s,F(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}}let G=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function W(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let Y=(e,t,s)=>e.endsWith("\n")?W(s,t):s.includes("\n")?"\n"+W(s,t):(e.endsWith(" ")?"":" ")+s,H="flow",Q="block",X="quoted";function z(e,t,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:l}={}){let a,c,u;if(!i||i<0)return e;i<r&&(r=0);let h=Math.max(1+r,1+i-t.length);if(e.length<=h)return e;let f=[],d={},p=i-t.length;"number"==typeof n&&(n>i-Math.max(2,r)?f.push(0):p=i-n);let m=!1,y=-1,g=-1,b=-1;for(s===Q&&-1!==(y=Z(e,y,t.length))&&(p=y+h);u=e[y+=1];){if(s===X&&"\\"===u){switch(g=y,e[y+1]){case"x":y+=3;break;case"u":y+=5;break;case"U":y+=9;break;default:y+=1}b=y}if("\n"===u)s===Q&&(y=Z(e,y,t.length)),p=y+t.length+h,a=void 0;else{if(" "===u&&c&&" "!==c&&"\n"!==c&&" "!==c){let t=e[y+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(a=y)}if(y>=p)if(a)f.push(a),p=a+h,a=void 0;else if(s===X){for(;" "===c||" "===c;)c=u,u=e[y+=1],m=!0;let t=y>b+1?y-2:g-1;if(d[t])return e;f.push(t),d[t]=!0,p=t+h,a=void 0}else m=!0}c=u}if(m&&l&&l(),0===f.length)return e;o&&o();let k=e.slice(0,f[0]);for(let n=0;n<f.length;++n){let i=f[n],r=f[n+1]||e.length;0===i?k=`
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5510],{5510:(e,t,s)=>{let n;s.d(t,{parse:()=>tG,stringify:()=>tW});let i=Symbol.for("yaml.alias"),r=Symbol.for("yaml.document"),o=Symbol.for("yaml.map"),l=Symbol.for("yaml.pair"),a=Symbol.for("yaml.scalar"),c=Symbol.for("yaml.seq"),u=Symbol.for("yaml.node.type"),h=e=>!!e&&"object"==typeof e&&e[u]===i,f=e=>!!e&&"object"==typeof e&&e[u]===r,d=e=>!!e&&"object"==typeof e&&e[u]===o,p=e=>!!e&&"object"==typeof e&&e[u]===l,m=e=>!!e&&"object"==typeof e&&e[u]===a,y=e=>!!e&&"object"==typeof e&&e[u]===c;function g(e){if(e&&"object"==typeof e)switch(e[u]){case o:case c:return!0}return!1}function b(e){if(e&&"object"==typeof e)switch(e[u]){case i:case o:case a:case c:return!0}return!1}let k=e=>(m(e)||g(e))&&!!e.anchor,w=Symbol("break visit"),v=Symbol("skip children"),S=Symbol("remove node");function E(e,t){let s=T(t);f(e)?N(null,e.contents,s,Object.freeze([e]))===S&&(e.contents=null):N(null,e,s,Object.freeze([]))}function N(e,t,s,n){let i=I(e,t,s,n);if(b(i)||p(i))return x(e,n,i),N(e,i,s,n);if("symbol"!=typeof i){if(g(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=N(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===w)return w;i===S&&(t.items.splice(e,1),e-=1)}}}else if(p(t)){n=Object.freeze(n.concat(t));let e=N("key",t.key,s,n);if(e===w)return w;e===S&&(t.key=null);let i=N("value",t.value,s,n);if(i===w)return w;i===S&&(t.value=null)}}return i}async function O(e,t){let s=T(t);f(e)?await A(null,e.contents,s,Object.freeze([e]))===S&&(e.contents=null):await A(null,e,s,Object.freeze([]))}async function A(e,t,s,n){let i=await I(e,t,s,n);if(b(i)||p(i))return x(e,n,i),A(e,i,s,n);if("symbol"!=typeof i){if(g(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=await A(e,t.items[e],s,n);if("number"==typeof i)e=i-1;else{if(i===w)return w;i===S&&(t.items.splice(e,1),e-=1)}}}else if(p(t)){n=Object.freeze(n.concat(t));let e=await A("key",t.key,s,n);if(e===w)return w;e===S&&(t.key=null);let i=await A("value",t.value,s,n);if(i===w)return w;i===S&&(t.value=null)}}return i}function T(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function I(e,t,s,n){return"function"==typeof s?s(e,t,n):d(t)?s.Map?.(e,t,n):y(t)?s.Seq?.(e,t,n):p(t)?s.Pair?.(e,t,n):m(t)?s.Scalar?.(e,t,n):h(t)?s.Alias?.(e,t,n):void 0}function x(e,t,s){let n=t[t.length-1];if(g(n))n.items[e]=s;else if(p(n))"key"===e?n.key=s:n.value=s;else if(f(n))n.contents=s;else{let e=h(n)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}E.BREAK=w,E.SKIP=v,E.REMOVE=S,O.BREAK=w,O.SKIP=v,O.REMOVE=S;let $={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},L=e=>e.replace(/[!,[\]{}]/g,e=>$[e]);class C{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},C.defaultYaml,e),this.tags=Object.assign({},C.defaultTags,t)}clone(){let e=new C(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new C(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:C.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},C.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:C.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},C.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),n=s.shift();switch(n){case"%TAG":{if(2!==s.length&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[e,n]=s;return this.tags[e]=n,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==s.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=s;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let s=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,s),!1}}default:return t(0,`Unknown directive ${n}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let s=e.slice(2,-1);return"!"===s||"!!"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),s)}let[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(e){return t(String(e)),null}return"!"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+L(e.substring(s.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);if(e&&n.length>0&&b(e.contents)){let s={};E(e.contents,(e,t)=>{b(t)&&t.tag&&(s[t.tag]=!0)}),t=Object.keys(s)}else t=[];for(let[i,r]of n)("!!"!==i||"tag:yaml.org,2002:"!==r)&&(!e||t.some(e=>e.startsWith(r)))&&s.push(`%TAG ${i} ${r}`);return s.join("\n")}}function _(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function B(e){let t=new Set;return E(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function K(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function j(e,t,s,n){if(n&&"object"==typeof n)if(Array.isArray(n))for(let t=0,s=n.length;t<s;++t){let s=n[t],i=j(e,n,String(t),s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}else if(n instanceof Map)for(let t of Array.from(n.keys())){let s=n.get(t),i=j(e,n,t,s);void 0===i?n.delete(t):i!==s&&n.set(t,i)}else if(n instanceof Set)for(let t of Array.from(n)){let s=j(e,n,t,t);void 0===s?n.delete(t):s!==t&&(n.delete(t),n.add(s))}else for(let[t,s]of Object.entries(n)){let i=j(e,n,t,s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}return e.call(t,s,n)}function M(e,t,s){if(Array.isArray(e))return e.map((e,t)=>M(e,String(t),s));if(e&&"function"==typeof e.toJSON){if(!s||!k(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=e=>{n.res=e,delete s.onCreate};let i=e.toJSON(t,s);return s.onCreate&&s.onCreate(i),i}return"bigint"!=typeof e||s?.keep?e:Number(e)}C.defaultYaml={explicit:!1,version:"1.2"},C.defaultTags={"!!":"tag:yaml.org,2002:"};class D{constructor(e){Object.defineProperty(this,u,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!f(e))throw TypeError("A document argument is required");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof s?s:100},o=M(this,"",r);if("function"==typeof n)for(let{count:e,res:t}of r.anchors.values())n(t,e);return"function"==typeof i?j(i,{"":o},"",o):o}}class P extends D{constructor(e){super(i),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let s,n;for(let i of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],E(e,{Node:(e,t)=>{(h(t)||k(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,r=this.resolve(n,t);if(!r)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=s.get(r);if(o||(M(r,null,t),o=s.get(r)),o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,s,n){if(h(s)){let e=s.resolve(t),i=n&&e&&n.get(e);return i?i.count*i.aliasCount:0}if(g(s)){let i=0;for(let r of s.items){let s=e(t,r,n);s>i&&(i=s)}return i}return p(s)?Math.max(e(t,s.key,n),e(t,s.value,n)):1}(n,r,s)),o.count*o.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if(_(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${n} `}return n}}let q=e=>!e||"function"!=typeof e&&"object"!=typeof e;class U extends D{constructor(e){super(a),this.value=e}toJSON(e,t){return t?.keep?this.value:M(this.value,e,t)}toString(){return String(this.value)}}function R(e,t,s){let n;if(f(e)&&(e=e.contents),b(e))return e;if(p(e)){let t=s.schema[o].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:r,onTagObj:l,schema:a,sourceObjects:u}=s;if(i&&e&&"object"==typeof e){if(n=u.get(e))return n.anchor??(n.anchor=r(e)),new P(n.anchor);n={anchor:null,node:null},u.set(e,n)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let h=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),n=e.find(e=>!e.format)??e[0];if(!n)throw Error(`Tag ${t} not found`);return n}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,a.tags);if(!h){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new U(e);return n&&(n.node=t),t}h=e instanceof Map?a[o]:Symbol.iterator in Object(e)?a[c]:a[o]}l&&(l(h),delete s.onTagObj);let d=h?.createNode?h.createNode(s.schema,e,s):"function"==typeof h?.nodeClass?.from?h.nodeClass.from(s.schema,e,s):new U(e);return t?d.tag=t:h.default||(d.tag=h.tag),n&&(n.node=d),d}function F(e,t,s){let n=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if("number"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=n,n=e}else n=new Map([[s,n]])}return R(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}U.BLOCK_FOLDED="BLOCK_FOLDED",U.BLOCK_LITERAL="BLOCK_LITERAL",U.PLAIN="PLAIN",U.QUOTE_DOUBLE="QUOTE_DOUBLE",U.QUOTE_SINGLE="QUOTE_SINGLE";let J=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class V extends D{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>b(t)||p(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(J(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(g(i))i.addIn(n,t);else if(void 0===i&&this.schema)this.set(s,F(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let n=this.get(t,!0);if(g(n))return n.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return 0===n.length?!t&&m(i)?i.value:i:g(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!p(t))return!1;let s=t.value;return null==s||e&&m(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let n=this.get(t,!0);return!!g(n)&&n.hasIn(s)}setIn(e,t){let[s,...n]=e;if(0===n.length)this.set(s,t);else{let e=this.get(s,!0);if(g(e))e.setIn(n,t);else if(void 0===e&&this.schema)this.set(s,F(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}}let G=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function W(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let Y=(e,t,s)=>e.endsWith("\n")?W(s,t):s.includes("\n")?"\n"+W(s,t):(e.endsWith(" ")?"":" ")+s,H="flow",Q="block",X="quoted";function z(e,t,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:l}={}){let a,c,u;if(!i||i<0)return e;i<r&&(r=0);let h=Math.max(1+r,1+i-t.length);if(e.length<=h)return e;let f=[],d={},p=i-t.length;"number"==typeof n&&(n>i-Math.max(2,r)?f.push(0):p=i-n);let m=!1,y=-1,g=-1,b=-1;for(s===Q&&-1!==(y=Z(e,y,t.length))&&(p=y+h);u=e[y+=1];){if(s===X&&"\\"===u){switch(g=y,e[y+1]){case"x":y+=3;break;case"u":y+=5;break;case"U":y+=9;break;default:y+=1}b=y}if("\n"===u)s===Q&&(y=Z(e,y,t.length)),p=y+t.length+h,a=void 0;else{if(" "===u&&c&&" "!==c&&"\n"!==c&&" "!==c){let t=e[y+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(a=y)}if(y>=p)if(a)f.push(a),p=a+h,a=void 0;else if(s===X){for(;" "===c||" "===c;)c=u,u=e[y+=1],m=!0;let t=y>b+1?y-2:g-1;if(d[t])return e;f.push(t),d[t]=!0,p=t+h,a=void 0}else m=!0}c=u}if(m&&l&&l(),0===f.length)return e;o&&o();let k=e.slice(0,f[0]);for(let n=0;n<f.length;++n){let i=f[n],r=f[n+1]||e.length;0===i?k=`
|
|
2
2
|
${t}${e.slice(0,r)}`:(s===X&&d[i]&&(k+=`${e[i]}\\`),k+=`
|
|
3
3
|
${t}${e.slice(i+1,r)}`)}return k}function Z(e,t,s){let n=t,i=t+1,r=e[i];for(;" "===r||" "===r;)if(t<i+s)r=e[++t];else{do r=e[++t];while(r&&"\n"!==r);n=t,r=e[i=t+1]}return n}let ee=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),et=e=>/^(%|---|\.\.\.)/m.test(e);function es(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(et(e)?" ":""),o="",l=0;for(let e=0,t=s[e];t;t=s[++e])if(" "===t&&"\\"===s[e+1]&&"n"===s[e+2]&&(o+=s.slice(l,e)+"\\ ",e+=1,l=e,t="\\"),"\\"===t)switch(s[e+1]){case"u":{o+=s.slice(l,e);let t=s.substr(e+2,4);switch(t){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:"00"===t.substr(0,2)?o+="\\x"+t.substr(2):o+=s.substr(e,6)}e+=5,l=e+1}break;case"n":if(n||'"'===s[e+2]||s.length<i)e+=1;else{for(o+=s.slice(l,e)+"\n\n";"\\"===s[e+2]&&"n"===s[e+3]&&'"'!==s[e+4];)o+="\n",e+=2;o+=r," "===s[e+2]&&(o+="\\"),e+=1,l=e+1}break;default:e+=1}return o=l?o+s.slice(l):s,n?o:z(o,r,X,ee(t,!1))}function en(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return es(e,t);let s=t.indent||(et(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
4
4
|
${s}`)+"'";return t.implicitKey?n:z(n,s,H,ee(t,!1))}function ei(e,t){let s,{singleQuote:n}=t.options;if(!1===n)s=es;else{let t=e.includes('"'),i=e.includes("'");s=t&&!i?en:i&&!t?es:n?en:es}return s(e,t)}try{n=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{n=/\n+(?!\n|$)/g}function er({comment:e,type:t,value:s},i,r,o){let l,a,c,{blockQuote:u,commentString:h,lineWidth:f}=i.options;if(!u||/\n[\t ]+$/.test(s))return ei(s,i);let d=i.indent||(i.forceBlockIndent||et(s)?" ":""),p="literal"===u||"folded"!==u&&t!==U.BLOCK_FOLDED&&(t===U.BLOCK_LITERAL||!function(e,t,s){if(!t||t<0)return!1;let n=t-s,i=e.length;if(i<=n)return!1;for(let t=0,s=0;t<i;++t)if("\n"===e[t]){if(t-s>n)return!0;if(i-(s=t+1)<=n)return!1}return!0}(s,f,d.length));if(!s)return p?"|\n":">\n";for(a=s.length;a>0;--a){let e=s[a-1];if("\n"!==e&&" "!==e&&" "!==e)break}let m=s.substring(a),y=m.indexOf("\n");-1===y?l="-":s===m||y!==m.length-1?(l="+",o&&o()):l="",m&&(s=s.slice(0,-m.length),"\n"===m[m.length-1]&&(m=m.slice(0,-1)),m=m.replace(n,`$&${d}`));let g=!1,b=-1;for(c=0;c<s.length;++c){let e=s[c];if(" "===e)g=!0;else if("\n"===e)b=c;else break}let k=s.substring(0,b<c?b+1:c);k&&(s=s.substring(k.length),k=k.replace(/\n+/g,`$&${d}`));let w=d?"2":"1",v=(g?w:"")+l;if(e&&(v+=" "+h(e.replace(/ ?[\r\n]+/g," ")),r&&r()),!p){let e=s.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${d}`),n=!1,r=ee(i,!0);"folded"!==u&&t!==U.BLOCK_FOLDED&&(r.onOverflow=()=>{n=!0});let o=z(`${k}${e}${m}`,d,Q,r);if(!n)return`>${v}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5593],{95593:(e,f,a)=>{a.d(f,{diagram:()=>ei});var c=a(92826);a(58442);var t=a(88252),d=a(93962),n=a(97423),b=a(59814),i=a(71788);function r(e){for(var f=e.length/6|0,a=Array(f),c=0;c<f;)a[c]="#"+e.slice(6*c,6*++c);return a}r("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),r("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),r("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),r("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),r("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),r("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),r("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),r("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),r("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),r("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var o=r("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),s=e=>(0,b.z4)(e[e.length-1]);function l(e){var f=e.length;return function(a){return e[Math.max(0,Math.min(f-1,Math.floor(a*f)))]}}function h(e,f){let a;if(void 0===f)for(let f of e)null!=f&&(a>f||void 0===a&&f>=f)&&(a=f);else{let c=-1;for(let t of e)null!=(t=f(t,++c,e))&&(a>t||void 0===a&&t>=t)&&(a=t)}return a}function u(e){return e.target.depth}function y(e,f){return e.sourceLinks.length?e.depth:f-1}function p(e,f){let a=0;if(void 0===f)for(let f of e)(f*=1)&&(a+=f);else{let c=-1;for(let t of e)(t=+f(t,++c,e))&&(a+=t)}return a}function g(e,f){let a;if(void 0===f)for(let f of e)null!=f&&(a<f||void 0===a&&f>=f)&&(a=f);else{let c=-1;for(let t of e)null!=(t=f(t,++c,e))&&(a<t||void 0===a&&t>=t)&&(a=t)}return a}function _(e){return function(){return e}}function m(e,f){return k(e.source,f.source)||e.index-f.index}function x(e,f){return k(e.target,f.target)||e.index-f.index}function k(e,f){return e.y0-f.y0}function v(e){return e.value}function S(e){return e.index}function E(e){return e.nodes}function w(e){return e.links}function K(e,f){let a=e.get(f);if(!a)throw Error("missing: "+f);return a}function A({nodes:e}){for(let f of e){let e=f.y0,a=e;for(let a of f.sourceLinks)a.y0=e+a.width/2,e+=a.width;for(let e of f.targetLinks)e.y1=a+e.width/2,a+=e.width}}s([,,,].concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(r)),s([,,,].concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(r)),s([,,,].concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(r)),s([,,,].concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(r)),s([,,,].concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(r)),s([,,,].concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(r)),s([,,,].concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(r)),s([,,,].concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(r)),s([,,,].concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(r)),s([,,,].concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(r)),s([,,,].concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(r)),s([,,,].concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(r)),s([,,,].concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(r)),s([,,,].concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(r)),s([,,,].concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(r)),s([,,,].concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(r)),s([,,,].concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(r)),s([,,,].concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(r)),s([,,,].concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(r)),s([,,,].concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(r)),s([,,,].concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(r)),s([,,,].concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(r)),s([,,,].concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(r)),s([,,,].concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(r)),s([,,,].concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(r)),s([,,,].concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(r)),s([,,,].concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(r)),(0,b.Xl)((0,i.UB)(300,.5,0),(0,i.UB)(-240,.5,1)),(0,b.Xl)((0,i.UB)(-100,.75,.35),(0,i.UB)(80,1.5,.8)),(0,b.Xl)((0,i.UB)(260,.75,.35),(0,i.UB)(80,1.5,.8)),(0,i.UB)(),(0,i.Qh)(),Math.PI,l(r("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),l(r("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),l(r("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),l(r("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));var L=Math.PI,M=2*L,I=M-1e-6;function T(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function P(){return new T}T.prototype=P.prototype={constructor:T,moveTo:function(e,f){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+f)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,f){this._+="L"+(this._x1=+e)+","+(this._y1=+f)},quadraticCurveTo:function(e,f,a,c){this._+="Q"+ +e+","+ +f+","+(this._x1=+a)+","+(this._y1=+c)},bezierCurveTo:function(e,f,a,c,t,d){this._+="C"+ +e+","+ +f+","+ +a+","+ +c+","+(this._x1=+t)+","+(this._y1=+d)},arcTo:function(e,f,a,c,t){e*=1,f*=1,a*=1,c*=1,t*=1;var d=this._x1,n=this._y1,b=a-e,i=c-f,r=d-e,o=n-f,s=r*r+o*o;if(t<0)throw Error("negative radius: "+t);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=f);else if(s>1e-6)if(Math.abs(o*b-i*r)>1e-6&&t){var l=a-d,h=c-n,u=b*b+i*i,y=Math.sqrt(u),p=Math.sqrt(s),g=t*Math.tan((L-Math.acos((u+s-(l*l+h*h))/(2*y*p)))/2),_=g/p,m=g/y;Math.abs(_-1)>1e-6&&(this._+="L"+(e+_*r)+","+(f+_*o)),this._+="A"+t+","+t+",0,0,"+ +(o*l>r*h)+","+(this._x1=e+m*b)+","+(this._y1=f+m*i)}else this._+="L"+(this._x1=e)+","+(this._y1=f)},arc:function(e,f,a,c,t,d){e*=1,f*=1,a*=1,d=!!d;var n=a*Math.cos(c),b=a*Math.sin(c),i=e+n,r=f+b,o=1^d,s=d?c-t:t-c;if(a<0)throw Error("negative radius: "+a);null===this._x1?this._+="M"+i+","+r:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-r)>1e-6)&&(this._+="L"+i+","+r),a&&(s<0&&(s=s%M+M),s>I?this._+="A"+a+","+a+",0,1,"+o+","+(e-n)+","+(f-b)+"A"+a+","+a+",0,1,"+o+","+(this._x1=i)+","+(this._y1=r):s>1e-6&&(this._+="A"+a+","+a+",0,"+ +(s>=L)+","+o+","+(this._x1=e+a*Math.cos(t))+","+(this._y1=f+a*Math.sin(t))))},rect:function(e,f,a,c){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+f)+"h"+ +a+"v"+ +c+"h"+-a+"Z"},toString:function(){return this._}};var N=Array.prototype.slice;function C(e){return function(){return e}}function $(e){return e[0]}function D(e){return e[1]}function O(e){return e.source}function U(e){return e.target}function j(e,f,a,c,t){e.moveTo(f,a),e.bezierCurveTo(f=(f+c)/2,a,f,t,c,t)}function z(e){return[e.source.x1,e.y0]}function B(e){return[e.target.x0,e.y1]}var F=function(){var e=(0,t.K)(function(e,f,a,c){for(a=a||{},c=e.length;c--;a[e[c]]=f);return a},"o"),f=[1,9],a=[1,10],c=[1,5,10,12],d={trace:(0,t.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,t.K)(function(e,f,a,c,t,d,n){var b=d.length-1;switch(t){case 7:let i=c.findOrCreateNode(d[b-4].trim().replaceAll('""','"')),r=c.findOrCreateNode(d[b-2].trim().replaceAll('""','"')),o=parseFloat(d[b].trim());c.addLink(i,r,o);break;case 8:case 9:case 11:this.$=d[b];break;case 10:this.$=d[b-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:f,20:a},{1:[2,6],7:11,10:[1,12]},e(a,[2,4],{9:13,5:[1,14]}),{12:[1,15]},e(c,[2,8]),e(c,[2,9]),{19:[1,16]},e(c,[2,11]),{1:[2,1]},{1:[2,5]},e(a,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:f,20:a},{15:18,16:7,17:8,18:f,20:a},{18:[1,19]},e(a,[2,3]),{12:[1,20]},e(c,[2,10]),{15:21,16:7,17:8,18:f,20:a},e([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,t.K)(function(e,f){if(f.recoverable)this.trace(e);else{var a=Error(e);throw a.hash=f,a}},"parseError"),parse:(0,t.K)(function(e){var f=this,a=[0],c=[],d=[null],n=[],b=this.table,i="",r=0,o=0,s=0,l=n.slice.call(arguments,1),h=Object.create(this.lexer),u={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(u[y]=this.yy[y]);h.setInput(e,u),u.lexer=h,u.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;n.push(p);var g=h.options&&h.options.ranges;function _(){var e;return"number"!=typeof(e=c.pop()||h.lex()||1)&&(e instanceof Array&&(e=(c=e).pop()),e=f.symbols_[e]||e),e}"function"==typeof u.parseError?this.parseError=u.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,t.K)(function(e){a.length=a.length-2*e,d.length=d.length-e,n.length=n.length-e},"popStack"),(0,t.K)(_,"lex");for(var m,x,k,v,S,E,w,K,A,L={};;){if(k=a[a.length-1],this.defaultActions[k]?v=this.defaultActions[k]:(null==m&&(m=_()),v=b[k]&&b[k][m]),void 0===v||!v.length||!v[0]){var M="";for(E in A=[],b[k])this.terminals_[E]&&E>2&&A.push("'"+this.terminals_[E]+"'");M=h.showPosition?"Parse error on line "+(r+1)+":\n"+h.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(r+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(M,{text:h.match,token:this.terminals_[m]||m,line:h.yylineno,loc:p,expected:A})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+m);switch(v[0]){case 1:a.push(m),d.push(h.yytext),n.push(h.yylloc),a.push(v[1]),m=null,x?(m=x,x=null):(o=h.yyleng,i=h.yytext,r=h.yylineno,p=h.yylloc,s>0&&s--);break;case 2:if(w=this.productions_[v[1]][1],L.$=d[d.length-w],L._$={first_line:n[n.length-(w||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(w||1)].first_column,last_column:n[n.length-1].last_column},g&&(L._$.range=[n[n.length-(w||1)].range[0],n[n.length-1].range[1]]),void 0!==(S=this.performAction.apply(L,[i,o,r,u,v[1],d,n].concat(l))))return S;w&&(a=a.slice(0,-1*w*2),d=d.slice(0,-1*w),n=n.slice(0,-1*w)),a.push(this.productions_[v[1]][0]),d.push(L.$),n.push(L._$),K=b[a[a.length-2]][a[a.length-1]],a.push(K);break;case 3:return!0}}return!0},"parse")};function n(){this.yy={}}return d.lexer={EOF:1,parseError:(0,t.K)(function(e,f){if(this.yy.parser)this.yy.parser.parseError(e,f);else throw Error(e)},"parseError"),setInput:(0,t.K)(function(e,f){return this.yy=f||this.yy||{},this._input=e,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:(0,t.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,t.K)(function(e){var f=e.length,a=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var c=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),a.length-1&&(this.yylineno-=a.length-1);var t=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:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:(0,t.K)(function(){return this._more=!0,this},"more"),reject:(0,t.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,t.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,t.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,t.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,t.K)(function(){var e=this.pastInput(),f=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+f+"^"},"showPosition"),test_match:(0,t.K)(function(e,f){var a,c,t;if(this.options.backtrack_lexer&&(t={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(t.yylloc.range=this.yylloc.range.slice(0))),(c=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=c.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-c[c.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],a=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var d in t)this[d]=t[d];return!1},"test_match"),next:(0,t.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,f,a,c,t=this._currentRules(),d=0;d<t.length;d++)if((a=this._input.match(this.rules[t[d]]))&&(!f||a[0].length>f[0].length)){if(f=a,c=d,this.options.backtrack_lexer){if(!1!==(e=this.test_match(a,t[d])))return e;if(!this._backtrack)return!1;f=!1;continue}if(!this.options.flex)break}return f?!1!==(e=this.test_match(f,t[c]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,t.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,t.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,t.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,t.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,t.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,t.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,t.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,t.K)(function(e,f,a,c){switch(a){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,t.K)(n,"Parser"),n.prototype=d,d.Parser=n,new n}();F.parser=F;var W=[],X=[],V=new Map,G=(0,t.K)(()=>{W=[],X=[],V=new Map,(0,c.IU)()},"clear"),Q=class{constructor(e,f,a=0){this.source=e,this.target=f,this.value=a}static{(0,t.K)(this,"SankeyLink")}},Y=(0,t.K)((e,f,a)=>{W.push(new Q(e,f,a))},"addLink"),q=class{constructor(e){this.ID=e}static{(0,t.K)(this,"SankeyNode")}},R=(0,t.K)(e=>{e=c.Y2.sanitizeText(e,(0,c.D7)());let f=V.get(e);return void 0===f&&(f=new q(e),V.set(e,f),X.push(f)),f},"findOrCreateNode"),Z=(0,t.K)(()=>X,"getNodes"),H=(0,t.K)(()=>W,"getLinks"),J=(0,t.K)(()=>({nodes:X.map(e=>({id:e.ID})),links:W.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),ee={nodesMap:V,getConfig:(0,t.K)(()=>(0,c.D7)().sankey,"getConfig"),getNodes:Z,getLinks:H,getGraph:J,addLink:Y,findOrCreateNode:R,getAccTitle:c.iN,setAccTitle:c.SV,getAccDescription:c.m7,setAccDescription:c.EI,getDiagramTitle:c.ab,setDiagramTitle:c.ke,clear:G},ef=class e{static{(0,t.K)(this,"Uid")}static{this.count=0}static next(f){return new e(f+ ++e.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},ea={left:function(e){return e.depth},right:function(e,f){return f-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?h(e.sourceLinks,u)-1:0},justify:y},ec=(0,t.K)(e=>{let f=0,a=0;for(let c of e){let e=c.value??0;e>f&&(f=e,a=c.layer??0)}return a},"findCentralNodeLayer"),et=(0,t.K)(function(e,f,a,b){let i,r,{securityLevel:s,sankey:l}=(0,c.D7)(),u=c.ME.sankey;"sandbox"===s&&(i=(0,d.Lt)("#i"+f));let L="sandbox"===s?(0,d.Lt)(i.nodes()[0].contentDocument.body):(0,d.Lt)("body"),M="sandbox"===s?L.select(`[id="${f}"]`):(0,d.Lt)(`[id="${f}"]`),I=l?.width??u.width,T=l?.height??u.width,F=l?.useMaxWidth??u.useMaxWidth,W=l?.nodeAlignment??u.nodeAlignment,X=l?.prefix??u.prefix,V=l?.suffix??u.suffix,G=l?.showValues??u.showValues,Q=l?.nodeWidth??u.nodeWidth??10,Y=l?.nodePadding??u.nodePadding??12,q=l?.labelStyle??u.labelStyle??"legacy",R=l?.nodeColors??{},Z=b.db.getGraph(),H=ea[W];(function(){let e,f,a=0,c=0,t=1,d=1,n=24,b=8,i,r=S,o=y,s=E,l=w,u=6;function L(){let y={nodes:s.apply(null,arguments),links:l.apply(null,arguments)};return function({nodes:e,links:a}){for(let[f,a]of e.entries())a.index=f,a.sourceLinks=[],a.targetLinks=[];let c=new Map(e.map((f,a)=>[r(f,a,e),f]));for(let[e,f]of a.entries()){f.index=e;let{source:a,target:t}=f;"object"!=typeof a&&(a=f.source=K(c,a)),"object"!=typeof t&&(t=f.target=K(c,t)),a.sourceLinks.push(f),t.targetLinks.push(f)}if(null!=f)for(let{sourceLinks:a,targetLinks:c}of e)a.sort(f),c.sort(f)}(y),function({nodes:e}){for(let f of e)f.value=void 0===f.fixedValue?Math.max(p(f.sourceLinks,v),p(f.targetLinks,v)):f.fixedValue}(y),function({nodes:e}){let f=e.length,a=new Set(e),c=new Set,t=0;for(;a.size;){for(let e of a)for(let{target:f}of(e.depth=t,e.sourceLinks))c.add(f);if(++t>f)throw Error("circular link");a=c,c=new Set}}(y),function({nodes:e}){let f=e.length,a=new Set(e),c=new Set,t=0;for(;a.size;){for(let e of a)for(let{source:f}of(e.height=t,e.targetLinks))c.add(f);if(++t>f)throw Error("circular link");a=c,c=new Set}}(y),function(r){let s=function({nodes:f}){let c=g(f,e=>e.depth)+1,d=(t-a-n)/(c-1),b=Array(c);for(let e of f){let f=Math.max(0,Math.min(c-1,Math.floor(o.call(null,e,c))));e.layer=f,e.x0=a+f*d,e.x1=e.x0+n,b[f]?b[f].push(e):b[f]=[e]}if(e)for(let f of b)f.sort(e);return b}(r);i=Math.min(b,(d-c)/(g(s,e=>e.length)-1));let l=h(s,e=>(d-c-(e.length-1)*i)/p(e,v));for(let e of s){let a=c;for(let f of e)for(let e of(f.y0=a,f.y1=a+f.value*l,a=f.y1+i,f.sourceLinks))e.width=e.value*l;a=(d-a+i)/(e.length+1);for(let f=0;f<e.length;++f){let c=e[f];c.y0+=a*(f+1),c.y1+=a*(f+1)}var y=e;if(void 0===f)for(let{sourceLinks:e,targetLinks:f}of y)e.sort(x),f.sort(m)}for(let f=0;f<u;++f){let a=Math.pow(.99,f),c=Math.max(1-a,(f+1)/u);(function(f,a,c){for(let t=f.length,d=t-2;d>=0;--d){let t=f[d];for(let e of t){let f=0,c=0;for(let{target:a,value:t}of e.sourceLinks){let d=t*(a.layer-e.layer);f+=function(e,f){let a=f.y0-(f.targetLinks.length-1)*i/2;for(let{source:c,width:t}of f.targetLinks){if(c===e)break;a+=t+i}for(let{target:c,width:t}of e.sourceLinks){if(c===f)break;a-=t}return a}(e,a)*d,c+=d}if(!(c>0))continue;let t=(f/c-e.y0)*a;e.y0+=t,e.y1+=t,P(e)}void 0===e&&t.sort(k),M(t,c)}})(s,a,c),function(f,a,c){for(let t=1,d=f.length;t<d;++t){let d=f[t];for(let e of d){let f=0,c=0;for(let{source:a,value:t}of e.targetLinks){let d=t*(e.layer-a.layer);f+=function(e,f){let a=e.y0-(e.sourceLinks.length-1)*i/2;for(let{target:c,width:t}of e.sourceLinks){if(c===f)break;a+=t+i}for(let{source:c,width:t}of f.targetLinks){if(c===e)break;a-=t}return a}(a,e)*d,c+=d}if(!(c>0))continue;let t=(f/c-e.y0)*a;e.y0+=t,e.y1+=t,P(e)}void 0===e&&d.sort(k),M(d,c)}}(s,a,c)}}(y),A(y),y}function M(e,f){let a=e.length>>1,t=e[a];T(e,t.y0-i,a-1,f),I(e,t.y1+i,a+1,f),T(e,d,e.length-1,f),I(e,c,0,f)}function I(e,f,a,c){for(;a<e.length;++a){let t=e[a],d=(f-t.y0)*c;d>1e-6&&(t.y0+=d,t.y1+=d),f=t.y1+i}}function T(e,f,a,c){for(;a>=0;--a){let t=e[a],d=(t.y1-f)*c;d>1e-6&&(t.y0-=d,t.y1-=d),f=t.y0-i}}function P({sourceLinks:e,targetLinks:a}){if(void 0===f){for(let{source:{sourceLinks:e}}of a)e.sort(x);for(let{target:{targetLinks:f}}of e)f.sort(m)}}return L.update=function(e){return A(e),e},L.nodeId=function(e){return arguments.length?(r="function"==typeof e?e:_(e),L):r},L.nodeAlign=function(e){return arguments.length?(o="function"==typeof e?e:_(e),L):o},L.nodeSort=function(f){return arguments.length?(e=f,L):e},L.nodeWidth=function(e){return arguments.length?(n=+e,L):n},L.nodePadding=function(e){return arguments.length?(b=i=+e,L):b},L.nodes=function(e){return arguments.length?(s="function"==typeof e?e:_(e),L):s},L.links=function(e){return arguments.length?(l="function"==typeof e?e:_(e),L):l},L.linkSort=function(e){return arguments.length?(f=e,L):f},L.size=function(e){return arguments.length?(a=c=0,t=+e[0],d=+e[1],L):[t-a,d-c]},L.extent=function(e){return arguments.length?(a=+e[0][0],t=+e[1][0],c=+e[0][1],d=+e[1][1],L):[[a,c],[t,d]]},L.iterations=function(e){return arguments.length?(u=+e,L):u},L})().nodeId(e=>e.id).nodeWidth(Q).nodePadding(Y+15*!!G).nodeAlign(H).extent([[0,0],[I,T]])(Z);let J=ec(Z.nodes),ee=(0,n.UM)(o),et=(0,t.K)(e=>R[e]??ee(e),"getNodeColor");M.append("g").attr("class","nodes").selectAll(".node").data(Z.nodes).join("g").attr("class","node").attr("id",e=>(e.uid=ef.next("node-")).id).attr("transform",function(e){return"translate("+e.x0+","+e.y0+")"}).attr("x",e=>e.x0).attr("y",e=>e.y0).append("rect").attr("height",e=>e.y1-e.y0).attr("width",e=>e.x1-e.x0).attr("fill",e=>et(e.id));let ed=(0,t.K)(({id:e,value:f})=>G?`${e}
|
|
2
|
+
${X}${Math.round(100*f)/100}${V}`:e,"getText"),en=(0,t.K)(e=>"outlined"===q?(e.layer??0)<J?{x:e.x0-6,anchor:"end"}:{x:e.x1+6,anchor:"start"}:e.x0<I/2?{x:e.x1+6,anchor:"start"}:{x:e.x0-6,anchor:"end"},"getLabelPosition"),eb=M.append("g").attr("class","node-labels").attr("font-size",14),ei=(0,t.K)(e=>eb.selectAll(e?`.${e}`:"text").data(Z.nodes).join("text").attr("class",e??null).attr("x",e=>en(e).x).attr("y",e=>(e.y1+e.y0)/2).attr("dy",`${G?"0":"0.35"}em`).attr("text-anchor",e=>en(e).anchor).text(ed),"appendLabel");"outlined"===q?(ei("sankey-label-bg"),ei("sankey-label-fg")):ei();let er=M.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(Z.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),eo=l?.linkColor??"gradient";if("gradient"===eo){let e=er.append("linearGradient").attr("id",e=>(e.uid=ef.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",e=>e.source.x1).attr("x2",e=>e.target.x0);e.append("stop").attr("offset","0%").attr("stop-color",e=>et(e.source.id)),e.append("stop").attr("offset","100%").attr("stop-color",e=>et(e.target.id))}switch(eo){case"gradient":r=(0,t.K)(e=>e.uid,"coloring");break;case"source":r=(0,t.K)(e=>et(e.source.id),"coloring");break;case"target":r=(0,t.K)(e=>et(e.target.id),"coloring");break;default:r=eo}er.append("path").attr("d",(function(e){var f=O,a=U,c=$,t=D,d=null;function n(){var n,b=N.call(arguments),i=f.apply(this,b),r=a.apply(this,b);if(d||(d=n=P()),e(d,+c.apply(this,(b[0]=i,b)),+t.apply(this,b),+c.apply(this,(b[0]=r,b)),+t.apply(this,b)),n)return d=null,n+""||null}return n.source=function(e){return arguments.length?(f=e,n):f},n.target=function(e){return arguments.length?(a=e,n):a},n.x=function(e){return arguments.length?(c="function"==typeof e?e:C(+e),n):c},n.y=function(e){return arguments.length?(t="function"==typeof e?e:C(+e),n):t},n.context=function(e){return arguments.length?(d=null==e?null:e,n):d},n})(j).source(z).target(B)).attr("stroke",r).attr("stroke-width",e=>Math.max(1,e.width)),(0,c.ot)(void 0,M,0,F)},"draw"),ed=(0,t.K)(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),en=(0,t.K)(e=>`.label {
|
|
3
|
+
font-family: ${e.fontFamily};
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.node-labels {
|
|
7
|
+
font-family: ${e.fontFamily};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Outlined label style - background stroke for better readability */
|
|
11
|
+
.sankey-label-bg {
|
|
12
|
+
stroke: ${e.mainBkg||e.background||"#fff"};
|
|
13
|
+
stroke-width: 4px;
|
|
14
|
+
stroke-linejoin: round;
|
|
15
|
+
paint-order: stroke;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Foreground label text */
|
|
19
|
+
.sankey-label-fg {
|
|
20
|
+
fill: ${e.textColor};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Node styling */
|
|
24
|
+
.node rect {
|
|
25
|
+
shape-rendering: crispEdges;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Link styling */
|
|
29
|
+
.link {
|
|
30
|
+
fill: none;
|
|
31
|
+
stroke-opacity: 0.5;
|
|
32
|
+
mix-blend-mode: multiply;
|
|
33
|
+
}
|
|
34
|
+
`,"getStyles"),eb=F.parse.bind(F);F.parse=e=>eb(ed(e));var ei={styles:en,parser:F,db:ee,renderer:{draw:et}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5700],{95700:(e,s,a)=>{a.d(s,{createRailroadAbnfServices:()=>c.s});var c=a(92663);a(42172)}}]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5741],{85741:(e,t,r)=>{r.d(t,{diagram:()=>l});var s=r(20092);r(37669),r(62240),r(77996),r(10622),r(40090),r(57380),r(64599),r(53652),r(77351),r(94712),r(73823),r(39020),r(7322),r(52361),r(55490),r(27058),r(92826),r(58442);var a=(0,r(88252).K)(e=>`${(0,s.tM)(e)}
|
|
2
|
+
.swimlane.cluster:not([data-color-id]) rect {
|
|
3
|
+
stroke: ${e.clusterBorder} !important;
|
|
4
|
+
}
|
|
5
|
+
[data-look="neo"].cluster rect {
|
|
6
|
+
filter: none;
|
|
7
|
+
}
|
|
8
|
+
`,"getStyles"),l=(0,s.ur)({styles:a})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5850],{75850:(a,e,s)=>{s.d(e,{diagram:()=>k.AC});var k=s(20092);s(37669),s(62240),s(77996),s(10622),s(40090),s(57380),s(64599),s(53652),s(77351),s(94712),s(73823),s(39020),s(7322),s(52361),s(55490),s(27058),s(92826),s(58442),s(88252)}}]);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6066],{26789:(e,t,r)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(88252).K)(i,"populateCommonDb")},54014:(e,t,r)=>{r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(56384),a=r(92826),n=r(58442),o=r(88252),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),E=(0,o.K)(e=>{let t=M(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:N(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:N(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:N(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:N(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:N(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:N(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:N(e.lineColor,F.lineColor),markerFill:N(e.lineColor,F.markerFill),commentFill:N(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:N(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:N(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:N(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:N(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:N(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),B=(0,o.K)(e=>{let t=(0,a.zj)(),r=E({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:M(i.fontFamily,r.fontFamily),terminalFill:N(i.terminalFill,r.terminalFill),terminalStroke:N(i.terminalStroke,r.terminalStroke),terminalTextColor:N(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:N(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:N(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:N(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:N(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:N(i.markerFill,r.markerFill),commentFill:N(i.commentFill,r.commentFill),commentStroke:N(i.commentStroke,r.commentStroke),commentTextColor:N(i.commentTextColor,r.commentTextColor),specialFill:N(i.specialFill,r.specialFill),specialStroke:N(i.specialStroke,r.specialStroke),ruleNameColor:N(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=B(e);return`
|
|
2
|
+
.railroad-diagram {
|
|
3
|
+
font-family: ${t};
|
|
4
|
+
font-size: ${r}px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.railroad-terminal rect {
|
|
8
|
+
fill: ${i};
|
|
9
|
+
stroke: ${a};
|
|
10
|
+
stroke-width: ${m}px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.railroad-terminal text {
|
|
14
|
+
fill: ${n};
|
|
15
|
+
font-family: ${t};
|
|
16
|
+
font-size: ${r}px;
|
|
17
|
+
text-anchor: middle;
|
|
18
|
+
dominant-baseline: middle;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.railroad-nonterminal rect {
|
|
22
|
+
fill: ${o};
|
|
23
|
+
stroke: ${l};
|
|
24
|
+
stroke-width: ${m}px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.railroad-nonterminal text {
|
|
28
|
+
fill: ${s};
|
|
29
|
+
font-family: ${t};
|
|
30
|
+
font-size: ${r}px;
|
|
31
|
+
text-anchor: middle;
|
|
32
|
+
dominant-baseline: middle;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.railroad-line {
|
|
36
|
+
stroke: ${d};
|
|
37
|
+
stroke-width: ${m}px;
|
|
38
|
+
fill: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.railroad-start circle,
|
|
42
|
+
.railroad-end circle {
|
|
43
|
+
fill: ${c};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.railroad-comment ellipse {
|
|
47
|
+
fill: ${h};
|
|
48
|
+
stroke: ${p};
|
|
49
|
+
stroke-width: ${m}px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.railroad-comment text {
|
|
53
|
+
fill: ${u};
|
|
54
|
+
font-style: italic;
|
|
55
|
+
font-family: ${t};
|
|
56
|
+
font-size: ${r}px;
|
|
57
|
+
text-anchor: middle;
|
|
58
|
+
dominant-baseline: middle;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.railroad-special rect {
|
|
62
|
+
fill: ${g};
|
|
63
|
+
stroke: ${T};
|
|
64
|
+
stroke-width: ${m}px;
|
|
65
|
+
stroke-dasharray: 5,3;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.railroad-special text {
|
|
69
|
+
fill: ${s};
|
|
70
|
+
font-family: ${t};
|
|
71
|
+
font-size: ${r}px;
|
|
72
|
+
text-anchor: middle;
|
|
73
|
+
dominant-baseline: middle;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.railroad-rule-name {
|
|
77
|
+
font-weight: bold;
|
|
78
|
+
fill: ${f};
|
|
79
|
+
font-family: ${t};
|
|
80
|
+
font-size: ${r}px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.railroad-group {
|
|
84
|
+
/* Grouping container, no specific styles */
|
|
85
|
+
}
|
|
86
|
+
`},"getStyles"),W=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},q=class{constructor(e,t=B()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new W().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new W,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new W,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new W().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new W().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new W().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new W().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new W().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new q(e,B()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}}}]);
|