@huynle/hub 0.8.6 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/README.md +69 -12
  3. package/package.json +5 -1
  4. package/packages/claude-code/package.json +1 -1
  5. package/packages/cli/dist/hub-cli.js +278 -35
  6. package/packages/cli/package.json +1 -1
  7. package/packages/cli/src/bootstrap/adapters/opencode/README.md +4 -2
  8. package/packages/cli/src/bootstrap/release/harness-pins.json +22 -0
  9. package/packages/cli/src/bootstrap/release/harness-pins.pending.json +1 -20
  10. package/packages/cli/src/cli.ts +23 -10
  11. package/packages/cli/src/http.ts +1 -0
  12. package/packages/cli/src/launches.ts +5 -1
  13. package/packages/cli/src/mcp.ts +28 -8
  14. package/packages/cli/src/messaging.ts +14 -0
  15. package/packages/cli/src/team-intake-mcp.ts +26 -2
  16. package/packages/codex/package.json +1 -1
  17. package/packages/node/package.json +1 -1
  18. package/packages/preset/package.json +1 -1
  19. package/packages/protocol/package.json +1 -1
  20. package/packages/protocol/schema/app-delivery/v1.schema.json +677 -0
  21. package/packages/protocol/src/artifacts.ts +43 -0
  22. package/packages/protocol/src/credentials.ts +38 -0
  23. package/packages/protocol/src/index.ts +56 -5
  24. package/packages/protocol/src/launch.ts +7 -2
  25. package/packages/protocol/src/markdown.ts +753 -0
  26. package/packages/protocol/src/media-allowlist.ts +240 -0
  27. package/packages/protocol/src/media.ts +120 -0
  28. package/packages/protocol/src/preview-bundle.ts +221 -0
  29. package/packages/protocol/src/voice-recording.ts +8 -0
  30. package/packages/runtime-openshell/package.json +1 -1
  31. package/packages/runtime-sdk/package.json +1 -1
  32. package/packages/sdk/package.json +1 -1
  33. package/packages/sdk/src/client.ts +17 -3
  34. package/packages/sdk/src/errors.ts +1 -0
  35. package/packages/sdk/src/team-intake.ts +8 -0
  36. package/packages/sdk/src/types.ts +16 -2
  37. package/packages/spoke-sdk/package.json +1 -1
  38. package/src/central/agent/delivery.ts +35 -6
  39. package/src/central/agent/errors.ts +2 -0
  40. package/src/central/agent/events.ts +11 -2
  41. package/src/central/agent/launch-engine.ts +65 -4
  42. package/src/central/agent/launch-routes.ts +8 -0
  43. package/src/central/agent/launch-spec.ts +18 -1
  44. package/src/central/agent/launch-store.ts +2 -2
  45. package/src/central/agent/message-routes.ts +49 -11
  46. package/src/central/agent/messages.ts +17 -4
  47. package/src/central/agent/not-after.ts +28 -0
  48. package/src/central/agent/placement.ts +36 -4
  49. package/src/central/agent/routes.ts +3 -1
  50. package/src/central/agent/webhook-routes.ts +21 -9
  51. package/src/central/agent/webhooks.ts +27 -9
  52. package/src/central/artifacts/host.ts +3 -1
  53. package/src/central/artifacts/maintenance.ts +2 -1
  54. package/src/central/artifacts/preview-bundle.ts +81 -0
  55. package/src/central/artifacts/previews.ts +94 -0
  56. package/src/central/artifacts/routes.ts +12 -1
  57. package/src/central/artifacts/store.ts +198 -8
  58. package/src/central/config.ts +34 -0
  59. package/src/central/fetch-budget.ts +59 -0
  60. package/src/central/fetcher.ts +372 -0
  61. package/src/central/http.ts +277 -22
  62. package/src/central/media-remote.ts +248 -0
  63. package/src/central/media-timeline.ts +317 -0
  64. package/src/central/media-unfurl.ts +119 -0
  65. package/src/central/profiles/content.ts +3 -35
  66. package/src/central/recording/routes.ts +2 -2
  67. package/src/central/recording/schema.ts +3 -1
  68. package/src/central/registry.ts +449 -21
  69. package/src/central/spoke-ws.ts +17 -3
  70. package/src/central/store.ts +21 -0
  71. package/src/central/teams/intake-routes.ts +2 -1
  72. package/src/central/teams/intake.ts +200 -15
  73. package/src/central/unfurl-parse.ts +313 -0
  74. package/src/index.ts +68 -8
  75. package/src/speakable.ts +33 -1
  76. package/src/spoke/conversation.ts +7 -4
  77. package/src/spoke/deliver.ts +19 -0
  78. package/src/spoke/media-bytes.ts +171 -0
  79. package/src/spoke/media-policy.ts +394 -0
  80. package/src/spoke/media.ts +189 -0
  81. package/src/spoke/own-server.ts +30 -0
  82. package/src/spoke/preview-bundle.ts +538 -0
  83. package/src/spoke/spoke.ts +387 -17
  84. package/src/spoke/timeline.ts +59 -5
  85. package/src/spoke/voice-front.ts +335 -0
  86. package/web/dist/assets/24BXRY42-Zfr7jm_p.js +2 -0
  87. package/web/dist/assets/4FHPYW2L-C6Z67098.js +2 -0
  88. package/web/dist/assets/4LWW3ZNH-CUiYeygH.js +1 -0
  89. package/web/dist/assets/5THPTBWS-Ce_hS451.js +1 -0
  90. package/web/dist/assets/5XYWFMKW-CW-BCKiK.js +4 -0
  91. package/web/dist/assets/64PMEAB3-BjpCDGU9.js +8 -0
  92. package/web/dist/assets/6BEWHPQE-BpNa96Ze.js +2 -0
  93. package/web/dist/assets/6PIGVMFT-YXn9Hgnb.js +1 -0
  94. package/web/dist/assets/75JW6PN6-BFpDBuGN.js +2 -0
  95. package/web/dist/assets/7WLXJQOR-D6QVYUu9.js +1 -0
  96. package/web/dist/assets/7XWI72E6-BMuIspEy.js +2 -0
  97. package/web/dist/assets/A4UD2L5Z-BQzcD9dU.js +8 -0
  98. package/web/dist/assets/ArtifactPage-4GoBqSpU.js +1 -0
  99. package/web/dist/assets/ArtifactPane-Dx_0iWwH.js +1 -0
  100. package/web/dist/assets/ArtifactWorkbench-CuHgARMk.js +6 -0
  101. package/web/dist/assets/BGW36YJW-CJMhya8S.js +4 -0
  102. package/web/dist/assets/CGIZI67J-DYDSLME8.js +2 -0
  103. package/web/dist/assets/DKTLEL5E-DciMwFJ1.js +1 -0
  104. package/web/dist/assets/DNNCRC2E-BIeKf5t-.js +5 -0
  105. package/web/dist/assets/Diagram-CZM_R7MG.js +1 -0
  106. package/web/dist/assets/Diagram-vdpmp3xu.css +1 -0
  107. package/web/dist/assets/E67EBMDD--AucIw59.js +5 -0
  108. package/web/dist/assets/EFYWJBJK-CVywe_D5.js +1 -0
  109. package/web/dist/assets/EXE5EH6O-DR1IHCTr.js +4 -0
  110. package/web/dist/assets/FTXIJQGB-BZVuiBn1.js +1 -0
  111. package/web/dist/assets/G3MDBVQH-BZmnMkFw.js +1 -0
  112. package/web/dist/assets/G6GPDDNC-DEz8F449.js +2 -0
  113. package/web/dist/assets/G76NGGFM-CrB2V34K.js +1 -0
  114. package/web/dist/assets/GH6G3TJC-D3RTYEH4.js +2 -0
  115. package/web/dist/assets/HPNUA7RO-B19NeNOJ.js +1 -0
  116. package/web/dist/assets/HQRGC5D7-Dmpzq6Rn.js +4 -0
  117. package/web/dist/assets/IX6Z2TVR-DphRHnek.js +5 -0
  118. package/web/dist/assets/J77NQRCJ-B7AGcxvw.js +3 -0
  119. package/web/dist/assets/JAD36DTZ-B9-dbsS0.js +5 -0
  120. package/web/dist/assets/LF3NJQAX-koL91UZ9.js +2 -0
  121. package/web/dist/assets/LRZCOFJZ-Cdjasfuf.js +6 -0
  122. package/web/dist/assets/Library-TwvrwqSk.js +2 -0
  123. package/web/dist/assets/Lightbox-C8KNKwOA.css +1 -0
  124. package/web/dist/assets/Lightbox-Du56MXGX.js +1 -0
  125. package/web/dist/assets/MediaImage-Ds_JUx3a.js +4 -0
  126. package/web/dist/assets/N5NF2FGY-OuapYTfr.js +2 -0
  127. package/web/dist/assets/N7OWWQHY-BNLd-Q_U.js +2 -0
  128. package/web/dist/assets/NT5JY5WP-1lJM-aun.js +1 -0
  129. package/web/dist/assets/OT7W3RNY-jDL3drzX.js +4 -0
  130. package/web/dist/assets/P67P66DB-CE-opRb8.js +3 -0
  131. package/web/dist/assets/PFLLLM7K-DDJFgzW3.js +2 -0
  132. package/web/dist/assets/PUAMC4MJ-CtBm-WuU.js +12 -0
  133. package/web/dist/assets/PVFCHRLY-CG5JXv60.js +2 -0
  134. package/web/dist/assets/ProfilesDestination-rKNDpLjR.js +1 -0
  135. package/web/dist/assets/QQW2P742-BbcEkpa4.js +1 -0
  136. package/web/dist/assets/RVARI57O-CgA1WoRv.js +1 -0
  137. package/web/dist/assets/S63OEDPG-CKlhpvl2.js +3 -0
  138. package/web/dist/assets/SG5TVYLW-BBtiwXPL.js +2 -0
  139. package/web/dist/assets/TeamsPage-DtJylLrt.js +1 -0
  140. package/web/dist/assets/UGRSUGA2-urZ_hx83.js +5 -0
  141. package/web/dist/assets/V44WA6U7-DYfX3OlM.js +1 -0
  142. package/web/dist/assets/V67O4WWV-xYxJ00QW.js +1 -0
  143. package/web/dist/assets/VBUCM3YD-JHGjuJC_.js +1 -0
  144. package/web/dist/assets/VINGRCPA-DZuJa3SH.js +7 -0
  145. package/web/dist/assets/WL6DNKX4-BHqripdA.js +2 -0
  146. package/web/dist/assets/WQ63CJYP-D6G5frDY.js +2 -0
  147. package/web/dist/assets/Watchtower-Bmgdyfjb.js +2 -0
  148. package/web/dist/assets/XOYAOB3S-L-KeA1EF.js +13 -0
  149. package/web/dist/assets/Y5LQLG3M-dr2-erb8.js +2 -0
  150. package/web/dist/assets/YIK6JTN6--1t-Ud8k.js +2 -0
  151. package/web/dist/assets/artifacts-DU9uRgs1.js +1 -0
  152. package/web/dist/assets/index-C3ci5UtY.css +1 -0
  153. package/web/dist/assets/index-D-xG9nrc.js +36 -0
  154. package/web/dist/assets/lazy-f3CuUNJZ.js +43 -0
  155. package/web/dist/assets/live-7q72Lyj2.js +5 -0
  156. package/web/dist/assets/mermaid.worker-WDVRAh32.js +1 -0
  157. package/web/dist/assets/pane-layout-0RrLHGDr.js +1 -0
  158. package/web/dist/assets/preload-helper-BLdHbfdN.js +1 -0
  159. package/web/dist/assets/{renderer2d-CYag1CnR.js → renderer2d-hfZxM6Xl.js} +1 -1
  160. package/web/dist/assets/{renderer3d-BRB6rgDJ.js → renderer3d-Km9vipTM.js} +1 -1
  161. package/web/dist/assets/{safe-area-fOy0AOuG.js → safe-area-BAbgBiFk.js} +1 -1
  162. package/web/dist/assets/{silero-worker-DhlIHyD_.js → silero-worker-e802lB5T.js} +1 -1
  163. package/web/dist/assets/smart-turn-v3.2-cpu-WpeLRbPA.onnx +0 -0
  164. package/web/dist/assets/smart-turn-worker-DaVJPdvJ.js +11 -0
  165. package/web/dist/assets/source-BWlvaODa.js +1 -0
  166. package/web/dist/assets/toast-Cuu2K0hx.js +1 -0
  167. package/web/dist/assets/ui-CFB4wQfF.js +3 -0
  168. package/web/dist/index.html +8 -6
  169. package/web/src/voice/turn/LICENSE +28 -0
  170. package/web/dist/assets/ArtifactPage-Dq7VW-bU.js +0 -1
  171. package/web/dist/assets/ArtifactPane-DKwbMTX9.js +0 -1
  172. package/web/dist/assets/ArtifactWorkbench-vrgIfncX.js +0 -6
  173. package/web/dist/assets/Library-D6-Go6Cu.js +0 -2
  174. package/web/dist/assets/ProfilesDestination-BOML2Dgf.js +0 -1
  175. package/web/dist/assets/TeamsPage-CNBTE8gB.js +0 -1
  176. package/web/dist/assets/Watchtower-Dor1Ubjy.js +0 -2
  177. package/web/dist/assets/hub-CrbItiwP.js +0 -13
  178. package/web/dist/assets/index-82Ce0IAf.css +0 -1
  179. package/web/dist/assets/index-D9SP3_0z.js +0 -22
  180. package/web/dist/assets/live-BNJgy0vg.js +0 -5
  181. package/web/dist/assets/pane-layout-EdR1kRrG.js +0 -1
  182. package/web/dist/assets/preload-helper-DqrJTq0t.js +0 -1
  183. package/web/dist/assets/source-Wbq35qGp.js +0 -1
  184. package/web/dist/assets/ui-j5FFk90B.js +0 -3
@@ -0,0 +1,4 @@
1
+ import{D as e,S as t,a as n,b as r,d as i,f as a,g as o,v as s}from"./lazy-f3CuUNJZ.js";var c=1.5,l=1.3,u=/<br\s*\/?>|\\n|\n/gi,d=/<\/?([a-zA-Z][\w-]*)(?:\s[^<>]*)?\/?>/y,f=/(fa[bklrs]?):fa-([\w-]+)/g,p=/[<\\\n*_]|fa[bklrs]?:fa-/,m=/* @__PURE__ */ new Map([[`b`,1],[`strong`,1],[`i`,2],[`em`,2],[`cite`,2],[`dfn`,2],[`var`,2],[`code`,4],[`kbd`,4],[`samp`,4],[`tt`,4],[`sub`,8],[`sup`,16],[`u`,32],[`ins`,32]]),h=24,g=new Set(`a abbr address article aside audio b bdi bdo big blockquote body br button caption center cite code col colgroup data dd del details dfn dialog div dl dt em embed fieldset figcaption figure font footer form h1 h2 h3 h4 h5 h6 head header hr html i iframe img input ins kbd label legend li link main map mark meta meter nav noscript object ol optgroup option output p picture pre progress q rp rt ruby s samp script section select small source span strike strong style sub summary sup table tbody td template textarea tfoot th thead time title tr track tt u ul var video wbr`.split(` `)),_=`\\u2e80-\\u9fff\\uf900-\\ufaff\\uff00-\\uff60`,v=`、。,.:;!?)]}」』】〕〉》〙〗ー…‥・ゝゞぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮ,.:;!?)\\]}`,y=`([{「『【〔〈《〘〖([{`,ee=RegExp(`[${_}]`),b=`\\u200b\\u00ad`,x=RegExp(`[${b}]`),te=RegExp(`\\s*(?:[${y}]*[${_}][${v}]*|[^\\s${_}${b}]+[${b}]*[${v}]*|[${b}]+)\\s*|\\s+`,`g`),S=57344,C=6400,w=/\$\$(.+?)\$\$/g,T=/[\ue000-\uf8ff]/,E=/([\ue000-\uf8ff])/,D,O={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};function ne(e){let t=e.split(`
2
+ `),n=1/0;for(let e of t){if(e.trim()===``)continue;let t=e.length-e.trimStart().length;t<n&&(n=t)}return n===1/0||n===0?e:t.map(e=>e.slice(Math.min(n,e.length-e.trimStart().length))).join(`
3
+ `)}function k(e){return e!==void 0&&e.icon===void 0&&e.math===void 0}function A(e,t,n){if(t!==``){if(D!==void 0&&T.test(t)){let r=D,i=t.split(E);for(let t=0;t<i.length;t++){if(t%2==0){i[t]!==``&&j(e,i[t],n);continue}let a=i[t].charCodeAt(0)-S,o=r.math[a];o?e.push({text:``,style:n,math:o,width:o.width}):j(e,`$$${r.tex[a]}$$`,n)}return}j(e,t,n)}}function j(t,n,r){let i=e(n),a=t[t.length-1];k(a)&&a.style===r?a.text+=i:t.push({text:i,style:r,width:0})}function M(e,t,n){if(!t.includes(`:fa-`)){A(e,t,n);return}let r=0;f.lastIndex=0;let i;for(;(i=f.exec(t))!==null;){let a=`${i[1]}:fa-${i[2]}`;if(A(e,t.slice(r,i.index),n),r=i.index+i[0].length,s(a)!==``)e.push({text:``,style:n,icon:a,width:0});else if(t[r]===` `)r++;else if(r===t.length){let t=e[e.length-1];k(t)&&(t.text=t.text.trimEnd())}}A(e,t.slice(r),n)}function N(e,t,n,r,i){let a=i.style,o=0,s=``,c=0,l=t.length,u=()=>{M(e,s,a|(i.shifts[i.shifts.length-1]??0)),s=``};for(;c<l;){let e=t[c];if(e===`<`){d.lastIndex=c;let e=d.exec(t);if(e&&e.index===c){let n=e[1].toLowerCase(),o=t[c+1]===`/`,s=m.get(n)??0;if(s&h){u();let e=i.shifts.lastIndexOf(s);o?e!==-1&&i.shifts.splice(e,1):i.shifts.push(s)}else s&&(u(),i.style=o?i.style&~s|r&s:i.style|s,a=o?a&~s|r&s:a|s);if(s||g.has(n)){c+=e[0].length;continue}}}else if(n&&(e===`*`||e===`_`)){let n=t[c+1]===e,i=n?1:2,s=n?2:1,d=(o&i)===0,f=c>0?t[c-1]:` `,p=c+s<l?t[c+s]:` `,m=d&&p.trim()!==``&&t.indexOf(n?e+e:e,c+s)!==-1,h=!d&&f.trim()!==``,g=e===`_`&&/\w/.test(f)&&/\w/.test(p);if((m||h)&&!g){u(),o=m?o|i:o&~i,a=m?a|i:a&~i|r&i,c+=s;continue}}s+=e,c++}u()}function P(e,t,n){let r=0;for(let i of e)i.width=i.icon===void 0?i.math?i.math.width:t.width(i.text,n,i.style):n*1.25,r+=i.width;return r}function F(e,t,n,r,i,a){let o=[],s=0,c=(e=!1)=>{let r=o[o.length-1];if(k(r)){let i=r.text.trimEnd();if(e&&r.text.endsWith(`­`)&&(i=i.slice(0,-1)+`-`),i!==r.text){r.text=i;let e=t.width(i,n,r.style);s+=e-r.width,r.width=e}}i.push(o),a.push(s),o=[],s=0};for(let i of e){if(i.icon!==void 0||i.math){let e=i.math?i.math.width:n*1.25;s>0&&s+e>r&&c(),o.push({...i,width:e}),s+=e;continue}let a=i.text.match(te)??[],l=i.text.includes(`­`),u=l?a.length:0,d=new Float64Array(u),f=new Float64Array(u+1);for(let r=u-1;r>=0;r--){let o=a[r].endsWith(`­`),s=a[r].trimEnd();d[r]=t.width(o?s.slice(0,-1):s,n,i.style),f[r]=o?r===u-1?i===e[e.length-1]?d[r]:1/0:d[r]+f[r+1]:d[r]}for(let e=0;e<a.length;e++){let u=a[e],p=l?d[e]:t.width(u.trimEnd(),n,i.style),m=!l||!u.endsWith(`­`)?s+p<=r:s+t.width(u.slice(0,-1)+`-`,n,i.style)<=r||s+f[e]<=r;s>0&&!m&&(c(u.trimStart()===u),u=u.trimStart());let h=o[o.length-1];if(k(h)&&h.style===i.style){if(h.text+=u,p>0||u.trimEnd()!==u){let e=h.width;h.width=t.width(h.text,n,h.style),s+=h.width-e}}else{let e=t.width(u,n,i.style);o.push({text:u,style:i.style,width:e}),s+=e}}}(o.length>0||i.length===0)&&c()}function I(n,i,a,o,s,u=0){if(n===void 0||n===``)return O;let d=Math.round(o*c);if(r()&&n.includes(`$$`)&&!T.test(n)){let r={tex:[],math:[]},c=n.replace(w,(e,t)=>r.tex.length===C?e:(r.tex.push(t),String.fromCharCode(S+r.tex.length-1)));if(r.tex.length>0){for(let n of r.tex)r.math.push(t(e(n),o));return L(c,i,a,o,s,u,d,r)}}if(!p.test(n)&&!n.includes(`&`)&&!n.includes(`fl`)){let e=n.trim(),t=a.width(e,o,u);if(t<=s||!(e.includes(` `)||ee.test(e)||x.test(e)))return{lines:[[{text:e,style:u,width:t}]],widths:[t],width:t,height:d,size:o,lineHeight:d};let r=[],i=[];F([{text:e,style:u,width:t}],a,o,s,r,i);let c=0;for(let e of i)e>c&&(c=e);let f=r.length>1?Math.round(o*l):d;return{lines:r,widths:i,width:c,height:r.length*f,size:o,lineHeight:f}}return L(n,i,a,o,s,u,d)}function L(e,t,n,r,i,a,o,s){let c=D;D=s;try{let c=R(e,t,n,r,i,a,o);return s?z(c):c}finally{D=c}}function R(e,t,n,r,i,a,o){let s=t?ne(e.replace(/\r\n?/g,`
4
+ `)).trim():e.trim(),c=[],d=[],f=0,p={style:a,shifts:[]};for(let e of s.split(u)){let o=[];N(o,e.trim(),t,a,p);let s=P(o,n,r);s>i?F(o,n,r,i,c,d):(c.push(o),d.push(s))}for(let e of d)e>f&&(f=e);let m=c.length>1?Math.round(r*l):o;return{lines:c,widths:d,width:f,height:c.length*m,size:r,lineHeight:m}}function z(e){let t;for(let n=0;n<e.lines.length;n++){let r=e.lineHeight;for(let t of e.lines[n])t.math&&(r=Math.max(r,Math.ceil(t.math.height+e.size/4)));r!==e.lineHeight&&t===void 0&&(t=e.lines.map(()=>e.lineHeight)),t&&(t[n]=r)}if(t===void 0)return e.heights===void 0?e:{...e,heights:void 0,height:e.lines.length*e.lineHeight};let n=0;for(let e of t)n+=e;return{...e,heights:t,height:n}}function B(e){for(let t of e)if(t.math)return!0;return!1}function V(e,t){let n=e.heights;if(!n)return(t+.5)*e.lineHeight;let r=0;for(let e=0;e<t;e++)r+=n[e];return r+n[t]/2}function H(e,t){let n=e.widths[t],r=e.heights?e.heights[t]:e.lineHeight,i={lines:[e.lines[t]],widths:[n],width:n,height:r,size:e.size,lineHeight:e.lineHeight};return r!==e.lineHeight&&(i.heights=[r]),i}var U=`--_bg:var(--pele-bg,#fff);--_fg:var(--pele-fg,#1f1f1f);--_m:var(--pele-muted,#6e6e6e);--_l:var(--pele-line,#1f1f1f);--_s:var(--pele-surface,#f3f3f3);--_a:var(--pele-surface-alt,#e6e6e6);--_b:var(--pele-border,#8a8a8a);--_c:var(--pele-accent,#5b7bd5);color:var(--_fg)`,W=`var(--_fm)`,G=`var(--pele-radius,4px)`,K=` style="rx:var(--_r)"`,re=/[";]fill:/,q=e=>re.test(e);function J(e){let t=e.indexOf(` style="`);return t<0?e+K:`${e.slice(0,t+8)}rx:var(--_r);${e.slice(t+8)}`}var Y=`var(--pele-critical,#e45756)`,X=String.raw`(?:"[^"'\\\n<>{}();:@]*"|'[^"'\\\n<>{}();:@]*'|[\p{L}\p{N}_-][\p{L}\p{N}_ .-]*)`,ie=new RegExp(String.raw`^\s*${X}(?:\s*,\s*${X})*\s*$`,`u`);function Z(e,t){return e&&ie.test(e)?e:t}function ae(e,t,n){return`;--_fm:var(--pele-font-mono,${Z(n,`monospace`)});font:${e}px sans-serif;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;font-family:var(--pele-font,${Z(t,`sans-serif`)})`}var oe=/* @__PURE__ */ new Set([`fill`,`fill-opacity`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`stroke-linecap`,`stroke-linejoin`,`stroke-opacity`,`opacity`,`rx`,`ry`]),se=/* @__PURE__ */ new Set([`color`,`font-size`,`font-family`,`font-weight`,`font-style`,`text-decoration`,`letter-spacing`,`word-spacing`,`opacity`]),ce=/url\s*\(|expression\s*\(|javascript:|[<>{};\\]|@import|image-set|\/\*/i,Q={shape:``,line:``,text:``,stroke:void 0,bold:!1,italic:!1,fontSize:void 0};function le(e){if(e.length===0)return Q;let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map;for(let r of e){let e=r.indexOf(`:`);if(e<=0)continue;let i=r.slice(0,e).trim().toLowerCase(),a=r.slice(e+1).replace(/!important/gi,``).trim();a===``||ce.test(a)||o.test(a)||(oe.has(i)&&t.set(i,a),se.has(i)&&n.set(i===`color`?`fill`:i,a))}if(t.size===0&&n.size===0)return Q;let r=``,a=``;for(let[e,n]of t)r+=`${e}:${n};`,e!==`fill`&&e!==`fill-opacity`&&(a+=`${e}:${n};`);let s=``;for(let[e,t]of n)s+=`${e}:${t};`;let c=n.get(`font-weight`),l=n.get(`font-size`),u=l&&/^[\d.]+(px)?$/.test(l)?parseFloat(l):void 0;return{shape:r?` style="${i(r)}"`:``,line:a?` style="${i(a)}"`:``,text:s?` style="${i(s)}"`:``,stroke:t.get(`stroke`),bold:c===`bold`||c===`bolder`||Number(c)>=600,italic:n.get(`font-style`)===`italic`,fontSize:u!==void 0&&u>0&&u<=200?u:void 0}}var $=/[^\w-]+/g;function ue(e){let t=e.replace($,` `).trim();return t===``?``:` `+t}var de=[`#4c78a8`,`#f58518`,`#54a24b`,`#e45756`,`#72b7b2`,`#eeca3b`,`#b279a2`,`#9d755d`];function fe(e){let t=(e%8+8)%8;return`var(--pele-series-${t+1},${de[t]})`}var pe=[[`tw`,`title`],[`hw`,`heading`],[`w`,`bold`]],me=/var\(--_(r|tw|hw|w)\)/g;function he(e,t,r,o,s,c,l){let u=i(s.idPrefix??`pele`),d=``,f=``;c.accTitle&&(d+=`<title id="${u}-title">${a(c.accTitle)}</title>`,f+=` aria-labelledby="${u}-title"`),c.accDescr&&(d+=`<desc id="${u}-desc">${a(c.accDescr)}</desc>`,f+=` aria-describedby="${u}-desc"`);let p=s.responsive===!1?``:`max-width:100%;height:auto;`,m=/* @__PURE__ */ new Set;for(let[,e]of l.matchAll(me))if(m.add(e),m.size===4)break;let h=m.has(`r`)?`;--_r:${G}`:``;for(let[e,t]of pe)m.has(e)&&(h+=`;--_${e}:var(--pele-${t}-weight,bold)`);return`<svg xmlns="http://www.w3.org/2000/svg" class="pele pele-${e}" viewBox="0 0 ${t} ${r}" width="${t}" height="${r}" style="${p}${U}${h}${i(ae(o,s.fontFamily,s.fontFamilyMono))}${n()}" fill="var(--_fg)" role="graphics-document document" aria-roledescription="${e}"${f}>`+d+l+`</svg>`}export{fe as a,W as c,he as d,K as f,I as i,Y as l,z as m,ue as n,V as o,B as p,le as r,J as s,q as t,H as u};
@@ -0,0 +1,2 @@
1
+ import{a as e,d as t,i as n}from"./BGW36YJW-CJMhya8S.js";import{n as r,r as i}from"./DKTLEL5E-DciMwFJ1.js";import{_ as a,a as o,c as s,d as c,f as l,g as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b}from"./EXE5EH6O-DR1IHCTr.js";import{E as x,f as S,h as C,i as ee,s as te,u as w}from"./lazy-f3CuUNJZ.js";function T(e,t){let n=/* @__PURE__ */ new Map;for(let{label:t,value:r}of e.sections){if(r<0)throw new w(`"${t}" has invalid value: ${r}. Negative values are not allowed in pie charts. All slice values must be >= 0.`,`semantic`,{type:`pie`});n.has(t)||n.set(t,r)}return{type:`pie`,title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,``):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
2
+ `):void 0,showData:e.showData,sections:n}}function E(e,t){let n=t;for(let t=e.charCodeAt(n);t>=48&&t<=57;t=e.charCodeAt(n))n++;return n}function D(){let e=0,t=0,n=-1;return(r,i)=>{let a=r.charCodeAt(i)===45?i+1:i;if((a<e||a>=t)&&(e=a,t=E(r,a),n=-1,t>a&&r.charCodeAt(t)===46)){let e=E(r,t+1),i=e-t-1;i>0&&r.charCodeAt(e)!==46?n=e:i>1&&(n=e-1)}return t===a?-1:n>=0?n:r.charCodeAt(a)===48?r.charCodeAt(a+1)===46?-1:a+1:r.charCodeAt(t)===46?t-1>a?t-1:-1:t}}var O=[g(`showData`),g(`pie`),{name:`:`,pattern:`:`},{name:`NUMBER_PIE`,pattern:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/y,scanner:D,first:`-0123456789`},v,y,h,c,l,d,s,f,o];function k(e){let t=new u(_(e,O,`pie`),O,`pie`),n={$type:`Pie`,showData:!1,sections:[]},r=()=>{if(t.kind!==-1)for(t.kind!==8&&t.fail(`a line break or the end of input`);t.kind===8;)t.i++};for(;t.kind===8;)t.i++;for(t.expect(1),n.showData=t.accept(0);t.kind!==-1;)switch(t.kind){case 8:t.i++;break;case 4:n.accDescr=b(t.take()),r();break;case 5:n.accTitle=m(t.take()),r();break;case 6:n.title=a(t.take()),r();break;case 7:{let e=p(t.take());t.expect(2);let i=Number(t.expect(3));n.sections.push({$type:`PieSection`,label:e,value:i}),r();break}default:t.fail(`a section, a title, or a line break`)}return n}var A=120,j=12,M=26,N=32,P=28;function F(e,t){return e.pie?.[t]}function I(e,t){return`${x(Math.sin(e)*t)},${x(-Math.cos(e)*t)}`}function ne(e,t,n,r){if(t-e>=Math.PI*2-1e-9){let e=(e,t)=>`M0,${x(-e)}A${x(e)},${x(e)} 0 1 ${t} 0,${x(e)}A${x(e)},${x(e)} 0 1 ${t} 0,${x(-e)}Z`;return e(n,1)+(r>0?e(r,0):``)}let i=+(t-e>Math.PI);return r<=0?`M0,0L${I(e,n)}A${x(n)},${x(n)} 0 ${i} 1 ${I(t,n)}Z`:`M${I(e,n)}A${x(n)},${x(n)} 0 ${i} 1 ${I(t,n)}L${I(t,r)}A${x(r)},${x(r)} 0 ${i} 0 ${I(e,r)}Z`}function L(e,t,n){return r(n,A*2,140,(r,i)=>R(e,t,n,r/2,i))}function R(r,a,o,s,c){let l=o.fontSize??16,u=Math.round(l*.875),d=o.measurer??te(o.fontFamily,o.fontFamilyMono),f=o.padding??8,p=F(a,`textPosition`),m=typeof p==`number`&&p>=0&&p<=1?p:.75,h=F(a,`donutHole`),g=typeof h==`number`&&h>0&&h<=.9?h*s:0,_=String(F(a,`legendPosition`)??`right`),v=c&&(_===`left`||_===`right`)?`bottom`:_,y=[...r.sections],b=0;for(let[,e]of y)b+=e;let w=y.map(([e,t])=>n(r.showData?`${e} [${t}]`:e,!1,d,u,4e3)),T=0;for(let e of w)T=Math.max(T,e.width);T+=w.length>0?j+8:0;let E=w.length*M,D=n(r.title,!1,d,l,i(o),1),O=D.height>0?D.height+16:0,k=y.map(([,e])=>{let t=b>0?e/b:0;return t*100>=1&&(t*100).toFixed(0)!==`0`?t:0}),A=k.map(e=>e===0||e>=.5?!1:2*s*m*Math.sin(e*Math.PI)<d.width((e*100).toFixed(0)+`%`,u,0)+6),I=A.includes(!0)?P:0,L=v===`left`||v===`right`||v===`center`?v:``,R=v===`top`||v===`bottom`,z=(s+I)*2,B=z,V=z;L===`left`||L===`right`?(B+=T>0?N+T:0,V=Math.max(V,E)):R&&(B=Math.max(B,T),V+=E>0?20+E:0),B=Math.max(B,D.width);let H=f+(L===`left`?T+N+z/2:L===`right`?z/2:B/2),U=f+O,W=U+(v===`top`?E+20+z/2:R?z/2:V/2),G=``,K=``,q=``,J=0,Y=s+P/2,re=[],ie=(e,t,n)=>re.every(r=>Math.abs(e-r.x)>=(n+r.width)/2+2||Math.abs(t-r.y)>=u+2);y.forEach(([t],n)=>{let r=k[n];if(r===0)return;let i=J+r*Math.PI*2;G+=`<path class="pele-slice" data-id="${S(t)}" d="${ne(J,i,s,g)}" fill="${e(n)}"/>`;let a=(J+i)/2,o=(r*100).toFixed(0)+`%`;if(A[n]){let e=d.width(o,u,0),t=a;for(let n=0;n<360&&!ie(Math.sin(t)*Y,-Math.cos(t)*Y,e);n++)t+=2/Y;let n=Math.sin(t)*Y,r=-Math.cos(t)*Y;re.push({x:n,y:r,width:e}),q+=`<text x="${x(n)}" y="${x(r+u*.35)}">${o}</text>`}else{let e=s*m;K+=`<text x="${x(Math.sin(a)*e)}" y="${x(-Math.cos(a)*e+u*.35)}"${ee(n)}>${o}</text>`}J=i}),G===``&&(G=`<circle class="pele-slice" r="${s}" fill="none" stroke="var(--_b)"/>`);let X=``,Z,Q;L===`right`?(Z=H+z/2+N,Q=U+(V-E)/2):L===`left`?(Z=f,Q=U+(V-E)/2):L===`center`?(Z=H-T/2,Q=W-E/2):(Z=f+(B-T)/2,Q=v===`top`?U:U+z+20),w.forEach((t,n)=>{let r=Q+n*M+M/2;X+=`<g class="pele-legend-item" data-id="${S(y[n][0])}"><rect x="${x(Z)}" y="${x(r-j/2)}" width="${j}" height="${j}" rx="2" fill="${e(n)}"/>`+C(t,Z+j+8+t.width/2,r,``)+`</g>`});let $=Math.ceil(B+2*f),ae=Math.ceil(V+O+2*f),oe=C(D,$/2,f+D.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g class="pele-slices" transform="translate(${x(H)},${x(W)})" stroke="var(--_bg)" stroke-width="1" stroke-linejoin="round">${G}</g>`+(K?`<g class="pele-slice-labels" transform="translate(${x(H)},${x(W)})" font-size="${u}" text-anchor="middle" fill="var(--_bg)">${K}</g>`:``)+(q?`<g class="pele-slice-labels" transform="translate(${x(H)},${x(W)})" font-size="${u}" text-anchor="middle">${q}</g>`:``)+(X?`<g class="pele-legend" font-size="${u}">${X}</g>`:``);return{svg:t(`pie`,$,ae,l,o,r,oe),width:$,height:ae,links:[]}}var z={type:`pie`,parse:(e,t,n)=>T(k(e),n),render:L};export{z as pie};
@@ -0,0 +1 @@
1
+ function e(e,t,n,r){let i=r(t,!1),a=e.maxWidth;if(a===void 0||!(a>0)||i.width<=a)return i;let o=Math.min(n,t),s=t;i=r(s,!0);for(let e=0;e<3&&i.width>a&&s>o;e++)s=Math.max(o,s-(i.width-a)),i=r(s,!0);return i}function t(e){let t=e.maxWidth;return t!==void 0&&t>0?Math.max(80,t-2*(e.padding??8)):4e3}function n(e,t,n,r=0){let i=e.maxWidth;return i===void 0||!(i>0)?t:Math.max(Math.min(n,t),Math.min(t,i-r))}function r(e,t){let n=t(!1),r=e.maxWidth;if(e.autoDirection===!1||r===void 0||!(r>0)||n.width<=r)return n;let i=e.directionBreakpoint;if(r>=(i!==void 0&&i>0?i:640))return n;let a=t(!0);return a.width<n.width?a:n}function i(e){return e===`LR`||e===`RL`}function a(e,t){let n=t(!1),r=e.maxWidth;if(r===void 0||!(r>0)||n.width<=r)return n;let i=t(!0);return i.width<n.width?i:n}export{i as a,n as i,e as n,a as o,t as r,r as t};
@@ -0,0 +1,5 @@
1
+ import{c as e,d as t,f as n,i as r}from"./BGW36YJW-CJMhya8S.js";import{o as i,r as a}from"./DKTLEL5E-DciMwFJ1.js";import{_ as o,a as s,c,g as l,l as u,n as d,p as f,r as p,u as m}from"./EXE5EH6O-DR1IHCTr.js";import{D as h,E as g,d as _,f as ee,h as te,s as ne,u as v}from"./lazy-f3CuUNJZ.js";function y(e){return e===32||e>=9&&e<=13||e>127&&/\s/.test(String.fromCharCode(e))}function b(){let e=1/0;return(t,n)=>{if(!t.startsWith(`accDescr`,n))return-1;let r=t.length,i=n+8;for(;i<r&&(t.charCodeAt(i)===32||t.charCodeAt(i)===9);)i++;if(t.charCodeAt(i)===58){for(i++;i<r;i++){let e=t.charCodeAt(i);if(e===10||e===13||e===37&&t.charCodeAt(i+1)===37)break}return i}for(;i<r&&y(t.charCodeAt(i));)i++;if(t.charCodeAt(i)!==123||i>=e)return-1;let a=t.indexOf(`}`,i+1);return a===-1&&(e=i),a+1||-1}}var x=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`;function S(e){return{name:`TITLE`,pattern:new RegExp(String.raw`title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|(?!${e}))`,`y`),first:`t`}}var C={name:`ACC_TITLE`,pattern:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/y,first:`a`},w={name:`ACC_DESCR`,pattern:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/y,first:`a`,scanner:b};function T(e,t){return{name:e,pattern:e,longer:t}}function E(e,t){return{...f(e),longer:[t]}}function D(e){return{name:e,pattern:/[A-Z_a-z][\w-]*/y,first:x+`_`}}function O(e){return{name:e,pattern:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/y,first:`"'`}}function k(e){return[{name:e+`_WHITESPACE`,pattern:/[\t \r\n]+/y,hidden:!0,first:` \r
2
+ `},{...c,name:e+`_YAML`,first:`-`},{...u,name:e+`_DIRECTIVE`,first:` %`},{...s,name:e+`_SINGLE_LINE_COMMENT`,first:` %`}]}function A(e){if(!e.includes(`\\`))return e.slice(1,-1);let t=e.length-1,n=``;for(let r=1;r<t;r++){let i=e[r];i===`\\`&&r+1<t?(i=e[++r],n+=i===`n`?`
3
+ `:i===`r`?`\r`:i===`t`?` `:i):n+=i}return n}function j(e,t,n,r,i,a){let s=new l(p(e,t,`railroad`),t,`railroad`),c={$type:n,rules:[]};for(s.expect(0);;){let e=s.kind;if(e===r){let e=o(s.take()),t=e[0];c.title=(t===`"`||t===`'`)&&e.endsWith(t)?i(e):e}else if(e===r+1)c.accTitle=d(s.take());else if(e===r+2)c.accDescr=m(s.take());else break}for(;s.kind!==-1;)c.rules.push(a(s));return c}var re=[];function M(e){let t=e,n=t.element??t.primary??t.suffix,r=t.alternatives??t.elements??(n?[n]:re);if(t.base){r=[t.base];for(let e of t.postfixes)e.except&&r.push(e.except)}return r}var N=e=>({type:`terminal`,value:e}),P=e=>({type:`nonterminal`,name:e}),F=e=>({type:`special`,text:e}),I=e=>({type:`optional`,element:e}),L=(e,t,n=1/0)=>({type:`repetition`,element:e,min:t,max:n});function R(e){return e.length===1?e[0]:{type:`sequence`,elements:e}}function z(e){return e.length===1?e[0]:{type:`choice`,alternatives:e}}function B(e,t){return e.rules.map(e=>({name:e.name,definition:V(e.definition,M,t)}))}function V(e,t,n){let r=[e],i=[t(e)],a=[[]];for(;;){let e=r.length-1,o=a[e];if(o.length<i[e].length){let n=i[e][o.length];r.push(n),i.push(t(n)),a.push([])}else{let t=n(r[e],o);if(e===0)return t;r.pop(),i.pop(),a.pop(),a[e-1].push(t)}}}var H=`0123456789`,U={name:`ABNF_RULENAME`,pattern:/[A-Za-z][A-Za-z0-9-]*/y,first:x},W={name:`ABNF_COMMENT`,pattern:/;[^\n\r]*/y,hidden:!0,first:`;`},G=[E(`railroad-abnf-beta`,U),T(`=`),T(`;`,[W]),T(`/`),T(`(`),T(`)`),T(`[`),T(`]`),S(String.raw`[A-Za-z0-9-]`),C,w,U,{name:`ABNF_STRING`,pattern:/"[^"]*"/y,first:`"`},{name:`ABNF_NUMVAL`,pattern:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/y,first:`%`},{name:`ABNF_REPEAT`,pattern:/[0-9]*\*[0-9]*/y,first:H+`*`},{name:`ABNF_EXACT_REPEAT`,pattern:/[0-9]+/y,first:H},...k(`ABNF`),W];function K(e,t,n,r){let i={$type:`AbnfConcatenation`,elements:[]};return t.alternatives.push(i),{alternation:t,concatenation:i,node:e,close:n,repeat:r}}function ie(e){let t=[],n=K(void 0,{$type:`AbnfAlternation`,alternatives:[]},-2,void 0);for(;;){let r=e.kind===14||e.kind===15?e.take():void 0,i,a=e.kind;switch(a){case 12:i={$type:`AbnfStringLiteral`,value:e.take().slice(1,-1)};break;case 13:i={$type:`AbnfNumVal`,value:e.take()};break;case 11:i={$type:`AbnfRuleName`,name:e.take()};break;case 4:case 6:{e.i++;let i={$type:`AbnfAlternation`,alternatives:[]};t.push(n),n=K({$type:a===4?`AbnfGroup`:`AbnfOptionalGroup`,element:i},i,a+1,r);continue}default:e.fail(`a string, a number, a name, or an opening bracket`)}for(;;){n.concatenation.elements.push(r===void 0?{$type:`AbnfElement`,primary:i}:{$type:`AbnfElement`,repeat:r,primary:i});let a=e.kind;if(a===n.close)e.i++,i=n.node,r=n.repeat,n=t.pop();else{if(a===3)e.i++,n.concatenation={$type:`AbnfConcatenation`,elements:[]},n.alternation.alternatives.push(n.concatenation);else if(a!==12&&a!==13&&a!==11&&a!==4&&a!==6&&a!==14&&a!==15){if(t.length===0)return n.alternation;e.fail(`token of type '${G[n.close].name}'`)}break}}}}function ae(e){return j(e,G,`RailroadAbnf`,8,e=>e.slice(1,-1),e=>{let t=e.expect(11);e.expect(1);let n=ie(e);return e.expect(2),{$type:`AbnfRule`,name:t,definition:n}})}function oe(e,t){switch(e.$type){case`AbnfAlternation`:return z(t);case`AbnfConcatenation`:return R(t);case`AbnfElement`:{let n=e.repeat;if(!n)return t[0];let r=n.indexOf(`*`),i=r===-1,a=r>0||i?parseInt(n,10):0,o=i?a:r<n.length-1?parseInt(n.slice(r+1),10):1/0;return a===0&&o===1?I(t[0]):L(t[0],a,o)}case`AbnfStringLiteral`:case`AbnfNumVal`:return N(e.value);case`AbnfRuleName`:return P(e.name);case`AbnfGroup`:return t[0];case`AbnfOptionalGroup`:return I(t[0])}}var se=e=>B(e,oe);function ce(e,t){if(e.charCodeAt(t)!==63)return-1;let n=!1;for(let r=t+1;r<e.length;r++){let t=e.charCodeAt(r);if(t===63)return n?r+1:-1;if(t===59)return-1;n||=!y(t)}return-1}var le=D(`EBNF_ID`),ue={name:`EBNF_SPECIAL_SEQUENCE`,pattern:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/y,first:`?`,scanner:()=>ce},de=k(`EBNF`),fe={name:`EBNF_ISO_COMMENT`,pattern:/\(\*[\s\S]*?\*\)/y,hidden:!0,first:`(`,opener:/\(\*/y},pe=[E(`railroad-ebnf-beta`,le),T(`::=`),T(`=`),T(`;`),T(`|`),T(`,`),T(`(`,[fe]),T(`)`),T(`[`),T(`]`),T(`{`),T(`}`),T(`?`,[ue]),T(`*`),T(`+`),T(`-`,[de[1]]),S(String.raw`[\w-]`),C,w,le,O(`EBNF_STRING`),ue,...de,{name:`EBNF_BLOCK_COMMENT`,pattern:/\/\*[\s\S]*?\*\//y,hidden:!0,first:`/`,opener:/\/\*/y},fe];function me(e,t,n,r){let i={$type:`EbnfSequence`,elements:[]};return t.alternatives.push(i),{choice:t,sequence:i,term:void 0,node:e,close:n,except:r}}var he=[`EbnfGroup`,`EbnfOptional`,`EbnfRepetition`];function ge(e){let t=[],n=me(void 0,{$type:`EbnfChoice`,alternatives:[]},-2,!1),r=!1;for(;;){let i,a=e.kind;switch(a){case 20:i={$type:`EbnfTerminal`,value:A(e.take())};break;case 19:i={$type:`EbnfNonTerminal`,name:e.take()};break;case 21:i={$type:`EbnfSpecial`,text:e.take().slice(1,-1).trim()};break;case 6:case 8:case 10:{e.i++;let i={$type:`EbnfChoice`,alternatives:[]};t.push(n),n=me({$type:he[a-6>>1],element:i},i,a+1,r),r=!1;continue}default:e.fail(`a terminal, a name, or an opening bracket`)}for(;;){r?(n.term.postfixes.push({$type:`EbnfExceptionPostfix`,except:i}),r=!1):(n.term={$type:`EbnfTerm`,base:i,postfixes:[]},n.sequence.elements.push(n.term));let a=n.term.postfixes;for(;;){let t=e.kind;if(t===12)a.push({$type:`EbnfOptionalPostfix`,operator:e.take()});else if(t===13)a.push({$type:`EbnfZeroOrMorePostfix`,operator:e.take()});else if(t===14)a.push({$type:`EbnfOneOrMorePostfix`,operator:e.take()});else break}let o=e.kind;if(o===n.close)e.i++,i=n.node,r=n.except,n=t.pop();else{if(o===15)e.i++,r=!0;else if(o===5)e.i++;else if(o===4)e.i++,n.sequence={$type:`EbnfSequence`,elements:[]},n.choice.alternatives.push(n.sequence);else if(o!==20&&o!==19&&o!==21&&o!==6&&o!==8&&o!==10){if(t.length===0)return n.choice;e.fail(`token of type '${pe[n.close].name}'`)}break}}}}function _e(e){return j(e,pe,`RailroadEbnf`,16,A,e=>{let t=e.expect(19);e.accept(2)||e.expect(1);let n={$type:`EbnfRule`,name:t,definition:ge(e)};return e.expect(3),n})}function ve(e,t){switch(e.$type){case`EbnfChoice`:return z(t);case`EbnfSequence`:return R(t);case`EbnfTerm`:{let n=t[0],r=1;for(let i of e.postfixes)n=i.$type===`EbnfOptionalPostfix`?I(n):i.$type===`EbnfExceptionPostfix`?{type:`sequence`,elements:[n,N(`-`),t[r++]]}:L(n,+(i.$type===`EbnfOneOrMorePostfix`));return n}case`EbnfTerminal`:return N(e.value);case`EbnfNonTerminal`:return P(e.name);case`EbnfSpecial`:return F(e.text);case`EbnfGroup`:return t[0];case`EbnfOptional`:return I(t[0]);case`EbnfRepetition`:return L(t[0],0)}}var ye=e=>B(e,ve),q=D(`RR_ID`),J=e=>T(e,[q]),be=[E(`railroad-beta`,q),J(`nonterminal`),J(`zeroOrMore`),J(`oneOrMore`),J(`sequence`),J(`optional`),J(`terminal`),J(`special`),J(`choice`),T(`=`),T(`;`),T(`(`),T(`,`),T(`)`),S(String.raw`[\w-]`),C,w,q,O(`RR_STRING`),...k(`RR`),{name:`RR_BLOCK_COMMENT`,pattern:/\/\*[\s\S]*?\*\//y,hidden:!0,first:`/`,opener:/\/\*/y}];function xe(e){e.i++,e.expect(11);let t=A(e.expect(18));return e.expect(13),t}function Se(e){return{$type:e,element:void 0}}function Ce(e){let t=[];for(;;){let n;switch(e.kind){case 6:n={$type:`RailroadTerminalExpr`,value:xe(e)};break;case 1:n={$type:`RailroadNonTerminalExpr`,name:xe(e)};break;case 7:n={$type:`RailroadSpecialExpr`,text:xe(e)};break;case 4:n={$type:`RailroadSequenceExpr`,elements:[]};break;case 8:n={$type:`RailroadChoiceExpr`,alternatives:[]};break;case 5:n=Se(`RailroadOptionalExpr`);break;case 3:n=Se(`RailroadOneOrMoreExpr`);break;case 2:n=Se(`RailroadZeroOrMoreExpr`);break;default:e.fail(`an expression`)}if(`elements`in n||`alternatives`in n||`element`in n)e.i++,e.expect(11),t.push(n);else for(;;){let r=t[t.length-1];if(r===void 0)return n;if(`element`in r)r.element=n;else if((`elements`in r?r.elements:r.alternatives).push(n),e.accept(12))break;e.expect(13),t.pop(),n=r}}}function we(e){return j(e,be,`Railroad`,14,A,e=>{let t=e.expect(17);e.expect(9);let n=Ce(e);return e.expect(10),{$type:`RailroadRule`,name:t,definition:n}})}function Te(e,t){switch(e.$type){case`RailroadTerminalExpr`:return N(e.value);case`RailroadNonTerminalExpr`:return P(e.name);case`RailroadSpecialExpr`:return F(e.text);case`RailroadSequenceExpr`:return R(t);case`RailroadChoiceExpr`:return z(t);case`RailroadOptionalExpr`:return I(t[0]);default:return L(t[0],+(e.$type===`RailroadOneOrMoreExpr`))}}var Ee=e=>B(e,Te),De=D(`PEG_ID`),Oe=[E(`railroad-peg-beta`,De),T(`<-`),T(`;`),T(`/`),T(`&`),T(`!`),T(`?`),T(`*`),T(`+`),T(`(`),T(`)`),T(`.`),S(String.raw`[\w-]`),C,w,De,O(`PEG_STRING`),...k(`PEG`),{name:`PEG_LINE_COMMENT`,pattern:/#[^\n\r]*/y,hidden:!0,first:`#`}];function ke(e,t,n){let r={$type:`PegSequence`,elements:[]};return t.alternatives.push(r),{choice:t,sequence:r,node:e,operator:n}}function Ae(e){let t=[],n=ke(void 0,{$type:`PegOrderedChoice`,alternatives:[]},void 0);for(;;){let r=e.kind===4||e.kind===5?e.take():void 0,i;switch(e.kind){case 16:i={$type:`PegLiteral`,value:A(e.take())};break;case 15:i={$type:`PegIdentifier`,name:e.take()};break;case 11:i={$type:`PegAny`,dot:e.take()};break;case 9:{e.i++;let i={$type:`PegOrderedChoice`,alternatives:[]};t.push(n),n=ke({$type:`PegGroup`,element:i},i,r);continue}default:e.fail(`a literal, a name, a dot, or an opening parenthesis`)}for(;;){let a={$type:`PegSuffix`,primary:i};(e.kind===6||e.kind===7||e.kind===8)&&(a.operator=e.take()),n.sequence.elements.push(r===void 0?{$type:`PegPrefix`,suffix:a}:{$type:`PegPrefix`,operator:r,suffix:a});let o=e.kind;if(o===10&&t.length>0)e.i++,i=n.node,r=n.operator,n=t.pop();else{if(o===3)e.i++,n.sequence={$type:`PegSequence`,elements:[]},n.choice.alternatives.push(n.sequence);else if(o!==4&&o!==5&&o!==16&&o!==15&&o!==11&&o!==9){if(t.length===0)return n.choice;e.fail(`token of type ')'`)}break}}}}function je(e){return j(e,Oe,`RailroadPeg`,12,A,e=>{let t=e.expect(15);e.expect(1);let n={$type:`PegRule`,name:t,definition:Ae(e)};return e.expect(2),n})}function Me(e){switch(e.type){case`terminal`:return`"${e.value}"`;case`nonterminal`:return e.name;case`special`:return e.text;default:return`(...)`}}function Ne(e,t){let n=t[0];switch(e.$type){case`PegOrderedChoice`:return z(t);case`PegSequence`:return R(t);case`PegPrefix`:return e.operator?F(e.operator+Me(n)):n;case`PegSuffix`:return e.operator?e.operator===`?`?I(n):L(n,+(e.operator===`+`)):n;case`PegLiteral`:return N(e.value);case`PegIdentifier`:return P(e.name);case`PegAny`:return F(e.dot);case`PegGroup`:return n}}var Pe=e=>B(e,Ne),Fe=class{type=`railroad`;notation=`railroad`;title;accTitle;accDescr;rules=[];byName=/* @__PURE__ */ new Map;setTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
4
+ `)}addRule(e){this.rules.push(e),this.byName.set(e.name,e)}getRule(e){return this.byName.get(e)}},Ie=/^\s*railroad-(ebnf-|abnf-|peg-)?beta/i;function Le(e){let t=Ie.exec(e);if(t===null)return;let n=t[1]?.toLowerCase();return n===`ebnf-`?`ebnf`:n===`abnf-`?`abnf`:n===`peg-`?`peg`:`railroad`}function Re(e,t){switch(t){case`ebnf`:{let t=_e(e);return[t,ye(t)]}case`abnf`:{let t=ae(e);return[t,se(t)]}case`peg`:{let t=je(e);return[t,Pe(t)]}default:{let t=we(e);return[t,Ee(t)]}}}function ze(e,t,n){let[r,i]=Re(t,n);e.notation=n,r.accDescr&&e.setAccDescription(r.accDescr),r.accTitle&&e.setAccTitle(r.accTitle),r.title&&e.setTitle(r.title);for(let t of i)e.addRule(t)}function Be(e,t){let n=Le(e);if(n===void 0)throw new v(`No railroad diagram keyword found.`,`syntax`,{type:`railroad`});let r=new Fe;return t&&(r.title=t),ze(r,e,n),r}var Ve=12,He=6,Ue=18,Y=12,X=7;function Z(e,t,n,r){let i=e.railroad?.[t];return typeof i==`number`&&i>=0?Math.min(i,r):n}var We=/[\n\r\t]/g;function Q(e){return(e.includes(`¶ß`)?h(e.replace(/&/g,`&amp;`)):e).replace(We,e=>e===`
5
+ `?`\\n`:e===`\r`?`\\r`:`\\t`)}function $(e,t){for(let n=t,r=e.length-1;n<r;n++,r--){let t=e[n];e[n]=e[r],e[r]=t}}function Ge(e){return Math.ceil(e/2)*2}function Ke(e,t,n,r,i){let a=i.height/2;return{kind:e,width:Math.max(Ge(i.measurer.width(t,i.size,r)+2*i.padding),i.height),up:a,down:a,kids:re,text:t,id:n,reach:0}}function qe(e,t){if(t===1/0&&e<=1)return``;let n=e=>Number.isFinite(e)?String(e):`∞`;return e===t?n(e)+`×`:t===1/0?`≥`+n(e)+`×`:e===0?`≤`+n(t)+`×`:n(e)+`–`+n(t)+`×`}function Je(e,t,n,r){return Math.max(e+t.down+r.sep+n.up,2*r.arc)}function Ye(e,t){let n=Math.max(e.up+t.sep,2*t.arc);return{kind:5,width:e.width+4*t.arc,up:n,down:e.down,kids:[e],text:``,id:``,reach:n}}function Xe(e,t,n=1/0){let r=/* @__PURE__ */ new Map,i=[[e,n]];for(let e=0;n!==1/0&&e<i.length;e++){let[n,a]=i[e];r.set(n,a);let o=n.type===`choice`||n.type===`optional`?4*t.arc:n.type===`repetition`?(n.min===0?6:2)*t.arc:n.type===`sequence`?6*t.arc:0;for(let e of M(n))i.push([e,Math.max(40,a-o)])}return V(e,M,(e,n)=>{let i=r.get(e)??1/0;switch(e.type){case`terminal`:{let n=Q(e.value);return Ke(0,/^ +$/.test(n)?`␣`.repeat(n.length):n,``,4,t)}case`nonterminal`:return Ke(1,Q(e.name),e.name,0,t);case`special`:return Ke(2,`? `+Q(e.text)+` ?`,``,2,t);case`sequence`:{let e=Math.max(0,n.length-1)*t.gap,r=0,a=0;for(let t of n)e+=t.width,r=Math.max(r,t.up),a=Math.max(a,t.down);let o={kind:3,width:e,up:r,down:a,kids:n,text:``,id:``,reach:0};if(e<=i||n.length<2)return o;let s=[],c=[],l=0,u=()=>{let e=0,t=0;for(let n of c)e=Math.max(e,n.up),t=Math.max(t,n.down);s.push({kind:3,width:l,up:e,down:t,kids:c,text:``,id:``,reach:0}),c=[],l=0};for(let e of n)c.length&&l+t.gap+e.width>Math.max(40,i-6*t.arc)&&u(),l+=(c.length?t.gap:0)+e.width,c.push(e);if(u(),s.length<2)return o;let d=0,f=0;for(let e=0;e<s.length;e++)d=Math.max(d,s[e].width),e&&(f+=s[e-1].down+Math.max(t.sep,2*t.arc)+s[e].up);return{kind:7,width:d+6*t.arc,up:s[0].up,down:f+s[s.length-1].down,kids:s,text:``,id:``,reach:0}}case`choice`:{let e=0,r=0;for(let i=0;i<n.length;i++)e=Math.max(e,n[i].width),i>0&&(r=Je(r,n[i-1],n[i],t));let i=n[n.length-1];return{kind:4,width:e+4*t.arc,up:n.length>0?n[0].up:0,down:i?r+i.down:0,kids:n,text:``,id:``,reach:0}}case`optional`:return Ye(n[0],t);case`repetition`:{let{min:r,max:i}=e,a=n[0];if(r===1&&i===1)return a;let o=qe(r,i),s=Math.max(a.down+t.sep,2*t.arc),c=o===``?0:Ge(t.measurer.width(o,Y,0)),l={kind:6,width:Math.max(a.width,c)+2*t.arc,up:a.up,down:s+(o===``?X/2+1:Y+6),kids:[a],text:o,id:``,reach:s};return r===0?Ye(l,t):l}}})}function Ze(e,t,n){return i(n,r=>Qe(e,t,n,r))}function Qe(i,o,s,c){let l=s.fontSize??16,u=Z(o,`fontSize`,0,200),d=u||Math.round(l*.875),f=u||l,p=Z(o,`padding`,-1,200),m=Math.round(d*1.5),h={measurer:s.measurer??ne(s.fontFamily,s.fontFamilyMono),size:d,padding:p<0?12:p,height:Ge(m+(p<0?9:2*p)),gap:Math.min(Z(o,`horizontalSeparation`,16,500),c?12:1/0),sep:Z(o,`verticalSeparation`,10,500),arc:Math.min(Z(o,`arcRadius`,10,200),c?6:1/0)},v=o.railroad?.showMarkers===!1?0:Z(o,`markerRadius`,4,50),y=Z(o,`strokeWidth`,0,20),b=y>0?` stroke-width="${g(y)}"`:``,x=s.padding??8,{arc:S}=h,C=g(S),w=(e,t,n)=>`a${C},${C} 0 0 ${e} ${t}${C},${n}${C}`,T=w(1,``,``),E=w(0,``,``),D=w(0,``,`-`),O=w(1,``,`-`),k=w(0,`-`,``),A=w(0,`-`,`-`),j=r(i.title,!1,h.measurer,l,c?a(s):4e3,1),re=j.height>0?j.height+16:0,M=Math.round(f*1.5),N=d*.35,P=h.height/2,F=``,I=``,L=``,R=(e,t,n)=>{n>e&&(F+=`M${g(e)},${g(t)}H${g(n)}`)},z=(t,r,i)=>{let a=[t],o=[r,i];for(;a.length>0;){let t=a.pop(),r=o.pop(),i=o.pop(),s=t.kids,c=i+t.width;switch(t.kind){case 3:{let e=c;for(let t=s.length-1;t>=0;t--)e-=s[t].width,a.push(s[t]),o.push(e,r),t>0&&R(e-h.gap,r,e),e-=h.gap;break}case 7:{let e=i+2*S,t=a.length,n=0;R(i,r,e);for(let t=0;t<s.length;t++){let l=s[t],u=r+n;if(a.push(l),o.push(u,e),t+1<s.length){let a=s[t+1],o=n+l.down+Math.max(h.sep,2*S)+a.up,d=r+n+l.down+Math.max(h.sep,2*S)/2;F+=`M${g(e+l.width)},${g(u)}H${g(c-2*S)}V${g(d)}H${g(i+S)}V${g(r+o)}H${g(e)}`,I+=`M${g(e-X)},${g(r+o-X/2)}l${X},${X/2}l${-X},${X/2}z`,n=o}else F+=`M${g(e+l.width)},${g(u)}H${g(c-S)}V${g(r)}H${g(c)}`}$(a,t),$(o,2*t);break}case 4:{let e=t.width-4*S,n=i+S,l=c-S,u=a.length,d=0;for(let t=0;t<s.length;t++){let u=s[t];t>0&&(d=Je(d,s[t-1],u,h));let f=r+d,p=i+2*S+(e-u.width)/2,m=t===s.length-1;t===0?(R(i,r,p),R(p+u.width,r,c)):F+=(m?`M${g(i)},${g(r)}${T}V${g(f-S)}`:`M${g(n)},${g(f-S)}`)+E+(p>n+S?`H${g(p)}`:``)+`M${g(p+u.width)},${g(f)}`+(p>n+S?`H${g(l-S)}`:``)+D+(m?`V${g(r+S)}${O}`:``),a.push(u),o.push(f,p)}$(a,u),$(o,2*u);break}case 5:{let e=s[0],n=i+2*S;R(i,r,n),R(n+e.width,r,c),F+=`M${g(i)},${g(r)}${D}V${g(r-t.reach+S)}${O}H${g(c-2*S)}${T}V${g(r-S)}${E}`,a.push(e),o.push(n,r);break}case 6:{let e=s[0],n=i+(t.width-e.width)/2,l=r+t.reach,u=i+t.width/2;R(i,r,n),R(n+e.width,r,c),F+=`M${g(i+S)},${g(r)}${k}V${g(l-S)}${E}H${g(c-S)}${D}V${g(r+S)}${A}`,I+=`M${g(u-X/2)},${g(l)}l${X},${-X/2}v${X}z`,t.text!==``&&(L+=`<text class="pele-edge-label pele-count" x="${g(u)}" y="${g(l+Y+3)}" font-size="${Y}" fill="var(--_m)">${_(t.text)}</text>`),a.push(e),o.push(n,r);break}default:{let a=t.text,o=a.startsWith(` `)||a.endsWith(` `)||a.includes(` `)?` xml:space="preserve"`:``,s=`<rect x="${g(i)}" y="${g(r-P)}" width="${g(t.width)}" height="${g(h.height)}"`,c=`<text x="${g(i+t.width/2)}" y="${g(r+N)}"${o}`;t.kind===0?L+=`<g class="pele-node pele-terminal">${s} rx="${g(P)}" fill="var(--_s)" stroke="var(--_b)"${b}/>${c} font-family="${e}">${_(a)}</text></g>`:t.kind===1?L+=`<g class="pele-node pele-nonterminal" data-id="${ee(t.id)}">${s} fill="var(--_bg)" stroke="var(--_b)"${b}${n}/>${c}>${_(a)}</text></g>`:L+=`<g class="pele-node pele-special">${s} fill="var(--_bg)" stroke="var(--_b)" stroke-dasharray="4 3"${b}${n}/>${c} font-style="italic"><tspan fill="var(--_m)">? </tspan>${_(a.slice(2,-2))}<tspan fill="var(--_m)"> ?</tspan></text></g>`}}}},B=``,V=j.width,H=x+re,U=x+j.height;for(let e of i.rules){let t=Xe(e.definition,h,c?Math.max(80,(s.maxWidth??320)-2*x-4*v-2*Ve-1):1/0),n=Q(e.name),r=H+M+He+t.up,i=x+2*v,a=i+Ve,o=a+t.width+Ve;F=``,I=``,L=``,R(i,r,a),R(a+t.width,r,o),z(t,a,r);let l=v>0?`<circle class="pele-marker pele-start" cx="${g(x+v)}" cy="${g(r)}" r="${g(v)}" fill="var(--_l)"/><circle class="pele-marker pele-end" cx="${g(o+v)}" cy="${g(r)}" r="${g(v)}" fill="var(--_l)"/>`:``;B+=`<g class="pele-rule" data-id="${ee(e.name)}"><text class="pele-rule-name" x="${g(x)}" y="${g(H+M/2+f*.35)}" font-size="${g(f)}" font-weight="var(--_hw)" text-anchor="start">${_(n)}</text><path class="pele-edge pele-track" d="${F}" fill="none" stroke="var(--_l)"${b}/>`+(I?`<path class="pele-marker" d="${I}" fill="var(--_l)"/>`:``)+l+L+`</g>`,V=Math.max(V,o+2*v-x,h.measurer.width(n,f,1)),U=r+t.down,H=U+h.sep+Ue}let W=Math.ceil(V+2*x),G=Math.ceil(U+x),K=te(j,W/2,x+j.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(B?`<g class="pele-rules" transform="translate(0.5,0.5)" font-size="${g(d)}" text-anchor="middle">${B}</g>`:``);return{svg:t(`railroad`,W,G,l,s,i,K),width:W,height:G,links:[]}}var $e={type:`railroad`,parse:(e,t,n)=>Be(e,n),render:Ze};export{$e as railroad};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,F as r,G as i,I as a,J as o,R as s,S as c,T as l,U as u,W as d,et as f,k as p,tt as m,x as h}from"./ui-CFB4wQfF.js";import{_ as g,b as _,p as v,v as y,y as b}from"./MediaImage-Ds_JUx3a.js";import{$ as x,A as S,M as C}from"./index-D-xG9nrc.js";import w from"./Lightbox-Du56MXGX.js";var T={images:!1,links:!1,linkRel:`noopener noreferrer`,fontSize:14};function E(e){let t=e.timeoutMs??1e4,n=Math.max(1,e.concurrency??2),r=Math.max(1,e.cacheSize??64),i=e.setTimer??((e,t)=>setTimeout(e,t)),a=e.clearTimer??(e=>clearTimeout(e)),o=e.failureTtlMs??6e4,s=e.now??Date.now,c=new Map,l=new Map,u=[],d=[],f=1,p=(e,t,n)=>{for(c.delete(e),c.set(e,{result:t,expires:n});c.size>r;)c.delete(c.keys().next().value)},m=e=>{let t=c.get(e);if(t?.expires!==void 0&&s()>=t.expires)c.delete(e);else return t?.result},h=(e,t,{cacheable:n,replace:r})=>{let i=e.job;i&&(a(i.timer),e.job=void 0,r&&(e.worker.onmessage=null,e.worker.onerror=null,e.worker.terminate(),d.splice(d.indexOf(e),1)),n&&p(i.key,t,n===`briefly`?s()+o:void 0),l.delete(i.key),i.resolve(t),x())},g=(e,t)=>{if(typeof t.svg!=`string`)return{status:`error`,message:typeof t.error==`string`&&t.error?t.error:`the renderer returned no SVG`};let n=y(t.svg,e.palette);return _(n)?{status:`unsafe`}:{status:`ok`,svg:n}},b=()=>{let t={worker:e.spawn()};return t.worker.onmessage=e=>{let n=e.data,r=t.job;r&&n&&n.id===r.id&&h(t,g(r,n),{cacheable:!0,replace:!1})},t.worker.onerror=e=>h(t,{status:`error`,message:e?.message||`the diagram worker failed`},{cacheable:!1,replace:!0}),d.push(t),t};function x(){for(;u.length;){let e=d.find(e=>!e.job)??(d.length<n?b():void 0);if(!e)return;let r=u.shift(),a=f++,o=r.palette.font,s={...r,id:a,timer:void 0};e.job=s,s.timer=i(()=>h(e,{status:`error`,message:`timed out after ${t/1e3} s`},{cacheable:`briefly`,replace:!0}),t),e.worker.postMessage({id:a,source:r.source,options:o?{...T,fontFamily:o}:{...T}})}}return{render(e,t,n){let r=v(e,t),i=m(r);if(i)return p(r,i,c.get(r).expires),Promise.resolve(i);let a=l.get(r);if(a)return a;let o=new Promise(t=>u.push({key:r,source:e,palette:n,resolve:t}));return l.set(r,o),x(),o},cached(e,t){return m(v(e,t))}}}var D=p(`<p class=diagram-note>`),O=p(`<div class="code-block diagram-frame"><div class=code-head><span class=code-lang></span><button type=button class=code-btn>Diagram</button><button type=button class=code-btn>Source</button><button type=button class=code-btn>`),k=p(`<div class=diagram-block>`),A=p(`<button type=button class=code-btn>Download SVG`),j=p(`<pre class=code><code>`),M=p(`<p class=diagram-loading>Drawing diagram…`),N=p(`<button type=button class=diagram-open aria-label="Open the diagram full screen"title="Open full screen"><img alt=Diagram>`),P,F=()=>P??=E({spawn:()=>new Worker(new URL(`/assets/mermaid.worker-WDVRAh32.js`,``+import.meta.url),{type:`module`})}),I=matchMedia(`(prefers-color-scheme: dark)`),[L,R]=o(I.matches);I.addEventListener(`change`,e=>R(e.matches));var z=()=>x()===`system`?L()?`dark`:`light`:x(),B={bg:`--side`,fg:`--text`,muted:`--muted`,line:`--muted`,surface:`--raise`,"surface-alt":`--raise-2`,border:`--line-2`,accent:`--accent`,font:`--sans`,"font-mono":`--mono`};function V(){let e=getComputedStyle(document.documentElement),t={};for(let[n,r]of Object.entries(B)){let i=e.getPropertyValue(r).trim();i&&(t[n]=i)}return t}function H(e){let t=URL.createObjectURL(new Blob([e],{type:`image/svg+xml`})),n=document.createElement(`a`);n.href=t,n.download=`diagram.svg`,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e4)}function U(e){return[t(S,{get lang(){return e.lang},get text(){return e.text}}),(()=>{var t=D();return c(t,()=>e.note),t})()]}function W(p){let[h,_]=o(`diagram`),[v,y]=o(!1),[x,S]=o(),[T,E]=o(!1),[D,P]=o(!1),I=d(()=>b(p.text)),L=d(()=>(z(),V())),R,B;f(()=>clearTimeout(B)),m(()=>{let e=new IntersectionObserver(e=>y(e.some(e=>e.isIntersecting)),{rootMargin:`200px 0px`});e.observe(R),f(()=>e.disconnect())}),u(()=>{if(I()||!v())return;let e=p.text,t=L(),n=JSON.stringify(t),r=F().cached(e,n);if(r)return void S(r);let i=!0;f(()=>i=!1),F().render(e,n,t).then(e=>i&&S(e))});let W=()=>{let e=x();return e?.status===`ok`?e.svg:void 0};return(()=>{var o=k(),u=R;return typeof u==`function`?e(u,o):R=o,c(o,t(s,{get children(){return[t(r,{get when(){return I()},get children(){return t(U,{get lang(){return p.lang},get text(){return p.text},note:`Diagram too large to draw`})}}),t(r,{get when(){return n(()=>x()?.status===`error`)()&&x()},children:e=>t(U,{get lang(){return p.lang},get text(){return p.text},get note(){return`Couldn't draw this diagram: ${e().message}`}})}),t(r,{get when(){return x()?.status===`unsafe`},get children(){return t(U,{get lang(){return p.lang},get text(){return p.text},note:`Diagram not shown: the drawing had active content in it.`})}}),t(r,{when:!0,get children(){return[(()=>{var e=O(),n=e.firstChild,r=n.firstChild,o=r.nextSibling,s=o.nextSibling,u=s.nextSibling;return c(r,()=>p.lang||`mermaid`),o.$$click=()=>_(`diagram`),s.$$click=()=>_(`source`),u.$$click=async()=>{await C(p.text)&&(P(!0),clearTimeout(B),B=setTimeout(()=>P(!1),1500))},c(u,()=>D()?`Copied`:`Copy`),c(n,t(a,{get when(){return W()},children:e=>(()=>{var t=A();return t.$$click=()=>H(e()),t})()}),null),c(e,t(a,{get when(){return h()===`diagram`},get fallback(){return(()=>{var e=j(),t=e.firstChild;return c(t,()=>p.text),i(()=>l(e,`data-lang`,p.lang||void 0)),e})()},get children(){return t(a,{get when(){return W()},get fallback(){return M()},children:e=>(()=>{var t=N(),n=t.firstChild;return t.$$click=()=>E(!0),i(()=>l(n,`src`,g(e()))),t})()})}}),null),i(e=>{var t=h()===`diagram`,n=h()===`source`,r=D()?`Copied`:`Copy diagram source`;return t!==e.e&&l(o,`aria-pressed`,e.e=t),n!==e.t&&l(s,`aria-pressed`,e.t=n),r!==e.a&&l(u,`aria-label`,e.a=r),e},{e:void 0,t:void 0,a:void 0}),e})(),t(w,{get open(){return n(()=>!!T())()&&!!W()},get items(){return[{key:`diagram`,name:`Diagram`,mime:`image/svg+xml`,src:g(W()??``)}]},index:0,onClose:()=>E(!1)})]}})]}})),o})()}h([`click`]);export{W as default};
@@ -0,0 +1 @@
1
+ .md .diagram-block{margin:0 0 .8em}.md .diagram-block>.code-block{margin-bottom:0}.md .diagram-block>.code-block+.diagram-note{margin-top:.4em}.md .diagram-note{color:var(--muted);margin:0;font-size:.85em}.md .diagram-frame .code-btn[aria-pressed=false]{color:var(--faint)}.md .diagram-open{cursor:zoom-in;text-align:center;background:0 0;border:0;width:100%;padding:10px;display:block}.md .diagram-open img{vertical-align:top;max-width:100%;height:auto;display:inline-block}.md .diagram-loading{color:var(--faint);margin:0;padding:14px 12px;font-size:.85em}
@@ -0,0 +1,5 @@
1
+ import{d as e,f as t,i as n,l as r,r as i}from"./BGW36YJW-CJMhya8S.js";import{i as a}from"./DKTLEL5E-DciMwFJ1.js";import{a as o,t as s}from"./QQW2P742-BbcEkpa4.js";import{C as c,E as l,F as u,d,f,h as p,s as m,u as h}from"./lazy-f3CuUNJZ.js";var g=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],_=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function v(e){return!Number.isNaN(e.getTime())}function y(e,t){let n=String(e);return n.length>=t?n:`0`.repeat(t-n.length)+n}function ee(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function b(e){let t=-Math.round(e.getTimezoneOffset()/15)*15;return t===0?0:t}function x(e){let t=b(e),n=Math.abs(t);return(t>=0?`+`:`-`)+y(Math.floor(n/60),2)+`:`+y(n%60,2)}function S(e){return e.getDay()||7}function C(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function te(e){let t=new Date(e.getFullYear(),e.getMonth()+1,0);return t.setHours(23,59,59,999),t.getDate()}function ne(e,t){let n=new Date(e);return n.setDate(1),t(n),n.setDate(Math.min(e.getDate(),te(n))),n}function re(e,t,n){switch(n){case`M`:return ne(e,n=>n.setMonth(e.getMonth()+t));case`y`:return ne(e,n=>n.setFullYear(e.getFullYear()+t));case`d`:return C(e,Math.round(t));case`w`:return C(e,Math.round(7*t));case`h`:return new Date(e.getTime()+t*36e5);case`m`:return new Date(e.getTime()+t*6e4);case`s`:return new Date(e.getTime()+t*1e3);default:return new Date(e.getTime()+t)}}function ie(e){return C(e,4-S(e))}function ae(e){let t=ie(e),n=new Date(t.getFullYear(),0,1),r=S(n),i=C(n,4-r+(r>4?7:0)),a=(b(i)-b(t))*6e4,o=(t.getTime()-i.getTime()-a)/6048e5;return(o<0?Math.ceil(o)||0:Math.floor(o))+1}var oe=/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,se=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w=`YYYY-MM-DDTHH:mm:ssZ`;function ce(e,t){if(!v(e))return`Invalid Date`;let n=t||w;if(n===`YYYY-MM-DD`)return T(e);let r=!1,i=n.replace(oe,t=>{switch(t){case`Q`:return String(Math.ceil((e.getMonth()+1)/3));case`Do`:return`[`+ee(e.getDate())+`]`;case`GGGG`:return String(ie(e).getFullYear());case`W`:return String(ae(e));case`WW`:return y(ae(e),2);case`k`:return String(e.getHours()||24);case`kk`:return y(e.getHours()||24,2);case`X`:return String(Math.floor(e.getTime()/1e3));case`x`:return String(e.getTime());case`gggg`:case`wo`:case`w`:case`ww`:case`z`:case`zzz`:return r=!0,t;default:return t}});if(r)return;let a=e.getHours();return i.replace(se,(t,n)=>{if(n)return n;switch(t){case`YY`:return String(e.getFullYear()).slice(-2);case`YYYY`:return y(e.getFullYear(),4);case`M`:return String(e.getMonth()+1);case`MM`:return y(e.getMonth()+1,2);case`MMM`:return g[e.getMonth()].slice(0,3);case`MMMM`:return g[e.getMonth()];case`D`:return String(e.getDate());case`DD`:return y(e.getDate(),2);case`d`:return String(e.getDay());case`dd`:return _[e.getDay()].slice(0,2);case`ddd`:return _[e.getDay()].slice(0,3);case`dddd`:return _[e.getDay()];case`H`:return String(a);case`HH`:return y(a,2);case`h`:return String(a%12||12);case`hh`:return y(a%12||12,2);case`a`:return a<12?`am`:`pm`;case`A`:return a<12?`AM`:`PM`;case`m`:return String(e.getMinutes());case`mm`:return y(e.getMinutes(),2);case`s`:return String(e.getSeconds());case`ss`:return y(e.getSeconds(),2);case`SSS`:return y(e.getMilliseconds(),3);case`Z`:return x(e);default:return x(e).replace(`:`,``)}})}function T(e){let t=e.getFullYear(),n=e.getMonth()+1,r=e.getDate();return(t>=1e3&&t<=9999?t:y(t,4))+(n<10?`-0`:`-`)+n+(r<10?`-0`:`-`)+r}var le=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,E=/\[[^\]]+]/g,D=/\d/,O=/\d\d/,k=/\d{3}/,ue=/\d{4}/,A=/\d\d?/,de=/[+-]?\d+/,fe=/[+-]\d\d:?(\d\d)?|Z/,j=/\d*[^-_:/,()\s\d]+/;function M(e){return(t,n)=>(t[e]=+n,!0)}var N=(e,t)=>{if(t===`Z`)return e.offset=0,!0;let n=t.match(/([+-]|\d\d)/g),r=n[1]*60+(+n[2]||0);return e.offset=r===0?0:n[0]===`+`?-r:r,!0};function pe(e){return(t,n)=>{let r=e.indexOf(n)+1;return r<1?!1:(t.month=r%12||r,!0)}}var me=/* @__PURE__ */ new Map([[`A`,{re:j,read:(e,t)=>(e.afternoon=t===`PM`,!0)}],[`a`,{re:j,read:(e,t)=>(e.afternoon=t===`pm`,!0)}],[`Q`,{re:D,read:(e,t)=>(e.month=(t-1)*3+1,!0)}],[`S`,{re:D,read:(e,t)=>(e.milliseconds=t*100,!0)}],[`SS`,{re:O,read:(e,t)=>(e.milliseconds=t*10,!0)}],[`SSS`,{re:k,read:(e,t)=>(e.milliseconds=+t,!0)}],[`s`,{re:A,read:M(`seconds`)}],[`ss`,{re:A,read:M(`seconds`)}],[`m`,{re:A,read:M(`minutes`)}],[`mm`,{re:A,read:M(`minutes`)}],[`H`,{re:A,read:M(`hours`)}],[`h`,{re:A,read:M(`hours`)}],[`HH`,{re:A,read:M(`hours`)}],[`hh`,{re:A,read:M(`hours`)}],[`D`,{re:A,read:M(`day`)}],[`DD`,{re:O,read:M(`day`)}],[`Do`,{re:j,read:(e,t)=>{let n=t.match(/\d+/);if(!n)return!1;e.day=+n[0],e.dayGiven=!0;for(let n=1;n<=31;n++)ee(n)===t&&(e.day=n);return!0}}],[`w`,{re:A,read:M(`week`)}],[`ww`,{re:O,read:M(`week`)}],[`M`,{re:A,read:M(`month`)}],[`MM`,{re:O,read:M(`month`)}],[`MMM`,{re:j,read:pe(g.map(e=>e.slice(0,3)))}],[`MMMM`,{re:j,read:pe(g)}],[`Y`,{re:de,read:M(`year`)}],[`YY`,{re:O,read:(e,t)=>(e.year=+t+(+t>68?1900:2e3),!0)}],[`YYYY`,{re:ue,read:M(`year`)}],[`Z`,{re:fe,read:N}],[`ZZ`,{re:fe,read:N}]]),P,F=null;function he(e){if(e===P)return F;if(P=e,F=null,/[Ll]/.test(e.replace(E,``)))return null;let t=e.match(le);return t?(F=t.map(e=>me.get(e)??e.replace(/^\[|\]$/g,``)),F):null}function I(e,t,n){if(t===`x`||t===`X`)return/* @__PURE__ */ new Date((t===`X`?1e3:1)*Number(e));let r=he(t);if(!r)return;let i={},a=e,o=0;for(let e of r){if(typeof e==`string`){o+=e.length;continue}let t=e.re.exec(a.slice(o));if(!t||!e.read(i,t[0]))return;a=a.replace(t[0],``)}i.afternoon!==void 0&&i.hours!==void 0&&(i.afternoon?i.hours<12&&(i.hours+=12):i.hours===12&&(i.hours=0));let s=i.dayGiven||i.day?i.day:!i.year&&!i.month?n.getDate():1,c=i.year||n.getFullYear(),l=0;i.year&&!i.month||(l=i.month>0?i.month-1:n.getMonth());let u=i.hours||0,d=i.minutes||0,f=i.seconds||0,p=i.milliseconds||0;if(i.offset!==void 0)return new Date(Date.UTC(c,l,s,u,d,f,p+i.offset*6e4));if(!i.week)return new Date(c,l,s,u,d,f,p)}function L(e,t,n){let r=I(e,t,n);return r&&v(r)&&ce(r,t)===e?r:void 0}var ge=/^[YMDHhmsSZXx\-/.:, T]*$/,_e=/^\s*(active|done|crit|milestone|vert)\s*$/,ve=/^after\s+([\d\w- ]+)/,R=/^until\s+([\d\w- ]+)/,z=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/,ye=/[\s,]+/,B=/^\d+$/,be=new Set(_.map(e=>e.toLowerCase())),V=4e8,xe=400,Se=200,Ce=400;function we(e){let t=e===void 0?NaN:+e;return Number.isFinite(t)?t:Date.now()}function Te(e){let t=z.exec(e.trim());return t?[Number.parseFloat(t[1]),t[2]]:[NaN,`ms`]}function Ee(e,t){let n=new Set(e);for(let e of t.toLowerCase().split(ye))e!==``&&n.add(e);return[...n]}var De=class{type=`gantt`;title;accTitle;accDescr;dateFormat=``;axisFormat=``;tickInterval;todayMarker=``;includes=[];excludes=[];inclusiveEndDates=!1;topAxis=!1;displayMode=``;weekday;weekend=`saturday`;sections=[];links=/* @__PURE__ */ new Map;tasks=[];byId=/* @__PURE__ */ new Map;currentSection=``;taskCount=0;lastOrder=0;lastTaskId;options;now=0;work=0;includeSet=/* @__PURE__ */ new Set;excludeSet=/* @__PURE__ */ new Set;excludedDays=[];datedTokens=!1;constructor(e={}){this.options=e}setDateFormat(e){this.dateFormat=e}enableInclusiveEndDates(){this.inclusiveEndDates=!0}TopAxis(){this.topAxis=!0}setAxisFormat(e){this.axisFormat=e}setTickInterval(e){this.tickInterval=e}setTodayMarker(e){this.todayMarker=e}setIncludes(e){this.includes=Ee(this.includes,e)}setExcludes(e){this.excludes=Ee(this.excludes,e)}setWeekday(e){this.weekday=e}setWeekend(e){this.weekend=e}setDiagramTitle(e){this.title=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
+ `)}addSection(e){this.currentSection=e,this.sections.push(e)}addTask(e,t){let n=(t.startsWith(`:`)?t.slice(1):t).split(`,`),r={id:``,task:e,section:this.currentSection,startTime:void 0,endTime:void 0,renderEndTime:null,manualEndTime:!1,processed:!1,active:!1,done:!1,crit:!1,milestone:!1,vert:!1,order:-1,classes:[],prevTaskId:this.lastTaskId,raw:{data:t,start:void 0,end:``}},i;for(;n.length>0&&(i=_e.exec(n[0]))!==null;)r[i[1]]=!0,n.shift();if(n.length===0)throw new h(`Task "${e.trim()}" needs a duration or an end date.`,`semantic`,{type:`gantt`});if(n.length>3)throw new h(`Task "${e.trim()}" has too many fields. A task takes an id, a start, and an end or duration.`,`semantic`,{type:`gantt`});for(let e=0;e<n.length;e++)n[e]=n[e].trim();n.length===3?r.id=n[0]:(this.taskCount++,r.id=`task`+this.taskCount),n.length>1&&(r.raw.start=n[n.length-2]),r.raw.end=n[n.length-1],r.vert||(r.order=this.lastOrder++),this.tasks.push(r),this.lastTaskId=r.id,this.byId.set(r.id,r)}setLink(e,t){let n=s(t);for(let t of e.split(`,`))this.byId.has(t)&&this.links.set(t,n);this.setClass(e,`clickable`)}setClickEvent(e,t,n){this.setClass(e,`clickable`)}setClass(e,t){for(let n of e.split(`,`))this.byId.get(n)?.classes.push(t)}getTasks(e){this.now=we(e),this.work=0,this.includeSet=new Set(this.includes),this.excludeSet=new Set(this.excludes);let t=this.weekend===`friday`?5:this.weekend===`saturday`?6:NaN,n=this.excludeSet.has(`weekends`);this.excludedDays=_.map((e,r)=>{let i=r||7;return n&&(i===t||i===t+1)||this.excludeSet.has(e.toLowerCase())}),this.datedTokens=this.includes.length>0||!ge.test(this.dateFormat.trim());for(let e of this.excludes)e!==`weekends`&&!be.has(e)&&(this.datedTokens=!0);for(let e of this.tasks)e.startTime=e.endTime=void 0,e.renderEndTime=null,e.processed=e.manualEndTime=!1;let r=this.compileTasks();for(let e=0;!r&&e<10;e++)r=this.compileTasks();return this.tasks}isInvalidDate(e){let t=this.excludedDays[e.getDay()];if(!this.datedTokens)return t;let n=this.dateFormat.trim(),r=T(e),i=r;this.spend(Se),n!==`YYYY-MM-DD`&&(this.spend(Ce+n.length*8),i=ce(e,n));let a=e=>e.has(r)||i!==void 0&&e.has(i);return a(this.includeSet)?!1:t||a(this.excludeSet)}spend(e){if(this.work+=e,this.work>V)throw new h(`The gantt chart takes too much work to schedule.`,`limit`,{type:`gantt`})}parse(e,t){return this.spend((t.length+1)*(e.length+1)),L(e,t,new Date(this.now))}today(){let e=new Date(this.now);return e.setHours(0,0,0,0),e}warn(e){this.options.warn&&this.options.warn(e())}compileTasks(){let e=!0;for(let t of this.tasks)this.compileTask(t),e&&=t.processed;return e}compileTask(e){let t=e.raw.start;if(t===void 0){let t=e.prevTaskId===void 0?void 0:this.byId.get(e.prevTaskId);e.startTime=t?t.endTime:this.today()}else{let n=this.getStartDate(t);n&&(e.startTime=n)}e.startTime&&(e.endTime=this.getEndDate(e.startTime,e.raw.end),e.endTime&&(e.processed=!0,e.manualEndTime=this.parse(e.raw.end,`YYYY-MM-DD`)!==void 0,this.checkTaskDates(e)))}references(e,t){let n=[],r;for(let e of t.split(` `)){if(e===``)continue;let t=this.byId.get(e);t?n.push(t):(r??=[]).push(e)}if(r){let t=r;this.warn(()=>`Gantt: "${e}" refers to task ids that do not exist: ${t.join(`, `)}.`)}return n}getStartDate(e){let t=e.trim(),n=this.dateFormat.trim();if((n===`x`||n===`X`)&&B.test(t))return this.checked(new Date(Number(t)),t);let r=ve.exec(t);if(r!==null){let e=this.references(`after`,r[1]),t;for(let n of e)(!t||n.endTime>t.endTime)&&(t=n);return t?t.endTime:this.today()}let i=this.parse(t,n);if(i)return i;let a=new Date(t);if(!v(a)||a.getFullYear()<-1e4||a.getFullYear()>1e4)throw new h(`Invalid date:`+t,`semantic`,{type:`gantt`});return a}checked(e,t){if(!v(e))throw new h(`Invalid date:`+t,`semantic`,{type:`gantt`});return e}getEndDate(e,t){let n=t.trim(),r=R.exec(n);if(r!==null){let e=this.references(`until`,r[1]),t;for(let n of e)(!t||n.startTime<t.startTime)&&(t=n);return t?t.startTime:this.today()}let i=this.dateFormat.trim(),a=this.parse(n,i);if(a)return this.inclusiveEndDates?C(a,1):a;let[o,s]=Te(n);if(Number.isNaN(o))return this.warn(()=>`Gantt: "${n}" is neither a date in the "${i}" format nor a duration such as "3d", so the task gets no duration.`),new Date(e);let c=re(e,o,s);return v(c)?c:new Date(e)}checkTaskDates(e){if(this.excludes.length===0||e.manualEndTime)return;let t=C(e.startTime,1),n=new Date(e.endTime),r=+C(n,1e4),i=!1,a=null;for(;+t<=+n;){if(this.spend(xe),i||(a=+n),i=this.isInvalidDate(t),i&&(n.setDate(n.getDate()+1),+n>r))throw new h("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.",`semantic`,{type:`gantt`});t.setDate(t.getDate()+1)}e.endTime=n,e.renderEndTime=a===null?null:new Date(a)}},Oe=/* @__PURE__ */ `$end.INVALID.open_directive.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.NL.href.callbackname.callbackargs.click.gantt.dateFormat.inclusiveEndDates.topAxis.axisFormat.tickInterval.includes.excludes.todayMarker.weekday_monday.weekday_tuesday.weekday_wednesday.weekday_thursday.weekday_friday.weekday_saturday.weekday_sunday.weekend_friday.weekend_saturday.date.title.accDescription.section.taskTxt.taskData.:.EOF`.split(`.`),ke=/accTitle\s*:\s*/iy,Ae=/accDescr\s*:\s*/iy,je=/accDescr\s*\{\s*/iy,Me=/href\s+"/iy,Ne=/call\s+/iy,Pe=/click\s+/iy,H=/\(\s*\)/y,Fe=/weekday\s+(monday|tuesday|wednesday|thursday|friday|saturday|sunday)\b/iy,Ie=[`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`,`sunday`],U=/weekend\s+(?:(friday)|saturday)\b/iy,Le=/\d\d\d\d-\d\d-\d\d\b/y,Re=/title[^\S\r\n]*(?=[\r\n]|$)/iy,ze=/* @__PURE__ */ new Map([[97,[[/axisFormat\s[^#\n;]+/iy,17],[/accDescription\s[^#\n;]+/iy,33]]],[103,[[/gantt\b/iy,13]]],[100,[[/dateFormat\s[^#\n;]+/iy,14]]],[105,[[/inclusiveEndDates\b/iy,15],[/includes\s[^#\n;]+/iy,19]]],[116,[[/topAxis\b/iy,16],[/tickInterval\s[^#\n;]+/iy,18],[/todayMarker\s[^\n;]+/iy,21],[/title[^\S\r\n][^\n]+/iy,32]]],[101,[[/excludes\s[^#\n;]+/iy,20]]],[115,[[/section\s[^\n]+/iy,34]]]]);function Be(e){let t=e.length,n=[],r=[],i=[],a=0,o=0,s=(t,a,s)=>{n.push(t),r.push(e.slice(a,s)),i.push(a),o=s},c=t=>(t.lastIndex=o,t.test(e)?t.lastIndex:-1),l=(n,r)=>{let i=e.indexOf(n,r);return i===-1?t:i},d=t=>{let n;switch(t|32){case 97:if((n=c(ke))>=0)return a=1,s(3,o,n),!0;if((n=c(Ae))>=0)return a=2,s(5,o,n),!0;if((n=c(je))>=0)return a=3,o=n,!0;break;case 104:if((n=c(Me))>=0)return a=4,o=n,!0;break;case 99:if((n=c(Ne))>=0)return a=5,o=n,!0;if((n=c(Pe))>=0)return a=7,o=n,!0;break;case 116:if((n=c(Re))>=0)return o=n,!0;break;case 119:{Fe.lastIndex=o;let t=Fe.exec(e);if(t)return s(22+Ie.indexOf(t[1].toLowerCase()),o,Fe.lastIndex),!0;if(U.lastIndex=o,t=U.exec(e),t)return s(t[1]===void 0?30:29,o,U.lastIndex),!0;break}}let r=ze.get(t|32);if(r){for(let[e,t]of r)if((n=c(e))>=0)return s(t,o,n),!0}return!1};for(;;){if(o>=t){let e=38;switch(a){case 1:e=4;break;case 2:e=6;break;case 3:e=7;break;case 4:e=9;break;case 5:e=10;break;case 6:e=11;break;case 7:e=12}s(e,t,t);break}let f=e.charCodeAt(o);switch(a){case 0:{let a=e.charCodeAt(o+1);if(f===37){if(a!==37){let t=l(`
3
+ `,o+1);for(;e.charCodeAt(t)===10;)t++;o=t}else{if(e.charCodeAt(o+2)===123)return s(2,o,o+3),s(1,o,o),{types:n,texts:r,starts:i};o=l(`
4
+ `,o+2)}}else if(f===10){let t=o+1;for(;e.charCodeAt(t)===10;)t++;s(8,o,t)}else if(u(f))for(o++;o<t&&u(e.charCodeAt(o));)o++;else{if(d(f))break;if(f>=48&&f<=57&&c(Le)>=0)s(31,o,o+10);else if(f!==58){let n=o+1;for(;n<t;){let t=e.charCodeAt(n);if(t===58||t===10)break;n++}s(35,o,n)}else{let n=o+1;for(;n<t;){let t=e.charCodeAt(n);if(t===35||t===10||t===59)break;n++}s(n>o+1?36:37,o,n)}}break}case 1:case 2:{let e=a===1?4:6;a=0,s(e,o,l(`
5
+ `,o));break}case 3:f===125?(a=0,o++):s(7,o,l(`}`,o));break;case 4:f===34?(a=0,o++):s(9,o,l(`"`,o));break;case 5:if(f===40){let e=c(H);e>=0?(a=0,o=e):(a=6,o++)}else s(10,o,l(`(`,o));break;case 6:f===41?(a=0,o++):s(11,o,l(`)`,o));break;case 7:if(u(f))a=0,o++;else{let n=o+1;for(;n<t&&!u(e.charCodeAt(n));)n++;s(12,o,n)}}}return n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var Ve=[`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`,`sunday`],He=`'EOF', 'SPACE', 'NL', 'weekday_monday', 'weekday_tuesday', 'weekday_wednesday', 'weekday_thursday', 'weekday_friday', 'weekday_saturday', 'weekday_sunday', 'weekend_friday', 'weekend_saturday', 'dateFormat', 'inclusiveEndDates', 'topAxis', 'axisFormat', 'tickInterval', 'excludes', 'includes', 'todayMarker', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'section', 'taskTxt', 'click'`,W=/* @__PURE__ */ new Uint8Array(39);for(let e=22;e<=30;e++)W[e]=1;for(let e of[38,8,14,15,16,17,18,20,19,21,32,3,5,7,34,35,12])W[e]=1;function Ue(e,t){let{types:n,texts:r,starts:i}=Be(e),a=0,o=t=>{let r=n[a];throw c(`gantt`,e,i[a],`Expecting ${t}, got '${r===0?`1`:Oe[r]}'`)},s=(e=``)=>{W[n[a]]!==1&&o(He+e)};for(n[a]!==13&&o(`'gantt'`),a++;;){let e=n[a],i=r[a];switch(W[e]!==1&&o(He),a++,e){case 38:if(n[a]===0)return;s();break;case 8:break;case 14:s(),t.setDateFormat(i.slice(11));break;case 15:s(),t.enableInclusiveEndDates();break;case 16:s(),t.TopAxis();break;case 17:s(),t.setAxisFormat(i.slice(11));break;case 18:s(),t.setTickInterval(i.slice(13));break;case 20:s(),t.setExcludes(i.slice(9));break;case 19:s(),t.setIncludes(i.slice(9));break;case 21:s(),t.setTodayMarker(i.slice(12));break;case 29:s(),t.setWeekend(`friday`);break;case 30:s(),t.setWeekend(`saturday`);break;case 32:s(),t.setDiagramTitle(i.slice(6));break;case 3:{n[a]!==4&&o(`'acc_title_value'`);let e=r[a++];s(),t.setAccTitle(e.trim());break}case 5:{n[a]!==6&&o(`'acc_descr_value'`);let e=r[a++];s(),t.setAccDescription(e.trim());break}case 7:s(),t.setAccDescription(i.trim());break;case 34:s(),t.addSection(i.slice(8));break;case 35:{n[a]!==36&&o(`'taskData'`);let e=r[a++];s(),t.addTask(i,e);break}case 12:{let e,c=null,l;n[a]===10?(e=r[a++],n[a]===11&&(c=r[a++]),n[a]===9?(l=r[a++],s()):s(c===null?`, 'callbackargs', 'href'`:`, 'href'`)):n[a]===9?(l=r[a++],n[a]===10?(e=r[a++],n[a]===11?(c=r[a++],s()):s(`, 'callbackargs'`)):s(`, 'callbackname'`)):o(`'callbackname', 'href'`),e!==void 0&&t.setClickEvent(i,e,c),l!==void 0&&t.setLink(i,l);break}default:s(),t.setWeekday(Ve[e-22])}}}var G=1e3,K=60*G,q=60*K,J=24*q,We=7*J,Ge=30*J,Ke=365*J;function qe(e){e.setHours(0,0,0,0)}function Je(e){return{floor(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),qe(t)},offset:(e,t)=>e.setDate(e.getDate()+t*7),cycle:1/0,ms:We}}var Ye={millisecond:{floor:()=>{},offset:(e,t)=>e.setTime(+e+t),cycle:1/0,ms:1},second:{floor:e=>e.setTime(+e-e.getMilliseconds()),offset:(e,t)=>e.setTime(+e+t*G),field:e=>e.getUTCSeconds(),cycle:60,ms:G},minute:{floor:e=>e.setTime(+e-e.getMilliseconds()-e.getSeconds()*G),offset:(e,t)=>e.setTime(+e+t*K),field:e=>e.getMinutes(),cycle:60,ms:K},hour:{floor:e=>e.setTime(+e-e.getMilliseconds()-e.getSeconds()*G-e.getMinutes()*K),offset:(e,t)=>e.setTime(+e+t*q),field:e=>e.getHours(),cycle:24,ms:q},day:{floor:qe,offset:(e,t)=>e.setDate(e.getDate()+t),field:e=>e.getDate()-1,cycle:31,ms:J},month:{floor(e){e.setDate(1),qe(e)},offset:(e,t)=>e.setMonth(e.getMonth()+t),field:e=>e.getMonth(),cycle:12,ms:Ge},year:{floor(e){e.setMonth(0,1),qe(e)},offset:(e,t)=>e.setFullYear(e.getFullYear()+t),cycle:1/0,ms:Ke}};function Xe(e,t,n){return Math.floor((+t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*K)/n)}function Ze(e,t){return(e%t+t)%t}function Qe(e,t,n){let r=e===`week`?Je(n):Ye[e];if(t<=1)return r;if(e===`millisecond`)return{...r,floor:e=>e.setTime(Math.floor(+e/t)*t),offset:(e,n)=>e.setTime(+e+n*t)};if(e===`year`)return{...r,floor(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),r.floor(e)},offset:(e,n)=>e.setFullYear(e.getFullYear()+n*t)};if(e===`week`){let e=/* @__PURE__ */ new Date(0);return r.floor(e),{...r,floor(n){r.floor(n),r.offset(n,-Ze(Xe(e,n,We),t))},offset:(e,n)=>r.offset(e,n*t)}}let i=r.field,a=e=>i(e)%t===0;return{...r,floor(e){for(r.floor(e);Number.isFinite(+e)&&!a(e);r.floor(e))e.setTime(e-1)},offset(e,t){for(let n=0;n<t&&Number.isFinite(+e);n++)do r.offset(e,1);while(Number.isFinite(+e)&&!a(e))}}}function $e(e,t,n,r){let i=/* @__PURE__ */ new Date(t-1);e.floor(i),e.offset(i,1),e.floor(i);let a=[],o=-1/0;for(;+i<=n&&+i>o;){if(a.length>=r)return;o=+i,a.push(o),e.offset(i,1),e.floor(i)}return a}function et(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i;return 10**i*(a>=Math.sqrt(50)?10:a>=Math.sqrt(10)?5:a>=Math.SQRT2?2:1)}var Y=[[`second`,1,G],[`second`,5,5*G],[`second`,15,15*G],[`second`,30,30*G],[`minute`,1,K],[`minute`,5,5*K],[`minute`,15,15*K],[`minute`,30,30*K],[`hour`,1,q],[`hour`,3,3*q],[`hour`,6,6*q],[`hour`,12,12*q],[`day`,1,J],[`day`,2,2*J],[`week`,1,We],[`month`,1,Ge],[`month`,3,3*Ge],[`year`,1,Ke]];function tt(e,t,n){let r=(t-e)/n,i=0;for(;i<Y.length&&Y[i][2]<=r;)i++;let a;if(i===Y.length)a=Qe(`year`,Math.max(1,et(e/Ke,t/Ke,n)),0);else if(i===0)a=Qe(`millisecond`,Math.max(et(e,t,n),1),0);else{let[e,t]=Y[r/Y[i-1][2]<Y[i][2]/r?i-1:i];a=Qe(e,t,0)}return $e(a,e,t,4*n+8)??[]}var nt=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/,rt=[`sunday`,`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`];function it(e,t,n,r,i){let a=nt.exec(e);if(!a)return;let o=parseInt(a[1],10),s=a[2],c=Qe(s,o,Math.max(0,rt.indexOf(t)));if(!((r-n)/(Math.min(o,c.cycle)*c.ms)>i))return $e(c,n,r,i)}function X(e,t,n){let r=e<0?`-`:``,i=String(r?-e:e);return r+(i.length<n?t.repeat(n-i.length)+i:i)}function Z(e,t){let n=/* @__PURE__ */ new Date(+e);return t.floor(n),n}function at(e,t){let n=Je(t),r=Z(e,Ye.year);return Xe(Z(/* @__PURE__ */ new Date(r-1),n),Z(e,n),We)}function ot(e){let t=Je(4),n=e.getDay(),r=Z(n>=4||n===0?e:/* @__PURE__ */ new Date(e-1),t);return n>=4||n===0||(t.offset(r,1),t.floor(r)),r}var st=/* @__PURE__ */ new Map([[`-`,``],[`_`,` `],[`0`,`0`]]);function ct(e,t){let n=``,r=0,i=e.length;for(let a=0;a<i;a++){if(e.charCodeAt(a)!==37)continue;n+=e.slice(r,a);let i=e.charAt(++a),o=st.get(i);o===void 0?o=i===`e`?` `:`0`:i=e.charAt(++a),n+=lt(i,t,o),r=a+1}return n+e.slice(r)}function lt(e,t,n){switch(e){case`a`:return _[t.getDay()].slice(0,3);case`A`:return _[t.getDay()];case`b`:return g[t.getMonth()].slice(0,3);case`B`:return g[t.getMonth()];case`c`:return ct(`%x, %X`,t);case`d`:case`e`:return X(t.getDate(),n,2);case`f`:return X(t.getMilliseconds(),n,3)+`000`;case`g`:return X(ot(t).getFullYear()%100,n,2);case`G`:return X(ot(t).getFullYear()%1e4,n,4);case`H`:return X(t.getHours(),n,2);case`I`:return X(t.getHours()%12||12,n,2);case`j`:return X(1+Xe(Z(t,Ye.year),Z(t,Ye.day),J),n,3);case`L`:return X(t.getMilliseconds(),n,3);case`m`:return X(t.getMonth()+1,n,2);case`M`:return X(t.getMinutes(),n,2);case`p`:return t.getHours()>=12?`PM`:`AM`;case`q`:return String(1+Math.floor(t.getMonth()/3));case`Q`:return String(+t);case`s`:return String(Math.floor(t/1e3));case`S`:return X(t.getSeconds(),n,2);case`u`:return String(t.getDay()||7);case`U`:return X(at(t,0),n,2);case`V`:{let e=ot(t),r=Z(e,Ye.year);return X(Xe(Z(r,Je(4)),e,We)+ +(r.getDay()===4),n,2)}case`w`:return String(t.getDay());case`W`:return X(at(t,1),n,2);case`x`:return ct(`%-m/%-d/%Y`,t);case`X`:return ct(`%-I:%M:%S %p`,t);case`y`:return X(t.getFullYear()%100,n,2);case`Y`:return X(t.getFullYear()%1e4,n,4);case`Z`:{let e=t.getTimezoneOffset(),n=Math.abs(e);return(e>0?`-`:`+`)+X(Math.floor(n/60),`0`,2)+X(n%60,`0`,2)}case`%`:return`%`;default:return e}}var ut=800,dt=240,Q=8,ft=/<br\s*\/?>/gi;function $(e,t,n,r){let i=e.gantt?.[t];return typeof i==`number`&&Number.isFinite(i)?Math.min(r,Math.max(n,i)):void 0}function pt(e,t){let n=e.gantt?.[t];return typeof n==`string`?n:void 0}function mt(e,t){return e.gantt?.[t]===!0}function ht(e,t,r){let i=n(e.replace(ft,` `),!1,t,r,4e3);return i.lines.length<=1?i:{...i,lines:[i.lines[0]],widths:[i.widths[0]],width:i.widths[0],height:i.lineHeight}}function gt(e){return Number.isFinite(+e.startTime)&&Number.isFinite(+e.endTime)}function _t(e,t,n){let r=e.filter(gt).sort((e,t)=>+e.startTime-t.startTime||e.order-t.order),i=[];for(let e of r){let r=+e.startTime,a=0;for(;a<i.length&&r<i[a];)a++;i[a]=+e.endTime,n.set(e,t+a)}let a=i.length;for(let r of e)n.has(r)||n.set(r,t+a++);return Math.max(a,1)}function vt(s,c,u){let h=u.fontSize??16,g=u.measurer??m(u.fontFamily,u.fontFamilyMono),_=u.padding??8,v=we(u.now),y=$(c,`fontSize`,4,72)??Math.round(h*.8125),ee=$(c,`sectionFontSize`,4,72)??y,b=Math.round(h*.75),x=$(c,`barHeight`,4,400)??Math.round(y*1.85),S=x+($(c,`barGap`,0,400)??Math.round(x/4)),te=Math.round($(c,`numberSectionStyles`,1,1e3)??4),ne=s.displayMode===`compact`,ie=s.topAxis||mt(c,`topAxis`),ae=s.getTasks(v),oe=ae.filter(e=>!e.vert),se=ae.filter(e=>e.vert&&gt(e)),w=/* @__PURE__ */ new Map;for(let e of oe)w.has(e.section)||w.set(e.section,w.size);let ce=/* @__PURE__ */ new Map,T=[];if(ne){let e=/* @__PURE__ */ new Map;for(let t of oe){let n=e.get(t.section);n?n.push(t):e.set(t.section,[t])}for(let[t,n]of e){let e=_t(n,T.length,ce);for(let n=0;n<e;n++)T.push(t)}}else for(let e of oe)ce.set(e,T.length),T.push(e.section);let le=T.length,E=1/0,D=-1/0;for(let e of ae)gt(e)&&(E=Math.min(E,+e.startTime),D=Math.max(D,+e.endTime));let O=E<=D,k=n(s.title,!1,g,h,4e3,1),ue=k.height>0?k.height+16:0;if(!O){let t=Math.ceil(Math.max(k.width,1)+2*_),n=Math.ceil(Math.max(k.height,1)+2*_),r=p(k,t/2,_+k.height/2,` class="pele-title" font-weight="var(--_tw)"`);return{svg:e(`gantt`,t,n,h,u,s,r),width:t,height:n,links:[]}}let A=/* @__PURE__ */ new Map,de=0;for(let e of w.keys()){let t=n(e,!1,g,ee,180);A.set(e,t),de=Math.max(de,t.width)}let fe=s.axisFormat||(s.dateFormat===`D`?`%d`:pt(c,`axisFormat`)??`%Y-%m-%d`),j=e=>ct(fe,new Date(e)),M=Math.max(g.width(j(E),b,0),g.width(j(D),b,0)),N=_+($(c,`leftPadding`,0,2e3)??Math.max(de>0?de+24:0,M/2)),pe=$(c,`rightPadding`,0,2e3)??Math.max(16,M/2),me=a(u,$(c,`useWidth`,100,2e4)??ut,280),P=Math.max(dt,me-N-pe-_),F=N+P,he=D>E?P/(D-E):0,I=e=>he===0?N+P/2:N+(e-E)*he,L=Math.round(b*1.75),ge=$(c,`topPadding`,0,2e3),_e=$(c,`gridLineStartPadding`,0,2e3),ve=_+ue+(ie?L:0),R=Math.max(ve,ge??0),z=ge!==void 0&&_e!==void 0?Math.max(0,Math.min(ge-_e,R-ve)):0,ye=Math.max(le,1)*S,B=R+ye,be=[],V=F+pe;for(let e of oe){let t=ht(e.task,g,y),n=ce.get(e);if(!gt(e)){let r=N+Q+t.width/2;V=Math.max(V,r+t.width/2),be.push({task:e,label:t,row:n,x0:NaN,x1:NaN,labelX:r,inside:!1});continue}let r=I(+e.startTime),i=Math.max(I(+(e.renderEndTime??e.endTime)),r+(e.milestone?0:2));if(e.milestone){let t=r+(I(+e.endTime)-r)/2;r=t-x/2,i=t+x/2}let a=!e.milestone&&t.width+2*Q<=i-r,o=(r+i)/2;if(!a){let e=i+Q+t.width<=F+pe,n=r-Q-t.width>=N;o=e||!n?i+Q+t.width/2:r-Q-t.width/2,V=Math.max(V,o+t.width/2)}be.push({task:e,label:t,row:n,x0:r,x1:i,labelX:o,inside:a})}let xe=s.tickInterval||pt(c,`tickInterval`)||``,Se=s.weekday??pt(c,`weekday`)??`sunday`,Ce=Math.max(2,Math.min(10,Math.floor(P/(M+24)))),Te=it(xe,Se,E,D,Math.ceil(P/3))??tt(E,D,Ce),Ee=``,De=``,Oe=``,ke=-1/0,Ae=``,je=B+L/2+2,Me=R-z-L/2-2;for(let e of Te){let t=I(e);Ee+=`M${l(t)},${l(R-z)}V${l(B)}`;let n=j(e),r=g.width(n,b,0);if(t-r/2<ke+8||n===Ae)continue;ke=t+r/2,Ae=n,V=Math.max(V,ke);let i=`text-anchor="middle">${d(n)}</text>`;De+=`<text x="${l(t)}" y="${l(je+b*.35)}" ${i}`,ie&&(Oe+=`<text x="${l(t)}" y="${l(Me+b*.35)}" ${i}`)}let Ne=``,Pe=``,H=[],Fe=B+L+4,Ie=Math.round(y*1.5);for(let e of[...se].sort((e,t)=>+e.startTime-t.startTime)){let t=I(+e.startTime),n=ht(e.task,g,y),r=Math.max(_+n.width/2,t),i=0;for(;i<H.length&&r-n.width/2<H[i]+8;)i++;H[i]=r+n.width/2,V=Math.max(V,H[i]),Ne+=`<path class="pele-vert" data-id="${f(e.id)}" d="M${l(t)},${l(R-z)}V${l(B)}"/>`,Pe+=p(n,r,Fe+i*Ie+Ie/2,` class="pele-vert-label" data-id="${f(e.id)}"`)}let U=Math.ceil(Math.max(V,_+k.width)+_),Le=Math.ceil(B+L+(H.length>0?4+H.length*Ie:0)+_),Re=``,ze=``;for(let e=0;e<le;){let t=T[e],n=e+1;for(;n<le&&T[n]===t;)n++;let r=w.get(t)%te,i=R+e*S,a=(n-e)*S;(w.size>1||t!==``)&&(Re+=`<rect class="pele-section pele-section-${r}" x="0" y="${l(i)}" width="${U}" height="${l(a)}" fill="${r%2==0?`var(--_s)`:`none`}"/>`);let o=A.get(t);ze+=p(o,_+8+o.width/2,i+a/2,` class="pele-section-label" data-id="${f(t)}"`,u.icons),e=n}let Be=``;if((s.excludes.length>0||s.includes.length>0)&&+re(new Date(E),6,`y`)>D){let e,t,n=()=>{if(!e||!t)return;let n=new Date(e);n.setHours(0,0,0,0);let r=new Date(t);r.setHours(23,59,59,999);let i=Math.max(N,I(+n)),a=Math.min(F,I(+r));a>i&&(Be+=`<rect x="${l(i)}" y="${l(R)}" width="${l(a-i)}" height="${l(ye)}"/>`),e=t=void 0};for(let r=new Date(E);+r<=D;r=C(r,1))s.isInvalidDate(r)?(e??=r,t=r):n();n()}let Ve=[],He=``;for(let e of be){let n=e.task,i=R+e.row*S+S/2,a=n.active?`active`:n.done?`done`:``,c=`pele-task`;a&&(c+=` pele-`+a),n.crit&&(c+=` pele-crit`),n.milestone&&(c+=` pele-milestone`),n.classes.includes(`clickable`)&&(c+=` pele-clickable`);let d=``,m=``;if(Number.isNaN(e.x0))c+=` pele-unscheduled`,m=` fill="var(--_m)"`;else{let o=n.crit?r:`var(--_c)`,s=a===`done`?`fill="var(--_a)"`:a===`active`?`fill="${o}" fill-opacity="0.25"`:`fill="${o}"`,c=`stroke="${a===`done`&&!n.crit?`var(--_b)`:o}"`;if(n.milestone){let t=(e.x0+e.x1)/2,n=x/2;d=`<path d="M${l(t)},${l(i-n)}L${l(t+n)},${l(i)}L${l(t)},${l(i+n)}L${l(t-n)},${l(i)}Z" ${s} ${c} stroke-linejoin="round"/>`}else d=`<rect x="${l(e.x0)}" y="${l(i-x/2)}" width="${l(e.x1-e.x0)}" height="${l(x)}" ${s} ${c}${t}/>`;e.inside?m=a===``?` fill="var(--_bg)"`:``:a===`done`&&(m=` fill="var(--_m)"`)}let h=d+p(e.label,e.labelX,i,` class="pele-label"${m}`),g=s.links.get(n.id);g!==void 0&&(h=o(h,g,n.id,Ve,u)),He+=`<g class="${c}" data-id="${f(n.id)}">${h}</g>`}let W=``;if(s.todayMarker!==`off`&&v>=E&&v<=D&&D>E){let e=I(v),t=R-z,n=s.todayMarker?i(s.todayMarker.split(`,`)).line:``;W=`<g class="pele-today"><path d="M${l(e)},${l(t)}V${l(B)}" fill="none" stroke="var(--_c)" stroke-width="2"${n}/>`+(n?``:`<path d="M${l(e-4)},${l(t-5)}H${l(e+4)}L${l(e)},${l(t+1)}Z" fill="var(--_c)"/>`)+`</g>`}let Ue=`M${l(N)},${l(B)}H${l(F)}`+(ie?`M${l(N)},${l(R-z)}H${l(F)}`:``),G=p(k,U/2,_+k.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(Re?`<g class="pele-sections">${Re}</g>`:``)+(Be?`<g class="pele-excluded" fill="var(--_a)">${Be}</g>`:``)+`<g class="pele-grid" fill="none"><path d="${Ee}" stroke="var(--_b)" stroke-dasharray="1 3"/><path d="${Ue}" stroke="var(--_b)"/></g>`+(Ne?`<g class="pele-verts" fill="none" stroke="var(--_l)" stroke-width="1.5" stroke-dasharray="4 3">${Ne}</g>`:``)+W+`<g class="pele-tasks" font-size="${l(y)}">${He}</g><g class="pele-section-labels" font-size="${l(ee)}">${ze}</g><g class="pele-axis" font-size="${b}" fill="var(--_m)">${De}${Oe}</g>`+(Pe?`<g class="pele-vert-labels" font-size="${l(y)}">${Pe}</g>`:``);return{svg:e(`gantt`,U,Le,h,u,s,G),width:U,height:Le,links:Ve}}var yt={type:`gantt`,parse(e,t,n){let r=new De;n&&(r.title=n);let i=t.gantt?.displayMode;return typeof i==`string`&&(r.displayMode=i),Ue(e,r),r},render:vt};export{yt as gantt};
@@ -0,0 +1 @@
1
+ import{E as e,f as t,h as n,k as r}from"./lazy-f3CuUNJZ.js";function i(e,t,n=0){return{w:e,h:t,kind:n,pin:0,hint:NaN,key:NaN,span:0,x:0,y:0,rank:0}}function a(e,t,n=1,r=0,i=0){return{tail:e,head:t,minlen:n,labelW:r,labelH:i,tailDx:0,headDx:0,tailFixed:!1,headFixed:!1,reversed:!1,points:[],labelX:0,labelY:0}}var o=24,s=2e4,c=16,l=8,u=.125,d=3,f=18,p=10,m=14,h=2,g=28,_=12,v=12,y=8,b=4,x=.5,S=.5,C=1,w=12,T=24,E=40,D=400,O=16,k=new Float64Array(2*O+2),A=new Float64Array(2*O+2);function j(e){return e===1||e===2}function M(e,t,n,r){for(let i=t+1;i<n;i++){let n=e[i],a=r[n],o=i-1;for(;o>=t&&(r[e[o]]>a||r[e[o]]===a&&e[o]>n);)e[o+1]=e[o],o--;e[o+1]=n}}function N(e,t,n,r,i,a){let o=(e,t)=>n[e]<n[t]||n[e]===n[t]&&(i?r[e]>r[t]:r[e]<r[t]);for(let n=0;n<t;n+=8)for(let r=n+1,i=Math.min(t,n+8);r<i;r++){let t=e[r],i=r-1;for(;i>=n&&o(t,e[i]);)e[i+1]=e[i],i--;e[i+1]=t}let s=e,c=a;for(let e=8;e<t;e*=2){for(let n=0;n<t;n+=2*e){let r=Math.min(t,n+e),i=Math.min(t,n+2*e),a=n,l=r,u=n;for(;a<r&&l<i;)c[u++]=o(s[l],s[a])?s[l++]:s[a++];for(;a<r;)c[u++]=s[a++];for(;l<i;)c[u++]=s[l++]}let n=s;s=c,c=n}if(s!==e)for(let n=0;n<t;n++)e[n]=s[n]}function P(e,t,n){let r=e.length;if(r===0)return{width:0,height:0};let i=t.length;if(r===1&&i===0&&e[0].kind===0){let t=e[0];return t.rank=0,t.x=t.w/2,t.y=t.h/2,{width:t.w,height:t.h}}let a=1;if(i>0){let e=/* @__PURE__ */ new Set;for(let n of t){let t=Math.min(n.tail,n.head),i=Math.max(n.tail,n.head),o=t*r+i;if(n.labelW>0||e.has(o)){a=2;break}e.add(o)}}F(e,t),I(e,t,a);let o=new Int32Array(i),c=0;for(let n=0;n<i;n++){let r=t[n];o[n]=Math.abs(e[r.head].rank-e[r.tail].rank),o[n]>1&&(c+=o[n]-1)}let l=new Uint8Array(i);if(c>s){let e=[];for(let t=0;t<i;t++)o[t]>1&&e.push(t);e.sort((e,t)=>o[t]-o[e]||e-t);for(let t of e){if(c<=s)break;l[t]=1,c-=o[t]-1}}let v=r+c,y=new Float64Array(v),b=new Float64Array(v),x=new Uint8Array(v),S=new Int32Array(v),C=0;for(let t=0;t<r;t++){let n=e[t];y[t]=n.w,b[t]=n.h,x[t]=n.kind,S[t]=n.rank,n.rank>C&&(C=n.rank)}let w=0;for(let e=0;e<i;e++)l[e]||(w+=o[e]);let T=new Int32Array(w),E=new Int32Array(w),D=new Float64Array(w),O=new Float64Array(w),k=new Int32Array(i).fill(-1),A=new Uint8Array(C+1),j=new Int32Array(i).fill(-1),M=!1;for(let t=0;t<r;t++)e[t].span>0&&e[t].kind===0&&(M=!0);let N=M?new Uint8Array(w):void 0,P=M?new Uint8Array(w):void 0,L=new Int32Array(i).fill(-1),z=new Int32Array(i).fill(-1),B=new Float64Array(v).fill(NaN);for(let t=0;t<r;t++)B[t]=e[t].key;let le=!1;{let e=r,n=0;for(let r=0;r<i;r++){if(l[r])continue;let i=t[r],o=i.reversed?i.head:i.tail,s=i.reversed?i.tail:i.head,c=i.reversed?i.headDx:i.tailDx,u=i.reversed?i.tailDx:i.headDx;(c!==0||u!==0)&&(le=!0);let d=S[o],f=S[s],p=-1;i.labelW>0&&(p=d+(f-d>>1),a===2&&f-d>=4?(p&1)==1&&(p+=i.reversed?1:-1):a===2&&!(p&1)&&(p+=i.reversed?1:-1));let m=o;f-d>1&&(k[r]=e),L[r]=n,N&&!(i.reversed?i.headFixed:i.tailFixed)&&(N[n]=i.reversed?2:1);for(let t=d+1;t<f;t++){let a=e++;S[a]=t,B[a]=B[o]+(B[s]-B[o])*(t-d)/(f-d),t===p?(y[a]=i.labelW,b[a]=i.labelH,x[a]=2,j[r]=a,A[t]|=i.reversed?2:1):x[a]=1,T[n]=m,E[n]=a,D[n]=m===o?c:0,n++,m=a}T[n]=m,E[n]=s,D[n]=m===o?c:0,O[n]=u,P&&!(i.reversed?i.tailFixed:i.headFixed)&&(P[n]=i.reversed?1:2),z[r]=n,n++}}let de;if(n.groups){let{of:e,parent:a}=n.groups;de=new Int32Array(v);for(let t=0;t<r;t++)de[t]=e[t];let s=e=>{let t=0;for(;e>=0;e=a[e])t++;return t},c=(e,t)=>{let n=s(e),r=s(t);for(;n>r;n--)e=a[e];for(;r>n;r--)t=a[t];for(;e!==t;)e=a[e],t=a[t];return e};for(let n=0;n<i;n++){if(k[n]<0)continue;let r=t[n],i=c(e[r.tail],e[r.head]);for(let e=k[n],t=e+o[n]-1;e<t;e++)de[e]=i}}let H=new Int32Array(v+1),U=new Int32Array(v+1);for(let e=0;e<w;e++)H[T[e]+1]++,U[E[e]+1]++;for(let e=0;e<v;e++)H[e+1]+=H[e],U[e+1]+=U[e];let fe=new Int32Array(w),pe=new Int32Array(w);{let e=H.slice(0,v),t=U.slice(0,v);for(let n=0;n<w;n++)fe[e[T[n]]++]=n,pe[t[E[n]]++]=n}let W=new Int32Array(C+2);for(let e=0;e<v;e++)W[S[e]+1]++;for(let e=0;e<=C;e++)W[e+1]+=W[e];let G=new Int32Array(v),me=new Int32Array(v);{let e=new Int32Array(v),t=W.slice(0,C+1);for(let n=0;n<v;n++)e[t[S[n]]++]=n;for(let e=0;e<=C;e++)t[e]=W[e];let n=new Uint8Array(v),r=[];for(let i=0;i<v;i++)if(!n[e[i]])for(r.push(e[i]);r.length>0;){let e=r.pop();if(!n[e]){n[e]=1,G[t[S[e]]++]=e;for(let t=H[e+1]-1;t>=H[e];t--){let e=E[fe[t]];n[e]||r.push(e)}}}}let he=(e,t)=>{let n=W[e],r=W[e+1];if(r-n<2)return!1;for(let e=n;e<r;e++)if(Number.isNaN(t(G[e])))return!1;let i=Array.from(G.subarray(n,r)),a=/* @__PURE__ */ new Map;return i.forEach((e,t)=>a.set(e,t)),i.sort((e,n)=>t(e)-t(n)||a.get(e)-a.get(n)),G.set(i,n),!0};for(let e=0;e<=C;e++)he(e,e=>B[e]);let ge=!1;for(let t=0;t<r;t++)e[t].pin!==0&&(ge=!0);if(ge)for(let t=0;t<=C;t++){let n=Array.from(G.subarray(W[t],W[t+1])),i=/* @__PURE__ */ new Map;n.forEach((e,t)=>i.set(e,t));let a=t=>t<r?e[t].pin:0;n.sort((e,t)=>a(e)-a(t)||i.get(e)-i.get(t)),G.set(n,W[t])}let _e=new Uint8Array(C+1),ve=t=>t<r&&(e[t].kind===3||e[t].kind===4)?e[t].hint:NaN;for(let e of[0,C])he(e,ve)&&(_e[e]=1);let ye=()=>{for(let e=0;e<=C;e++){let t=W[e];for(let n=t,r=W[e+1];n<r;n++)me[G[n]]=n-t}};ye();let K={n:v,real:r,maxRank:C,W:y,KIND:x,RANK:S,EF:T,ET:E,EFD:D,ETD:O,succStart:H,succE:fe,predStart:U,predE:pe,layerStart:W,order:G,pos:me,offsets:le,fixed:_e,GRP:de,groupParent:n.groups?.parent},be=0,xe=0;if(w>0&&C>0&&([be,xe]=ce(K,e),ye()),n.orderOnly){let a=ue(K,n);for(let t=0;t<r;t++)e[t].x=a[t];for(let e=0;e<i;e++){let n=t[e],r=n.reversed?n.head:n.tail,i=n.reversed?n.tail:n.head,s=[S[r],a[r]];if(!l[e]&&k[e]>=0)for(let t=k[e],n=t+o[e]-1;t<n;t++)s.push(S[t],a[t]);s.push(S[i],a[i]),n.points=s}return{width:0,height:0,crossings:be,declared:xe}}N&&P&&R(K,e,N,P);let q=ue(K,n),J=ie(K);if(N&&P){let r=te(K,N,P);V(K,e,q,r,n,J),ne(K,e,q,N,P,r,J),re(K,q,J,n);for(let e=0;e<i;e++){if(l[e])continue;let n=t[e],r=D[L[e]],i=O[z[e]];n.tailDx=n.reversed?i:r,n.headDx=n.reversed?r:i}}ee(K,q,J);let Se=new Uint8Array(v);J&&!n.tracks&&oe(K,q,J,k,o,n.apart?0:n.edgeSep,Se),n.tracks||se(K,q,k,o,n.edgeSep,Se);let Y=new Int32Array(i+1),X=n.tracks||N&&!n.straight?{from:[],to:[],rank:[],lower:[],track:[],levels:[],wide:[]}:void 0,Ce=new Int32Array(C+1);if(X){for(let e=0;e<i;e++){if(Y[e]=X.from.length,l[e])continue;let t=k[e],r=!1;for(let i=t,a=t<0?t:t+o[e]-1;i<a;i++){let e=J!==void 0&&J[S[i]]===1;!n.tracks&&e!==(Se[i]===1)&&(r=!0)}if(r)continue;let i=q[T[L[e]]]+D[L[e]],a=S[T[L[e]]];for(let n=t,r=t<0?t:t+o[e]-1;n<r;n++)J&&J[S[n]]||(X.from.push(i),X.to.push(q[n]),X.rank.push(a),X.lower.push(n),i=q[n],a=S[n]);X.from.push(i),X.to.push(q[E[z[e]]]+O[z[e]]),X.rank.push(a),X.lower.push(-1)}Y[i]=X.from.length}let we=(e,t)=>{let n=!1;for(let r=W[e];r<W[e+1];r++){let e=x[G[r]];if(e===t)n=!0;else if(e!==1)return!1}return n},Te=we(0,3)?a:0,Ee=we(C,4)?a:0,De=new Float64Array(C+1);for(let e=0;e<w;e++){let t=Math.abs(q[T[e]]+D[e]-q[E[e]]-O[e]);t>De[S[T[e]]]&&(De[S[T[e]]]=t)}let Z=new Float64Array(C+1),Q=new Float64Array(C+1),Oe=e=>(e<Te||e>=C-Ee?n.portSep:n.rankSep)/a,ke=new Float64Array(C+1);for(let e=0;e<C;e++)ke[e]=X?Oe(e):Math.max(Oe(e),Math.min(d*n.rankSep/a,De[e]*u));let Ae=new Uint8Array(C+1).fill(1);for(let e=0;e<r;e++)Ae[S[e]]=0;for(let e=1;e<C;e++){if(n.tracks||!Ae[e]||A[e]!==1&&A[e]!==2)continue;let t=Math.min((n.headRoom??0)/2,ke[A[e]===1?e-1:e]/2);ke[e-1]+=A[e]===1?-t:t,ke[e]+=A[e]===1?t:-t}let je=e=>x[e]===1&&Ae[S[e]]&&!n.tracks?(Q[S[e]]-Z[S[e]])/4:0,Me=n.tracks?f:g,Ne=n.tracks?p:_,Pe=n.tracks?m:_,Fe=new Int32Array(C+1);if(X){let e=new Float64Array(C+1);for(let t=0;t<C;t++){if(J&&J[t])continue;let n=t+1;for(e[t]=ke[t];n<C&&J&&J[n];)e[t]+=ke[n++];Fe[t]=n}for(let t=0;t<X.from.length;t++)X.wide.push(+(Math.abs(X.from[t]-X.to[t])>h*e[X.rank[t]]));let t=new Float64Array(C+1);ae(X,Ce,!n.tracks,e,t);for(let r=0;r<C;r++)Ce[r]>0?ke[r]+=Math.max(0,2*Me+(Ce[r]-1)*Ne-e[r]):t[r]>0&&(ke[r]+=Math.max(0,Math.min(d*n.rankSep,t[r])-e[r]))}let Ie=0;for(let e=0;e<=C;e++){let t=0;for(let n=W[e];n<W[e+1];n++)b[G[n]]>t&&(t=b[G[n]]);Z[e]=Ie,Q[e]=Ie+t,Ie+=t+ke[e]}let Le=Ie,Re=(e,t=X.track[e])=>{let r=X.rank[e],i=Q[r],a=Z[Fe[r]],o=n.tracks?Ce[r]:X.levels[e],s=o>1?Math.min(Pe,(a-i-2*Me)/(o-1)):0;return(i+a)/2+(t-(o-1)/2)*s},$=1/0,ze=-1/0;for(let e=0;e<v;e++){let t=y[e]/2;q[e]-t<$&&($=q[e]-t),q[e]+t>ze&&(ze=q[e]+t)}let Be=new Uint8Array(C+1),Ve=new Uint8Array(C+1);for(let e=0;e<r;e++)x[e]!==0||!N||(U[e+1]>U[e]&&(Be[S[e]]=1),H[e+1]>H[e]&&(Ve[S[e]]=1));for(let t=0;t<r;t++){let n=e[t],r=n.rank;n.x=q[t]-$,n.y=x[t]===0&&Ve[r]&&!Be[r]?Q[r]-n.h/2:x[t]===0&&Be[r]&&!Ve[r]?Z[r]+n.h/2:(Z[r]+Q[r])/2}for(let r=0;r<i;r++){let i=t[r],a=e[i.reversed?i.head:i.tail],s=e[i.reversed?i.tail:i.head],c=[a.x+(i.reversed?i.headDx:i.tailDx),a.y+a.h/2],l=k[r];if(X&&Y[r+1]>Y[r])for(let e=Y[r];e<Y[r+1];e++){if(X.track[e]>=0&&(n.tracks||X.wide[e]===1)){let t=Re(e);c.push(X.from[e]-$,t,X.to[e]-$,t)}else X.track[e]>0&&c.push(X.from[e]-$,Re(e,X.track[e]-1));let t=X.lower[e];t<0||(c.push(q[t]-$,Z[S[t]]+je(t)),Q[S[t]]>Z[S[t]]&&c.push(q[t]-$,Q[S[t]]-je(t)))}else if(l>=0)for(let e=l,t=l+o[r]-1;e<t;e++){if(Se[e])continue;let t=q[e]-$,n=Z[S[e]],r=Q[S[e]];c.push(t,n+je(e)),r>n&&c.push(t,r-je(e))}if(c.push(s.x+(i.reversed?i.tailDx:i.headDx),s.y-s.h/2),i.reversed)for(let e=0,t=c.length-2;e<t;e+=2,t-=2){let n=c[e],r=c[e+1];c[e]=c[t],c[e+1]=c[t+1],c[t]=n,c[t+1]=r}i.points=c;let u=j[r];u>=0?(i.labelX=q[u]-$,i.labelY=(Z[S[u]]+Q[S[u]])/2):i.labelW>0&&(i.labelX=(c[0]+c[c.length-2])/2,i.labelY=(c[1]+c[c.length-1])/2)}return{width:ze-$,height:Le}}function F(e,t){let n=e.length,r=t.length,i=new Int32Array(n+1);for(let n=0;n<r;n++){let r=t[n];r.reversed=e[r.head].kind===3||e[r.tail].kind===4,r.reversed||i[r.tail+1]++}for(let e=0;e<n;e++)i[e+1]+=i[e];let a=new Int32Array(i[n]);{let e=i.slice(0,n);for(let n=0;n<r;n++)t[n].reversed||(a[e[t[n].tail]++]=n)}let o=new Uint8Array(n),s=i.slice(0,n),c=[];for(let e=0;e<n;e++)if(o[e]===0)for(c.push(e),o[e]=1;c.length>0;){let e=c[c.length-1];if(s[e]<i[e+1]){let n=t[a[s[e]++]],r=n.head;o[r]===1?n.reversed=!0:o[r]===0&&(o[r]=1,c.push(r))}else o[e]=2,c.pop()}}function I(e,t,n){let r=e.length,i=t.length,a=new Int32Array(i),o=new Int32Array(i),s=new Int32Array(i),c=new Int32Array(r+1),l=new Int32Array(r+1);for(let e=0;e<i;e++){let r=t[e],i=r.reversed?r.head:r.tail,u=r.reversed?r.tail:r.head;a[e]=i,o[e]=u,s[e]=Math.max(1,r.minlen)*n,c[i+1]++,l[u+1]++}for(let e=0;e<r;e++)c[e+1]+=c[e],l[e+1]+=l[e];let u=new Int32Array(i),d=new Int32Array(i);{let e=c.slice(0,r),t=l.slice(0,r);for(let n=0;n<i;n++)u[e[a[n]]++]=n,d[t[o[n]]++]=n}let f=new Int32Array(r);for(let t=0;t<r;t++)e[t].kind===3&&(f[t]=-n);let p=new Int32Array(r);for(let e=0;e<r;e++)p[e]=l[e+1]-l[e];let m=new Int32Array(r),h=0;for(let e=0;e<r;e++)p[e]===0&&(m[h++]=e);for(let e=0;e<h;e++){let t=m[e];for(let e=c[t];e<c[t+1];e++){let n=u[e],r=o[n];f[t]+s[n]>f[r]&&(f[r]=f[t]+s[n]),--p[r]===0&&(m[h++]=r)}}for(let e=0;e<8;e++){let e=!1;for(let t=h-1;t>=0;t--){let n=m[t],r=l[n+1]-l[n],i=c[n+1]-c[n];if(r===0&&i===0)continue;let p=-1/0,h=1/0;for(let e=l[n];e<l[n+1];e++){let t=d[e];p=Math.max(p,f[a[t]]+s[t])}for(let e=c[n];e<c[n+1];e++){let t=u[e];h=Math.min(h,f[o[t]]-s[t])}let g=f[n];i>r&&h!==1/0?g=h:r>i&&p!==-1/0&&(g=p),g!==f[n]&&(f[n]=g,e=!0)}if(!e)break}let g=1/0,_=-1/0,v=!1;for(let t=0;t<r;t++){let n=e[t].kind;n===3&&(v=!0),n!==3&&n!==4&&(f[t]<g&&(g=f[t]),f[t]>_&&(_=f[t]))}g===1/0&&(g=0,_=0);for(let t=0;t<r;t++)e[t].kind===3?f[t]=g-n:e[t].kind===4&&(f[t]=_+n);v&&(g-=n);for(let t=0;t<r;t++)e[t].rank=f[t]-g}function L(e,t,n,r,i,a,o){let s=n===0?e.predStart:e.succStart,u=n===0?e.predE:e.succE,d=n===0?e.EF:e.ET,f=e.pos;for(let e=s[t];e<s[t+1];e++)i[u[e]]!==0&&a.push(u[e]);if(a.length<2)return 0;a.sort((e,t)=>f[d[e]]-f[d[t]]||e-t);let p=e=>{let t=0;o[0]=0;for(let n=1;n<a.length;n++){let r=i[a[n]]===i[a[n-1]];o[n]=e(r&&i[a[n]]===1,r),t+=o[n]}return t},m=p(()=>1);if(r/m<l&&(m=p(e=>e?.5:1)),r/m<l&&(m=p((e,t)=>+!t)),m===0)return 0;let h=Math.min(c,r/m);for(let e=1;e<a.length;e++)o[e]*=h;return m*h}function R(e,t,n,r){let{real:i,W:a,EFD:o,ETD:s}=e;for(let c=0;c<i;c++){let i=Math.min(t[c].span,a[c]);if(!(i<=0||t[c].kind!==0))for(let t=0;t<2;t++){let a=[],l=[],u=L(e,c,t,i,t===0?r:n,a,l);if(u===0)continue;let d=t===0?s:o,f=-u/2;for(let e=0;e<a.length;e++)f+=l[e],d[a[e]]=f}}}function z(e,t,n,r){if(!t)return n;let{KIND:i,RANK:a,EF:o,ET:s,succStart:c,succE:l,predStart:u,predE:d}=e;for(let e=0;e<1e5;e++){let e=r===0?o[n]:s[n];if(i[e]!==1||!t[a[e]])break;n=r===0?d[u[e]]:l[c[e]]}return n}function ee(e,t,n){let{maxRank:r,KIND:i,EF:a,ET:o,EFD:s,ETD:c,succStart:l,succE:u,predStart:d,predE:f,layerStart:p,order:m}=e;for(let[h,g]of[[0,3],[r,4]]){let r=p[h],_=p[h+1],v=[];for(let p=r;p<_;p++){let r=m[p],h=g===3;if(i[r]!==g||(h?l[r+1]-l[r]:d[r+1]-d[r])!==1)break;let _=z(e,n,h?u[l[r]]:f[d[r]],+!!h),y=h?t[o[_]]+c[_]:t[a[_]]+s[_];if(v.length>0&&y<v[v.length-1]+C)break;v.push(y)}if(v.length!==0&&v.length===_-r)for(let e=r;e<_;e++)t[m[e]]=v[e-r]}}function te(e,t,n){let r=[new Int32Array(e.n),new Int32Array(e.n)];for(let i=0;i<e.EF.length;i++)n[i]!==0&&r[0][e.ET[i]]++,t[i]!==0&&r[1][e.EF[i]]++;return r}function B(e,t){return Math.max(.25,Math.min(.5,4*Math.abs(t)/(Math.abs(e)||1)))}function V(e,t,n,r,i,a){let o=i.edgeSep,{n:s,real:c,maxRank:l,KIND:u,RANK:d,W:f,EF:p,ET:m,EFD:h,ETD:g,succStart:_,succE:v,predStart:y,predE:b,layerStart:x,order:S,pos:C}=e,w=e=>u[e]===2||u[e]===1&&(a===void 0||a[d[e]]!==1),T=(e,i)=>{let a=i===0?p[e]:m[e];return[i===0?n[a]+h[e]:n[a]+g[e],a<c&&t[a].kind===0?r[1-i][a]:0]},E=e=>{let t=x[d[e]],r=t+C[e],a=t=>f[t]/2+f[e]/2+(u[t]===0?i.nodeSep/2+o/2:u[t]===u[e]?o:o/2);return[r>t?n[S[r-1]]+a(S[r-1]):-1/0,r+1<x[d[e]+1]?n[S[r+1]]-a(S[r+1]):1/0]},D=(e,t,n,r,i)=>{let a=(t[1]===n[1]?Math.abs(t[0]-e)<=Math.abs(n[0]-e):t[1]<n[1])?[t[0],n[0]]:[n[0],t[0]];return a.find(e=>e>=r&&e<=i)??Math.max(r,Math.min(i,a[0]))},O=new Uint8Array(s),k=[];for(let t=1;t<l;t++)for(let r=x[t];r<x[t+1];r++){if(!w(S[r])||O[S[r]])continue;let t=S[r];for(;j(u[p[b[y[t]]]]);)t=p[b[y[t]]];let i=t,o=-1/0,s=1/0;k.length=0;for(let e=t;j(u[e]);e=m[v[_[e]]]){if(i=e,!w(e))continue;O[e]=1,k.push(e);let[t,n]=E(e);t>o&&(o=t),n<s&&(s=n)}if(o<=s){let e=D(n[k[0]],T(b[y[t]],0),T(v[_[i]],1),o,s);for(let t of k)n[t]=e}else for(let t of k){let[r,i]=E(t);r>i||(n[t]=D(n[t],T(z(e,a,b[y[t]],0),0),T(z(e,a,v[_[t]],1),1),r,i))}}}function ne(e,t,n,r,i,a,o){let{real:s,W:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,pos:v}=e,y=(c,m,h,g,_)=>{if(a[m][h]<2)return 0;c=z(e,o,c,m);let v=m===0?u[c]:d[c],y=m===0?n[v]+f[c]:n[v]+p[c];if(_&&Math.abs(y-n[h])<=g/2+S)return Math.max(-g/2,Math.min(g/2,y-n[h]));let b=y,x=0;v<s&&t[v].kind===0&&(m===0?r:i)[c]!==0&&a[1-m][v]>=2&&(x=Math.max(0,Math.min(t[v].span,l[v])),x>0&&(b=n[v]));let C=Math.max(n[h]-g/2,b-x/2),w=Math.min(n[h]+g/2,b+x/2);if(C>w+S){let e=Math.max(0,g/2-E);return Math.max(-e,Math.min(e,y-n[h]))}let T=(n[h]*x+b*g)/(x+g);return Math.max(C,Math.min(w,T))-n[h]},b=[];for(let n=0;n<s;n++){let a=Math.min(t[n].span,l[n]);if(!(a<=0||t[n].kind!==0))for(let t=0;t<2;t++){let o=t===0?u:d,s=t===0?g:m,c=t===0?_:h,l=[],f=[];if(L(e,n,t,a,t===0?i:r,l,f),l.length===0)continue;l.length===1&&(f[0]=0);let p=[];for(let e=s[n];e<s[n+1];e++)p.push(c[e]);p.sort((e,t)=>v[o[e]]-v[o[t]]||e-t),b.push({v:n,side:t,span:a,ids:l,room:f,all:p})}}for(let e=0,t=!0;t&&e<6;e++){t=!1;for(let{v:n,side:a,span:o,ids:s,room:l,all:u}of b){let d=a===0?i:r,m=a===0?p:f,h=0,g=-o/2;for(let r=0;r<=u.length;r++){let i=r<u.length&&d[u[r]]===0;if(r<u.length&&!i)continue;let f=0;for(let e=r-1;e>=0&&d[u[e]]!==0;e--)f++;let p=i?m[u[r]]-c:o/2;if(f>0){let r=[],i=[],c=0;for(let t=0;t<f;t++){t>0&&(c+=l[h+t]),r.push(y(s[h+t],a,n,o,e>0)-c),i.push(1);let u=t>0&&l[h+t]===0;for(;r.length>1&&(u||r[r.length-2]/i[i.length-2]>r[r.length-1]/i[i.length-1]);){u=!1;let e=r.pop(),t=i.pop();r[r.length-1]+=e,i[i.length-1]+=t}}let u=c,d=0;c=0;for(let e=0;e<r.length;e++){let n=p-u<g?(g+p-u)/2:Math.max(g,Math.min(p-u,r[e]/i[e]));for(let r=0;r<i[e];r++,d++)d>0&&(c+=l[h+d]),Math.abs(m[s[h+d]]-n-c)>.01&&(t=!0),m[s[h+d]]=n+c}h+=f}i&&(g=m[u[r]]+c)}}}}function re(e,t,n,r){let{n:i,KIND:a,RANK:o,EF:s,ET:c,EFD:l,ETD:u,layerStart:d,order:f,pos:p}=e,m=e=>n!==void 0&&a[e]===1&&n[o[e]]===1,h=[],g=[],_=[],v=[];for(let t=0;t<s.length;t++){if(m(s[t]))continue;let r=z(e,n,t,1);h.push(s[t]),g.push(c[r]),_.push(l[t]),v.push(u[r])}let y=e=>t[g[e]]+v[e]-t[h[e]]-_[e],b=new Int32Array(i),x=[];for(let e=0;e<i;e++)b[e]=e,x.push([e]);let S=(e,t)=>{let n=b[e],r=b[t];if(n!==r){x[n].length<x[r].length&&([n,r]=[r,n]);for(let e of x[r])b[e]=n,x[n].push(e);x[r]=[]}},C=[];for(let e=0;e<h.length;e++){let t=Math.abs(y(e));t<.01?S(h[e],g[e]):t<=T&&C.push(e)}if(C.length===0)return;C.sort((e,t)=>Math.abs(y(e))-Math.abs(y(t))||e-t);let E=t=>le(e,r,t),D=(e,n)=>{for(let r of x[e]){let i=d[o[r]],a=d[o[r]+1],s=i+p[r];if(s>i&&b[f[s-1]]!==e&&t[r]+n-t[f[s-1]]<E(r)+E(f[s-1])-.01||s+1<a&&b[f[s+1]]!==e&&t[f[s+1]]-t[r]-n<E(r)+E(f[s+1])-.01)return!1}return!0};for(let e of C){let n=y(e);if(Math.abs(n)<.01){S(h[e],g[e]);continue}if(Math.abs(n)>T||b[h[e]]===b[g[e]])continue;let r=b[h[e]],i=b[g[e]],o=x[r].length<=x[i].length?r:i;for(let s of[o,o===r?i:r]){let i=s===r?n:-n;if(!(Math.abs(n)>w&&!x[s].every(e=>a[e]===1))&&D(s,i)){for(let e of x[s])t[e]+=i;S(h[e],g[e]);break}}}}function ie(e){let{maxRank:t,KIND:n,layerStart:r,order:i}=e,a=new Uint8Array(t+1),o=!1;for(let e=1;e<t;e++){let t=r[e+1]>r[e];for(let a=r[e];t&&a<r[e+1];a++)n[i[a]]!==1&&(t=!1);t&&(a[e]=1,o=!0)}return o?a:void 0}function ae(e,t,n,r,i){let{from:a,to:o,rank:s,track:c,levels:l,wide:u}=e,d=a.length,f=/* @__PURE__ */ new Map;for(let e=0;e<d;e++){if(c.push(-1),l.push(0),Math.abs(a[e]-o[e])<S)continue;let t=f.get(s[e]);t?t.push(e):f.set(s[e],[e])}if(f.size===0)return;let p=new Float64Array(d),m=new Float64Array(d);for(let e=0;e<d;e++)p[e]=Math.min(a[e],o[e]),m[e]=Math.max(a[e],o[e]);let h=(e,t)=>+(e>=p[t]-S&&e<=m[t]+S),g=(e,t)=>Math.abs(a[e]-a[t])<S||Math.abs(o[e]-o[t])<S,_=(e,t)=>p[e]<m[t]-S&&p[t]<m[e]-S,C=(e,t)=>_(e,t)&&!g(e,t),w=(e,t)=>_(e,t)||h(o[e],t)+h(a[t],e)+h(o[t],e)+h(a[e],t)>0,T=(e,t)=>h(o[e],t)+h(a[t],e),E=e=>{let t=e.map((e,t)=>t).sort((t,n)=>p[e[t]]-p[e[n]]),n=[];for(let r=0;r<t.length;r++){let i=t[r],a=m[e[i]]+4*S;for(let o=r+1;o<t.length&&p[e[t[o]]]<=a;o++){let e=t[o];n.push(Math.min(i,e),Math.max(i,e))}}return n},j=e=>{e.sort((e,t)=>m[t]-p[t]-(m[e]-p[e])||p[e]-p[t]||e-t);let t=e.length,r=[],i=e.map((e,t)=>t),a=e=>{for(;i[e]!==e;)e=i[e]=i[i[e]];return e},o=t<=D,s=o?E(e):[],u=o?e.map(()=>[]):[];for(let t=0;t<s.length;t+=2){let n=s[t],r=s[t+1];C(e[n],e[r])&&(u[n].push(r),u[r].push(n))}let d=e.map((e,t)=>t);if(o){let n=new Int32Array(t),o=[];for(let e=0;e<t;e++)r.push([]),o.push([]);for(let t=0;t<s.length;t+=2){let c=s[t],l=s[t+1],u=e[c],d=e[l];if(!w(u,d))continue;i[a(c)]=a(l);let f=T(u,d),p=T(d,u);if(f===p)continue;let m=f<p?c:l,h=f<p?l:c;r[h].push(m),o[m].push(h),n[h]++}let c=new Uint8Array(t);d=[];for(let e=0;e<t;e++){let e=-1;for(let r=0;r<t&&!(!c[r]&&((e<0||n[r]<n[e])&&(e=r),n[r]===0));r++);c[e]=1,d.push(e);for(let t of o[e])n[t]--}}let f=/* @__PURE__ */ new Set,h=[],g=0;for(let t of d){let n=e[t],i=0;for(let n of r[t]??[])c[e[n]]>=i&&(i=c[e[n]]+1);if(o){f.clear();for(let n of u[t])f.add(c[e[n]]);for(;f.has(i);)i++}else{for(;h[i]?.some(e=>C(n,e));)i++;(h[i]??=[]).push(n)}c[n]=i,i>=g&&(g=i+1)}let _=new Int32Array(t).fill(g),v=new Int32Array(t).fill(-1);for(let n=0;n<t;n++){let t=a(n);_[t]=Math.min(_[t],c[e[n]]),v[t]=Math.max(v[t],c[e[n]])}for(let r=0;r<t;r++){let t=a(r);l[e[r]]=v[t]-_[t]+1,n&&(c[e[r]]-=_[t])}return g},M=(e,t,n)=>{let r=B(o[e]-a[e],t);for(let i=0;i<=O;i++){let s=i/O,c=1-s;n[2*i]=a[e]+(o[e]-a[e])*s*s*(3-2*s),n[2*i+1]=t*(3*r*s*c*c+3*(1-r)*s*s*c+s*s*s)}},N=(e,t,n)=>{let r=n*n*1.000000001;for(let i=0;i<=O;i++){let a=e[2*i],o=e[2*i+1];for(let e=0;e<O;e++){let i=t[2*e+2]-t[2*e],s=t[2*e+3]-t[2*e+1],c=Math.max(0,Math.min(1,((a-t[2*e])*i+(o-t[2*e+1])*s)/(i*i+s*s||1))),l=a-t[2*e]-c*i,u=o-t[2*e+1]-c*s;if(l*l+u*u<r&&Math.hypot(l,u)<n)return!0}}return!1},P=(e,t,n,r)=>{let i=Math.max(n/2,n-2*v);return M(e,i,k),M(t,i,A),N(k,A,r)||N(A,k,r)};for(let[e,s]of f){if(!n){t[e]=j(s);continue}if(s.length>D)continue;let d=s.filter(e=>u[e]===1);j(d);let f=new Set(d.filter(e=>l[e]>1)),h=E(s);for(let t=0;t<h.length;t+=2){let n=s[h[t]],i=s[h[t+1]];f.has(n)&&f.has(i)||!C(n,i)||a[n]<o[n]!=a[i]<o[i]||P(n,i,r[e],u[n]===1||u[i]===1?y:b)&&f.add(n).add(i)}for(let e of d)c[e]=-1,l[e]=0;if(f.size===0)continue;let v=0,S=0,T=/* @__PURE__ */ new Set;for(let e=0;e<h.length;e+=2){let t=s[h[e]],n=s[h[e+1]];if(f.has(t)&&f.has(n)){if(!_(t,n))continue;a[t]<o[t]==a[n]<o[n]?g(t,n)||S++:v++}else(f.has(t)||f.has(n))&&w(t,n)&&T.add(t).add(n)}if(v>S){for(let t of s)(m[t]-p[t])*x>i[e]&&(i[e]=(m[t]-p[t])*x);continue}let O=s.filter(e=>f.has(e)||u[e]!==1&&T.has(e));j(O);let k=0;for(let e of O)l[e]>k&&(k=l[e]);t[e]=k}}function oe(e,t,n,r,i,a,o){let{maxRank:s,EF:c,ET:l,EFD:u,ETD:d,succStart:f,succE:p,predStart:m,predE:h,layerStart:g,order:_}=e,v=new Float64Array(t.length),y=new Float64Array(t.length),b=new Float64Array(t.length);for(let a=0;a<r.length;a++){let o=r[a];if(o<0)continue;let s=o+i[a]-1,g=e.RANK[o];for(let e=o;e<s;e++){if(!n[g+e-o])continue;let r=e;for(;r+1<s&&n[g+r+1-o];)r++;let i=h[m[e]],a=p[f[r]],_=t[c[i]]+u[i],x=t[l[a]]+d[a],S=r-e+2;for(let t=e;t<=r;t++)v[t]=_+(x-_)*(t-e+1)/S,y[t]=_,b[t]=x;e=r}}let x=[];for(let r=1;r<s;r++){if(!n[r])continue;let i=g[r],s=g[r+1],c=Array.from(_.subarray(i,s)).sort((e,t)=>y[e]-y[t]||b[e]-b[t]||e-t);for(let n=0;n<c.length;){x.length=0;let r=n;for(;r<c.length&&Math.abs(y[c[r]]-y[c[n]])<C&&Math.abs(b[c[r]]-b[c[n]])<C;r++)x.push(c[r]);x.sort((t,n)=>e.pos[t]-e.pos[n]);for(let e=0;e<x.length;e++){let n=x[e];t[n]=v[n]+(e-(x.length-1)/2)*a,(x.length===1||a===0)&&(o[n]=1)}n=r}}}function se(e,t,n,r,i,a){let{maxRank:o,W:s,KIND:c,RANK:l,EF:u,ET:d,EFD:f,ETD:p,succStart:m,succE:h,predStart:g,predE:_,layerStart:v,order:y}=e,b=new Uint8Array(o+1),x=!1;for(let e=1;e<o;e++){let t=!1,n=!1;for(let r=v[e];r<v[e+1];r++){let e=c[y[r]];e===2?t=!0:e!==1&&(n=!0)}t&&!n&&(b[e]=1,x=!0)}if(x)for(let e=0;e<n.length;e++){let o=n[e];if(!(o<0))for(let n=o,x=o+r[e]-1;n<x;n++){if(c[n]!==1||!b[l[n]])continue;let e=n,r=n;for(;e>o&&a[e-1];)e--;for(;r+1<x&&a[r+1];)r++;let S=_[g[e]],C=h[m[r]],w=t[u[S]]+f[S],T=t[d[C]]+p[C],E=Math.min(w,T)-i,D=Math.max(w,T)+i,O=!0,k=l[n];for(let e=v[k];O&&e<v[k+1];e++){let n=y[e];c[n]===2&&t[n]+s[n]/2>E&&t[n]-s[n]/2<D&&(O=!1)}if(!O)continue;a[n]=1;let A=r-e+2;for(let n=e;n<=r;n++)t[n]=w+(T-w)*(n-e+1)/A}}}function ce(e,t){let{n,real:r,maxRank:i,W:a,EF:s,ET:c,EFD:l,ETD:u,succStart:d,succE:f,predStart:p,predE:m,layerStart:h,order:g,pos:_,offsets:v,fixed:y,GRP:b,groupParent:x}=e,S=0;for(let e=0;e<=i;e++)S=Math.max(S,h[e+1]-h[e]);if(S<2)return[0,0];let C=v?new Int32Array(s.length):void 0,w=new Int32Array(C?s.length:0),T=new Int32Array(C?n:0),E=C?f.slice():f,D=new Uint8Array(C?n:0);if(C){let e=m.slice(),t=(e,t,n,r)=>{for(let i=t+1;i<n;i++)if(r[e[i]]!==r[e[t]])return e.subarray(t,n).sort((e,t)=>r[e]-r[t]),!0;return!1};for(let r=0;r<n;r++){if(T[r]=1,t(e,p[r],p[r+1],u))for(let t=p[r]+1;t<p[r+1];t++)u[e[t]]!==u[e[t-1]]&&T[r]++,w[e[t]]=T[r]-1;t(E,d[r],d[r+1],l)&&(D[r]=1)}}let O=1;for(;O<(C?S+s.length:S);)O<<=1;let k=new Int32Array(2*O),A=new Int32Array(s.length),j=()=>{let e=0;for(let t=0;t<i;t++){let n=h[t+2]-h[t+1];if(C){let e=0;for(let n=h[t+1];n<h[t+2];n++){let t=g[n];for(let n=p[t];n<p[t+1];n++)C[m[n]]=e+w[m[n]];e+=T[t]}n=e}if(n<2)continue;let r=0;for(let e=h[t];e<h[t+1];e++){let t=g[e],n=d[t],i=d[t+1],a=r;for(let e=n;e<i;e++)A[r++]=C?C[E[e]]:_[c[f[e]]];let o=r-a;if(!(o<2)){if(C&&D[t])for(let e=a+1;e<r;e++){let t=A[e],r=l[E[n+e-a]],i=e-1;for(;i>=a&&l[E[n+i-a]]===r&&A[i]>t;)A[i+1]=A[i],i--;A[i+1]=t}else if(o<=12)for(let e=a+1;e<r;e++){let t=A[e],n=e-1;for(;n>=a&&A[n]>t;)A[n+1]=A[n],n--;A[n+1]=t}else A.subarray(a,r).sort()}}if(r<2)continue;let i=1;for(;i<n;)i<<=1;k.fill(0,0,2*i);for(let t=0;t<r;t++){let n=A[t]+i;for(k[n]++;n>1;)!(n&1)&&(e+=k[n+1]),n>>=1,k[n]++}}return e},M=j(),P=new Float64Array(n),F=new Int32Array(S),I=new Int32Array(S),L=x?x.length:0,R=new Int32Array(L);for(let e=0;e<L;e++)for(let t=e;t>=0;t=x[t])R[e]++;let z=new Float64Array(L),ee=new Int32Array(L),te=new Int32Array(L),B=(e,t)=>{let r=h[e],i=h[e+1];for(let e=r;e<i;e++)for(let t=b[g[e]];t>=0;t=x[t])z[t]=0,ee[t]=0;for(let e=r;e<i;e++){let n=g[e];for(let r=b[n];r>=0;r=x[r])ee[r]===0&&(te[r]=e),z[r]+=t[n],ee[r]++}let a=e=>e>=n?z[e-n]/ee[e-n]:t[e],o=e=>e>=n?te[e-n]:r+_[e],s=Array.from(g.subarray(r,i)).sort((e,t)=>{let r=e,i=t,s=b[e],c=b[t],l=s<0?0:R[s],u=c<0?0:R[c];for(;l>u;l--)r=n+s,s=x[s];for(;u>l;u--)i=n+c,c=x[c];for(;s!==c;)r=n+s,s=x[s],i=n+c,c=x[c];return a(r)-a(i)||o(r)-o(i)});g.set(s,r);for(let e=r;e<i;e++)_[g[e]]=e-r};if(b){let e=new Float64Array(n);for(let t=0;t<=i;t++){for(let n=h[t];n<h[t+1];n++)e[g[n]]=n-h[t];B(t,e)}}let V=b?j():M;if(V===0)return[0,M];let ne=g.slice(),re=Math.min(V,M),ie=(e,n)=>{let o=e?p:d,x=e?m:f,S=e?s:c,C=e?l:u;for(let s=1;s<=i;s++){let c=e?s:i-s;if(y[c])continue;let l=h[c],u=h[c+1],d=0;for(let n=l;n<u;n++){let i=g[n],s=i<r?t[i].pin:0;if(s!==0){P[i]=s*1e9,F[d++]=i;continue}let f=o[i],p=o[i+1];if(f===p){if(b){let t=e?h[c]-h[c-1]:h[c+2]-h[c+1];P[i]=(n-l)*t/(u-l);continue}P[i]=-1;continue}let m=0;for(let e=f;e<p;e++){let t=S[x[e]];m+=_[t],v&&a[t]>0&&(m+=C[x[e]]/a[t])}P[i]=m/(p-f),F[d++]=i}if(b){B(c,P);continue}if(d<2)continue;N(F,d,P,_,n,I);let f=0;for(let e=l;e<u;e++)P[g[e]]!==-1&&(g[e]=F[f++]);for(let e=l;e<u;e++)_[g[e]]=e-l}},ae=()=>{let e=0;for(let t=0;t<=i;t++)for(let n=h[t];n<h[t+1];n++)if(!(g[n]>=r))for(let r=n+1;r<h[t+1];r++)g[r]<g[n]&&e++;return e},oe=()=>{for(let e=0;e<=i;e++)for(let t=h[e];t<h[e+1];t++)_[g[t]]=t-h[e]},se=e=>e<r?t[e].pin:0,ce=(e,t)=>{let n=t?s[e]:c[e];return v&&a[n]>0?_[n]+(t?l[e]:u[e])/a[n]:_[n]},le=(e,t)=>{let n=0;for(let r=p[e];r<p[e+1];r++){let e=ce(m[r],!0);for(let r=p[t];r<p[t+1];r++)e>ce(m[r],!0)&&n++}for(let r=d[e];r<d[e+1];r++){let e=ce(f[r],!1);for(let r=d[t];r<d[t+1];r++)e>ce(f[r],!1)&&n++}return n},ue=()=>{for(let e=0;e<8;e++){let e=!1;for(let t=0;t<=i;t++){if(y[t])continue;let n=h[t];for(let r=n;r+1<h[t+1];r++){let t=g[r],i=g[r+1];se(t)!==se(i)||b&&b[t]!==b[i]||le(i,t)>=le(t,i)||(g[r]=i,g[r+1]=t,_[i]=r-n,_[t]=r+1-n,e=!0)}}if(!e)break}},de=g.slice(),H=n<=600,U=ne,fe=1/0;for(let e=0;e<(H?2:1);e++){e>0&&(g.set(de),oe());let t=re,n=de.slice();for(let r=0,i=0;i<4&&r<o;r++,i++){ie((r+e)%2==0,r%4>=2);let a=j();if(a<t&&(t=a,n.set(g),i=0,a===0))break}if(g.set(n),H&&t>0){oe(),ue();let e=j();e<t&&(t=e,n.set(g))}let r=H?ae():0;(e===0||t<V||t===V&&r<fe)&&(V=t,U=n,fe=r)}if(g.set(U),oe(),ne.set(U),b&&(V=j()),!H)return[V,M];for(let e=0;e<r;e++)if(t[e].pin!==0)return[V,M];if(fe===0||y[0]||y[i])return[V,M];for(let e=0;e<=i;e++)g.subarray(h[e],h[e+1]).reverse();return oe(),(j()>V||ae()>=fe)&&g.set(ne),[V,M]}function le(e,t,n){return e.W[n]/2+(e.KIND[n]===0?t.nodeSep:t.edgeSep)/2}function ue(e,t){let{n,maxRank:r,W:i,KIND:a,EF:o,ET:s,EFD:c,ETD:l,succStart:u,succE:d,predStart:f,predE:p,layerStart:m,order:h,pos:g}=e,_=o.length,v=new Float64Array(n);for(let r=0;r<n;r++)v[r]=le(e,t,r);let y=new Int32Array(_);for(let e=0;e<_;e++)y[e]=g[s[e]];for(let e=0;e<n;e++)u[e+1]-u[e]>1&&M(d,u[e],u[e+1],y);for(let e=0;e<_;e++)y[e]=g[o[e]];for(let e=0;e<n;e++)f[e+1]-f[e]>1&&M(p,f[e],f[e+1],y);let b=new Uint8Array(_);for(let e=1;e<=r;e++){let t=m[e]-m[e-1],n=m[e],r=m[e+1],i=0,s=n;for(let e=n;e<r;e++){let n=h[e],c=-1;if(j(a[n])){let e=o[p[f[n]]];j(a[e])&&(c=e)}let l=c>=0?g[c]:t;if(c>=0||e===r-1){for(let t=s;t<=e;t++){let e=h[t],n=j(a[e]);for(let t=f[e];t<f[e+1];t++){let e=p[t],r=g[o[e]];(r<i||l<r)&&!(n&&j(a[o[e]]))&&(b[e]=1)}}s=e+1,i=l}}}let x=[],S=new Int32Array(n),C=new Int32Array(n),w=new Float64Array(n),T=new Int32Array(n),E=new Int32Array(n),D=new Float64Array(n),O=new Int32Array(n),k=new Int32Array(n+1),A=new Int32Array(n),N=new Int32Array(n),P=new Int32Array(n),F=new Float64Array(n);for(let e=0;e<4;e++){let t=e<2,i=(e&1)==1,a=t?f:u,_=t?p:d,y=t?o:s,j=t?l:c,M=t?c:l;for(let e=0;e<n;e++)S[e]=e,C[e]=e,w[e]=0,O[e]=0,k[e+1]=0,F[e]=0;for(let e=0;e<=r;e++){let n=t?e:r-e,o=m[n],s=m[n+1],c=t?n-1:n+1,l=c>=0&&c<=r?m[c+1]-m[c]-1:0,u=-1;for(let e=i?s-1:o;i?e>=o:e<s;i?e--:e++){let t=h[e],n=a[t],r=a[t+1]-n;if(r===0)continue;let o=n+(r-1>>1),s=n+(r>>1);for(let e=0;e<2&&(e!==1||o!==s);e++){let n=_[e===0===i?s:o],r=y[n],a=i?l-g[r]:g[r];C[t]===t&&u<a&&b[n]===0&&(C[r]=t,C[t]=S[t]=S[r],w[t]=w[r]+M[n]-j[n],u=a)}}}let I=0;for(let e=0;e<=r;e++){let t=m[e],n=m[e+1];for(let e=t+1;e<n;e++){let t=i?h[e]:h[e-1],n=i?h[e-1]:h[e],r=v[t]+v[n];T[I]=S[t],E[I]=S[n],D[I]=i?r-w[t]+w[n]:r+w[t]-w[n],O[S[n]]++,k[S[t]+1]++,I++}}for(let e=0;e<n;e++)k[e+1]+=k[e];for(let e=0;e<n;e++)N[e]=k[e];for(let e=0;e<I;e++)A[N[T[e]]++]=e;let L=0;for(let e=0;e<n;e++)S[e]===e&&O[e]===0&&(P[L++]=e);for(let e=0;e<L;e++){let t=P[e];for(let e=k[t];e<k[t+1];e++){let n=A[e],r=E[n];F[t]+D[n]>F[r]&&(F[r]=F[t]+D[n]),--O[r]===0&&(P[L++]=r)}}for(let e=L-1;e>=0;e--){let t=P[e],n=1/0;for(let e=k[t];e<k[t+1];e++){let t=A[e],r=F[E[t]]-D[t];r<n&&(n=r)}n!==1/0&&n>F[t]&&(F[t]=n)}let R=new Float64Array(n);for(let e=0;e<n;e++)R[e]=(i?-F[S[e]]:F[S[e]])+w[e];x.push(R)}let I=0,L=1/0,R=[],z=[];for(let e=0;e<4;e++){let t=1/0,r=-1/0,a=x[e];for(let e=0;e<n;e++){let n=i[e]/2;a[e]-n<t&&(t=a[e]-n),a[e]+n>r&&(r=a[e]+n)}R.push(t),z.push(r),r-t<L&&(L=r-t,I=e)}for(let e=0;e<4;e++){let t=e&1?z[I]-z[e]:R[I]-R[e];if(t!==0){let r=x[e];for(let e=0;e<n;e++)r[e]+=t}}let ee=new Float64Array(n);for(let e=0;e<n;e++){let t=x[0][e],n=x[1][e],r=x[2][e],i=x[3][e],a;t>n&&(a=t,t=n,n=a),r>i&&(a=r,r=i,i=a),t>r&&(a=t,t=r,r=a),n>i&&(a=n,n=i,i=a),n>r&&(a=n,n=r,r=a),ee[e]=(n+r)/2}return ee}var de=12,H=.62,U=6;function fe(){let e=/* @__PURE__ */ new Map;return{add(t,n,r){let i=W(r);n>=0&&i>0&&i+U>(e.get(t*4+n)??0)&&e.set(t*4+n,i+U)},of:(t,n)=>n>=0?e.get(t*4+n)??0:0}}function pe(t,n,r,i,a=r>0?r+U:0,o=i>0?i+U:0){let s=n===`linear`,c=n===`step`||n===`stepBefore`||n===`stepAfter`,l=[],u=[],d=[],f=(e,t,n,r)=>Math.abs(e-n)<.01&&Math.abs(t-r)<.01;for(let e=0;e<t.length;e+=3){let r=t[e],i=t[e+1],a=t[e+2],o=l.length-1;if(c&&o>=0&&Math.abs(r-l[o])>=.01&&Math.abs(i-u[o])>=.01){let e=l[o],t=u[o],s=n===`stepBefore`?t:n===`stepAfter`?i:(t+i)/2,c=n===`stepBefore`?e:n===`stepAfter`?r:(e+r)/2,p=a===0?[e,s,r,s]:[c,t,c,i];for(let n=0;n<4;n+=2)f(p[n],p[n+1],e,t)||f(p[n],p[n+1],r,i)||(l.push(p[n]),u.push(p[n+1]),d.push(a))}l.push(r),u.push(i),d.push(a)}let p=l.length-1,m=e=>Math.abs(l[e]-l[e-1])<.01||Math.abs(u[e]-u[e-1])<.01,h=e=>s||m(e),g=(e,t,n)=>{if(!h(Math.max(e,t)))return n===0?[0,Math.sign(u[t]-u[e])||1]:[Math.sign(l[t]-l[e])||1,0];let r=l[t]-l[e],i=u[t]-u[e],a=Math.hypot(r,i)||1;return[r/a,i/a]},[_,v]=g(0,1,d[1]),[y,b]=g(p-1,p,d[p]),x=l[0],S=u[0],C=l[p],w=u[p];l[0]+=_*r,u[0]+=v*r,l[p]-=y*i,u[p]-=b*i;let T=e=>Math.abs(l[e]-l[e-1])+Math.abs(u[e]-u[e-1]),E=e=>!s&&e>0&&e<p&&m(e)&&m(e+1)&&T(e)>=.01&&T(e+1)>=.01&&Math.abs(l[e]-l[e-1])<.01!=Math.abs(l[e+1]-l[e])<.01,D=(e,t,n)=>Math.abs(l[e]-l[e-1])*Math.abs(t)+Math.abs(u[e]-u[e-1])*Math.abs(n),O=(e,t,n)=>{let r=Math.min(Math.max(0,e-U-t),n/4);return r+Math.min(e-t-r,(n-r)/4)},k=o>i&&(!h(p)||E(p-1))?O(o,i,D(p,y,b)):0,A=a>r&&(!h(1)||E(1))?O(a,r,D(1,_,v)):0;k>=1&&(l.splice(p,0,l[p]-y*k),u.splice(p,0,u[p]-b*k),d.splice(p,0,d[p]),p++),A>=1&&(l.splice(1,0,l[0]+_*A),u.splice(1,0,u[0]+v*A),d.splice(1,0,d[1]),p++);let j=[],M=t=>(j.push(_e(t)),e(t));j.push(77,2);let N=`M${M(l[0])},${M(u[0])}`,P=l[0],F=u[0],I=(e,t)=>{f(e,t,P,F)||(j.push(76,2),N+=`L${M(e)},${M(t)}`,P=e,F=t)};for(let e=1;e<=p;e++){let t=l[e],n=u[e];if(!h(e)){let r=d[e]===0,i=r?n-F:t-P,a=Math.abs(i)*B(r?t-P:n-F,i),o=r?0:Math.sign(i)*a,s=r?Math.sign(i)*a:0;j.push(67,6),N+=`C${M(P+o)},${M(F+s)} ${M(t-o)},${M(n-s)} ${M(t)},${M(n)}`,P=t,F=n;continue}if(!E(e)){if(e<p&&m(e)&&m(e+1)&&(t-l[e-1])*(l[e+1]-t)+(n-u[e-1])*(u[e+1]-n)>0)continue;I(t,n);continue}let r=E(e-1)?T(e)/2:T(e),i=E(e+1)?T(e+1)/2:T(e+1);c&&(r=i=Math.min(de,r,i));let[a,o]=g(e-1,e,d[e]),[s,f]=g(e,e+1,d[e+1]);I(t-a*r,n-o*r),P=t+s*i,F=n+f*i,c?(j.push(81,4),N+=`Q${M(t)},${M(n)} ${M(P)},${M(F)}`):(j.push(67,6),N+=`C${M(t-a*r*(1-H))},${M(n-o*r*(1-H))} ${M(t+s*i*(1-H))},${M(n+f*i*(1-H))} ${M(P)},${M(F)}`)}return{d:N,tokens:j,sx:x,sy:S,sdx:-_,sdy:-v,ex:C,ey:w,edx:y,edy:b}}function W(e){return e===`arrow_point`?7:e===`arrow_circle`?8:e===`arrow_cross`?4:0}function G(t,n,r,i,a,o,s=`none`){let c=-a,l=i;if(t===`arrow_point`){let t=n-i*8,u=r-a*8,d=3.36;return`<path class="pele-marker" d="M${e(n)},${e(r)}L${e(t+c*d)},${e(u+l*d)}L${e(t-c*d)},${e(u-l*d)}Z" fill="${o}" stroke="${s}"/>`}if(t===`arrow_circle`)return`<circle class="pele-marker" cx="${e(n-i*4)}" cy="${e(r-a*4)}" r="3.5" fill="${o}" stroke="${s}"/>`;if(t===`arrow_cross`){let t=n-i*4,o=r-a*4,s=3.5,u=(i+c)*s,d=(a+l)*s,f=(i-c)*s,p=(a-l)*s;return`<path class="pele-marker" d="M${e(t-u)},${e(o-d)}L${e(t+u)},${e(o+d)}M${e(t-f)},${e(o-p)}L${e(t+f)},${e(o+p)}"/>`}return``}var me=Array.from({length:23},(e,t)=>+`1e${t}`);function he(e){return ve(ge(e))}function ge(e){let t=[],n=-1;for(let r=0;r<e.length;){let i=e.charCodeAt(r);if(i>=65&&i<=90&&i!==69)n=t.length+1,t.push(i,0),r++;else if(i===45||i===46||i>=48&&i<=57){let a=i===45?r+1:r,o=0,s=-1;for(let t=e.charCodeAt(a);t>=48&&t<=57||t===46&&s<0;t=e.charCodeAt(++a))t===46?s=0:(o=o*10+t-48,s>=0&&s++);let c;if((e.charCodeAt(a)|32)==101||o>2**53-1||s>22){for(let t=e.charCodeAt(a);t===46||t===101||t===69||t>=48&&t<=57||(t===45||t===43)&&(e.charCodeAt(a-1)|32)==101;t=e.charCodeAt(++a));c=Number(e.slice(r,a))}else c=s>0?o/me[s]:o,i===45&&(c=-c);n>=0&&(t.push(c),t[n]++),r=a}else r++}return t}function _e(e){let t=Math.round(e*100);return t===0?0:t/100}function ve(e){let t=[],n=0,r=0;for(let i=0;i<e.length;){let a=e[i],o=e[i+1],s=i+2,c=s+o;if(i=c,a===72||a===86)for(let i=s;i<c;i++)a===72?n=e[i]:r=e[i],t.push(n,r);else if(a===67||a===81){let i=a===67,o=i?6:4;for(let a=s;a+o<=c;a+=o){let o=e[a],s=e[a+1],c=e[a+2],l=e[a+3],u=i?e[a+4]:c,d=i?e[a+5]:l;for(let e=.125;e<=1;e+=.125){let a=n+(o-n)*e,f=r+(s-r)*e,p=o+(c-o)*e,m=s+(l-s)*e;if(i){let t=c+(u-c)*e,n=l+(d-l)*e;a+=(p-a)*e,f+=(m-f)*e,p+=(t-p)*e,m+=(n-m)*e}t.push(a+(p-a)*e,f+(m-f)*e)}n=u,r=d}}else if(a===65)for(let i=s;i+7<=c;i+=7)ye(t,n,r,e[i],e[i+1],e[i+3],e[i+4],e[i+5],e[i+6]),n=e[i+5],r=e[i+6];else for(let i=s;i+2<=c;i+=2)a===77&&i===s&&t.length>0&&t.push(NaN,NaN),n=e[i],r=e[i+1],t.push(n,r)}return t}function ye(e,t,n,r,i,a,o,s,c){let l=(t-s)/2,u=(n-c)/2;if(r===0||i===0||l===0&&u===0){e.push(s,c);return}let d=Math.max(1,Math.sqrt(l*l/(r*r)+u*u/(i*i)));r*=d,i*=d;let f=(a===o?-1:1)*Math.sqrt(Math.max(0,(r*r*i*i-r*r*u*u-i*i*l*l)/(r*r*u*u+i*i*l*l))),p=f*r*u/i+(t+s)/2,m=-f*i*l/r+(n+c)/2,h=Math.atan2((n-m)/i,(t-p)/r),g=Math.atan2((c-m)/i,(s-p)/r)-h;o&&g<0?g+=2*Math.PI:!o&&g>0&&(g-=2*Math.PI);for(let t=1;t<=8;t++)e.push(p+r*Math.cos(h+g*t/8),m+i*Math.sin(h+g*t/8))}function K(e,t,n,r,i,a,o,s){let c=0,l=1;for(let u=0;u<4;u++){let d=u===0?-n:u===1?n:u===2?-r:r,f=u===0?e-i:u===1?o-e:u===2?t-a:s-t;d===0?f<0&&(l=-1):d<0?c=Math.max(c,f/d):l=Math.min(l,f/d)}return c<l}function be(e,t,n,r,i){for(let a=0;a+2<e.length;a+=2){let o=e[a],s=e[a+1],c=e[a+2],l=e[a+3];if(!(o<t&&c<t||o>r&&c>r||s<n&&l<n||s>i&&l>i)&&K(o,s,c-o,l-s,t,n,r,i))return!0}return!1}function xe(e,t,n,r){if(n.length===0)return;let i=r?ve(r):he(e),a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<i.length+t.length;e+=2){let n=e<i.length?i[e]:t[e-i.length],r=e<i.length?i[e+1]:t[e+1-i.length];n<a&&(a=n),n>s&&(s=n),r<o&&(o=r),r>c&&(c=r)}let l,u=1/0;for(let e of n){let[n,r,d,f]=e.box;if(s<n+.5||a>d-.5||c<r+.5||o>f-.5)continue;let p=be(i,n+.5,r+.5,d-.5,f-.5);for(let e=0;e<t.length&&!p;e+=2)p=t[e]>n+.5&&t[e]<d-.5&&t[e+1]>r+.5&&t[e+1]<f-.5;if(!p)continue;if(a<n||s>d||o<r||c>f)return``;let m=(d-n)*(f-r);m<u&&(u=m,l=e)}return l}function q(e,t=``){return(/[";]stroke:/.test(t)?void 0:r(e.shape))??``}function J(e,t){let n=/[";]fill:([^;"]*)/.exec(t.shape)?.[1].trim();return n?e.replace(/ fill="var\(--_bg\)"/g,` fill="${n}"`):e}function Se(e,t,n,r=``,i){let a=xe(e,t,n,i);return a&&q(a,r)}var Y=4;function X(t,n,r=``,i=!1){let a=e=>r.includes(e)?RegExp(`[";]${e}:([^;"]+);`).exec(r)?.[1].trim():void 0,o=a(`stroke`);if(o===`none`||o===`transparent`)return``;let s=i?`2.5`:a(`stroke-width`),c=``,l=``;s!==void 0&&/^[\d.]+(?:px)?$/.test(s)?parseFloat(s)!==1&&(c=` stroke-width="${e(parseFloat(s)+Y)}"`):s!==void 0&&(l+=`stroke-width:calc(${s} + ${Y}px);`);for(let e of[`opacity`,`stroke-opacity`]){let t=a(e);t!==void 0&&(l+=`${e}:${t};`)}let u=`<path d="${t}"/>`+n.replace(/ class="pele-marker"/g,``);return c||l?`<g${c}${l?` style="${l}"`:``}>${u}</g>`:u}function Ce(e,t,n,r=``,i=!1){return X(e.d,G(t,e.sx,e.sy,e.sdx,e.sdy,`var(--_bg)`,`var(--_bg)`)+G(n,e.ex,e.ey,e.edx,e.edy,`var(--_bg)`,`var(--_bg)`),r,i)}function we(e){return e?`<g class="pele-casings" fill="none" stroke="var(--_bg)" stroke-width="${1+Y}" stroke-linecap="round" stroke-linejoin="round" pointer-events="none">${e}</g>`:``}function Te(r,i,a,o,s,c){let l=i.width+8,u=i.height;return`<g class="pele-edge-label" data-id="${t(r)}"><rect x="${e(a-l/2)}" y="${e(o-u/2)}" width="${e(l)}" height="${e(u)}" rx="3" fill="var(--_bg)"/>`+n(i,a,o,s,c)+`</g>`}function Ee(t,n,r,i,a,o,s,c){let l=(a?n:r)/2,u=Math.min(l-4,8+i*6),d=o+i*8,f=Math.hypot(d,u)||1,p=(i,o)=>a?`${e(t.x+o)},${e(t.y+r/2+i)}`:`${e(t.x+n/2+i)},${e(t.y+o)}`,m=d/f*s,h=u/f*s;return a?(c.labelX=t.x,c.labelY=t.y+r/2+d+4+c.labelH/2):(c.labelX=t.x+n/2+d+4+c.labelW/2,c.labelY=t.y),{d:`M${p(0,-u)}C${p(d,-u*2)} ${p(d,u*2)} ${p(m,u+h)}`,sx:a?t.x-u:t.x+n/2,sy:a?t.y+r/2:t.y-u,sdx:a?0:-1,sdy:a?-1:0,ex:a?t.x+u:t.x+n/2,ey:a?t.y+r/2:t.y+u,edx:a?-u/f:-d/f,edy:a?-d/f:-u/f}}export{Ce as _,B as a,we as c,pe as d,Ee as f,J as g,X as h,xe as i,Te as l,Se as m,F as n,q as o,fe as p,a as r,W as s,i as t,G as u,I as v,P as y};
@@ -0,0 +1,4 @@
1
+ import{C as e}from"./lazy-f3CuUNJZ.js";var t=/* @__PURE__ */ new WeakMap;function n(e){let n=e.map((e,t)=>t),r=[];for(let t=0;t<128;t++){let i=String.fromCharCode(t);r.push(n.filter(t=>{let{pattern:n,first:r}=e[t];return typeof n==`string`?n[0]===i:r===void 0||r.includes(i)}))}let i={starting:r,every:n,longer:e.map(t=>t.longer?.map(t=>e.indexOf(t)))};return t.set(e,i),i}function r(r,i,a){let o=[],s=[],c=[],l=new Uint8Array(i.length),{starting:u,every:d,longer:f}=t.get(i)??n(i),p=[],m=r.length,h=(e,t)=>{if(l[e])return-1;let n=i[e];if(n.match!==void 0)return n.match(r,t,o[o.length-1]??-1);if(n.scanner!==void 0)return(p[e]??=n.scanner())(r,t,o[o.length-1]??-1);let a=n.pattern;return typeof a==`string`?r.startsWith(a,t)?t+a.length:-1:(a.lastIndex=t,a.test(r)?a.lastIndex:(n.opener!==void 0&&(n.opener.lastIndex=t,n.opener.test(r)&&(l[e]=1)),-1))},g=0;n:for(;g<m;){let t=r.charCodeAt(g);for(let e of t<128?u[t]:d){let t=h(e,g);if(t<=g)continue;let n=e,r=f[e];if(r!==void 0)for(let e of r){let r=h(e,g);if(r>t){n=e,t=r;break}}i[n].hidden||(o.push(n),s.push(g),c.push(t)),g=t;continue n}throw e(a,r,g,``,!0)}return o.push(-1),s.push(m),c.push(m),{kinds:o,starts:s,ends:c,src:r}}var i={name:`ACC_DESCR`,pattern:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/y,first:` a`},a={name:`ACC_TITLE`,pattern:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/y,first:` a`},o={name:`TITLE`,pattern:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/y,first:` t`};function s(e){return{...o,pattern:new RegExp(String.raw`[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|(?!${e}))`,`y`)}}var c={name:`STRING`,pattern:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/y,first:`"'`},l={name:`NEWLINE`,pattern:/\r?\n/y,first:`\r
2
+ `},u={name:`WHITESPACE`,pattern:/[\t ]+/y,hidden:!0,first:` `},d={name:`YAML`,pattern:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/y,hidden:!0,opener:/---[\t ]*\r?\n/y,first:`-`},f={name:`DIRECTIVE`,pattern:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/y,hidden:!0,opener:/[\t ]*%%{/y,first:` %`},p={name:`SINGLE_LINE_COMMENT`,pattern:/[\t ]*%%[^\n\r]*/y,first:` %`,hidden:!0};function m(e){return{name:e,pattern:RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)+`(?:(?=%%)|(?!\\S))`,`y`),first:e[0]}}var h=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,g=/accTitle[\t ]*:([^\n\r]*)/,_=/title([\t ][^\n\r]*|)/;function v(e){return e.trim().replace(/[\t ]{2,}/gm,` `)}function y(e){return v(_.exec(e)[1])}function b(e){return v(g.exec(e)[1])}function x(e){let t=h.exec(e);return t[1]===void 0?t[2].replace(/^\s*/gm,``).replace(/\s+$/gm,``).replace(/[\t ]{2,}/gm,` `).replace(/[\n\r]{2,}/gm,`
3
+ `):v(t[1])}var S=/* @__PURE__ */ new Map([[`b`,`\b`],[`f`,`\f`],[`n`,`
4
+ `],[`r`,`\r`],[`t`,` `],[`v`,`\v`],[`0`,`\0`]]);function C(e){if(!e.includes(`\\`))return e.slice(1,-1);let t=``;for(let n=1;n<e.length-1;n++){let r=e[n];if(r===`\\`){let r=e[++n];t+=S.get(r)??r}else t+=r}return t}var w=class{constructor(e,t,n){this.tokens=e,this.types=t,this.diagram=n,this.kinds=e.kinds}tokens;types;diagram;i=0;kinds;get kind(){return this.kinds[this.i]}text(e=this.i){return this.tokens.src.slice(this.tokens.starts[e],this.tokens.ends[e])}take(){return this.text(this.i++)}accept(e){return this.kinds[this.i]===e&&(this.i++,!0)}expect(e){return this.kinds[this.i]!==e&&this.fail(`token of type '${this.types[e].name}'`),this.take()}fail(t){let n=this.kind===-1?`end of input`:`\`${this.text()}\``,{src:r,starts:i,ends:a}=this.tokens,o=i[this.i];if(this.kind===-1){let e=this.i;for(;e>0&&r.slice(i[e-1],a[e-1]).trim()===``;)e--;e>0&&(o=a[e-1])}throw e(this.diagram,r,o,`Expecting ${t} but found ${n}.`)}};export{y as _,p as a,d as c,c as d,l as f,w as g,s as h,u as i,f as l,C as m,b as n,o,m as p,r,i as s,a as t,x as u};
@@ -0,0 +1 @@
1
+ var e=[[`rect`,`proc`,`process`,`rectangle`,`squareRect`],[`rounded`,`event`,`roundedRect`],[`stadium`,`terminal`,`pill`],[`fr-rect`,`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],[`cyl`,`db`,`database`,`cylinder`],[`datastore`,`data-store`],[`folder`,`directory`],[`bucket`],[`console`],[`browser`],[`person`],[`circle`,`circ`],[`bang`],[`cloud`],[`diam`,`decision`,`diamond`,`question`],[`hex`,`hexagon`,`prepare`],[`lean-r`,`lean-right`,`in-out`,`lean_right`],[`lean-l`,`lean-left`,`out-in`,`lean_left`],[`trap-b`,`priority`,`trapezoid-bottom`,`trapezoid`],[`trap-t`,`manual`,`trapezoid-top`,`inv-trapezoid`,`inv_trapezoid`],[`dbl-circ`,`double-circle`,`doublecircle`],[`text`],[`notch-rect`,`card`,`notched-rectangle`],[`lin-rect`,`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],[`sm-circ`,`start`,`small-circle`,`stateStart`],[`fr-circ`,`stop`,`framed-circle`,`stateEnd`],[`fork`,`join`,`forkJoin`],[`hourglass`,`collate`],[`brace`,`comment`,`brace-l`],[`brace-r`],[`braces`],[`bolt`,`com-link`,`lightning-bolt`],[`doc`,`document`],[`delay`,`half-rounded-rectangle`],[`h-cyl`,`das`,`horizontal-cylinder`],[`lin-cyl`,`disk`,`lined-cylinder`],[`curv-trap`,`curved-trapezoid`,`display`],[`div-rect`,`div-proc`,`divided-rectangle`,`divided-process`],[`tri`,`extract`,`triangle`],[`win-pane`,`internal-storage`,`window-pane`],[`f-circ`,`junction`,`filled-circle`],[`notch-pent`,`loop-limit`,`notched-pentagon`],[`flip-tri`,`manual-file`,`flipped-triangle`],[`sl-rect`,`manual-input`,`sloped-rectangle`],[`docs`,`documents`,`st-doc`,`stacked-document`],[`st-rect`,`procs`,`processes`,`stacked-rectangle`],[`bow-rect`,`stored-data`,`bow-tie-rectangle`],[`cross-circ`,`summary`,`crossed-circle`],[`tag-doc`,`tagged-document`],[`tag-rect`,`tagged-rectangle`,`tag-proc`,`tagged-process`],[`flag`,`paper-tape`],[`odd`,`rect_left_inv_arrow`],[`lin-doc`,`lined-document`]],t=/* @__PURE__ */ `state.choice.note.composite.rectWithTitle.labelRect.block_arrow.collapsedGroup.iconSquare.iconCircle.icon.iconRounded.imageSquare.anchor.kanbanItem.mindmapCircle.defaultMindmapNode.classBox.erBox.requirementBox.usecaseActor.usecaseActorHollow.usecaseActorAwesome.usecaseActorIcon.usecaseBusiness.usecaseEllipse.usecaseJsonTable`.split(`.`),n=/* @__PURE__ */ new Map([[`square`,`rect`],[`round`,`rounded`],[`ellipse`,`ellipse`],[`hexagon`,`hex`],[`diamond`,`diam`]]),r=/* @__PURE__ */ new Map;for(let t of e)for(let e of t)r.set(e,t[0]);for(let e of t)r.set(e,e);function i(e){return r.has(e)}function a(e){return e===void 0?`rect`:n.get(e)??r.get(e)??`rect`}export{a as n,i as t};
@@ -0,0 +1 @@
1
+ function e(e){let t=0;for(let n=e.indexOf(`~`);n!==-1;n=e.indexOf(`~`,n+1))t++;return t}function t(t){let n=e(t);if(n<=1)return t;let r=n%2!=0&&t.startsWith(`~`),i=t.split(``),a=[];for(let e=+!!r;e<i.length;e++)i[e]===`~`&&a.push(e);for(let e=0,t=a.length-1;e<t;e++,t--)i[a[e]]=`<`,i[a[t]]=`>`;return i.join(``)}function n(n){if(!n.includes(`~`))return n;let r=n.split(/(,)/),i=[];for(let n=0;n<r.length;n++){let a=r[n];a===`,`&&n>0&&n+1<r.length&&e(r[n-1])===1&&e(r[n+1])===1&&(a=r[n-1]+`,`+r[n+1],n++,i.pop()),i.push(t(a))}return i.join(``)}export{n as t};
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./BGW36YJW-CJMhya8S.js";var t=/<(?!br\s*\/?>)/gi,n=/:fa-/g,r=/<br\s*\/?>|fl°°?\w+¶ß|&#?\w+;|[\ud800-\udbff][\udc00-\udfff]|[\s\S]/gi;function i(r,i,a,o,s=0){let c=r;return c!==void 0&&(c.includes(`<`)&&(c=c.replace(t,`&lt;`)),c.includes(`:fa-`)&&(c=c.replace(n,`&colon;fa-`))),e(c,!1,i,a,o,s)}function a(e,t,n,a,o=0){let s=i(e,t,n,a,o);if(e===void 0||s.width<=a)return s;let c=``,l=0;for(let i of e.match(r)??[]){if(i.trim()===``||i.length>2&&i[0]===`<`)l=0;else{let e=t.width(i.length>2?`x`:i,n,o);l>0&&l+e>a&&(c+=`
2
+ `,l=0),l+=e}c+=i}return i(c,t,n,a,o)}export{i as n,a as t};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n,v as r}from"./EFYWJBJK-CVywe_D5.js";import{n as i,t as a}from"./A4UD2L5Z-BQzcD9dU.js";import{E as o,h as s,r as c}from"./lazy-f3CuUNJZ.js";var l=34,u=24,d=8,f=2e4,p=1e4,m=2e6,h=4,g=3,ee=8,te=20,ne=20,re=14,_=3;function v(i,a,o,s,c=u){let v=i.length;if(v===0)return{width:0,height:0};let b=o===`LR`||o===`RL`,ie=o===`BT`||o===`RL`,x=[];for(let e=v-1;e>=0;e--)i[e].parent<0&&i[e].isGroup&&x.push(e);let S=Math.max(1,x.length),C=new Int32Array(v).fill(-1);x.forEach((e,t)=>C[e]=t);let w=new Uint8Array(v);for(let e=0;e<v;e++)i[e].parent>=0&&(w[i[e].parent]=1);let ae=new Float64Array(S).fill(c),T=c,E=e=>{let t=e,n=c;for(let e=0;i[t].parent>=0&&e<p;e++)t=i[t].parent,C[t]<0&&(n+=Math.max(i[t].padX,i[t].padTop,i[t].padBottom));let r=Math.max(0,C[t]);return n>ae[r]&&(ae[r]=n),n>T&&(T=n),r},oe=new Int32Array(v).fill(-1),D=[];for(let e=0;e<v;e++)C[e]>=0||(!i[e].isGroup||!w[e])&&(oe[e]=D.length,D.push(e));let O=e=>b?e.w:e.h,k=e=>b?e.h:e.w,A=D.map(e=>n(k(i[e]),O(i[e]))),j=[],se=[],M=1;{let e=/* @__PURE__ */ new Set;for(let n=0;n<a.length;n++){let r=a[n],i=oe[r.src],o=oe[r.dst];if(i<0||o<0||i===o)continue;let s=Math.min(i,o)*D.length+Math.max(i,o);(r.labelW>0||e.has(s))&&(M=2),e.add(s),j.push(t(i,o,r.minlen,b?r.labelH:r.labelW,b?r.labelW:r.labelH)),se.push(n)}}e(A,j),r(A,j,M);let N=j.length,ce=Int32Array.from(D,E),P=(e,t)=>{let n=ae.map((e,n)=>t[n]?Math.max(e,ne):e),r=new Uint8Array(S),o=0,c=new Int32Array(N);for(let t=0;t<N;t++)c[t]=Math.abs(A[j[t].head].rank-A[j[t].tail].rank),e[t]||(o+=c[t]-1);let u=o>f,g=D.length+(u?0:o),w=new Int32Array(g),E=new Int32Array(g),O=new Float64Array(g),k=new Float64Array(g),P=new Uint8Array(g),F=0;for(let e=0;e<D.length;e++)w[e]=A[e].rank,E[e]=ce[e],O[e]=A[e].w,k[e]=A[e].h,w[e]>F&&(F=w[e]);let I=new Int32Array(N).fill(-1),L=new Int32Array(N).fill(-1),R=[];{let t=D.length;for(let n=0;n<N;n++){let r=j[n],i=r.reversed?r.head:r.tail,a=r.reversed?r.tail:r.head;if(u||c[n]<2||e[n]){R.push(i,a);continue}let o=w[i],s=w[a],l=-1;r.labelW>0&&(l=o+(s-o>>1),M===2&&!(l&1)&&l--),I[n]=t;let d=i;for(let e=o+1;e<s;e++){let c=t++;w[c]=e,E[c]=E[i]+Math.round((E[a]-E[i])*(e-o)/(s-o)),P[c]=1,e===l&&(O[c]=r.labelW,k[c]=r.labelH,L[n]=c),R.push(d,c),d=c}R.push(d,a)}}let z=new Int32Array(g+1),B=new Int32Array(g+1);for(let e=0;e<R.length;e+=2)B[R[e]+1]++,z[R[e+1]+1]++;for(let e=0;e<g;e++)z[e+1]+=z[e],B[e+1]+=B[e];let le=new Int32Array(R.length/2),ue=new Int32Array(R.length/2);{let e=z.slice(0,g),t=B.slice(0,g);for(let n=0;n<R.length;n+=2)ue[t[R[n]]++]=R[n+1],le[e[R[n+1]]++]=R[n]}let V=[];for(let e=0;e<=F;e++)V.push([]);for(let e=0;e<g;e++)V[w[e]].push(e);let de=new Float64Array(g),H=new Float64Array(g),fe=e=>{e.sort((e,t)=>E[e]-E[t]||H[e]-H[t]||e-t);for(let t=0;t<e.length;t++)de[e[t]]=t};for(let e of V){for(let t=0;t<e.length;t++)H[e[t]]=t;fe(e)}for(let e=0;e<d&&F>0;e++){let t=!(e&1);for(let e=1;e<=F;e++){let n=V[t?e:F-e],r=t?z:B,i=t?le:ue;for(let e of n){let t=0,n=r[e+1]-r[e];for(let n=r[e];n<r[e+1];n++)t+=de[i[n]];H[e]=n>0?t/n:de[e]}fe(n)}}let U=(e,t)=>P[e]||P[t]?s.edgeSep:s.nodeSep,pe=(e,t)=>{let n=0;for(;n<e.length;){let r=n;for(;r+1<e.length&&E[e[r+1]]===E[e[n]];)r++;t(e,n,r),n=r+1}},me=(e,t,n)=>{let r=O[e[t]];for(let i=t;i<n;i++)r+=U(e[i],e[i+1])+O[e[i+1]];return r},he=new Float64Array(S),W=x.length>0?l:0;for(let e=0;e<x.length;e++){let t=i[x[e]];he[e]=Math.max(0,t.minW-2*n[e]),t.padTop>W&&(W=t.padTop)}for(let e of V)pe(e,(t,n,r)=>{let i=me(e,n,r);i>he[E[e[n]]]&&(he[E[e[n]]]=i)});let G=new Float64Array(S+1);for(let e=0;e<S;e++)G[e+1]=G[e]+he[e]+2*n[e];let K=new Float64Array(g),ge=new Float64Array(g),_e=(e,t,r)=>{let i=E[e[t]],a=(G[i]+n[i]+(G[i+1]-n[i])-me(e,t,r))/2;for(let n=t;n<=r;n++)K[e[n]]=a+O[e[n]]/2,n<r&&(a+=O[e[n]]+U(e[n],e[n+1]))},ve=(e,t,r)=>{let i=E[e[t]],a=G[i]+n[i];for(let n=t;n<=r;n++){let t=e[n];K[t]=Math.max(ge[t],a+O[t]/2),n<r&&(a=K[t]+O[t]/2+U(t,e[n+1]))}let o=G[i+1]-n[i];for(let n=r;n>=t;n--){let r=e[n];K[r]=Math.min(K[r],o-O[r]/2),n>t&&(o=K[r]-O[r]/2-U(e[n-1],r))}};for(let e of V)pe(e,_e);for(let e=0;e<4&&F>0;e++){let t=!(e&1);for(let e=1;e<=F;e++){let n=V[t?e:F-e],r=t?z:B,i=t?le:ue;for(let e of n){let t=0,n=0;for(let a=r[e];a<r[e+1];a++)E[i[a]]===E[e]&&(t+=K[i[a]],n++);ge[e]=n>0?t/n:K[e]}pe(n,ve)}}let q=new Float64Array(F+1),J=new Float64Array(F+1),Y=new Float64Array(F+1).fill(s.rankSep/M);if(e.some(e=>e===1)){let t=s.rankSep/M;Y.fill(t/_);for(let n=0;n<N;n++){let r=j[n],i=r.reversed?r.head:r.tail,a=r.reversed?r.tail:r.head;if(e[n]){if(r.labelH<=0||c[n]>M)continue;let e=Math.min(t,(r.labelH+2*te-Math.min(k[i],k[a])/2)/c[n]);for(let t=w[i];t<w[a];t++)e>Y[t]&&(Y[t]=e);continue}let o=I[n];if(o<0||c[n]<=M*r.minlen)for(let e=w[i];e<w[a];e++)Y[e]=t;else for(let e=o-1;e<o+c[n]-1;e++){let r=e<o?i:e,s=e+1<o+c[n]-1?e+1:a;(E[r]!==E[s]||Math.abs(K[r]-K[s])>=.5)&&(Y[w[r]]=t)}}}let ye=W+T;for(let e=0;e<=F;e++){let t=0;for(let n of V[e])k[n]>t&&(t=k[n]);q[e]=ye,J[e]=ye+t,ye+=t+(e===F?0:Y[e])}let X=ye+T,be=G[S],xe=e=>ie?W+X-e:e,Z=(e,t)=>b?xe(t):e,Q=(e,t)=>b?e:xe(t),Se=+!!b;for(let e=0;e<D.length;e++){let t=i[D[e]],n=(q[w[e]]+J[w[e]])/2;t.x=Z(K[e],n),t.y=Q(K[e],n)}for(let e=0;e<x.length;e++){let t=i[x[e]],n=(G[e]+G[e+1])/2,r=G[e+1]-G[e];t.x=b?X/2:n,t.y=b?n:X/2,t.w=b?X:r,t.h=b?r:X,t.padTop=W}let Ce=new Int32Array(v),we=[];for(let e=0;e<v;e++){if(!i[e].isGroup||C[e]>=0||oe[e]>=0)continue;let t=0;for(let n=i[e].parent;n>=0&&t<p;n=i[n].parent)t++;Ce[e]=t,we.push(e)}we.sort((e,t)=>Ce[t]-Ce[e]||e-t);let $=new Float64Array(v*4);for(let e=0;e<v;e++)$[e*4]=1/0,$[e*4+1]=1/0,$[e*4+2]=-1/0,$[e*4+3]=-1/0;let Te=(e,t)=>{t.x-t.w/2<$[e*4]&&($[e*4]=t.x-t.w/2),t.y-t.h/2<$[e*4+1]&&($[e*4+1]=t.y-t.h/2),t.x+t.w/2>$[e*4+2]&&($[e*4+2]=t.x+t.w/2),t.y+t.h/2>$[e*4+3]&&($[e*4+3]=t.y+t.h/2)};for(let e of D)i[e].parent>=0&&C[i[e].parent]<0&&Te(i[e].parent,i[e]);for(let e of we){let t=i[e];if($[e*4]===1/0)continue;let n=Math.max($[e*4+2]-$[e*4]+2*t.padX,t.minW);t.x=($[e*4]+$[e*4+2])/2,t.w=n,t.y=($[e*4+1]-t.padTop+$[e*4+3]+t.padBottom)/2,t.h=$[e*4+3]-$[e*4+1]+t.padTop+t.padBottom,t.parent>=0&&C[t.parent]<0&&Te(t.parent,t)}for(let e of a)e.route=[];for(let e=0;e<N;e++){let t=j[e],n=a[se[e]],r=t.reversed?t.head:t.tail,i=t.reversed?t.tail:t.head,o=[K[r],J[w[r]]-(J[w[r]]-q[w[r]]-k[r])/2],s=I[e];if(s>=0)for(let t=s;t<s+c[e]-1;t++)o.push(K[t],q[w[t]]),J[w[t]]>q[w[t]]&&o.push(K[t],J[w[t]]);o.push(K[i],q[w[i]]+(J[w[i]]-q[w[i]]-k[i])/2);let l=[];for(let e=0;e<o.length;e+=2)l.push(Z(o[e],o[e+1]),Q(o[e],o[e+1]),Se);if(t.reversed)for(let e=0,t=l.length-3;e<t;e+=3,t-=3)for(let n=0;n<2;n++){let r=l[e+n];l[e+n]=l[t+n],l[t+n]=r}n.route=l;let u=L[e];if(u>=0){let e=(q[w[u]]+J[w[u]])/2;n.labelX=Z(K[u],e),n.labelY=Q(K[u],e)}else n.labelX=(l[0]+l[l.length-3])/2,n.labelY=(l[1]+l[l.length-2])/2}for(let e of a){if(e.route.length>0||e.src===e.dst)continue;let t=i[e.src],n=i[e.dst],[r,a]=y(t,n),[o,s]=y(n,t),c=+(Math.abs(o-r)>Math.abs(s-a));e.route=[r,a,c,o,s,c],e.labelX=(r+o)/2,e.labelY=(a+s)/2}let Ee=new Uint8Array(N),De=a.reduce((e,t)=>e+t.route.length/3,0),Oe=N*(D.length+a.length+De);if(Oe<=m){let e=e=>(q[w[e]]+J[w[e]])/2,t=a.map(e=>[b?e.labelY:e.labelX,xe(b?e.labelX:e.labelY)]),i=(e,t,n,r,i,a,o,s)=>n>i-o/2&&e<i+o/2&&r>a-s/2&&t<a+s/2,o=(n,r,o,s,c,l,u)=>{for(let t=0;t<D.length;t++)if(t!==c&&t!==l&&i(n,r,o,s,K[t],e(t),O[t]+8,k[t]+8))return!1;for(let e=0;e<a.length;e++){let c=a[e];if(e!==u&&c.labelW>0&&c.src!==c.dst&&i(n,r,o,s,t[e][0],t[e][1],b?c.labelH:c.labelW,b?c.labelW:c.labelH))return!1}return!0},s=(e,t,n,r,i)=>{let o=0;for(let s=0;s<a.length;s++){if(s===i)continue;let c=a[s].route;for(let i=3;i<c.length;i+=3)if(Math.max(c[i-3],c[i])>e&&Math.min(c[i-3],c[i])<n&&Math.max(c[i-2],c[i+1])>t&&Math.min(c[i-2],c[i+1])<r){o++;break}}return o},c=(e,t,n)=>{let r=0;for(let i=0;i<a.length;i++){let o=a[i].route;if(i===n||o.length===0)continue;let s=o.length-3;(Math.abs(o[0]-e)<1&&Math.abs(o[1]-t)<1||Math.abs(o[s]-e)<1&&Math.abs(o[s+1]-t)<1)&&r++}return r},l=(e,t,n,r,i)=>{let o=Math.abs(n-e)<.5,s=o?Math.min(t,r):Math.min(e,n),c=o?Math.max(t,r):Math.max(e,n),l=o?e:t;for(let e=0;e<a.length;e++){let t=a[e];if(e===i||t.src===a[i].src||t.dst===a[i].dst)continue;let n=t.route;for(let e=3;e<n.length;e+=3){let t=n[e-3+ +!o],r=n[e+ +!o];if(Math.abs(t-l)>=h||Math.abs(r-l)>=h)continue;let i=n[e-3+ +!!o],a=n[e+ +!!o];if(Math.min(c,Math.max(i,a))-Math.max(s,Math.min(i,a))>1)return!0}}return!1};for(let i=0;i<N;i++){let u=j[i],d=se[i],f=a[d],p=u.tail,h=u.head;if(E[p]===E[h]||Math.abs(K[h]-K[p])<1)continue;let g=K[p],_=K[h],v=e(p),y=e(h),b=Math.sign(_-g),ie=Math.sign(y-v),x=(e,n)=>{for(let t=2;t<e.length;t+=2)if(!o(Math.min(e[t-2],e[t])-n,Math.min(e[t-1],e[t+1])-n,Math.max(e[t-2],e[t])+n,Math.max(e[t-1],e[t+1])+n,p,h,d)||l(Z(e[t-2],e[t-1]),Q(e[t-2],e[t-1]),Z(e[t],e[t+1]),Q(e[t],e[t+1]),d))return!1;let r=0,a=0,c=-1;if(f.labelW>0){let t=u.labelW,n=u.labelH;for(let i=2;i<e.length;i+=2){let l=(e[i-2]+e[i])/2,u=(e[i-1]+e[i+1])/2,p=Math.abs(e[i]-e[i-2]),m=Math.abs(e[i+1]-e[i-1]),h=p+m;if(h<=c||(p>0?p<t+8:m<n+8)||l-t/2<0||l+t/2>be||u-n/2<0||u+n/2>X||!o(l-t/2,u-n/2,l+t/2,u+n/2,-1,-1,d))continue;let g=Z(l,u),ee=Q(l,u);s(g-f.labelW/2,ee-f.labelH/2,g+f.labelW/2,ee+f.labelH/2,d)>0||(r=l,a=u,c=h)}if(c<0)return!1}let m=[e[0],e[1]];for(let t=2;t<e.length;t+=2){let n=e[t]-e[t-2],r=e[t+1]-e[t-1],i=Math.abs(n)+Math.abs(r),a=t>2?te:0,o=t+2<e.length?te:0;i>a+o+1&&(a&&m.push(e[t-2]+n/i*a,e[t-1]+r/i*a),o&&m.push(e[t]-n/i*o,e[t+1]-r/i*o)),m.push(e[t],e[t+1])}f.route=[];for(let e=0;e<m.length;e+=2){let t=e===0?m[0]!==m[2]:m[e]!==m[e-2];f.route.push(Z(m[e],m[e+1]),Q(m[e],m[e+1]),t?1-Se:Se)}return f.labelW>0&&(f.labelX=Z(r,a),f.labelY=Q(r,a),t[d]=[r,a]),Ee[i]=1,!0};if(x([g+b*O[p]/2,v,_,v,_,y-ie*k[h]/2],2)||x([g,v+ie*k[p]/2,g,y,_-b*O[h]/2,y],2)||Oe>m/ee)continue;let S=[];for(let e of E[p]<E[h]?[E[h],E[p]]:[E[p],E[h]]){let t=Math.max(n[e]-re,Math.min(n[e]/2,ne-re));for(let n of[G[e]+t,G[e+1]-t]){if(Math.abs(n-g)<O[p]/2+4||Math.abs(n-_)<O[h]/2+4)continue;let t=[g+Math.sign(n-g)*O[p]/2,v,n,v,n,y,_+Math.sign(n-_)*O[h]/2,y],r=(c(Z(t[0],t[1]),Q(t[0],t[1]),d)+c(Z(t[6],t[7]),Q(t[6],t[7]),d))*1e6;for(let e=2;e<t.length;e+=2){let n=Z(t[e-2],t[e-1]),i=Q(t[e-2],t[e-1]),a=Z(t[e],t[e+1]),o=Q(t[e],t[e+1]);r+=s(Math.min(n,a),Math.min(i,o),Math.max(n,a),Math.max(i,o),d)*1e6+Math.abs(a-n)+Math.abs(o-i)}S.push({pts:t,cost:r,lane:e})}}S.sort((e,t)=>e.cost-t.cost);for(let e of S)if(x(e.pts,1)){r[e.lane]=1;break}}}return{width:b?X:be,height:b?be:X,routed:Ee,margins:r,work:Oe}},F=new Uint8Array(N),I=new Uint8Array(S),L=P(F,I);for(let e=0;e<g&&L.work<=m/ee;e++){let t=e===0?L.routed:F.map((e,t)=>e&L.routed[t]);if(t.every((e,t)=>e===F[t])&&L.margins.every((e,t)=>e===I[t]))break;F=t,I=L.margins,L=P(F,I)}return F.some((e,t)=>e&&!L.routed[t])&&(L=P(new Uint8Array(N),new Uint8Array(S))),{width:L.width,height:L.height}}function y(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.max(e.w/2,.5),a=Math.max(e.h/2,.5);if(Math.abs(n)<i&&Math.abs(r)<a)return i-Math.abs(n)<a-Math.abs(r)?[e.x+(n<0?-i:i),t.y]:[t.x,e.y+(r<0?-a:a)];let o=Math.min(n===0?1/0:i/Math.abs(n),r===0?1/0:a/Math.abs(r));return[e.x+n*o,e.y+r*o]}var b=`__swimlane_default__`;function ie(e){let t=!1;for(let n of e.nodes)n.isGroup?n.dir=void 0:n.parentId===void 0&&(t=!0);if(t){for(let t of e.nodes)!t.isGroup&&t.parentId===void 0&&(t.parentId=b);e.nodes.push({id:b,label:void 0,labelType:`text`,shape:`rect`,isGroup:!0,parentId:void 0,cssStyles:[],cssCompiledStyles:[],cssClasses:``,dir:void 0})}}function x(e,t,n,r,i,a,l){let u=e.x-e.w/2,d=e.y-e.h/2,f=a===`LR`||a===`RL`,p=f?u+e.padTop/2:e.x,m=f?e.y:d+e.padTop/2,h=s(t,p,m,` class="pele-cluster-label"${c(n,`var(--_m)`)}${n.text}`,l);return`<g class="pele-cluster pele-lane${r}" data-id="${i}"><rect x="${o(u)}" y="${o(d)}" width="${o(e.w)}" height="${o(e.h)}" fill="none" stroke="var(--_b)"/><rect x="${o(u)}" y="${o(d)}" width="${o(f?e.padTop:e.w)}" height="${o(f?e.h:e.padTop)}" fill="var(--_a)" stroke="var(--_b)"${n.shape}/>`+(f&&h?`<g transform="rotate(-90 ${o(p)} ${o(m)})">${h}</g>`:h)+`</g>`}function S(e,t){let n=e.x-e.w/2,r=e.y-e.h/2;return t===`LR`||t===`RL`?[n,r,n+e.padTop,r+e.h]:[n,r,n+e.w,r+e.padTop]}var C={type:`swimlane`,prepare:ie,layout:(e,t,n,r,i)=>v(e,t,n,r,i?12:void 0),drawGroup:x,filledBox:S},w={type:`swimlane`,math:!0,parse:i.parse,render:(e,t,n)=>a(e,t,n,C)};export{w as swimlane};
@@ -0,0 +1,2 @@
1
+ import{a as e,d as t,i as n}from"./BGW36YJW-CJMhya8S.js";import{n as r,r as i}from"./DKTLEL5E-DciMwFJ1.js";import{_ as a,a as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,p as g,r as _,s as v,t as y,u as b}from"./EXE5EH6O-DR1IHCTr.js";import{E as x,f as S,h as C,s as w,u as T}from"./lazy-f3CuUNJZ.js";var E=32;function D(e){return new T(e,`semantic`,{type:`radar`})}function O(e,t){let n=e.axes.map(e=>({name:e.name,label:e.label??e.name})),r=e.curves.map(e=>{let t;if(e.entries[0].axis===void 0)t=e.entries.map(e=>e.value);else{if(n.length===0)throw D(`Axes must be populated before curves for reference entries`);let r=/* @__PURE__ */ new Map;for(let t of e.entries)t.axis!==void 0&&!r.has(t.axis.$refText)&&r.set(t.axis.$refText,t.value);t=n.map(e=>{let t=r.get(e.name);if(t===void 0)throw D(`Missing entry for axis `+e.label);return t})}return{name:e.name,label:e.label??e.name,entries:t}}),i={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`};for(let t of e.options)t.name===`showLegend`?i.showLegend=t.value:t.name===`graticule`?i.graticule=t.value:i[t.name]=t.value;return i.ticks>E&&(i.ticks=E),{type:`radar`,title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,``):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
2
+ `):void 0,axes:n,curves:r,options:i}}var k=0,A=0;function j(e,t){let n=t;for(let t=e.charCodeAt(n);t>=48&&t<=57;t=e.charCodeAt(n))n++;return n}function M(e,t){(t<k||t>=A)&&(k=t,A=j(e,t));let n=A;if(n===t)return-1;let r=e.charCodeAt(n)===46;if(r){let t=j(e,n+1),r=t-n-1;if(r>0&&e.charCodeAt(t)!==46)return t;if(r>1)return t-1}return e.charCodeAt(t)===48?t+1:r?n-1>t?n-1:-1:n}var N=v.pattern,P=/[\t ]*accDescr\s*{/y,F=-2;function I(e,t){return P.lastIndex=t,P.test(e)&&(F===-2&&(F=e.lastIndexOf(`}`)),P.lastIndex>F)?-1:(N.lastIndex=t,N.test(e)?N.lastIndex:-1)}var L={name:`ID`,pattern:/[\w]([-\w]*\w)?/y},R=/[-\w]*\w/y;function z(e,t){return(n,r,i)=>{if(e.lastIndex=r,!e.test(n))return-1;let a=e.lastIndex;return i===t?a:(R.lastIndex=a,R.test(n)?-1:a)}}var B=e=>({name:e,pattern:e,longer:[L]}),V=e=>({name:e,pattern:e}),H=[V(`radar-beta:`),{...g(`radar-beta`),longer:[L]},B(`showLegend`),B(`graticule`),B(`curve`),B(`ticks`),B(`axis`),B(`max`),B(`min`),V(`:`),V(`,`),V(`[`),V(`]`),V(`{`),V(`}`),{name:`GRATICULE`,pattern:/circle|polygon/y,match:z(/circle|polygon/y,3)},{name:`BOOLEAN`,pattern:/true|false/y,match:z(/true|false/y,2)},{...v,match:I},y,d(String.raw`[-\w]*\w`),{name:`NUMBER`,pattern:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/y,match:M},c,L,l,f,s,p,o];function U(e){return k=A=0,F=-2,_(e,H,`radar`)}function W(e){let t=new u(U(e),H,`radar`),n={$type:`Radar`,axes:[],curves:[],options:[]},r=()=>{for(;t.kind===23;)t.i++},i=()=>{t.kind!==-1&&(t.kind!==23&&t.fail(`a line break or the end of input`),r())},o=()=>{if(!t.accept(11))return;let e=m(t.expect(21));return t.expect(12),e},s=e=>{if(!e)return{$type:`Entry`,value:Number(t.expect(20))};let n={$refText:t.expect(22)};return t.accept(9),{$type:`Entry`,axis:n,value:Number(t.expect(20))}},c=()=>{let e=t.expect(22),n=o(),i={$type:`Curve`,name:e,entries:[]};n!==void 0&&(i.label=n),t.expect(13),r(),t.kind!==20&&t.kind!==22&&t.fail(`a number or an axis name`);let a=t.kind===22;for(i.entries.push(s(a));t.accept(10);)r(),i.entries.push(s(a));return r(),t.expect(14),i},l=()=>{let e={$type:`Axis`,name:t.expect(22)},n=o();return n!==void 0&&(e.label=n),e},d=()=>{let e=t.kind,n=t.take(),r;return r=e===2?t.expect(16)===`true`:e===3?t.expect(15):Number(t.expect(20)),{$type:`Option`,name:n,value:r}},f=()=>t.kind===2||t.kind===5||t.kind===7||t.kind===8||t.kind===3;for(r(),t.accept(0)||(t.expect(1),t.accept(9)),r();t.kind!==-1;)switch(t.kind){case 23:t.i++;break;case 17:n.accDescr=b(t.take()),i();break;case 18:n.accTitle=h(t.take()),i();break;case 19:n.title=a(t.take()),i();break;case 6:t.i++;do n.axes.push(l());while(t.accept(10));break;case 4:t.i++;do n.curves.push(c());while(t.accept(10));break;default:for(f()||t.fail(`an axis, a curve, an option, a title, or a line break`),n.options.push(d());t.accept(10);)f()||t.fail(`an option`),n.options.push(d())}return n}var G=12,K=26,q=24;function J(e,t,n,r,i){let a=e.radar?.[t];return typeof a==`number`&&a>=r?Math.min(a,i):n}function ee(e,t,n,r){let i=Math.min(Math.max(e,t),n),a=r*(i-t);return Number.isFinite(a)?a/(n-t):r*((i-t)/(n-t))}function te(e,t){let n=e.length,r=`M${x(e[0].x)},${x(e[0].y)}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n];r+=` C${x(o.x+(s.x-a.x)*t)},${x(o.y+(s.y-a.y)*t)} ${x(s.x-(c.x-o.x)*t)},${x(s.y-(c.y-o.y)*t)} ${x(s.x)},${x(s.y)}`}return r+` Z`}function Y(e){let t=``;for(let n of e)t+=(t?` `:``)+x(n.x)+`,`+x(n.y);return t}function X(e,t,n){let i=J(t,`width`,320,1,4e3);return r(n,i,160,(r,a)=>Z(e,t,n,r,J(t,`height`,320,1,4e3)*r/i,a))}function Z(r,a,o,s,c,l){let u=o.fontSize??16,d=Math.round(u*.875),f=o.measurer??w(o.fontFamily,o.fontFamilyMono),p=o.padding??8,m=J(a,`axisScaleFactor`,1,0,10),h=J(a,`axisLabelFactor`,1.05,0,10),g=J(a,`curveTension`,.17,0,1),_=Math.min(s,c)/2,{axes:v,curves:y}=r,{ticks:b,graticule:T,min:E}=r.options,D=v.length,O=v.map((e,t)=>{let n=2*Math.PI*t/D-Math.PI/2;return{x:Math.cos(n),y:Math.sin(n)}}),k=r.options.max;if(k===null){k=-1/0;for(let e of y)for(let t of e.entries)t>k&&(k=t)}let A=-s/2-J(a,`marginLeft`,16,0,2e3),j=s/2+J(a,`marginRight`,16,0,2e3),M=-c/2-J(a,`marginTop`,16,0,2e3),N=c/2+J(a,`marginBottom`,16,0,2e3),P=``;for(let e=0;e<b;e++){let t=Math.min(_,_*(e+1)/b);P+=T===`circle`?`<circle r="${x(t)}"/>`:`<polygon points="${Y(O.map(e=>({x:e.x*t,y:e.y*t})))}"/>`}let F=``,I=``;O.forEach((e,t)=>{let r=_*m;F+=`M0,0L${x(e.x*r)},${x(e.y*r)}`;let i=n(v[t].label,!1,f,d,4e3),a=_*h+6,o=e.x*a+(e.x>.01?i.width/2:e.x<-.01?-i.width/2:0),s=e.y*a+(e.y>.01?i.height/2:e.y<-.01?-i.height/2:0);I+=`<g class="pele-axis-label" data-id="${S(v[t].name)}">${C(i,o,s,``)}</g>`,A=Math.min(A,o-i.width/2),j=Math.max(j,o+i.width/2),M=Math.min(M,s-i.height/2),N=Math.max(N,s+i.height/2)});let L=``;y.forEach((t,n)=>{if(t.entries.length!==D)return;let r=t.entries.map((e,t)=>{let n=ee(e,E,k,_),r=Number.isFinite(n)?n:0;return{x:O[t].x*r,y:O[t].y*r}}),i=e(n),a=` class="pele-curve" data-id="${S(t.name)}" fill="${i}" stroke="${i}"`;L+=T===`circle`?`<path${a} d="${te(r,g)}"/>`:`<polygon${a} points="${Y(r)}"/>`});let R=r.options.showLegend?y.map(e=>n(e.label,!1,f,d,4e3)):[],z=0;for(let e of R)z=Math.max(z,e.width);let B=R.length*K,V=l?-(G+8+z)/2:j+q,H=l?N+q/2:-B/2;R.length>0&&l?(A=Math.min(A,V),j=Math.max(j,-V),N=H+B):R.length>0&&(j=V+G+8+z,M=Math.min(M,-B/2),N=Math.max(N,B/2));let U=``;R.forEach((t,n)=>{let r=H+n*K+K/2,i=e(n);U+=`<g class="pele-legend-item" data-id="${S(y[n].name)}"><rect x="${x(V)}" y="${x(r-G/2)}" width="${G}" height="${G}" rx="2" fill="${i}" fill-opacity="0.4" stroke="${i}"/>`+C(t,V+G+8+t.width/2,r,``)+`</g>`});let W=n(r.title,!1,f,u,i(o),1),X=W.height>0?W.height+8:0,Z=Math.max(j-A,W.width),Q=Math.ceil(Z+2*p),$=Math.ceil(N-M+X+2*p),ne=`translate(${x(p+(Z-(j-A))/2-A)},${x(p+X-M)})`,re=C(W,Q/2,p+W.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="${ne}">`+(P?`<g class="pele-graticule" fill="none" stroke="var(--_a)">${P}</g>`:``)+(F?`<path class="pele-axes" d="${F}" fill="none" stroke="var(--_b)"/>`:``)+(L?`<g class="pele-curves" fill-opacity="0.2" stroke-width="1.5" stroke-linejoin="round">${L}</g>`:``)+(I?`<g class="pele-axis-labels" font-size="${d}">${I}</g>`:``)+(U?`<g class="pele-legend" font-size="${d}">${U}</g>`:``)+`</g>`;return{svg:t(`radar`,Q,$,u,o,r,re),width:Q,height:$,links:[]}}var Q={type:`radar`,parse:(e,t,n)=>O(W(e),n),render:X};export{Q as radar};
@@ -0,0 +1 @@
1
+ import{a as e,d as t,i as n,n as r,o as i,u as a}from"./BGW36YJW-CJMhya8S.js";import{r as o,t as s}from"./DKTLEL5E-DciMwFJ1.js";import{t as c}from"./NT5JY5WP-1lJM-aun.js";import{a as l,o as u,s as d}from"./6PIGVMFT-YXn9Hgnb.js";import{n as f,r as p,t as m}from"./S63OEDPG-CKlhpvl2.js";import{E as h,f as ee,h as g,s as _,u as v,v as y}from"./lazy-f3CuUNJZ.js";var b=11,x=class{type=`mindmap`;title;nodes=[];getType=m;baseLevel=0;open=[];addNode(e,t,n,r){let i=this.nodes.length===0;i&&(this.baseLevel=e),e-=this.baseLevel;let a=this.open,o=a.length;for(;o>0&&a[o-1].level>=e;)o--;let s=a[o-1];if(!s&&!i)throw new v(`There can be only one root. No parent could be found for ("${n}")`,`semantic`,{type:`mindmap`});let c={id:this.nodes.length,nodeId:t,level:e,descr:n,type:r,children:[],isRoot:i};s&&(c.section=s.isRoot?s.children.length%b:s.section,s.children.push(c)),a.length=o,a.push(c),this.nodes.push(c)}decorateNode(e){let t=this.nodes[this.nodes.length-1];!e||!t||(e.icon&&(t.icon=e.icon),e.class&&(t.class=e.class))}};function S(e,t){p(e,t,!1)}var te=[``,`rounded`,`rect`,`circle`,`cloud`,`bang`,`hex`],ne=`stadium`,re=36,ie=8,ae=18,oe=52,se=28,ce=6,le=12,ue=.22,C=6,w=28,de=12,fe=8,pe=10;function me(e,t,n,r){if(e.lines.length<2)return g(e,t+e.width/2,n,` class="pele-label"`,r);let o=``,s=n-e.height/2;for(let n=0;n<e.lines.length;n++)o+=g(a(e,n),t+e.widths[n]/2,s+i(e,n),` class="pele-label"`,r);return o}function he(e,t,n){return s(n,r=>T(e,t,n,r))}function T(i,a,s,p){let m=s.fontSize??16,v=s.measurer??_(s.fontFamily,s.fontFamilyMono),b=s.padding??8,x=s.icons,S=a.mindmap?.maxNodeWidth,he=typeof S==`number`&&S>0?Math.min(S,2e3):200,T=m*1.25,E=i.nodes,D=E.length,O=new Int32Array(D),k=new Int32Array(D);for(let e=0;e<D;e++)for(let t of E[e].children)O[t.id]=e,k[t.id]=k[e]+1;let ge=p&&s.maxWidth!==void 0&&s.maxWidth>0?s.maxWidth-2*b:1/0,_e=Array(D),A=Array(D),j=new Float64Array(D),M=new Float64Array(D),N=new Float64Array(D),P=new Float64Array(D),F=new Uint8Array(D);for(let e=0;e<D;e++){let t=E[e];F[e]=+(t.icon!==void 0&&y(t.icon)!==``);let r=Math.min(he,Math.max(72,ge-k[e]*w-2*ce-(F[e]?T+C:0))),i=_e[e]=n(t.descr,!0,v,m,r),a=i.width+(F[e]?T+(i.width>0?C:0):0),o=Math.max(i.height,Math.round(m*1.5)),s=te[t.type]||(e===0?ne:``);if(p&&e===0&&s!==`rect`&&s!==`rounded`&&(s=ne),A[e]=s,s===``){let n=t.children.length>0;j[e]=a+2*(n?le:ce),M[e]=o+(n?6:0),P[e]=M[e]/2}else{let t=u(s,a,o);j[e]=t.w,M[e]=t.h,N[e]=t.dy,P[e]=t.h/2}}let I=new Float64Array(D),L=new Float64Array(D),R=new Float64Array(D),ve=new Float64Array(D),ye=0,be=(e,t,n,r)=>{let i=0,a=0;for(let o=t;o<n;o++){let t=e[o].id;L[t]=i,a=e[o].children.length>0||o+1<n&&e[o+1].children.length>0?Math.max(r,ae):r,i+=I[t]+a}ye=i-a;let o=e[t].id,s=e[n-1].id;return(L[o]+R[o]+P[o]+L[s]+R[s]+P[s])/2};for(let e=D-1;e>0;e--){let t=E[e].children;if(t.length===0){I[e]=M[e];continue}let n=be(t,0,t.length,ie)-P[e],r=Math.min(0,n);I[e]=Math.max(ye,n+M[e])-r,R[e]=n-r,ve[e]=-r}let z=new Float64Array(D),B=new Float64Array(D),V=new Float64Array(D),H=new Int8Array(D),xe=new Float64Array(D);if(p){let e=0;for(let t=0;t<D;t++)t>0&&O[t]===0&&(e+=pe),z[t]=k[t]*w+j[t]/2,B[t]=e,e+=M[t]+pe}else if(D>0){let e=E[0].children,t=e.length,n=0;for(let t of e)n+=I[t.id];let r=t,i=1/0,a=0;for(let o=1;o<t;o++){a+=I[e[o-1].id];let s=Math.abs(2*a-n+(2*o-t)*se);s<i&&(i=s,r=o)}for(let n=0,i=r,a=1;n<t;n=i,i=t,a=-1){let t=be(e,n,i,se);for(let r=n;r<i;r++){let n=e[r].id;V[n]=L[n]-t,H[n]=a}}B[0]=-M[0]/2;for(let e=0;e<D;e++){e>0&&(B[e]=V[e]+R[e]);for(let t of E[e].children){let n=t.id;e>0&&(H[n]=H[e],V[n]=V[e]+ve[e]+L[n]),z[n]=z[e]+H[n]*(j[e]/2+(e>0?re:oe)+j[n]/2)}}}let U=0,W=0,G=0,K=0,q=``,J=``,Y=``,X=``,Se=e=>{Y!==``&&(q+=`<g class="pele-branch pele-section-${e??0}"><g class="pele-edges" fill="none" stroke="${X}" stroke-width="1.5">${J}</g>${Y}</g>`,J=Y=``)};for(let t=1;t<=D;t++){let n=t%D,i=E[n],a=A[n],o=_e[n],s=z[n],c=B[n];if(U=Math.min(U,s-j[n]/2),W=Math.max(W,s+j[n]/2),G=Math.min(G,c),K=Math.max(K,c+M[n]),(n===0||O[n]===0)&&Se(E[t-1].section),n>0&&p){O[n]===0&&(X=e(i.section??0));let t=O[n],r=t===0?Math.min(Math.max(de,M[0]/2),w-fe):de,o=z[t]-j[t]/2+Math.min(r,j[t]/2),u=xe[t]||B[t]+M[t],d=s-j[n]/2+(a?l(a,j[n],M[n],3):0),f=c+P[n],p=Math.max(0,Math.min(fe,d-o,f-u));xe[t]=f-p,J+=`<path class="pele-edge" d="M${h(o)},${h(u)}V${h(f-p)}Q${h(o)},${h(f)} ${h(o+p)},${h(f)}H${h(d)}"/>`}else if(n>0){O[n]===0&&(X=e(i.section??0));let t=O[n],r=H[n],o=r>0?1:3,u=z[t]+r*(j[t]/2-(A[t]?l(A[t],j[t],M[t],o):0)),d=B[t]+P[t],f=s-r*j[n]/2+(a?r*l(a,j[n],M[n],4-o):0),p=c+P[n],m=h((u+f)/2);J+=`<path class="pele-edge" d="M${h(u)},${h(d)}C${m},${h(d)} ${m},${h(p)} ${h(f)},${h(p)}"/>`}let u=!a&&i.children.length>0,m=` fill="${X}" fill-opacity="${ue}" stroke="${X}"`,_=``;a?_=n>0?d(a,j[n],M[n],m,` stroke="${X}"`):d(a,j[n],M[n],` fill="var(--_s)" stroke="var(--_b)"`,` stroke="var(--_b)"`):u&&(_=`<rect x="${h(-j[n]/2)}" y="${h(-M[n]/2)}" width="${h(j[n])}" height="${h(M[n])}" rx="${h(M[n]/2)}"${m}/>`);let v=0;i.icon&&F[n]&&(v=(T+(o.width>0?C:0))/2,_+=f(i.icon,-v-o.width/2,N[n]-T/2,T,x));let y=`<g class="pele-node pele-shape-${a||(u?`branch`:`text`)}${n>0?``:` pele-root`}${r(i.class??``)}" data-id="${ee(i.nodeId)}" transform="translate(${h(s)},${h(c+M[n]/2)})">`+_+(p&&!a?me(o,v-o.width/2,N[n],x):g(o,v,N[n],` class="pele-label"`,x))+`</g>`;n>0?Y+=y:q+=y}let Z=c(i.title,v,m,o(s)),Q=Z.height>0?Z.height+16:0,Ce=Math.max(W-U,Z.width),$=Math.ceil(Ce+2*b),we=Math.ceil(K-G+Q+2*b),Te=g(Z,$/2,b+Z.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="translate(${h(b-U+(Ce-W+U)/2)},${h(b+Q-G)})">${q}</g>`;return{svg:t(`mindmap`,$,we,m,s,{},Te),width:$,height:we,links:[]}}var E={type:`mindmap`,math:!0,parse(e,t,n){let r=new x;return r.title=n,S(e,r),r},render:he};export{E as mindmap};
@@ -0,0 +1,4 @@
1
+ import{d as e,f as t,i as n,n as r,p as i,r as a,s as o}from"./BGW36YJW-CJMhya8S.js";import{a as s,o as c,t as l}from"./DKTLEL5E-DciMwFJ1.js";import{d as u,l as d,s as f,u as p}from"./EFYWJBJK-CVywe_D5.js";import{a as m,i as h,r as g,t as _}from"./VBUCM3YD-JHGjuJC_.js";import{n as v}from"./NT5JY5WP-1lJM-aun.js";import{i as y,n as b,r as ee,t as te}from"./4LWW3ZNH-CUiYeygH.js";import{a as ne,o as x}from"./QQW2P742-BbcEkpa4.js";import{t as re}from"./7WLXJQOR-D6QVYUu9.js";import{n as ie}from"./6PIGVMFT-YXn9Hgnb.js";import{t as ae}from"./G3MDBVQH-BZmnMkFw.js";import{C as oe,D as S,E as C,F as w,P as T,d as se,f as ce,h as E,r as le,s as ue,t as D}from"./lazy-f3CuUNJZ.js";function O(e){return e===`#`||e===`+`||e===`~`||e===`-`}var k=class{id=``;memberType;visibility=``;classifier=``;parameters=``;returnType=``;constructor(e,t){this.memberType=t,(t!==`method`||!this.parseMethod(e))&&this.parseAttribute(e),this.id=this.id.startsWith(` `)?` `+this.id.trim():this.id.trim()}parseMethod(e){let t=e.length;for(let n=0;n<t;){let r=n;for(;r<t&&!T(e.charCodeAt(r));)r++;let i=r-1;for(;i>n&&e.charCodeAt(i)!==41;)i--;let a=i-1;for(;a>n&&e.charCodeAt(a)!==40;)a--;if(a>n){let r=e[n],o=O(r)&&a>n+1;o&&(this.visibility=r),this.id=e.slice(o?n+1:n,a),this.parameters=e.slice(a+1,i).trim();let s=i+1,c=``;if(s<t){let t=e[s];(t===`$`||t===`*`||t.trim()===``)&&(c=t.trim(),s++)}let l=s;for(;l<t&&!T(e.charCodeAt(l));)l++;if(this.returnType=e.slice(s,l).trim(),c===``){let e=this.returnType.slice(-1);(e===`$`||e===`*`)&&(c=e,this.returnType=this.returnType.slice(0,-1))}return this.classifier=c,!0}n=r+1}return this.memberType=`attribute`,!1}parseAttribute(e){let t=e.slice(0,1),n=e.slice(-1);O(t)&&(this.visibility=t),(n===`$`||n===`*`)&&(this.classifier=n),this.id=e.substring(this.visibility===``?0:1,this.classifier===``?e.length:e.length-1)}getDisplayDetails(){let e=this.visibility+ae(this.id);return this.memberType===`method`&&(e+=`(${ae(this.parameters.trim())})`,this.returnType&&(e+=` : `+ae(this.returnType))),{displayText:e.trim(),cssStyle:this.parseClassifier()}}parseClassifier(){return this.classifier===`*`?`font-style:italic;`:this.classifier===`$`?`text-decoration:underline;`:``}},A={LINE:0,DOTTED_LINE:1},j={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},M=`classId-`;function N(e){let t=e.indexOf(`~`);if(t<=0)return{className:e,type:``};let n=e.indexOf(`~`,t+1);return{className:e.slice(0,t),type:e.slice(t+1,n===-1?e.length:n)}}function P(e){let t=e.charCodeAt(0);return N(t>=48&&t<=57?M+e:e).className}var de=class{type=`class`;lineType=A;relationType=j;direction=`TB`;classes=/* @__PURE__ */ new Map;relations=[];notes=/* @__PURE__ */ new Map;namespaces=/* @__PURE__ */ new Map;interfaces=[];styleClasses=/* @__PURE__ */ new Map;title;accTitle;accDescr;namespaceStack=[];withCssClass=/* @__PURE__ */ new Map;addClass(e){let{className:t,type:n}=N(e);if(this.classes.has(t))return;let r={id:t,type:n,label:t,cssClasses:`default`,methods:[],members:[],annotations:[],styles:[]};this.classes.set(t,r),this.tag(r,`default`)}tag(e,t){let n=this.withCssClass.get(t);n?n.add(e):this.withCssClass.set(t,/* @__PURE__ */ new Set([e]))}ensure(e){return this.addClass(e),this.classes.get(N(e).className)}setClassLabel(e,t){this.ensure(e).label=t}addRelation(e){let{type1:t,type2:n}=e.relation;t===j.LOLLIPOP&&n===`none`?(this.addClass(e.id2),e.id1=this.addInterface(e.id1,e.id2)):n===j.LOLLIPOP&&t===`none`?(this.addClass(e.id1),e.id2=this.addInterface(e.id2,e.id1)):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=N(e.id1).className,e.id2=N(e.id2).className,e.relationTitle1=e.relationTitle1.trim(),e.relationTitle2=e.relationTitle2.trim(),this.relations.push(e)}addInterface(e,t){let n=`interface${this.interfaces.length}`;return this.interfaces.push({id:n,label:e,classId:t}),n}addAnnotation(e,t){this.ensure(e).annotations.push(t)}addMember(e,t){let n=this.ensure(e);if(typeof t!=`string`)return;let r=t.trim();if(r.startsWith(`<<`)&&r.endsWith(`>>`))n.annotations.push(r.substring(2,r.length-2));else if(r.indexOf(`)`)>0){let e=new k(r,`method`);(e.memberType===`method`?n.methods:n.members).push(e)}else r&&n.members.push(new k(r,`attribute`))}addMembers(e,t){if(Array.isArray(t)){t.reverse();for(let n of t)this.addMember(e,n)}}addNote(e,t){let n=this.notes.size,r=`note${n}`;return this.notes.set(r,{id:r,class:t,text:e,index:n}),r}cleanupLabel(e){return(e.startsWith(`:`)?e.substring(1):e).trim()}setCssClass(e,t){for(let n of e.split(`,`)){let e=this.classes.get(P(n));if(e!==void 0){e.cssClasses+=` `+t;for(let n of t.split(` `))this.tag(e,n)}}}defineClass(e,t){for(let n of e){let e=this.styleClasses.get(n);if(e===void 0&&(e={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,e)),!t)continue;for(let n of t)n.includes(`color`)&&e.textStyles.push(n.replace(`fill`,`bgFill`)),e.styles.push(n);let r=this.withCssClass.get(n);if(r===void 0)continue;let i=t.flatMap(e=>e.split(`,`));for(let e of r)for(let t of i)e.styles.push(t)}}setTooltip(e,t){if(t!==void 0)for(let n of e.split(`,`)){let e=this.classes.get(N(n).className);e&&(e.tooltip=t)}}setLink(e,t,n){let r=S(t).trim();for(let t of e.split(`,`)){let e=this.classes.get(P(t));e&&(e.link=r?x(r):void 0,e.linkTarget=typeof n==`string`?n:`_blank`)}this.setCssClass(e,`clickable`)}setClickEvent(e,t,n){for(let t of e.split(`,`)){let e=this.classes.get(N(t).className);e&&(e.haveCallback=!0)}this.setCssClass(e,`clickable`)}setDirection(e){this.direction=e}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
+ `)}addNamespace(e,t){let n=this.namespaceStack[this.namespaceStack.length-1],r=n?`${n}.${e}`:e;this.namespaceStack.push(r);let i=this.namespaces.get(r);if(i)return i.explicit=!0,t&&(i.label=t),r;let a=n||void 0,o=n?n.length+1:0;for(;;){let e=r.indexOf(`.`,o),n=e===-1,i=n?r:r.slice(0,e),s=this.namespaces.get(i);if(s===void 0){let c=r.slice(o,n?r.length:e);s={id:i,label:n&&t?t:c,classes:/* @__PURE__ */ new Map,notes:/* @__PURE__ */ new Map,children:/* @__PURE__ */ new Map,parent:a,explicit:n},this.namespaces.set(i,s)}else n&&(s.explicit=!0);let c=a?this.namespaces.get(a):void 0;if(c&&(c.children.has(i)||c.children.set(i,s),s.parent??=a),n)return r;a=i,o=e+1}}popNamespace(){this.namespaceStack.pop()}addClassesToNamespace(e,t,n){let r=this.namespaces.get(e);if(r!==void 0){for(let n of t){let{className:t}=N(n),i=this.classes.get(t);i!==void 0&&(i.parent=e,r.classes.set(t,i))}for(let t of n){let n=this.notes.get(t);n!==void 0&&(n.parent=e,r.notes.set(t,n))}}}setCssStyle(e,t){let n=this.classes.get(e);if(t&&n)for(let e of t)for(let t of e.split(`,`))n.styles.push(t)}},fe=/* @__PURE__ */ `$end.INVALID.CLASS_DIAGRAM.NEWLINE.EOF.SQS.STR.SQE.DOT.GENERICTYPE.LABEL.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.STRUCT_START.STRUCT_STOP.NAMESPACE.STYLE_SEPARATOR.ANNOTATION_START.ANNOTATION_END.CLASS.MEMBER.NOTE_FOR.NOTE.CLASSDEF.ALPHA.COMMA.direction_tb.direction_bt.direction_rl.direction_lr.AGGREGATION.EXTENSION.COMPOSITION.DEPENDENCY.LOLLIPOP.LINE.DOTTED_LINE.CALLBACK.LINK.LINK_TARGET.CLICK.CALLBACK_NAME.CALLBACK_ARGS.HREF.STYLE.CSSCLASS.COLON.BRKT.PCT.MINUS.UNICODE_TEXT.BQUOTE_STR.EDGE_STATE.EOF_IN_STRUCT.OPEN_IN_STRUCT.PLUS.EQUALS.PUNCTUATION`.split(`.`),F=[4,6,4,9,44,45,12,14,15,4,56,4,56],pe=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y],I=/[\n\r\u2028\u2029]/g;function me(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=e.indexOf(`direction`),l=-1,u=0,d=(t,a,o)=>(n.push(t),r.push(e.slice(a,o)),i.push(a),s=o,!0),f=e=>{a.push(o),o=e},p=()=>{a.length>0&&(o=a.pop())},m=t=>e.startsWith(t,s)&&!D(e.charCodeAt(s+t.length)),h=n=>{for(;n<t&&w(e.charCodeAt(n));)n++;return n},g=n=>{let r=e.indexOf(n,s);return r===-1?t:r},_=n=>{let r=s,i=-1;for(let n=e.charCodeAt(r);r<t&&w(n);n=e.charCodeAt(++r))n===10&&(i=r);i<0?s=r:(n&&p(),d(3,s,i+1))},v=t=>{switch(t){case 99:if(m(`cssClass`))return d(48,s,s+8);if(m(`callback`))return d(40,s,s+8);if(m(`click`))return d(43,s,s+5);break;case 108:if(m(`link`))return d(41,s,s+4);break;case 110:if(m(`note for`))return d(24,s,s+8);if(m(`note`))return d(25,s,s+4);break;case 60:if(e.charCodeAt(s+1)===60)return d(20,s,s+2);break;case 62:if(e.charCodeAt(s+1)===62)return d(21,s,s+2);break;case 104:if(m(`href`))return d(46,s,s+4)}return!1},y=n=>{if(v(n))return!0;let r=e.charCodeAt(s+1);switch(n){case 34:return f(1),s++,!0;case 126:return f(3),s++,!0;case 96:return f(2),s++,!0;case 95:if(m(`_self`))return d(42,s,s+5);if(m(`_blank`))return d(42,s,s+6);if(m(`_parent`))return d(42,s,s+7);if(m(`_top`))return d(42,s,s+4);break;case 60:return r===124?d(34,s,s+2):d(36,s,s+1);case 124:return r===62&&d(34,s,s+2);case 62:return d(36,s,s+1);case 42:return d(35,s,s+1);case 111:if(!D(r))return d(33,s,s+1);break;case 40:return r===41&&d(37,s,s+2);case 45:return r===45?d(38,s,s+2):d(52,s,s+1);case 46:return r===46?d(39,s,s+2):d(8,s,s+1);case 58:{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===58||t===10||t===59)break;n++}return n>s+1?d(10,s,n):r===58&&e.charCodeAt(s+2)===58&&d(19,s,s+3)}case 43:return d(58,s,s+1);case 37:return d(51,s,s+1);case 61:return d(59,s,s+1);case 91:return d(5,s,s+1);case 93:return d(7,s,s+1);case 33:case 35:case 36:case 38:case 39:case 44:case 63:case 92:case 47:return d(60,s,s+1)}if(D(n)){let t=s+1;for(;D(e.charCodeAt(t));)t++;return d(27,s,t)}return re(n)&&d(53,s,s+1)},b=()=>{if(c===-1||s<u||(c<s&&(c=e.indexOf(`direction`,s)),c===-1)||(l<s&&(I.lastIndex=s,l=I.test(e)?I.lastIndex-1:t),c>=l))return!1;for(let t=0;t<4;t++){let n=pe[t];if(n.lastIndex=s,n.test(e))return d(29+t,s,n.lastIndex)}return u=l,!1},ee=n=>{if(b())return!0;if(w(n))return _(!1),!0;switch(n){case 37:if(e.charCodeAt(s+1)===37){let n=g(`
3
+ `);for(;n<t&&(e.charCodeAt(n)===10||e.charCodeAt(n)===13);)n++;return s=n,!0}break;case 97:{let t=e.startsWith(`accTitle`,s);if(!t&&!e.startsWith(`accDescr`,s))break;let n=h(s+8),r=e.charCodeAt(n);if(r===58)return d(t?11:13,s,h(n+1)),f(t?6:7),!0;if(r===123&&!t)return s=h(n+1),f(8),!0;break}case 99:if(m(`classDiagram-v2`))return d(2,s,s+15);if(m(`classDiagram`))return d(2,s,s+12);if(e.startsWith(`call`,s)&&w(e.charCodeAt(s+4)))return s=h(s+4),f(4),!0;if(m(`classDef`))return d(26,s,s+8);if(m(`class`))return f(9),d(22,s,s+5);break;case 91:if(e.startsWith(`*]`,s+1))return d(55,s,s+3);break;case 115:if(m(`style`))return d(47,s,s+5);break;case 110:if(m(`namespace`))return f(11),d(18,s,s+9);break;case 44:return d(28,s,s+1);case 35:return d(50,s,s+1)}return y(n)||n===58&&d(49,s,s+1)};for(;;){if(s>=t){n.push(F[o]),r.push(``),i.push(t);break}let a=e.charCodeAt(s),c=!0;switch(o){case 0:c=ee(a);break;case 9:w(a)?_(!0):a===125?(p(),p(),d(17,s,s+1)):a===123?(f(10),d(16,s,s+1)):c=y(a);break;case 10:if(a===34)f(1),s++;else if(a===125)p(),d(17,s,s+1);else if(a===91&&e.startsWith(`*]`,s+1))d(55,s,s+3);else if(a===123)d(57,s,s+1);else if(a===10)s++;else{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===123||t===125||t===10)break;n++}d(23,s,n)}break;case 11:w(a)?_(!0):a===123?(f(12),d(16,s,s+1)):a===125?p():a===110&&m(`namespace`)?(f(11),d(18,s,s+9)):c=y(a);break;case 12:w(a)?_(!1):a===125?(p(),d(17,s,s+1)):a===110&&m(`namespace`)?(f(11),d(18,s,s+9)):a===91&&e.startsWith(`*]`,s+1)?d(55,s,s+3):a===99&&m(`class`)?(f(9),d(22,s,s+5)):c=y(a);break;case 1:a===34?(p(),s++):d(6,s,g(`"`));break;case 3:if(a===34)f(1),s++;else{if(v(a))break;a===126?(p(),s++):d(9,s,g(`~`))}break;case 2:if(a===34)f(1),s++;else{if(v(a))break;a===126?(f(3),s++):a===96?(p(),s++):d(54,s,g("`"))}break;case 4:if(a===40){let t=h(s+1);p(),e.charCodeAt(t)===41?s=t+1:(f(5),s++)}else d(44,s,g(`(`));break;case 5:a===41?(p(),s++):d(45,s,g(`)`));break;case 6:case 7:d(o===6?12:14,s,g(`
4
+ `)),p();break;case 8:a===125?(p(),s++):d(15,s,g(`}`))}if(!c)return n.push(1),r.push(``),i.push(s),{types:n,texts:r,starts:i}}return n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var L=61,R=new Uint8Array(L);for(let e of[53,27,52])R[e]=1;var z=new Uint8Array(L);for(let e of[27,49,50,47,51,10])z[e]=1;var B=new Uint8Array(L);B[33]=1,B[34]=2,B[35]=3,B[36]=4,B[37]=5;var he=`'UNICODE_TEXT', 'NUM', 'ALPHA', 'MINUS', 'BQUOTE_STR'`;function V(e,t){let{types:n,texts:r,starts:i}=me(e),a=0,o=t=>{let r=n[a];throw r===1?oe(`class`,e,i[a],``,!0):oe(`class`,e,i[a],`Expecting ${t}, got '${fe[r]}'`)},s=e=>(n[a]!==e&&o(`'${fe[e]}'`),r[a++]),c=()=>(R[n[a]]===0&&o(`'UNICODE_TEXT', 'NUM', 'ALPHA', 'MINUS'`),r[a++]),l=e=>{let t=``;for(;;){if(n[a]===54){t+=r[a++];break}R[n[a]]===0&&o(he),t+=r[a++];let e=n[a];if(e===8)t+=`.`,a++;else if(R[e]===0&&e!==54)break}return e&&n[a]===9&&(t+=`~`+r[a++]+`~`),t},u=()=>{a++;let e=s(6);return s(7),e},d=()=>{n[a]!==23&&o(`'STRUCT_STOP', 'MEMBER'`);let e=[];for(;n[a]===23;)e.push(r[a++]);return s(17),e.reverse()},f=()=>{a++;let e=l(!0);switch(t.addClass(e),n[a]===5&&t.setClassLabel(e,u()),n[a]){case 19:{a++;let r=c();t.setCssClass(e,r),n[a]===16&&(a++,t.addMembers(e,d()));break}case 16:a++,n[a]===17?a++:t.addMembers(e,d());break;case 20:{a++;let r=c();s(21),t.addAnnotation(e,r),n[a]===16&&(a++,n[a]===17?a++:t.addMembers(e,d()));break}}return e},p=()=>{if(n[a++]===25)return t.addNote(s(6));let e=l(!0);return t.addNote(s(6),e)},m=()=>{let e=[];for(;;){a++;let r=l(!1),i=n[a]===5?t.addNamespace(r,u()):t.addNamespace(r);s(16),n[a]===3&&a++,e.push({id:i,classes:[],notes:[]});let c=!0;for(;c;){let r=e[e.length-1],i=n[a];if(i===18)break;for(i===22?r.classes.push(f()):i===25||i===24?r.notes.push(p()):o(`'NAMESPACE', 'CLASS', 'NOTE_FOR', 'NOTE'`);;){if(n[a]===3){let e=n[a+1];if(e===18||e===22||e===25||e===24){a++;break}a++}s(17);let r=e.pop();if(t.addClassesToNamespace(r.id,r.classes,r.notes),t.popNamespace(),e.length===0){c=!1;break}}}if(e.length===0)return}},h=()=>{let e=B[n[a]];return e===0?`none`:(a++,e-1)},g=()=>{let e=l(!0),i=n[a];if(i===10){t.addMember(e,t.cleanupLabel(r[a++]));return}let s=`none`;if(i===6)s=r[a++],i=n[a];else if(B[i]===0&&i!==38&&i!==39)return;let c=h();i=n[a],i!==38&&i!==39&&o(`'AGGREGATION', 'EXTENSION', 'COMPOSITION', 'DEPENDENCY', 'LOLLIPOP', 'LINE', 'DOTTED_LINE'`),a++;let u=h(),d=n[a]===6?r[a++]:`none`,f={id1:e,id2:l(!0),relation:{type1:c,type2:u,lineType:i===38?0:1},relationTitle1:s,relationTitle2:d};n[a]===10&&(f.title=t.cleanupLabel(r[a++])),t.addRelation(f)},_=()=>{let e=[];for(;;){z[n[a]]===0&&o(`'ALPHA', 'NUM', 'COLON', 'UNIT', 'SPACE', 'BRKT', 'STYLE', 'PCT', 'LABEL'`);let t=r[a++];for(;z[n[a]]===1;)t+=r[a++];if(e.push(t),n[a]!==28)return e;a++}},v=e=>{n[a]===6&&t.setTooltip(e,r[a++])},y=e=>{let i=s(6),o=n[a]===6?r[a++]:void 0;n[a]===42?t.setLink(e,i,r[a++]):t.setLink(e,i),o!==void 0&&t.setTooltip(e,o)},b=()=>{let e=n[a];switch(e){case 53:case 27:case 52:case 54:g();return;case 18:m();return;case 22:f();return;case 23:a++;return;case 20:{a++;let e=c();s(21),t.addAnnotation(l(!0),e);return}case 40:{a++;let e=l(!0);t.setClickEvent(e,s(6)),v(e);return}case 41:a++,y(l(!0));return;case 43:{a++;let e=l(!0);if(n[a]===46){a++,y(e);return}let i=s(44);n[a]===45?t.setClickEvent(e,i,r[a++]):t.setClickEvent(e,i),v(e);return}case 47:{a++;let e=s(27);t.setCssStyle(e,_());return}case 48:{a++;let e=s(6);t.setCssClass(e,s(27));return}case 25:case 24:p();return;case 26:{a++;let e=[s(27)];for(;n[a]===28;)a++,e.push(s(27));t.defineClass(e,_());return}case 29:case 30:case 31:case 32:a++,t.setDirection(e===29?`TB`:e===30?`BT`:e===31?`RL`:`LR`);return;case 11:a++,t.setAccTitle(s(12).trim());return;case 13:a++,t.setAccDescription(s(14).trim());return;case 15:t.setAccDescription(r[a++].trim());return}o(`'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'NAMESPACE', 'ANNOTATION_START', 'CLASS', 'MEMBER', 'NOTE_FOR', 'NOTE', 'CLASSDEF', 'direction_tb', 'CALLBACK', 'LINK', 'CLICK', 'STYLE', 'CSSCLASS', 'ALPHA', 'MINUS', 'BQUOTE_STR'`)},ee=n[a]===2;for(ee&&(a++,s(3));b(),!(n[a]!==3||(a++,n[a]===4||n[a]===0)););ee&&s(4),s(0)}function ge(e,t,n,r){let i=Int32Array.from(e,(e,t)=>t),a=e=>{for(;i[e]!==e;)i[e]=i[i[e]],e=i[e];return e},o=(e,t)=>{i[a(e)]=a(t)};for(let t=0;t<e.length;t++)e[t].parent>=0&&o(t,e[t].parent);for(let e of t)o(e.src,e.dst);let s=/* @__PURE__ */ new Map,c=(e,t,n,r=0,i=0)=>{e.left=Math.min(e.left,t-r/2),e.top=Math.min(e.top,n-i/2),e.right=Math.max(e.right,t+r/2),e.bottom=Math.max(e.bottom,n+i/2)};for(let t=0;t<e.length;t++){let n=a(t),r=s.get(n);r||(r={nodes:[],edges:[],left:1/0,top:1/0,right:-1/0,bottom:-1/0},s.set(n,r));let i=e[t];r.nodes.push(i),c(r,i.x,i.y,i.w,i.h)}if(s.size<2)return;for(let e of t){let t=s.get(a(e.src));t.edges.push(e);for(let n=0;n<e.route.length;n+=3)c(t,e.route[n],e.route[n+1]);e.labelW>0&&c(t,e.labelX,e.labelY,e.labelW,e.labelH)}let l=0,u=0,d=0,f=0,p=1/0,m=-1/0,h=[];for(let e of s.values()){let t=e.right-e.left,i=e.bottom-e.top;l>0&&l+t>n&&(u+=d+r,l=0,d=0),h.push(l-e.left,u-e.top),p=Math.min(p,e.left),m=Math.max(m,e.right),f=Math.max(f,l+t),d=Math.max(d,i),l+=t+r}if(f>=m-p)return;let g=0;for(let e of s.values())_(e.nodes,e.edges,h[g++],h[g++]);return{width:f,height:u+d}}var H=[`aggregation`,`extension`,`composition`,`dependency`,`lollipop`];function _e(e){return typeof e==`number`&&H[e]||`none`}function ve(e,t=!0){let n=[],r=[],i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Map,c=n=>{if(t||n===void 0)return n;let r=[],i=n,a;for(;i;){if(s.has(i)){a=s.get(i);break}let t=e.namespaces.get(i);if(t===void 0)break;if(t.explicit){a=i;break}r.push(i),i=t.parent}for(let e of r)s.set(e,a);return a},l=e=>e===void 0?-1:i.get(e)??-1;for(let r of e.namespaces.values())!t&&!r.explicit||(i.set(r.id,n.length),n.push({id:r.id,label:t?r.label:r.id,isGroup:!0,shape:`rect`,parentId:t?r.parent:void 0,parent:-1}));for(let e of n)e.parent=l(e.parentId);let u=0;for(let t of e.classes.values()){let e=c(t.parent);a.set(t.id,n.length),n.push({id:t.id,label:t.label,isGroup:!1,shape:`classBox`,parentId:e,parent:l(e),classNode:t,colorIndex:u++})}for(let t of e.notes.values()){let e=c(t.parent),i=t.class===void 0?void 0:a.get(t.class);i!==void 0&&r.push({id:`edgeNote${t.index}`,start:t.id,end:n[i].id,source:n.length,target:i,label:void 0,arrowTypeStart:`none`,arrowTypeEnd:`none`,startLabelRight:``,endLabelLeft:``,pattern:`dotted`,classes:`relation`}),n.push({id:t.id,label:t.text,isGroup:!1,shape:`note`,parentId:e,parent:l(e)})}for(let t of e.interfaces){let e=a.get(t.classId);o.set(t.id,n.length),n.push({id:t.id,label:t.label,isGroup:!1,shape:`interface`,parentId:void 0,parent:e===void 0?-1:n[e].parent})}let d=0;for(let t of e.relations){d++;let{type1:e,type2:n}=t.relation,i=e===j.LOLLIPOP&&n===`none`?o:a,s=i===a&&n===j.LOLLIPOP&&e===`none`?o:a;r.push({id:`id_${t.id1}_${t.id2}_${d}`,start:t.id1,end:t.id2,source:i.get(t.id1)??-1,target:s.get(t.id2)??-1,label:t.title,arrowTypeStart:_e(e),arrowTypeEnd:_e(n),startLabelRight:t.relationTitle1===`none`?``:t.relationTitle1,endLabelLeft:t.relationTitle2===`none`?``:t.relationTitle2,pattern:t.relation.lineType===1?`dashed`:`solid`,classes:`relation`})}return{nodes:n,edges:r}}var U=12,W=16,G=6,K=5;function ye(e){switch(e){case`extension`:return U;case`composition`:case`aggregation`:return W;case`lollipop`:return 2*K;case`dependency`:return f(`arrow_point`)}return 0}function be(e,t,n,r,i,a){let o=-i,s=r;switch(e){case`extension`:{let e=t-r*U,a=n-i*U;return`<path class="pele-marker" d="M${C(t)},${C(n)}L${C(e+o*G)},${C(a+s*G)}L${C(e-o*G)},${C(a-s*G)}Z" stroke-linejoin="round"/>`}case`composition`:case`aggregation`:{let c=t-r*W/2,l=n-i*W/2,u=G-1;return`<path class="pele-marker" d="M${C(t)},${C(n)}L${C(c+o*u)},${C(l+s*u)}L${C(t-r*W)},${C(n-i*W)}L${C(c-o*u)},${C(l-s*u)}Z" stroke-linejoin="round"${e===`composition`?` fill="${a}"`:``}/>`}case`lollipop`:return`<circle class="pele-marker" cx="${C(t-r*K)}" cy="${C(n-i*K)}" r="${K}"/>`;case`dependency`:return p(`arrow_point`,t,n,r,i,a)}return``}var xe=40,Se=16,Ce=56,q=20,we=26,Te=12,Ee=8,De=6,Oe=10,ke=64,Ae=8,je=`var(--_l)`,Me=/* @__PURE__ */ new Set([`_self`,`_blank`,`_parent`,`_top`]);function Ne(e,t,n){let r=e[t];return typeof r==`number`&&r>0?Math.min(r,2e3):n}var Pe=[],Fe=[];function Ie(e,t,n,r){let i=S(e.getDisplayDetails().displayText).trim(),a=(e.classifier===`*`?2:0)|(r?4:0);return{text:i,width:t.width(i,n,a),classifier:e.classifier}}function Le(e,t,n){let r=r=>c(n,i=>Re(e,t,n,r,i));return s(e.direction)?l(n,r):r(!1)}function Re(s,c,l,f,p){let _=c.class??{},x=ve(s,_.hierarchicalNamespaces!==!1),re=_.hideEmptyMembersBox===!0,oe=Array.isArray(l.monospace)&&l.monospace.includes(`members`),w=e=>oe&&!/[";]font-family:/.test(e.text),T=l.fontSize??16,D=Math.round(T*.875),O=Math.round(T*.8),k=Math.round(O*1.4),A=l.measurer??ue(l.fontFamily,l.fontFamilyMono),j=l.padding??8,M=(e,t)=>{if(!e.includes(`$$`))return;let r=n(e,!1,A,t,4e3);return r.lines.some(i)?r:void 0},N=e=>e?M(e,O)?.width??A.width(S(e),O,0):0,P=f?`TB`:h(s.direction),de=/* @__PURE__ */ new Map,fe=/* @__PURE__ */ new Map,F=/* @__PURE__ */ new Map,pe=e=>{let t=de.get(e);if(t===void 0){let n=a([e]);t=n.shape===``&&n.text===``?``:e.slice(0,e.indexOf(`:`)).trim().toLowerCase(),de.set(e,t)}t!==``&&F.set(t,e)},I=e=>{F.clear();let t=fe.get(e.cssClasses);if(t===void 0){for(let t of e.cssClasses.split(` `)){let e=s.styleClasses.get(t);if(e)for(let t of e.styles)for(let e of t.split(`,`))pe(e)}t=[...F],fe.set(e.cssClasses,t)}else for(let[e,n]of t)F.set(e,n);for(let t of e.styles)pe(t);return a(F.size===0?Fe:[...F.values()])},me=new Int32Array(x.nodes.length);for(let e of x.nodes)e.parent>=0&&me[e.parent]++;let L=new Uint8Array(x.nodes.length);for(let e of x.edges){if(e.source<0||e.target<0)continue;let t=x.nodes[e.source].parent,n=x.nodes[e.target].parent;if(t!==n){for(let e=t;e>=0&&L[e]===0;e=x.nodes[e].parent)L[e]=1;for(let e=n;e>=0&&L[e]===0;e=x.nodes[e].parent)L[e]=1}}let R=[],z=[];x.nodes.forEach((e,t)=>{let r,i;if(e.isGroup){let a=n(e.label,!1,A,T,4e3);r=B(e,a,0,0,T),me[t]>0?(i=m(0,0),i.isGroup=!0,i.padX=q,i.padTop=a.height>0?a.height+16:q,i.padBottom=q,i.minW=a.width+2*q-12+(L[t]===1&&!p?Math.min(a.width+24,240):0)):(r.w=Math.max(a.width+2*q,80),r.h=a.height+2*q,i=m(r.w,r.h))}else if(e.classNode)r=he(e,e.classNode),i=m(r.w,r.h);else if(e.shape===`note`){let t=n(e.label,!0,A,D,260);r=B(e,t,Math.max(t.width+2*Te,40),t.height+2*Ee,D),i=m(r.w,r.h)}else{let t=n(e.label,!1,A,D,200);r=B(e,t,Math.max(t.width,12)+4,Math.max(t.height,12),D),i=m(r.w,r.h)}i.parent=e.parent,i.seq=t,R.push(r),z.push(i)});function B(e,t,n,r,i){return{node:e,style:a(Fe),label:t,w:n,h:r,loops:0,annotations:Fe,attributes:Pe,methods:Pe,titleH:0,attributesH:0,fontSize:i}}function he(e,t){let r=I(t),i=r.fontSize??T,a=Math.round(i*.875),o=Math.round(a*1.5),s=t.type?`&lt;`+ae(t.type).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)+`&gt;`:``,c=n(t.label+s,!1,A,i,4e3,1|(r.italic?2:0)),l=t.annotations.length>0?t.annotations.map(e=>M(`«${e.trim()}»`,O)??`«${S(e).trim()}»`):Fe,u=t.members.length>0?t.members.map(e=>Ie(e,A,a,w(r))):Pe,d=t.methods.length>0?t.methods.map(e=>Ie(e,A,a,w(r))):Pe,f=c.width,p=0;for(let e of l)f=Math.max(f,typeof e==`string`?A.width(e,O,0):e.width),p+=typeof e==`string`?k:Math.max(k,e.height);for(let e of u)f=Math.max(f,e.width);for(let e of d)f=Math.max(f,e.width);let m=!(re&&u.length===0&&d.length===0),h=e=>m?e>0?2*De+e*o:Oe:0,g=2*Ee+p+Math.max(c.height,Math.round(i*1.5)),_=h(u.length);return{node:e,style:r,label:c,w:Math.max(f+2*Te,ke),h:g+_+h(d.length),loops:0,annotations:l,attributes:u,methods:d,titleH:g,attributesH:_,fontSize:i}}let V=[],H=[],_e=[],U=[],W=[],G=new Float64Array(R.length*4),K=(e,t,n)=>{G[e*4+t]++,n>G[e*4+t+1]&&(G[e*4+t+1]=n)};for(let e of x.edges){if(e.source<0||e.target<0)continue;let t=n(e.label,!0,A,D,200),r=N(e.startLabelRight),i=N(e.endLabelLeft);e.source===e.target?(R[e.source].loops++,z[e.source].w+=2*(we+(t.width>0?t.width+12:0))):(K(e.source,0,r),K(e.target,2,i)),U.push(r),W.push(i),H.push(e),_e.push(t),V.push({src:e.source,dst:e.target,minlen:1,labelW:t.width>0?t.width+12:0,labelH:t.height>0?t.height+4:0,route:[],labelX:0,labelY:0})}if(P===`TB`||P===`BT`)for(let e=0;e<R.length;e++){if(!R[e].node.classNode)continue;let t=0;for(let n=0;n<4;n+=2){let r=G[e*4+n],i=G[e*4+n+1];r>1&&(t=Math.max(t,(r-1)*(i>0?i+24:14)+24))}t=Math.min(t,480),t>R[e].w&&(z[e].w+=t-R[e].w,R[e].w=t)}let Le=!1;for(let e=0;e<H.length&&!Le;e++)Le=U[e]>0||W[e]>0;let Re=0;if(P===`TB`||P===`BT`){let e=e=>e?Math.max(k,M(e,O)?.height??0):0;for(let t of H)Re=Math.max(Re,e(t.startLabelRight)+e(t.endLabelLeft)-2*k)}let ze=g(z,V,P,{nodeSep:Ne(_,`nodeSpacing`,xe),edgeSep:Se,rankSep:Ne(_,`rankSpacing`,Le?Ce+16:Ce)+Re,portSep:20,apart:!0}),Be=/* @__PURE__ */ new Map,Ve=[],He=(e,t,n,r,i)=>{let a=e.route,o=z[n],s=ie(a,t,o);if(s<0)return;let c=(o.w-R[n].w)/2;s===1?a[t]-=c:s===3&&(a[t]+=c);let l=s&1,u=a[(t===0?3:t-3)+l],d=u-a[t+l],f={route:a,at:t,toward:u,order:i,room:r,side:s,after:l?d>0:d>=0},p=n*4+s,m=Be.get(p);return m?m.push(f):Be.set(p,[f]),f},Ue=[],We=[];for(let e=0;e<V.length;e++){let t=V[e],n=t.src!==t.dst&&t.route.length>=6;Ue.push(n?He(t,0,t.src,U[e],e):void 0),We.push(n?He(t,t.route.length-3,t.dst,W[e],e):void 0)}let Ge=(e,t,n)=>{for(let r=z[e].parent,i=0;r>=0&&i<1e4;r=z[r].parent,i++){let e=z[r],i=Math.abs(t-e.x),a=Math.abs(n-e.y);if(Math.abs(a-e.h/2)<.5&&i<=e.w/2+.5||Math.abs(i-e.w/2)<.5&&a<=e.h/2+.5)return!0}return!1},Ke=[];for(let[e,t]of Be){if(t.length<2)continue;let n=e>>2,r=e&1,i=r?R[n].h:R[n].w;t.sort((e,t)=>e.toward-t.toward||e.order-t.order);let a=0;for(let e=0;e+1<t.length;e++){let n=t[e],i=t[e+1],o=r?20:24;n.room>0&&n.after&&(o+=r?k+6:n.room),i.room>0&&!i.after&&(o+=r?k+6:i.room),Ke[e]=o,a+=o}let o=Math.min(1,(i-24)/a);if(o<=0)continue;let s=(r?z[n].y:z[n].x)-a*o/2;for(let e=0;e<t.length;e++){let{route:i,at:a}=t[e],c=a===0?3:-3,l=a+c,u=-1;for(let e=l;e>=0&&e<i.length&&Math.abs(i[e+r]-i[l+r])<.5;e+=c)if(Ge(n,i[e],i[e+1])){u=e;break}if(u>=0&&Math.abs(i[l+r]-s)<=24)for(let e=l;e!==u+c;e+=c)i[e+r]=s;i[a+r]=s,s+=Ke[e]*o}}let qe=(e,t,n,r)=>{if(t===void 0||n<=0)return;let i=t.side&1,a=r?0:e.length-3,o=a+1-i,s=Math.abs(e[(r?3:a-3)+1-i]-e[o]),c=Math.min(i?n+10:k+6,s*.35);if(c<4)return;let l=[e[a],e[a+1],e[a+2]];l[1-i]+=(t.side===0||t.side===3?-1:1)*c,e.splice(r?3:a,0,l[0],l[1],l[2])};for(let e=0;e<V.length;e++)qe(V[e].route,Ue[e],U[e],!0),qe(V[e].route,We[e],W[e],!1);let J=0,Y=0,X=ze.width,Je=ze.height,Ye=(e,t,n,r,i,a,o)=>{if(!t)return;let s=M(t,O),c=s?Math.max(k,s.height):k,l=r,u=i;a&1?(l+=(a===3?-1:1)*(5+n/2),u+=(o?1:-1)*(7+c/2)):(l+=(o?1:-1)*(9+n/2),u+=(a===0?-1:1)*(3+c/2)),Ve.push({text:S(t),math:s,x:l,y:u,w:n,h:c,parent:e}),J=Math.min(J,l-n/2),X=Math.max(X,l+n/2),Y=Math.min(Y,u-c/2),Je=Math.max(Je,u+c/2)},Xe=/* @__PURE__ */ new Map,Ze=new Int32Array(V.length);for(let e=0;e<V.length;e++){let t=V[e],n=H[e],r=t.route;if(t.src===t.dst){let r=Xe.get(t.src)??0;Xe.set(t.src,r+1),Ze[e]=r;let i=z[t.src],a=R[t.src],o=i.x+a.w/2,s=Math.min(a.h/2-4,8+r*6);Ye(t.src,n.startLabelRight,U[e],o,i.y-s,1,!1),Ye(t.dst,n.endLabelLeft,W[e],o,i.y+s,1,!0),t.labelX=i.x+a.w/2+we+r*8+4+t.labelW/2,t.labelY=i.y}else if(r.length>=6){let i=r.length-3,a=Ue[e],o=We[e];Ye(t.src,n.startLabelRight,U[e],r[0],r[1],a?a.side:2,!a||a.after),Ye(t.dst,n.endLabelLeft,W[e],r[i],r[i+1],o?o.side:0,!o||o.after)}}let Qe=l.maxWidth;if(Qe!==void 0&&Qe>0&&X-J+2*j>Qe){let e=Ve.map(e=>({...m(e.w,e.h,e.parent),x:e.x,y:e.y})),t=ge(z.concat(e),V,Math.max(1,Qe-2*j),Ne(_,`nodeSpacing`,xe));t&&(Ve.forEach((t,n)=>{t.x=e[n].x,t.y=e[n].y}),J=Y=0,X=t.width,Je=t.height)}let Z=j-J,Q=j-Y,$e=Math.ceil(X-J+2*j),et=Math.ceil(Je-Y+2*j),tt=[],nt=/* @__PURE__ */ new Map;if(x.nodes.length>0&&x.nodes[0].isGroup)for(let e of V)ee(nt,e.route);let rt=``,it=``,at=``;for(let e=0;e<R.length;e++){let n=R[e],r=z[e],i=n.node,a=r.x+Z,o=r.y+Q,s=ce(i.id),c=r.isGroup?r.w:n.w,u=r.isGroup?r.h:n.h;if(i.isGroup){let i=r.isGroup?b(r,n.label.width,nt,q):r.x,l=o-u/2+8+n.label.height/2,d=` class="pele-cluster-label" fill="var(--_m)"`,f=r.isGroup&&y(r,n.label.width,i,nt);f&&(it+=te(n.label,i+Z,l,d,s,x.nodes,e)),rt+=`<g class="pele-cluster pele-namespace" data-id="${s}"><rect x="${C(a-c/2)}" y="${C(o-u/2)}" width="${C(c)}" height="${C(u)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${t}/>`+(f?``:E(n.label,i+Z,l,d))+`</g>`;continue}let d=` transform="translate(${C(a)},${C(o)})"`;if(i.classNode)at+=ot(n,i.classNode,s,d);else if(i.shape===`note`){let e=c/2,t=-u/2;at+=`<g class="pele-node pele-note" data-id="${s}"${d}><path d="M${C(-e)},${C(t)}H${C(e-Ae)}L${C(e)},${C(t+Ae)}V${C(-t)}H${C(-e)}Z" fill="var(--_a)" stroke="var(--_b)" stroke-linejoin="round"/><path d="M${C(e-Ae)},${C(t)}V${C(t+Ae)}H${C(e)}" fill="none" stroke="var(--_b)" stroke-linejoin="round"/>`+E(n.label,0,0,` class="pele-label" font-size="${D}"`,l.icons)+`</g>`}else at+=`<g class="pele-node pele-interface" data-id="${s}"${d}>`+E(n.label,0,0,` class="pele-label" font-size="${D}"`,l.icons)+`</g>`}function ot(e,t,n,i){let{w:a,h:s,style:c}=e,u=-a/2,d=-s/2,f=Math.round(e.fontSize*.875),p=Math.round(f*1.5),m=`<rect x="${C(u)}" y="${C(d)}" width="${C(a)}" height="${C(s)}" fill="var(--_s)" stroke="var(--_b)"${o(c.shape)}/>`,h=le(c),g=d+e.titleH,_=g+e.attributesH;if(s>e.titleH){let e=c.stroke?` style="stroke:${se(c.stroke)}"`:``;m+=`<path class="pele-divider" d="M${C(u)},${C(g)}H${C(-u)}M${C(u)},${C(_)}H${C(-u)}" fill="none" stroke="var(--_b)"${e}/>`}let v=d+Ee;for(let t of e.annotations)if(typeof t==`string`)m+=`<text class="pele-annotation" x="0" y="${C(v+k/2+O*.35)}" text-anchor="middle" font-size="${O}"${h||` fill="var(--_m)"`}>${se(t)}</text>`,v+=k;else{let e=Math.max(k,t.height);m+=E(t,0,v+e/2,` class="pele-annotation" font-size="${O}"${h||` fill="var(--_m)"`}`,l.icons),v+=e}let y=e.fontSize===T?``:` font-size="${C(e.fontSize)}"`;m+=E(e.label,0,(v+g-Ee)/2,` class="pele-label"${y} font-weight="var(--_hw)"${h}${c.text}`,l.icons);let b=(e,t,n)=>{let r=``,i=n+De+p/2+f*.35;for(let n of e){let e=n.classifier===`$`?` pele-static"${c.text?c.text.slice(0,-1)+`text-decoration:underline"`:` style="text-decoration:underline"`}`:n.classifier===`*`?` pele-abstract" font-style="italic"${c.text}`:`"${c.text}`;r+=`<text class="pele-member pele-${t}${e} x="${C(u+Te)}" y="${C(i)}">${se(n.text)}</text>`,i+=p}return r};return(e.attributes.length>0||e.methods.length>0)&&(m+=`<g class="pele-members" font-size="${f}"${h}${w(c)?` font-family="var(--_fm)"`:``}>${b(e.attributes,`attribute`,g)}${b(e.methods,`method`,_)}</g>`),t.tooltip&&(m=`<title>${ce(t.tooltip)}</title>`+m),t.link&&(m=ne(m,t.link,t.id,tt,l,t.linkTarget&&Me.has(t.linkTarget)?` target="${t.linkTarget}"`:``)),`<g class="pele-node pele-class${r(t.cssClasses.replace(/^default\s?/,``))}" data-id="${n}"${i}>${m}</g>`}let st=``,ct=``;for(let e=0;e<V.length;e++){let t=V[e],n=H[e],r=_e[e],i=n.arrowTypeStart,a=n.arrowTypeEnd,o=ye(i),s=ye(a),c;if(t.src===t.dst){let n=z[t.src],r=R[t.src],i=Ze[e],a=n.x+Z+r.w/2,l=n.y+Q,u=Math.min(r.h/2-4,8+i*6),d=we+i*8;c={d:`M${C(a+o)},${C(l-u)}C${C(a+d+o)},${C(l-u)} ${C(a+d+s)},${C(l+u)} ${C(a+s)},${C(l+u)}`,sx:a,sy:l-u,sdx:-1,sdy:0,ex:a,ey:l+u,edx:-1,edy:0}}else{let e=t.route;for(let t=0;t<e.length;t+=3)e[t]+=Z,e[t+1]+=Q;c=u(e,void 0,o,s)}let f=n.pattern===`dashed`?` stroke-dasharray="6 4"`:n.pattern===`dotted`?` stroke-dasharray="2 4"`:``;if(st+=`<g class="pele-edge${n.pattern===`dotted`?` pele-note-edge`:` pele-relation`}" data-id="${ce(n.id)}"><path d="${c.d}"${f}/>`+be(i,c.sx,c.sy,c.sdx,c.sdy,je)+be(a,c.ex,c.ey,c.edx,c.edy,je)+`</g>`,r.width>0){let e=t.labelX+Z,i=t.labelY+Q;ct+=d(n.id,r,e,i,``,l.icons)}}let lt=``;for(let e of Ve)lt+=e.math?E(e.math,e.x+Z,e.y+Q,` class="pele-cardinality"`,l.icons):`<text class="pele-cardinality" x="${C(e.x+Z)}" y="${C(e.y+Q+O*.35)}" text-anchor="middle">${se(e.text)}</text>`;let $=v(s.title,A,T,j,$e,et,(rt?`<g class="pele-clusters">${rt}</g>`:``)+(st?`<g class="pele-edges" fill="none" stroke="${je}" stroke-linecap="round">${st}</g>`:``)+(it?`<g class="pele-cluster-titles">${it}</g>`:``)+(ct?`<g class="pele-edge-labels" font-size="${D}">${ct}</g>`:``)+(lt?`<g class="pele-cardinalities" font-size="${O}" fill="var(--_m)">${lt}</g>`:``)+`<g class="pele-nodes">${at}</g>`);return{svg:e(`class`,$.width,$.height,T,l,s,$.content),width:$.width,height:$.height,links:tt}}var ze={type:`class`,math:!0,parse(e,t,n){let r=new de;return n&&(r.title=n),V(e,r),r},render:Le};export{ze as classDiagram};