@bkm016/basalt 0.1.11 → 0.1.12

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 (207) hide show
  1. package/{chunk-755sy11p.js → chunk-01nve4qy.js} +1 -1
  2. package/{chunk-jtsve11b.js → chunk-0fc9apfn.js} +9 -9
  3. package/{chunk-d5j74pcp.js → chunk-1h34mzh7.js} +4 -4
  4. package/{chunk-fgwda4m0.js → chunk-1xfv4bd7.js} +1 -1
  5. package/{chunk-mbpb5c7w.js → chunk-2fyjph3f.js} +1 -1
  6. package/{chunk-13gvs0ax.js → chunk-2kxnw7vs.js} +1 -1
  7. package/{chunk-95964592.js → chunk-37zystxb.js} +11 -11
  8. package/{chunk-h1kb8b49.js → chunk-3pf1d62g.js} +2 -2
  9. package/{chunk-29qrxygd.js → chunk-5wnmbc1b.js} +2 -2
  10. package/{chunk-c71173py.js → chunk-6mges89p.js} +4 -4
  11. package/{chunk-d0a1jxk5.js → chunk-6sz5q3df.js} +2 -2
  12. package/chunk-7er5pz7s.js +479 -0
  13. package/{chunk-gbjn6d81.js → chunk-7g5smgjj.js} +1 -1
  14. package/chunk-7m3jagqn.js +2 -0
  15. package/{chunk-wnzvnskb.js → chunk-85v69h91.js} +2 -2
  16. package/{chunk-38g3gctw.js → chunk-9c4gdg1q.js} +2 -2
  17. package/{chunk-en218k4y.js → chunk-cbgpymt4.js} +1 -1
  18. package/{chunk-a1rb1a48.js → chunk-cdw03j4t.js} +2 -2
  19. package/chunk-ch1r3ted.js +2 -0
  20. package/{chunk-dfh9m9n7.js → chunk-db7ws33a.js} +2 -2
  21. package/{chunk-1n7dat03.js → chunk-ejjem0tc.js} +3 -3
  22. package/{chunk-c4qr1f41.js → chunk-eq4wqxzt.js} +2 -2
  23. package/{chunk-zc9ar0r4.js → chunk-eyrtbbdd.js} +1 -1
  24. package/{chunk-r4ttdkrz.js → chunk-fhxy6y34.js} +2 -2
  25. package/{chunk-zyyzk5ha.js → chunk-fy82qxa1.js} +1 -1
  26. package/{chunk-xtq1xpq0.js → chunk-hc300148.js} +1 -1
  27. package/{chunk-vtqr7dm8.js → chunk-j64dc767.js} +2 -2
  28. package/{chunk-msm9hmk9.js → chunk-jpnf71q7.js} +2 -2
  29. package/{chunk-q9f4xb0w.js → chunk-kpe7pnhy.js} +4 -4
  30. package/{chunk-a98wma9j.js → chunk-ksk49hv0.js} +1 -1
  31. package/{chunk-bdjr0kfr.js → chunk-m4bg1apa.js} +5 -5
  32. package/{chunk-dq01v5eq.js → chunk-nhm9z3d8.js} +1 -1
  33. package/{chunk-30rjf7my.js → chunk-ntks40jd.js} +2 -2
  34. package/{chunk-a1352w87.js → chunk-nw1xpt3s.js} +1 -1
  35. package/{chunk-xh444pfn.js → chunk-p2pmdbt2.js} +8 -8
  36. package/{chunk-hb4f2v34.js → chunk-qfcr5g35.js} +2 -2
  37. package/{chunk-n2jcx65v.js → chunk-qs8zzg50.js} +2 -2
  38. package/{chunk-qaeyhe65.js → chunk-r4gm8ngh.js} +1 -1
  39. package/{chunk-pz2afna8.js → chunk-rks90mh1.js} +1 -1
  40. package/{chunk-asyr3gnq.js → chunk-rwks9zaw.js} +2 -2
  41. package/{chunk-v3ee9z3f.js → chunk-t7te60m7.js} +1 -1
  42. package/{chunk-4dw43syb.js → chunk-tv52xajf.js} +1 -1
  43. package/{chunk-c0zfefq8.js → chunk-v7wcchy2.js} +1 -1
  44. package/{chunk-tevejprz.js → chunk-vjne04dp.js} +3 -3
  45. package/{chunk-ax04trym.js → chunk-w0rr66z7.js} +1 -1
  46. package/{chunk-gkf5jwvj.js → chunk-w6f2r052.js} +1 -1
  47. package/{chunk-jymx3a77.js → chunk-wqqjzsjt.js} +310 -278
  48. package/{chunk-c6q04xrd.js → chunk-xef4642x.js} +1 -1
  49. package/compiled.js +7 -7
  50. package/package.json +1 -1
  51. package/ui-test-worker.js +2 -2
  52. package/web/{chunk-jhpg2kcf.js → chunk-04drx71p.js} +1 -1
  53. package/web/chunk-0rdgt4jb.css +1 -0
  54. package/web/{chunk-cbwvfedy.js → chunk-19zd0tye.js} +3 -3
  55. package/web/chunk-1m0kp0g3.js +8 -0
  56. package/web/{chunk-j4gvtszc.js → chunk-1zwc09e8.js} +2 -2
  57. package/web/{chunk-a3pye9ag.js → chunk-2cyzaqjy.js} +3 -3
  58. package/web/{chunk-8csw0mvf.js → chunk-2jfesv7m.js} +2 -2
  59. package/web/chunk-3j2tcphs.js +1 -0
  60. package/web/chunk-3k9h7a73.js +1142 -0
  61. package/web/chunk-3m1bb2fw.js +1 -0
  62. package/web/{chunk-4rwwtfnd.js → chunk-3n9ypydh.js} +2 -2
  63. package/web/{chunk-90fkdzx3.js → chunk-3psgr0q8.js} +13 -13
  64. package/web/{chunk-nafe18y9.js → chunk-3qxxrwsp.js} +6 -6
  65. package/web/{chunk-hjyev38w.js → chunk-3rkkp6ed.js} +4 -4
  66. package/web/{chunk-v3dn9bfw.js → chunk-4f6a8dsk.js} +1 -1
  67. package/web/chunk-55nvm2mj.js +1 -0
  68. package/web/chunk-5dkqfnh7.js +2 -0
  69. package/web/{chunk-96xhmmqz.js → chunk-5g8md2wg.js} +4 -4
  70. package/web/{chunk-mpdeqzc9.js → chunk-5np514v5.js} +8 -8
  71. package/web/{chunk-1zfxaafq.js → chunk-60mym60n.js} +1 -1
  72. package/web/{chunk-nhx8pw7p.js → chunk-6f2sz84q.js} +2 -2
  73. package/web/{chunk-q8v5j963.js → chunk-7adsmqv6.js} +2 -2
  74. package/web/{chunk-27812gqr.js → chunk-7ksg3ccg.js} +3 -3
  75. package/web/chunk-7ky5nrrr.js +1 -0
  76. package/web/{chunk-pq56b3mq.js → chunk-7tkgbbf9.js} +2 -2
  77. package/web/{chunk-tpdcrrf1.js → chunk-7v85yvb2.js} +1 -1
  78. package/web/{chunk-dk0fnj87.js → chunk-7vgh17es.js} +1 -1
  79. package/web/{chunk-rqympya7.js → chunk-80z8s8zb.js} +1 -1
  80. package/web/{chunk-36dc7tcg.js → chunk-81s15c2e.js} +2 -2
  81. package/web/{chunk-mykbcvqz.js → chunk-8539865x.js} +1 -1
  82. package/web/{chunk-wbwets5x.js → chunk-8cnjd0f2.js} +17 -17
  83. package/web/{chunk-48479gnx.js → chunk-8sdjgv3k.js} +1 -1
  84. package/web/chunk-9bxtzwtc.js +1 -0
  85. package/web/{chunk-drchr3yn.js → chunk-aa46mrgh.js} +1 -1
  86. package/web/{chunk-8151c970.js → chunk-act3rr85.js} +1 -1
  87. package/web/{chunk-94denx9h.js → chunk-aebrw6cv.js} +3 -3
  88. package/web/{chunk-3a57m7xm.js → chunk-aeymdtm1.js} +2 -2
  89. package/web/{chunk-3020mmp1.js → chunk-ar6jnhm5.js} +1 -1
  90. package/web/{chunk-e763h2px.js → chunk-b5zf1hs3.js} +66 -66
  91. package/web/{chunk-5ahx98zj.js → chunk-b99k8q22.js} +8 -8
  92. package/web/chunk-bcjgzwef.js +1 -0
  93. package/web/{chunk-f79ajymt.js → chunk-bra33pt0.js} +2 -2
  94. package/web/{chunk-57pyz29y.js → chunk-bygwbpvq.js} +2 -2
  95. package/web/{chunk-3ftb27f3.js → chunk-c3fty2c2.js} +5 -5
  96. package/web/{chunk-d3f763n7.js → chunk-cxpnj495.js} +1 -1
  97. package/web/{chunk-8z7texmv.js → chunk-d1btrqmw.js} +1 -1
  98. package/web/{chunk-jqqbkdtw.js → chunk-d57fm7k0.js} +2 -2
  99. package/web/{chunk-1t38sgrk.js → chunk-d73zkc4q.js} +4 -4
  100. package/web/chunk-d94t9z70.js +1 -0
  101. package/web/{chunk-2ds0a2z1.js → chunk-dndd757x.js} +3 -3
  102. package/web/{chunk-d4519smc.js → chunk-e94pd9rr.js} +10 -10
  103. package/web/{chunk-qykt7avq.js → chunk-enwfd8d5.js} +2 -2
  104. package/web/chunk-fr4fft89.js +1 -0
  105. package/web/{chunk-g0rtcedn.js → chunk-g488hxx0.js} +3 -3
  106. package/web/{chunk-b6sqwmq7.js → chunk-g4zm0crw.js} +1 -1
  107. package/web/{chunk-086dshck.js → chunk-gckmcef6.js} +1 -1
  108. package/web/{chunk-0hvxb5d5.js → chunk-gkmaryr4.js} +1 -1
  109. package/web/chunk-gnb09wmx.js +1 -0
  110. package/web/chunk-gx340asc.js +1 -0
  111. package/web/chunk-h0c42zy3.js +1 -0
  112. package/web/chunk-h24ybwp6.js +1 -0
  113. package/web/{chunk-m24yb8md.js → chunk-h754ntg7.js} +1 -1
  114. package/web/{chunk-3b4wqmnh.js → chunk-hn8m1vsg.js} +7 -7
  115. package/web/{chunk-2f2agfpj.js → chunk-hqxc9m07.js} +7 -7
  116. package/web/chunk-hrgqc1vr.js +1 -0
  117. package/web/{chunk-793m5jjh.js → chunk-hva7xyne.js} +2 -2
  118. package/web/{chunk-yrh86m0n.js → chunk-hxbfkdjd.js} +1 -1
  119. package/web/chunk-j9c8fa82.js +1 -0
  120. package/web/{chunk-4gc663j0.js → chunk-jeafmjsm.js} +1 -1
  121. package/web/chunk-jyf7a7yp.js +2 -0
  122. package/web/chunk-jz5mmp64.js +1 -0
  123. package/web/{chunk-s0xy00v5.js → chunk-k0cg4n2k.js} +2 -2
  124. package/web/{chunk-g31dbnzm.js → chunk-k4dnjf8n.js} +4 -4
  125. package/web/{chunk-59nk506k.js → chunk-kerfb21g.js} +1 -1
  126. package/web/chunk-m0136xav.js +1 -0
  127. package/web/chunk-m6vyvgm5.js +1 -0
  128. package/web/{chunk-0y971zgq.js → chunk-mxkbmgcv.js} +2 -2
  129. package/web/{chunk-0fy590s0.js → chunk-my0ec787.js} +1 -1
  130. package/web/chunk-mzzaet63.js +1 -0
  131. package/web/{chunk-xjc5fmcr.js → chunk-n9v14vyd.js} +18 -18
  132. package/web/{chunk-cpshsp24.js → chunk-ncfzmf2g.js} +1 -1
  133. package/web/chunk-ny436sqg.js +1 -0
  134. package/web/chunk-ph75hddv.js +1 -0
  135. package/web/chunk-phdfyqaa.js +1 -0
  136. package/web/chunk-phxa5krt.js +1 -0
  137. package/web/{chunk-b3j07x0n.js → chunk-pjpre6de.js} +2 -2
  138. package/web/chunk-q1zxvjhs.js +2 -0
  139. package/web/{chunk-n33753da.js → chunk-qdd3bx8q.js} +1 -1
  140. package/web/{chunk-ydtrc1ay.js → chunk-qh62nkem.js} +2 -2
  141. package/web/{chunk-05mvzx00.js → chunk-qp3tjhaq.js} +1 -1
  142. package/web/chunk-r4zbw4zj.js +2 -0
  143. package/web/{chunk-g4as4zzd.js → chunk-r6kk4vp1.js} +4 -4
  144. package/web/{chunk-ppjw1mps.js → chunk-rdr6wt22.js} +4 -4
  145. package/web/chunk-ry4ycah9.js +1 -0
  146. package/web/{chunk-47mbbmst.js → chunk-sdr5wa4z.js} +3 -3
  147. package/web/chunk-sqm16fat.js +1 -0
  148. package/web/{chunk-zv73g4qq.js → chunk-td83xf12.js} +2 -2
  149. package/web/chunk-tj1fn8v2.js +1 -0
  150. package/web/{chunk-q65zxczs.js → chunk-v0wtk059.js} +4 -4
  151. package/web/{chunk-enryqmj7.js → chunk-v1hfbjz9.js} +4 -4
  152. package/web/chunk-v1qt3gq4.js +1 -0
  153. package/web/{chunk-2tsxj613.js → chunk-v34mr9ky.js} +9 -9
  154. package/web/{chunk-tgkdyxbn.js → chunk-v854w9yn.js} +1 -1
  155. package/web/{chunk-dtrh40vr.js → chunk-ve56gxq0.js} +1 -1
  156. package/web/chunk-w573ym17.js +1 -0
  157. package/web/{chunk-9kkzmss7.js → chunk-w9gnqkez.js} +3 -3
  158. package/web/{chunk-kfbgvh0c.js → chunk-wqzbxzk3.js} +1 -1
  159. package/web/{chunk-hm8thq7c.js → chunk-wvrs986a.js} +2 -2
  160. package/web/chunk-x0mjydtp.js +1 -0
  161. package/web/{chunk-7dycbjxn.js → chunk-xpecre7w.js} +4 -4
  162. package/web/{chunk-zdhyq3ch.js → chunk-xvfeq8v2.js} +7 -7
  163. package/web/{chunk-2weaa3gn.js → chunk-y2rzeb4v.js} +2 -2
  164. package/web/{chunk-tggja45g.js → chunk-yf8ykk4v.js} +4 -4
  165. package/web/{chunk-gyhr27dm.js → chunk-yjs6jmdb.js} +1 -1
  166. package/web/{chunk-dsbyfvwz.js → chunk-ym7kv2hs.js} +1 -1
  167. package/web/chunk-zhybh04p.js +1 -0
  168. package/web/index.html +1 -1
  169. package/worker.js +1 -1
  170. package/chunk-7zkswxvk.js +0 -2
  171. package/chunk-m1eam0s5.js +0 -2
  172. package/chunk-zq32mwxj.js +0 -479
  173. package/web/chunk-32zmk3f5.js +0 -1
  174. package/web/chunk-3d3wnh8a.js +0 -2
  175. package/web/chunk-6cjm2yr7.js +0 -1
  176. package/web/chunk-7ycxz39p.js +0 -1
  177. package/web/chunk-9wr33d0t.js +0 -1
  178. package/web/chunk-a4tdrxdh.js +0 -1
  179. package/web/chunk-a9fvsyc1.js +0 -1
  180. package/web/chunk-apvbvg4d.js +0 -1
  181. package/web/chunk-bkxcc7v5.js +0 -1
  182. package/web/chunk-bve354k7.js +0 -1
  183. package/web/chunk-cwpxakby.js +0 -1
  184. package/web/chunk-jd7npyv9.js +0 -8
  185. package/web/chunk-jzz5htxp.js +0 -1
  186. package/web/chunk-ka3q31t1.js +0 -1
  187. package/web/chunk-kahab58k.js +0 -1139
  188. package/web/chunk-krgvx75q.js +0 -1
  189. package/web/chunk-m7k4wr3k.js +0 -1
  190. package/web/chunk-mdj3r75b.js +0 -1
  191. package/web/chunk-nbcpbqq4.js +0 -1
  192. package/web/chunk-p1yc8hwn.js +0 -2
  193. package/web/chunk-p29brxyt.js +0 -1
  194. package/web/chunk-p8fbes0t.js +0 -1
  195. package/web/chunk-r6q1301x.js +0 -1
  196. package/web/chunk-r8kghrkb.js +0 -1
  197. package/web/chunk-rhxn7mxg.js +0 -1
  198. package/web/chunk-svqshmpg.js +0 -1
  199. package/web/chunk-swzxq7r3.css +0 -1
  200. package/web/chunk-t18tn37m.js +0 -2
  201. package/web/chunk-tbsaseer.js +0 -1
  202. package/web/chunk-v0zfnvc1.js +0 -1
  203. package/web/chunk-vj31fs16.js +0 -1
  204. package/web/chunk-vr79r8vh.js +0 -1
  205. package/web/chunk-wb9tax0m.js +0 -1
  206. package/web/chunk-x9eghjjd.js +0 -1
  207. package/web/chunk-z3ky5ews.js +0 -2
@@ -1,4 +1,4 @@
1
- import{t,a,l,I,St,_o,bt,Qt,Et,Gn,Jt}from"./chunk-e763h2px.js";import{xe,Oe,Qe,Ee,pt,qt,H,me,st,Vt,lt,sr,ma,fa,ha,hn,kt,ga,gn,$e,yn,Ot,Ct,vn,Wt,bn,ya,va,lr,_e,ba,xn,Gt,_n,cr,ur,Ht,xa,dr,_a,zr,mt,pr,wa,ka,Ca,He,mr,fr,wn,Sa,hr,h,Je,ft,we,Yt,re}from"./chunk-4rwwtfnd.js";import{ua,da,W,On,io,pa,or}from"./chunk-36dc7tcg.js";import{Rt}from"./chunk-kahab58k.js";var yr={};Rt(yr,{default:()=>rr});var lo=/\s/;function mo(r){var e=r.length;while(e--&&lo.test(r.charAt(e)));return e}var te=mo;var ho=/^\s+/;function go(r){return r?r.slice(0,te(r)+1).replace(ho,""):r}var ne=go;var oe=NaN,vo=/^[-+]0x[0-9a-f]+$/i,bo=/^0b[01]+$/i,yo=/^0o[0-7]+$/i,wo=parseInt;function Eo(r){if(typeof r=="number")return r;if(pt(r))return oe;if(me(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=me(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=ne(r);var n=bo.test(r);return n||yo.test(r)?wo(r.slice(2),n?2:8):vo.test(r)?oe:+r}var ie=Eo;var ae=1/0,xo=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;function Oo(r){if(!r)return r===0?r:0;if(r=ie(r),r===ae||r===-ae){var e=r<0?-1:1;return e*xo}return r===r?r:0}var V=Oo;function So(r){var e=V(r),n=e%1;return e===e?n?e-n:e:0}var fe=So;var se=Object.create,No=function(){function r(){}return function(e){if(!me(e))return{};if(se)return se(e);r.prototype=e;var n=new r;return r.prototype=void 0,n}}(),ue=No;function Po(r,e){var n=-1,o=r.length;e||(e=Array(o));while(++n<o)e[n]=r[n];return e}var vr=Po;function ko(r,e,n){if(e=="__proto__"&&sr)sr(r,e,{configurable:!0,enumerable:!0,value:n,writable:!0});else r[e]=n}var M=ko;var To=Object.prototype,Co=To.hasOwnProperty;function Ao(r,e,n){var o=r[e];if(!(Co.call(r,e)&&kt(o,n))||n===void 0&&!(e in r))M(r,e,n)}var j=Ao;function Ro(r,e,n,o){var i=!n;n||(n={});var f=-1,s=e.length;while(++f<s){var u=e[f],d=o?o(n[u],r[u],u,n,r):void 0;if(d===void 0)d=r[u];if(i)M(n,u,d);else j(n,u,d)}return n}var k=Ro;function Mo(r,e,n){if(!me(n))return!1;var o=typeof e;if(o=="number"?$e(n)&&hn(e,n.length):o=="string"&&(e in n))return kt(n[e],r);return!1}var C=Mo;function jo(r){return gn(function(e,n){var o=-1,i=n.length,f=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;if(f=r.length>3&&typeof f=="function"?(i--,f):void 0,s&&C(n[0],n[1],s))f=i<3?void 0:f,i=1;e=Object(e);while(++o<i){var u=n[o];if(u)r(e,u,o,f)}return e})}var de=jo;function Bo(r){var e=[];if(r!=null)for(var n in Object(r))e.push(n);return e}var ce=Bo;var Fo=Object.prototype,Go=Fo.hasOwnProperty;function Xo(r){if(!me(r))return ce(r);var e=yn(r),n=[];for(var o in r)if(!(o=="constructor"&&(e||!Go.call(r,o))))n.push(o);return n}var pe=Xo;function Uo(r){return $e(r)?ya(r,!0):pe(r)}var L=Uo;function Vo(r){var e=r==null?0:r.length;return e?ur(r,1):[]}var N=Vo;function Yo(r){return ma(ga(r,void 0,N),r+"")}var le=Yo;var zo=va(Object.getPrototypeOf,Object),Y=zo;var Wo="[object Object]",qo=Function.prototype,Ho=Object.prototype,he=qo.toString,Ko=Ho.hasOwnProperty,Jo=he.call(Object);function Zo(r){if(!Ee(r)||Qe(r)!=Wo)return!1;var e=Y(r);if(e===null)return!0;var n=Ko.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&he.call(n)==Jo}var ge=Zo;var $o="\\ud800-\\udfff",Qo="\\u0300-\\u036f",ri="\\ufe20-\\ufe2f",ei="\\u20d0-\\u20ff",ti=Qo+ri+ei,ni="\\ufe0e\\ufe0f",oi="\\u200d",ii=RegExp("["+oi+$o+ti+ni+"]");function ai(r){return ii.test(r)}var ve=ai;function fi(r,e){return r&&k(e,_e(e),r)}var be=fi;function si(r,e){return r&&k(e,L(e),r)}var ye=si;var Ne=typeof yr=="object"&&yr&&!yr.nodeType&&yr,Le=Ne&&typeof br=="object"&&br&&!br.nodeType&&br,ui=Le&&Le.exports===Ne,Ie=ui?xe.Buffer:void 0,Se=Ie?Ie.allocUnsafe:void 0;function di(r,e){if(e)return r.slice();var n=r.length,o=Se?Se(n):new r.constructor(n);return r.copy(o),o}var rr=di;function ci(r,e){return k(r,dr(r),e)}var Pe=ci;var pi=Object.getOwnPropertySymbols,li=!pi?xa:function(r){var e=[];while(r)cr(e,dr(r)),r=Y(r);return e},wr=li;function mi(r,e){return k(r,wr(r),e)}var ke=mi;function hi(r){return _a(r,L,wr)}var Te=hi;var gi=Object.prototype,vi=gi.hasOwnProperty;function bi(r){var e=r.length,n=new r.constructor(e);if(e&&typeof r[0]=="string"&&vi.call(r,"index"))n.index=r.index,n.input=r.input;return n}var Ce=bi;function yi(r){var e=new r.constructor(r.byteLength);return new pr(e).set(new pr(r)),e}var z=yi;function wi(r,e){var n=e?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}var Ae=wi;var _i=/\w*$/;function Ei(r){var e=new r.constructor(r.source,_i.exec(r));return e.lastIndex=r.lastIndex,e}var Re=Ei;var Me=Oe?Oe.prototype:void 0,je=Me?Me.valueOf:void 0;function xi(r){return je?Object(je.call(r)):{}}var Be=xi;function Oi(r,e){var n=e?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}var _r=Oi;var Li="[object Boolean]",Ii="[object Date]",Si="[object Map]",Ni="[object Number]",Pi="[object RegExp]",ki="[object Set]",Ti="[object String]",Ci="[object Symbol]",Ai="[object ArrayBuffer]",Ri="[object DataView]",Mi="[object Float32Array]",ji="[object Float64Array]",Bi="[object Int8Array]",Di="[object Int16Array]",Fi="[object Int32Array]",Gi="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ui="[object Uint16Array]",Vi="[object Uint32Array]";function Yi(r,e,n){var o=r.constructor;switch(e){case Ai:return z(r);case Li:case Ii:return new o(+r);case Ri:return Ae(r,n);case Mi:case ji:case Bi:case Di:case Fi:case Gi:case Xi:case Ui:case Vi:return _r(r,n);case Si:return new o;case Ni:case Ti:return new o(r);case Pi:return Re(r);case ki:return new o;case Ci:return Be(r)}}var De=Yi;function zi(r){return typeof r.constructor=="function"&&!yn(r)?ue(Y(r)):{}}var Er=zi;var Wi="[object Map]";function qi(r){return Ee(r)&&mt(r)==Wi}var Fe=qi;var Ge=Wt&&Wt.isMap,Hi=Ge?vn(Ge):Fe,Xe=Hi;var Ki="[object Set]";function Ji(r){return Ee(r)&&mt(r)==Ki}var Ue=Ji;var Ve=Wt&&Wt.isSet,Zi=Ve?vn(Ve):Ue,Ye=Zi;var $i=1,Qi=2,ra=4,ze="[object Arguments]",ea="[object Array]",ta="[object Boolean]",na="[object Date]",oa="[object Error]",We="[object Function]",ia="[object GeneratorFunction]",aa="[object Map]",sa="[object Number]",qe="[object Object]",ca="[object RegExp]",la="[object Set]",Ea="[object String]",Oa="[object Symbol]",La="[object WeakMap]",Ia="[object ArrayBuffer]",Na="[object DataView]",Pa="[object Float32Array]",Ta="[object Float64Array]",Aa="[object Int8Array]",Ra="[object Int16Array]",Ma="[object Int32Array]",ja="[object Uint8Array]",Ba="[object Uint8ClampedArray]",Da="[object Uint16Array]",Fa="[object Uint32Array]",x={};x[ze]=x[ea]=x[Ia]=x[Na]=x[ta]=x[na]=x[Pa]=x[Ta]=x[Aa]=x[Ra]=x[Ma]=x[aa]=x[sa]=x[qe]=x[ca]=x[la]=x[Ea]=x[Oa]=x[ja]=x[Ba]=x[Da]=x[Fa]=!0;x[oa]=x[We]=x[La]=!1;function xr(r,e,n,o,i,f){var s,u=e&$i,d=e&Qi,c=e&ra;if(n)s=i?n(r,o,i,f):n(r);if(s!==void 0)return s;if(!me(r))return r;var p=H(r);if(p){if(s=Ce(r),!u)return vr(r,s)}else{var m=mt(r),g=m==We||m==ia;if(Ct(r))return rr(r,u);if(m==qe||m==ze||g&&!i){if(s=d||g?{}:Er(r),!u)return d?ke(r,ye(s,r)):Pe(r,be(s,r))}else{if(!x[m])return i?r:{};s=De(r,m,u)}}f||(f=new Ht);var b=f.get(r);if(b)return b;if(f.set(r,s),Ye(r))r.forEach(function(v){s.add(xr(v,e,n,v,r,f))});else if(Xe(r))r.forEach(function(v,_){s.set(_,xr(v,e,n,_,r,f))});var w=c?d?Te:zr:d?L:_e,y=p?void 0:w(r);return fa(y||r,function(v,_){if(y)_=v,v=r[_];j(s,_,xr(v,e,n,_,r,f))}),s}var Ke=xr;var Ga=1,Xa=4;function Ua(r){return Ke(r,Ga|Xa)}var Ze=Ua;var Va=function(){return xe.Date.now()},kr=Va;var rt=Object.prototype,Ya=rt.hasOwnProperty,za=gn(function(r,e){r=Object(r);var n=-1,o=e.length,i=o>2?e[2]:void 0;if(i&&C(e[0],e[1],i))o=1;while(++n<o){var f=e[n],s=L(f),u=-1,d=s.length;while(++u<d){var c=s[u],p=r[c];if(p===void 0||kt(p,rt[c])&&!Ya.call(r,c))r[c]=f[c]}}return r}),et=za;function Wa(r,e,n){if(n!==void 0&&!kt(r[e],n)||n===void 0&&!(e in r))M(r,e,n)}var er=Wa;function qa(r,e){if(e==="constructor"&&typeof r[e]==="function")return;if(e=="__proto__")return;return r[e]}var tr=qa;function Ha(r){return k(r,L(r))}var tt=Ha;function Ka(r,e,n,o,i,f,s){var u=tr(r,n),d=tr(e,n),c=s.get(d);if(c){er(r,n,c);return}var p=f?f(u,d,n+"",r,e,s):void 0,m=p===void 0;if(m){var g=H(d),b=!g&&Ct(d),w=!g&&!b&&bn(d);if(p=d,g||b||w)if(H(u))p=u;else if(Sa(u))p=vr(u);else if(b)m=!1,p=rr(d,!0);else if(w)m=!1,p=_r(d,!0);else p=[];else if(ge(d)||Ot(d)){if(p=u,Ot(u))p=tt(u);else if(!me(u)||Vt(u))p=Er(d)}else m=!1}if(m)s.set(d,p),i(p,d,o,f,s),s.delete(d);er(r,n,p)}var nt=Ka;function ot(r,e,n,o,i){if(r===e)return;mr(e,function(f,s){if(i||(i=new Ht),me(f))nt(r,e,s,n,ot,o,i);else{var u=o?o(tr(r,s),f,s+"",r,e,i):void 0;if(u===void 0)u=f;er(r,s,u)}},L)}var it=ot;function Ja(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}var X=Ja;function Za(r){return function(e,n,o){var i=Object(e);if(!$e(e)){var f=He(n,3);e=_e(e),n=function(u){return f(i[u],u,i)}}var s=r(e,n,o);return s>-1?i[f?e[s]:s]:void 0}}var at=Za;var $a=Math.max;function Qa(r,e,n){var o=r==null?0:r.length;if(!o)return-1;var i=n==null?0:fe(n);if(i<0)i=$a(o+i,0);return ha(r,He(e,3),i)}var ut=Qa;var rf=at(ut),nr=rf;function ef(r,e){var n=-1,o=$e(r)?Array(r.length):[];return wn(r,function(i,f,s){o[++n]=e(i,f,s)}),o}var Or=ef;function tf(r,e){var n=H(r)?qt:Or;return n(r,He(e,3))}var E=tf;function nf(r,e){return r==null?r:mr(r,hr(e),L)}var dt=nf;function of(r,e){return r&&fr(r,hr(e))}var ct=of;function af(r,e){return r>e}var ht=af;var ff=Object.prototype,sf=ff.hasOwnProperty;function uf(r,e){return r!=null&&sf.call(r,e)}var gt=uf;function df(r,e){return r!=null&&wa(r,e,gt)}var Lr=df;var cf="[object String]";function pf(r){return typeof r=="string"||!H(r)&&Ee(r)&&Qe(r)==cf}var vt=pf;function lf(r,e){return r<e}var Ir=lf;function mf(r,e){var n={};return e=He(e,3),fr(r,function(o,i,f){M(n,i,e(o,i,f))}),n}var q=mf;function hf(r,e,n){var o=-1,i=r.length;while(++o<i){var f=r[o],s=e(f);if(s!=null&&(u===void 0?s===s&&!pt(s):n(s,u)))var u=s,d=f}return d}var K=hf;function gf(r){return r&&r.length?K(r,st,ht):void 0}var S=gf;var vf=de(function(r,e,n){it(r,e,n)}),ir=vf;function bf(r){return r&&r.length?K(r,st,Ir):void 0}var B=bf;function yf(r,e){return r&&r.length?K(r,He(e,2),Ir):void 0}var J=yf;function wf(r,e,n,o){if(!me(r))return r;e=xn(e,r);var i=-1,f=e.length,s=f-1,u=r;while(u!=null&&++i<f){var d=Gt(e[i]),c=n;if(d==="__proto__"||d==="constructor"||d==="prototype")return r;if(i!=s){var p=u[d];if(c=o?o(p,d,u):void 0,c===void 0)c=me(p)?p:hn(e[i+1])?[]:{}}j(u,d,c),u=u[d]}return r}var yt=wf;function _f(r,e,n){var o=-1,i=e.length,f={};while(++o<i){var s=e[o],u=_n(r,s);if(n(u,s))yt(f,xn(s,r),u)}return f}var wt=_f;function Ef(r,e){var n=r.length;r.sort(e);while(n--)r[n]=r[n].value;return r}var _t=Ef;function xf(r,e){if(r!==e){var n=r!==void 0,o=r===null,i=r===r,f=pt(r),s=e!==void 0,u=e===null,d=e===e,c=pt(e);if(!u&&!c&&!f&&r>e||f&&s&&d&&!u&&!c||o&&s&&d||!n&&d||!i)return 1;if(!o&&!f&&!c&&r<e||c&&n&&i&&!o&&!f||u&&n&&i||!s&&i||!d)return-1}return 0}var xt=xf;function Of(r,e,n){var o=-1,i=r.criteria,f=e.criteria,s=i.length,u=n.length;while(++o<s){var d=xt(i[o],f[o]);if(d){if(o>=u)return d;var c=n[o];return d*(c=="desc"?-1:1)}}return r.index-e.index}var Lt=Of;function Lf(r,e,n){if(e.length)e=qt(e,function(f){if(H(f))return function(s){return _n(s,f.length===1?f[0]:f)};return f});else e=[st];var o=-1;e=qt(e,vn(He));var i=Or(r,function(f,s,u){var d=qt(e,function(c){return c(f)});return{criteria:d,index:++o,value:f}});return _t(i,function(f,s){return Lt(f,s,n)})}var It=Lf;var If=Ca("length"),Nt=If;var Tt="\\ud800-\\udfff",Sf="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",Pf="\\u20d0-\\u20ff",kf=Sf+Nf+Pf,Tf="\\ufe0e\\ufe0f",Cf="["+Tt+"]",Tr="["+kf+"]",Cr="\\ud83c[\\udffb-\\udfff]",Af="(?:"+Tr+"|"+Cr+")",At="[^"+Tt+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Rf="\\u200d",Bt=Af+"?",Dt="["+Tf+"]?",Mf="(?:"+Rf+"(?:"+[At,Mt,jt].join("|")+")"+Dt+Bt+")*",jf=Dt+Bt+Mf,Bf="(?:"+[At+Tr+"?",Tr,Mt,jt,Cf].join("|")+")",Pt=RegExp(Cr+"(?="+Cr+")|"+Bf+jf,"g");function Df(r){var e=Pt.lastIndex=0;while(Pt.test(r))++e;return e}var Ft=Df;function Ff(r){return ve(r)?Ft(r):Nt(r)}var Xt=Ff;function Gf(r,e){return wt(r,e,function(n,o){return ka(r,o)})}var Ut=Gf;var Xf=le(function(r,e){return r==null?{}:Ut(r,e)}),Z=Xf;var{ceil:Uf,max:Vf}=Math;function Yf(r,e,n,o){var i=-1,f=Vf(Uf((e-r)/(n||1)),0),s=Array(f);while(f--)s[o?f:++i]=r,r+=n;return s}var zt=Yf;function zf(r){return function(e,n,o){if(o&&typeof o!="number"&&C(e,n,o))n=o=void 0;if(e=V(e),n===void 0)n=e,e=0;else n=V(n);return o=o===void 0?e<n?1:-1:V(o),zt(e,n,o,r)}}var Kt=zf;var Wf=Kt(),P=Wf;var qf="[object Map]",Hf="[object Set]";function Kf(r){if(r==null)return 0;if($e(r))return vt(r)?Xt(r):r.length;var e=mt(r);if(e==qf||e==Hf)return r.size;return lr(r).length}var Zt=Kf;var Jf=gn(function(r,e){if(r==null)return[];var n=e.length;if(n>1&&C(r,e[0],e[1]))e=[];else if(n>2&&C(e[0],e[1],e[2]))e=[e[0]];return It(r,ur(e,1),[])}),A=Jf;var Zf=0;function $f(r){var e=++Zf;return ba(r)+e}var Q=$f;function Qf(r,e,n){var o=-1,i=r.length,f=e.length,s={};while(++o<i){var u=o<f?e[o]:void 0;n(s,r[o],u)}return s}var $t=Qf;function rs(r,e){return $t(r||[],e||[],j)}var Ar=rs;class Rr{constructor(){var r={};r._next=r._prev=r,this._sentinel=r}dequeue(){var r=this._sentinel,e=r._prev;if(e!==r)return rn(e),e}enqueue(r){var e=this._sentinel;if(r._prev&&r._next)rn(r);r._next=e._next,e._next._prev=r,e._next=r,r._prev=e}toString(){var r=[],e=this._sentinel,n=e._prev;while(n!==e)r.push(JSON.stringify(n,es)),n=n._prev;return"["+r.join(", ")+"]"}}function rn(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function es(r,e){if(r!=="_next"&&r!=="_prev")return e}var ts=lt(1);function en(r,e){if(r.nodeCount()<=1)return[];var n=os(r,e||ts),o=ns(n.graph,n.buckets,n.zeroIdx);return N(E(o,function(i){return r.outEdges(i.v,i.w)}))}function ns(r,e,n){var o=[],i=e[e.length-1],f=e[0],s;while(r.nodeCount()){while(s=f.dequeue())Mr(r,e,n,s);while(s=i.dequeue())Mr(r,e,n,s);if(r.nodeCount()){for(var u=e.length-2;u>0;--u)if(s=e[u].dequeue(),s){o=o.concat(Mr(r,e,n,s,!0));break}}}return o}function Mr(r,e,n,o,i){var f=i?[]:void 0;return h(r.inEdges(o.v),function(s){var u=r.edge(s),d=r.node(s.v);if(i)f.push({v:s.v,w:s.w});d.out-=u,jr(e,n,d)}),h(r.outEdges(o.v),function(s){var u=r.edge(s),d=s.w,c=r.node(d);c.in-=u,jr(e,n,c)}),r.removeNode(o.v),f}function os(r,e){var n=new re,o=0,i=0;h(r.nodes(),function(u){n.setNode(u,{v:u,in:0,out:0})}),h(r.edges(),function(u){var d=n.edge(u.v,u.w)||0,c=e(u),p=d+c;n.setEdge(u.v,u.w,p),i=Math.max(i,n.node(u.v).out+=c),o=Math.max(o,n.node(u.w).in+=c)});var f=P(i+o+3).map(function(){return new Rr}),s=o+1;return h(n.nodes(),function(u){jr(f,s,n.node(u))}),{graph:n,buckets:f,zeroIdx:s}}function jr(r,e,n){if(!n.out)r[0].enqueue(n);else if(!n.in)r[r.length-1].enqueue(n);else r[n.out-n.in+e].enqueue(n)}function tn(r){var e=r.graph().acyclicer==="greedy"?en(r,n(r)):is(r);h(e,function(o){var i=r.edge(o);r.removeEdge(o),i.forwardName=o.name,i.reversed=!0,r.setEdge(o.w,o.v,i,Q("rev"))});function n(o){return function(i){return o.edge(i).weight}}}function is(r){var e=[],n={},o={};function i(f){if(Object.prototype.hasOwnProperty.call(o,f))return;o[f]=!0,n[f]=!0,h(r.outEdges(f),function(s){if(Object.prototype.hasOwnProperty.call(n,s.w))e.push(s);else i(s.w)}),delete n[f]}return h(r.nodes(),i),e}function nn(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed){r.removeEdge(e);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(e.w,e.v,n,o)}})}function T(r,e,n,o){var i;do i=Q(o);while(r.hasNode(i));return n.dummy=e,r.setNode(i,n),i}function an(r){var e=new re().setGraph(r.graph());return h(r.nodes(),function(n){e.setNode(n,r.node(n))}),h(r.edges(),function(n){var o=e.edge(n.v,n.w)||{weight:0,minlen:1},i=r.edge(n);e.setEdge(n.v,n.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),e}function Sr(r){var e=new re({multigraph:r.isMultigraph()}).setGraph(r.graph());return h(r.nodes(),function(n){if(!r.children(n).length)e.setNode(n,r.node(n))}),h(r.edges(),function(n){e.setEdge(n,r.edge(n))}),e}function Br(r,e){var{x:n,y:o}=r,i=e.x-n,f=e.y-o,s=r.width/2,u=r.height/2;if(!i&&!f)throw Error("Not possible to find intersection inside of the rectangle");var d,c;if(Math.abs(f)*s>Math.abs(i)*u){if(f<0)u=-u;d=u*i/f,c=u}else{if(i<0)s=-s;d=s,c=s*f/i}return{x:n+d,y:o+c}}function D(r){var e=E(P(Fr(r)+1),function(){return[]});return h(r.nodes(),function(n){var o=r.node(n),i=o.rank;if(!we(i))e[i][o.order]=n}),e}function fn(r){var e=B(E(r.nodes(),function(n){return r.node(n).rank}));h(r.nodes(),function(n){var o=r.node(n);if(Lr(o,"rank"))o.rank-=e})}function sn(r){var e=B(E(r.nodes(),function(f){return r.node(f).rank})),n=[];h(r.nodes(),function(f){var s=r.node(f).rank-e;if(!n[s])n[s]=[];n[s].push(f)});var o=0,i=r.graph().nodeRankFactor;h(n,function(f,s){if(we(f)&&s%i!==0)--o;else if(o)h(f,function(u){r.node(u).rank+=o})})}function Dr(r,e,n,o){var i={width:0,height:0};if(arguments.length>=4)i.rank=n,i.order=o;return T(r,"border",i,e)}function Fr(r){return S(E(r.nodes(),function(e){var n=r.node(e).rank;if(!we(n))return n}))}function un(r,e){var n={lhs:[],rhs:[]};return h(r,function(o){if(e(o))n.lhs.push(o);else n.rhs.push(o)}),n}function dn(r,e){var n=kr();try{return e()}finally{console.log(r+" time: "+(kr()-n)+"ms")}}function cn(r,e){return e()}function ln(r){function e(n){var o=r.children(n),i=r.node(n);if(o.length)h(o,e);if(Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var f=i.minRank,s=i.maxRank+1;f<s;++f)pn(r,"borderLeft","_bl",n,i,f),pn(r,"borderRight","_br",n,i,f)}}h(r.children(),e)}function pn(r,e,n,o,i,f){var s={width:0,height:0,rank:f,borderType:e},u=i[e][f-1],d=T(r,"border",s,n);if(i[e][f]=d,r.setParent(d,o),u)r.setEdge(u,d,{weight:1})}function En(r){var e=r.graph().rankdir.toLowerCase();if(e==="lr"||e==="rl")In(r)}function Ln(r){var e=r.graph().rankdir.toLowerCase();if(e==="bt"||e==="rl")as(r);if(e==="lr"||e==="rl")fs(r),In(r)}function In(r){h(r.nodes(),function(e){mn(r.node(e))}),h(r.edges(),function(e){mn(r.edge(e))})}function mn(r){var e=r.width;r.width=r.height,r.height=e}function as(r){h(r.nodes(),function(e){Gr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Gr),Object.prototype.hasOwnProperty.call(n,"y"))Gr(n)})}function Gr(r){r.y=-r.y}function fs(r){h(r.nodes(),function(e){Xr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Xr),Object.prototype.hasOwnProperty.call(n,"x"))Xr(n)})}function Xr(r){var e=r.x;r.x=r.y,r.y=e}function Sn(r){r.graph().dummyChains=[],h(r.edges(),function(e){us(r,e)})}function us(r,e){var n=e.v,o=r.node(n).rank,i=e.w,f=r.node(i).rank,s=e.name,u=r.edge(e),d=u.labelRank;if(f===o+1)return;r.removeEdge(e);var c=void 0,p,m;for(m=0,++o;o<f;++m,++o){if(u.points=[],c={width:0,height:0,edgeLabel:u,edgeObj:e,rank:o},p=T(r,"edge",c,"_d"),o===d)c.width=u.width,c.height=u.height,c.dummy="edge-label",c.labelpos=u.labelpos;if(r.setEdge(n,p,{weight:u.weight},s),m===0)r.graph().dummyChains.push(p);n=p}r.setEdge(n,i,{weight:u.weight},s)}function Nn(r){h(r.graph().dummyChains,function(e){var n=r.node(e),o=n.edgeLabel,i;r.setEdge(n.edgeObj,o);while(n.dummy){if(i=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label")o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height;e=i,n=r.node(e)}})}function ar(r){var e={};function n(o){var i=r.node(o);if(Object.prototype.hasOwnProperty.call(e,o))return i.rank;e[o]=!0;var f=B(E(r.outEdges(o),function(s){return n(s.w)-r.edge(s).minlen}));if(f===Number.POSITIVE_INFINITY||f===void 0||f===null)f=0;return i.rank=f}h(r.sources(),n)}function U(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function Nr(r){var e=new re({directed:!1}),n=r.nodes()[0],o=r.nodeCount();e.setNode(n,{});var i,f;while(ds(e,r)<o)i=cs(e,r),f=e.hasNode(i.v)?U(r,i):-U(r,i),ps(e,r,f);return e}function ds(r,e){function n(o){h(e.nodeEdges(o),function(i){var f=i.v,s=o===f?i.w:f;if(!r.hasNode(s)&&!U(e,i))r.setNode(s,{}),r.setEdge(o,s,{}),n(s)})}return h(r.nodes(),n),r.nodeCount()}function cs(r,e){return J(e.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return U(e,n)})}function ps(r,e,n){h(r.nodes(),function(o){e.node(o).rank+=n})}var dh=lt(1);var vh=lt(1);Ur.CycleException=gr;function Ur(r){var e={},n={},o=[];function i(f){if(Object.prototype.hasOwnProperty.call(n,f))throw new gr;if(!Object.prototype.hasOwnProperty.call(e,f))n[f]=!0,e[f]=!0,h(r.predecessors(f),i),delete n[f],o.push(f)}if(h(r.sinks(),i),Zt(e)!==r.nodeCount())throw new gr;return o}function gr(){}gr.prototype=Error();function Pr(r,e,n){if(!H(e))e=[e];var o=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],f={};return h(e,function(s){if(!r.hasNode(s))throw Error("Graph does not have node: "+s);kn(r,s,n==="post",f,o,i)}),i}function kn(r,e,n,o,i,f){if(!Object.prototype.hasOwnProperty.call(o,e)){if(o[e]=!0,!n)f.push(e);if(h(i(e),function(s){kn(r,s,n,o,i,f)}),n)f.push(e)}}function Vr(r,e){return Pr(r,e,"post")}function Yr(r,e){return Pr(r,e,"pre")}G.initLowLimValues=qr;G.initCutValues=Wr;G.calcCutValue=Cn;G.leaveEdge=Rn;G.enterEdge=Mn;G.exchangeEdges=jn;function G(r){r=an(r),ar(r);var e=Nr(r);qr(e),Wr(e,r);var n,o;while(n=Rn(e))o=Mn(e,r,n),jn(e,r,n,o)}function Wr(r,e){var n=Vr(r,r.nodes());n=n.slice(0,n.length-1),h(n,function(o){vs(r,e,o)})}function vs(r,e,n){var o=r.node(n),i=o.parent;r.edge(n,i).cutvalue=Cn(r,e,n)}function Cn(r,e,n){var o=r.node(n),i=o.parent,f=!0,s=e.edge(n,i),u=0;if(!s)f=!1,s=e.edge(i,n);return u=s.weight,h(e.nodeEdges(n),function(d){var c=d.v===n,p=c?d.w:d.v;if(p!==i){var m=c===f,g=e.edge(d).weight;if(u+=m?g:-g,ys(r,n,p)){var b=r.edge(n,p).cutvalue;u+=m?-b:b}}}),u}function qr(r,e){if(arguments.length<2)e=r.nodes()[0];An(r,{},1,e)}function An(r,e,n,o,i){var f=n,s=r.node(o);if(e[o]=!0,h(r.neighbors(o),function(u){if(!Object.prototype.hasOwnProperty.call(e,u))n=An(r,e,n,u,o)}),s.low=f,s.lim=n++,i)s.parent=i;else delete s.parent;return n}function Rn(r){return nr(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Mn(r,e,n){var{v:o,w:i}=n;if(!e.hasEdge(o,i))o=n.w,i=n.v;var f=r.node(o),s=r.node(i),u=f,d=!1;if(f.lim>s.lim)u=s,d=!0;var c=Je(e.edges(),function(p){return d===Tn(r,r.node(p.v),u)&&d!==Tn(r,r.node(p.w),u)});return J(c,function(p){return U(e,p)})}function jn(r,e,n,o){var{v:i,w:f}=n;r.removeEdge(i,f),r.setEdge(o.v,o.w,{}),qr(r),Wr(r,e),bs(r,e)}function bs(r,e){var n=nr(r.nodes(),function(i){return!e.node(i).parent}),o=Yr(r,n);o=o.slice(1),h(o,function(i){var f=r.node(i).parent,s=e.edge(i,f),u=!1;if(!s)s=e.edge(f,i),u=!0;e.node(i).rank=e.node(f).rank+(u?s.minlen:-s.minlen)})}function ys(r,e,n){return r.hasEdge(e,n)}function Tn(r,e,n){return n.low<=e.lim&&e.lim<=n.lim}function Hr(r){switch(r.graph().ranker){case"network-simplex":Bn(r);break;case"tight-tree":_s(r);break;case"longest-path":ws(r);break;default:Bn(r)}}var ws=ar;function _s(r){ar(r),Nr(r)}function Bn(r){G(r)}function Dn(r){var e=T(r,"root",{},"_root"),n=Es(r),o=S(ft(n))-1,i=2*o+1;r.graph().nestingRoot=e,h(r.edges(),function(s){r.edge(s).minlen*=i});var f=xs(r)+1;h(r.children(),function(s){Fn(r,e,i,f,o,n,s)}),r.graph().nodeRankFactor=i}function Fn(r,e,n,o,i,f,s){var u=r.children(s);if(!u.length){if(s!==e)r.setEdge(e,s,{weight:0,minlen:n});return}var d=Dr(r,"_bt"),c=Dr(r,"_bb"),p=r.node(s);if(r.setParent(d,s),p.borderTop=d,r.setParent(c,s),p.borderBottom=c,h(u,function(m){Fn(r,e,n,o,i,f,m);var g=r.node(m),b=g.borderTop?g.borderTop:m,w=g.borderBottom?g.borderBottom:m,y=g.borderTop?o:2*o,v=b!==w?1:i-f[s]+1;r.setEdge(d,b,{weight:y,minlen:v,nestingEdge:!0}),r.setEdge(w,c,{weight:y,minlen:v,nestingEdge:!0})}),!r.parent(s))r.setEdge(e,d,{weight:0,minlen:i+f[s]})}function Es(r){var e={};function n(o,i){var f=r.children(o);if(f&&f.length)h(f,function(s){n(s,i+1)});e[o]=i}return h(r.children(),function(o){n(o,1)}),e}function xs(r){return Yt(r.edges(),function(e,n){return e+r.edge(n).weight},0)}function Xn(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,h(r.edges(),function(n){var o=r.edge(n);if(o.nestingEdge)r.removeEdge(n)})}function Un(r,e,n){var o={},i;h(n,function(f){var s=r.parent(f),u,d;while(s){if(u=r.parent(s),u)d=o[u],o[u]=s;else d=i,i=s;if(d&&d!==s){e.setEdge(d,s);return}s=u}})}function Vn(r,e,n){var o=Ls(r),i=new re({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(f){return r.node(f)});return h(r.nodes(),function(f){var s=r.node(f),u=r.parent(f);if(s.rank===e||s.minRank<=e&&e<=s.maxRank){if(i.setNode(f),i.setParent(f,u||o),h(r[n](f),function(d){var c=d.v===f?d.w:d.v,p=i.edge(c,f),m=!we(p)?p.weight:0;i.setEdge(c,f,{weight:r.edge(d).weight+m})}),Object.prototype.hasOwnProperty.call(s,"minRank"))i.setNode(f,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]})}}),i}function Ls(r){var e;while(r.hasNode(e=Q("_root")));return e}function Yn(r,e){var n=0;for(var o=1;o<e.length;++o)n+=Is(r,e[o-1],e[o]);return n}function Is(r,e,n){var o=Ar(n,E(n,function(c,p){return p})),i=N(E(e,function(c){return A(E(r.outEdges(c),function(p){return{pos:o[p.w],weight:r.edge(p).weight}}),"pos")})),f=1;while(f<n.length)f<<=1;var s=2*f-1;f-=1;var u=E(Array(s),function(){return 0}),d=0;return h(i.forEach(function(c){var p=c.pos+f;u[p]+=c.weight;var m=0;while(p>0){if(p%2)m+=u[p+1];p=p-1>>1,u[p]+=c.weight}d+=c.weight*m})),d}function zn(r){var e={},n=Je(r.nodes(),function(u){return!r.children(u).length}),o=S(E(n,function(u){return r.node(u).rank})),i=E(P(o+1),function(){return[]});function f(u){if(Lr(e,u))return;e[u]=!0;var d=r.node(u);i[d.rank].push(u),h(r.successors(u),f)}var s=A(n,function(u){return r.node(u).rank});return h(s,f),i}function Wn(r,e){return E(e,function(n){var o=r.inEdges(n);if(!o.length)return{v:n};else{var i=Yt(o,function(f,s){var u=r.edge(s),d=r.node(s.v);return{sum:f.sum+u.weight*d.order,weight:f.weight+u.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function qn(r,e){var n={};h(r,function(i,f){var s=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:f};if(!we(i.barycenter))s.barycenter=i.barycenter,s.weight=i.weight}),h(e.edges(),function(i){var f=n[i.v],s=n[i.w];if(!we(f)&&!we(s))s.indegree++,f.out.push(n[i.w])});var o=Je(n,function(i){return!i.indegree});return Ss(o)}function Ss(r){var e=[];function n(f){return function(s){if(s.merged)return;if(we(s.barycenter)||we(f.barycenter)||s.barycenter>=f.barycenter)Ns(f,s)}}function o(f){return function(s){if(s.in.push(f),--s.indegree===0)r.push(s)}}while(r.length){var i=r.pop();e.push(i),h(i.in.reverse(),n(i)),h(i.out,o(i))}return E(Je(e,function(f){return!f.merged}),function(f){return Z(f,["vs","i","barycenter","weight"])})}function Ns(r,e){var n=0,o=0;if(r.weight)n+=r.barycenter*r.weight,o+=r.weight;if(e.weight)n+=e.barycenter*e.weight,o+=e.weight;r.vs=e.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}function Kn(r,e){var n=un(r,function(p){return Object.prototype.hasOwnProperty.call(p,"barycenter")}),o=n.lhs,i=A(n.rhs,function(p){return-p.i}),f=[],s=0,u=0,d=0;o.sort(Ps(!!e)),d=Hn(f,i,d),h(o,function(p){d+=p.vs.length,f.push(p.vs),s+=p.barycenter*p.weight,u+=p.weight,d=Hn(f,i,d)});var c={vs:N(f)};if(u)c.barycenter=s/u,c.weight=u;return c}function Hn(r,e,n){var o;while(e.length&&(o=X(e)).i<=n)e.pop(),r.push(o.vs),n++;return n}function Ps(r){return function(e,n){if(e.barycenter<n.barycenter)return-1;else if(e.barycenter>n.barycenter)return 1;return!r?e.i-n.i:n.i-e.i}}function Kr(r,e,n,o){var i=r.children(e),f=r.node(e),s=f?f.borderLeft:void 0,u=f?f.borderRight:void 0,d={};if(s)i=Je(i,function(w){return w!==s&&w!==u});var c=Wn(r,i);h(c,function(w){if(r.children(w.v).length){var y=Kr(r,w.v,n,o);if(d[w.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter"))Ts(w,y)}});var p=qn(c,n);ks(p,d);var m=Kn(p,o);if(s){if(m.vs=N([s,m.vs,u]),r.predecessors(s).length){var g=r.node(r.predecessors(s)[0]),b=r.node(r.predecessors(u)[0]);if(!Object.prototype.hasOwnProperty.call(m,"barycenter"))m.barycenter=0,m.weight=0;m.barycenter=(m.barycenter*m.weight+g.order+b.order)/(m.weight+2),m.weight+=2}}return m}function ks(r,e){h(r,function(n){n.vs=N(n.vs.map(function(o){if(e[o])return e[o].vs;return o}))})}function Ts(r,e){if(!we(r.barycenter))r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight;else r.barycenter=e.barycenter,r.weight=e.weight}function $n(r){var e=Fr(r),n=Jn(r,P(1,e+1),"inEdges"),o=Jn(r,P(e-1,-1,-1),"outEdges"),i=zn(r);Zn(r,i);var f=Number.POSITIVE_INFINITY,s;for(var u=0,d=0;d<4;++u,++d){Cs(u%2?n:o,u%4>=2),i=D(r);var c=Yn(r,i);if(c<f)d=0,s=Ze(i),f=c}Zn(r,s)}function Jn(r,e,n){return E(e,function(o){return Vn(r,o,n)})}function Cs(r,e){var n=new re;h(r,function(o){var i=o.graph().root,f=Kr(o,i,n,e);h(f.vs,function(s,u){o.node(s).order=u}),Un(o,n,f.vs)})}function Zn(r,e){h(e,function(n){h(n,function(o,i){r.node(o).order=i})})}function Qn(r){var e=Rs(r);h(r.graph().dummyChains,function(n){var o=r.node(n),i=o.edgeObj,f=As(r,e,i.v,i.w),{path:s,lca:u}=f,d=0,c=s[d],p=!0;while(n!==i.w){if(o=r.node(n),p){while((c=s[d])!==u&&r.node(c).maxRank<o.rank)d++;if(c===u)p=!1}if(!p){while(d<s.length-1&&r.node(c=s[d+1]).minRank<=o.rank)d++;c=s[d]}r.setParent(n,c),n=r.successors(n)[0]}})}function As(r,e,n,o){var i=[],f=[],s=Math.min(e[n].low,e[o].low),u=Math.max(e[n].lim,e[o].lim),d,c;d=n;do d=r.parent(d),i.push(d);while(d&&(e[d].low>s||u>e[d].lim));c=d,d=o;while((d=r.parent(d))!==c)f.push(d);return{path:i.concat(f.reverse()),lca:c}}function Rs(r){var e={},n=0;function o(i){var f=n;h(r.children(i),o),e[i]={low:f,lim:n++}}return h(r.children(),o),e}function Ms(r,e){var n={};function o(i,f){var s=0,u=0,d=i.length,c=X(f);return h(f,function(p,m){var g=Bs(r,p),b=g?r.node(g).order:d;if(g||p===c)h(f.slice(u,m+1),function(w){h(r.predecessors(w),function(y){var v=r.node(y),_=v.order;if((_<s||b<_)&&!(v.dummy&&r.node(w).dummy))eo(n,y,w)})}),u=m+1,s=b}),f}return Yt(e,o),n}function js(r,e){var n={};function o(f,s,u,d,c){var p;h(P(s,u),function(m){if(p=f[m],r.node(p).dummy)h(r.predecessors(p),function(g){var b=r.node(g);if(b.dummy&&(b.order<d||b.order>c))eo(n,g,p)})})}function i(f,s){var u=-1,d,c=0;return h(s,function(p,m){if(r.node(p).dummy==="border"){var g=r.predecessors(p);if(g.length)d=r.node(g[0]).order,o(s,c,m,u,d),c=m,u=d}o(s,c,s.length,d,f.length)}),s}return Yt(e,i),n}function Bs(r,e){if(r.node(e).dummy)return nr(r.predecessors(e),function(n){return r.node(n).dummy})}function eo(r,e,n){if(e>n){var o=e;e=n,n=o}if(!Object.prototype.hasOwnProperty.call(r,e))Object.defineProperty(r,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=r[e];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ds(r,e,n){if(e>n){var o=e;e=n,n=o}return!!r[e]&&Object.prototype.hasOwnProperty.call(r[e],n)}function Fs(r,e,n,o){var i={},f={},s={};return h(e,function(u){h(u,function(d,c){i[d]=d,f[d]=d,s[d]=c})}),h(e,function(u){var d=-1;h(u,function(c){var p=o(c);if(p.length){p=A(p,function(y){return s[y]});var m=(p.length-1)/2;for(var g=Math.floor(m),b=Math.ceil(m);g<=b;++g){var w=p[g];if(f[c]===c&&d<s[w]&&!Ds(n,c,w))f[w]=c,f[c]=i[c]=i[w],d=s[w]}}})}),{root:i,align:f}}function Gs(r,e,n,o,i){var f={},s=Xs(r,e,n,i),u=i?"borderLeft":"borderRight";function d(m,g){var b=s.nodes(),w=b.pop(),y={};while(w){if(y[w])m(w);else y[w]=!0,b.push(w),b=b.concat(g(w));w=b.pop()}}function c(m){f[m]=s.inEdges(m).reduce(function(g,b){return Math.max(g,f[b.v]+s.edge(b))},0)}function p(m){var g=s.outEdges(m).reduce(function(w,y){return Math.min(w,f[y.w]-s.edge(y))},Number.POSITIVE_INFINITY),b=r.node(m);if(g!==Number.POSITIVE_INFINITY&&b.borderType!==u)f[m]=Math.max(f[m],g)}return d(c,s.predecessors.bind(s)),d(p,s.successors.bind(s)),h(o,function(m){f[m]=f[n[m]]}),f}function Xs(r,e,n,o){var i=new re,f=r.graph(),s=zs(f.nodesep,f.edgesep,o);return h(e,function(u){var d;h(u,function(c){var p=n[c];if(i.setNode(p),d){var m=n[d],g=i.edge(m,p);i.setEdge(m,p,Math.max(s(r,c,d),g||0))}d=c})}),i}function Us(r,e){return J(ft(e),function(n){var{NEGATIVE_INFINITY:o,POSITIVE_INFINITY:i}=Number;return dt(n,function(f,s){var u=Ws(r,s)/2;o=Math.max(f+u,o),i=Math.min(f-u,i)}),o-i})}function Vs(r,e){var n=ft(e),o=B(n),i=S(n);h(["u","d"],function(f){h(["l","r"],function(s){var u=f+s,d=r[u],c;if(d===e)return;var p=ft(d);if(c=s==="l"?o-B(p):i-S(p),c)r[u]=q(d,function(m){return m+c})})})}function Ys(r,e){return q(r.ul,function(n,o){if(e)return r[e.toLowerCase()][o];else{var i=A(E(r,o));return(i[1]+i[2])/2}})}function to(r){var e=D(r),n=ir(Ms(r,e),js(r,e)),o={},i;h(["u","d"],function(s){i=s==="u"?e:ft(e).reverse(),h(["l","r"],function(u){if(u==="r")i=E(i,function(m){return ft(m).reverse()});var d=(s==="u"?r.predecessors:r.successors).bind(r),c=Fs(r,i,n,d),p=Gs(r,i,c.root,c.align,u==="r");if(u==="r")p=q(p,function(m){return-m});o[s+u]=p})});var f=Us(r,o);return Vs(o,f),Ys(o,r.graph().align)}function zs(r,e,n){return function(o,i,f){var s=o.node(i),u=o.node(f),d=0,c;if(d+=s.width/2,Object.prototype.hasOwnProperty.call(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":c=-s.width/2;break;case"r":c=s.width/2;break}if(c)d+=n?c:-c;if(c=0,d+=(s.dummy?e:r)/2,d+=(u.dummy?e:r)/2,d+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":c=u.width/2;break;case"r":c=-u.width/2;break}if(c)d+=n?c:-c;return c=0,d}}function Ws(r,e){return r.node(e).width}function oo(r){r=Sr(r),qs(r),ct(to(r),function(e,n){r.node(n).x=e})}function qs(r){var e=D(r),n=r.graph().ranksep,o=0;h(e,function(i){var f=S(E(i,function(s){return r.node(s).height}));h(i,function(s){r.node(s).y=o+f/2}),o+=f+n})}function $r(r,e){var n=e&&e.debugTiming?dn:cn;n("layout",()=>{var o=n(" buildLayoutGraph",()=>ou(r));n(" runLayout",()=>Hs(o,n)),n(" updateInputGraph",()=>Ks(r,o))})}function Hs(r,e){e(" makeSpaceForEdgeLabels",()=>iu(r)),e(" removeSelfEdges",()=>mu(r)),e(" acyclic",()=>tn(r)),e(" nestingGraph.run",()=>Dn(r)),e(" rank",()=>Hr(Sr(r))),e(" injectEdgeLabelProxies",()=>au(r)),e(" removeEmptyRanks",()=>sn(r)),e(" nestingGraph.cleanup",()=>Xn(r)),e(" normalizeRanks",()=>fn(r)),e(" assignRankMinMax",()=>fu(r)),e(" removeEdgeLabelProxies",()=>su(r)),e(" normalize.run",()=>Sn(r)),e(" parentDummyChains",()=>Qn(r)),e(" addBorderSegments",()=>ln(r)),e(" order",()=>$n(r)),e(" insertSelfEdges",()=>hu(r)),e(" adjustCoordinateSystem",()=>En(r)),e(" position",()=>oo(r)),e(" positionSelfEdges",()=>gu(r)),e(" removeBorderNodes",()=>lu(r)),e(" normalize.undo",()=>Nn(r)),e(" fixupEdgeLabelCoords",()=>cu(r)),e(" undoCoordinateSystem",()=>Ln(r)),e(" translateGraph",()=>uu(r)),e(" assignNodeIntersects",()=>du(r)),e(" reversePoints",()=>pu(r)),e(" acyclic.undo",()=>nn(r))}function Ks(r,e){h(r.nodes(),function(n){var o=r.node(n),i=e.node(n);if(o){if(o.x=i.x,o.y=i.y,e.children(n).length)o.width=i.width,o.height=i.height}}),h(r.edges(),function(n){var o=r.edge(n),i=e.edge(n);if(o.points=i.points,Object.prototype.hasOwnProperty.call(i,"x"))o.x=i.x,o.y=i.y}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var Js=["nodesep","edgesep","ranksep","marginx","marginy"],Zs={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$s=["acyclicer","ranker","rankdir","align"],Qs=["width","height"],ru={width:0,height:0},eu=["minlen","weight","width","height","labeloffset"],tu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nu=["labelpos"];function ou(r){var e=new re({multigraph:!0,compound:!0}),n=Zr(r.graph());return e.setGraph(ir({},Zs,Jr(n,Js),Z(n,$s))),h(r.nodes(),function(o){var i=Zr(r.node(o));e.setNode(o,et(Jr(i,Qs),ru)),e.setParent(o,r.parent(o))}),h(r.edges(),function(o){var i=Zr(r.edge(o));e.setEdge(o,ir({},tu,Jr(i,eu),Z(i,nu)))}),e}function iu(r){var e=r.graph();e.ranksep/=2,h(r.edges(),function(n){var o=r.edge(n);if(o.minlen*=2,o.labelpos.toLowerCase()!=="c")if(e.rankdir==="TB"||e.rankdir==="BT")o.width+=o.labeloffset;else o.height+=o.labeloffset})}function au(r){h(r.edges(),function(e){var n=r.edge(e);if(n.width&&n.height){var o=r.node(e.v),i=r.node(e.w),f={rank:(i.rank-o.rank)/2+o.rank,e};T(r,"edge-proxy",f,"_ep")}})}function fu(r){var e=0;h(r.nodes(),function(n){var o=r.node(n);if(o.borderTop)o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=S(e,o.maxRank)}),r.graph().maxRank=e}function su(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="edge-proxy")r.edge(n.e).labelRank=n.rank,r.removeNode(e)})}function uu(r){var e=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,i=0,f=r.graph(),s=f.marginx||0,u=f.marginy||0;function d(c){var{x:p,y:m,width:g,height:b}=c;e=Math.min(e,p-g/2),n=Math.max(n,p+g/2),o=Math.min(o,m-b/2),i=Math.max(i,m+b/2)}h(r.nodes(),function(c){d(r.node(c))}),h(r.edges(),function(c){var p=r.edge(c);if(Object.prototype.hasOwnProperty.call(p,"x"))d(p)}),e-=s,o-=u,h(r.nodes(),function(c){var p=r.node(c);p.x-=e,p.y-=o}),h(r.edges(),function(c){var p=r.edge(c);if(h(p.points,function(m){m.x-=e,m.y-=o}),Object.prototype.hasOwnProperty.call(p,"x"))p.x-=e;if(Object.prototype.hasOwnProperty.call(p,"y"))p.y-=o}),f.width=n-e+s,f.height=i-o+u}function du(r){h(r.edges(),function(e){var n=r.edge(e),o=r.node(e.v),i=r.node(e.w),f,s;if(!n.points)n.points=[],f=i,s=o;else f=n.points[0],s=n.points[n.points.length-1];n.points.unshift(Br(o,f)),n.points.push(Br(i,s))})}function cu(r){h(r.edges(),function(e){var n=r.edge(e);if(Object.prototype.hasOwnProperty.call(n,"x")){if(n.labelpos==="l"||n.labelpos==="r")n.width-=n.labeloffset;switch(n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}}})}function pu(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed)n.points.reverse()})}function lu(r){h(r.nodes(),function(e){if(r.children(e).length){var n=r.node(e),o=r.node(n.borderTop),i=r.node(n.borderBottom),f=r.node(X(n.borderLeft)),s=r.node(X(n.borderRight));n.width=Math.abs(s.x-f.x),n.height=Math.abs(i.y-o.y),n.x=f.x+n.width/2,n.y=o.y+n.height/2}}),h(r.nodes(),function(e){if(r.node(e).dummy==="border")r.removeNode(e)})}function mu(r){h(r.edges(),function(e){if(e.v===e.w){var n=r.node(e.v);if(!n.selfEdges)n.selfEdges=[];n.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function hu(r){var e=D(r);h(e,function(n){var o=0;h(n,function(i,f){var s=r.node(i);s.order=f+o,h(s.selfEdges,function(u){T(r,"selfedge",{width:u.label.width,height:u.label.height,rank:s.rank,order:f+ ++o,e:u.e,label:u.label},"_se")}),delete s.selfEdges})})}function gu(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="selfedge"){var o=r.node(n.e.v),i=o.x+o.width/2,f=o.y,s=n.x-i,u=o.height/2;r.setEdge(n.e,n.label),r.removeNode(e),n.label.points=[{x:i+2*s/3,y:f-u},{x:i+5*s/6,y:f-u},{x:i+s,y:f},{x:i+5*s/6,y:f+u},{x:i+2*s/3,y:f+u}],n.label.x=n.x,n.label.y=n.y}})}function Jr(r,e){return q(Z(r,e),Number)}function Zr(r){var e={};return h(r,function(n,o){e[o.toLowerCase()]=n}),e}var fo=t((r,e,n)=>Math.max(e,Math.min(n,r)),"clamp"),so=t((r="TB")=>{switch(r){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),vu=t((r)=>r==="flowchart"||r==="flowchart-v2"||r==="stateDiagram"||r==="er"||r==="classDiagram","shouldMergeSelfLoopSegments"),bu=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],yu=t((r,e,n,o,i)=>{let f=[],s=new Set;if(n.forEach(({start:p,end:m})=>{if(p!==o)s.add(p);if(m!==o)s.add(m)}),s.forEach((p)=>{let m=r.node(p);if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)}),f.length===0)n.forEach(({edge:p})=>{(p.points??[]).forEach((m)=>{if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)})});if(f.length===0)return so(i);let u=f.reduce((p,m)=>({x:p.x+m.x/f.length,y:p.y+m.y/f.length}),{x:0,y:0}),d=u.x-e.x,c=u.y-e.y;if(Math.abs(d)>Math.abs(c))return d>0?"right":"left";if(Math.abs(c)>0)return c>0?"bottom":"top";return so(i)},"getSelfLoopSide"),wu=t((r,e="top",n=0,o=0)=>{let i=r.x,f=r.y-n,s=r.width/2,u=r.height/2,d=Math.max(36,Math.min(100,r.width*0.8)),c=fo(Math.max(o,r.width*0.35),36,d),p=fo(Math.min(r.width,r.height)*0.45,24,48);switch(e){case"bottom":{let m=f+u;return[{x:i-c/2,y:m},{x:i-c/2,y:m+p},{x:i+c/2,y:m+p},{x:i+c/2,y:m}]}case"right":{let m=i+s;return[{x:m,y:f-c/2},{x:m+p,y:f-c/2},{x:m+p,y:f+c/2},{x:m,y:f+c/2}]}case"left":{let m=i-s;return[{x:m,y:f-c/2},{x:m-p,y:f-c/2},{x:m-p,y:f+c/2},{x:m,y:f+c/2}]}case"top":default:{let m=f-u;return[{x:i-c/2,y:m},{x:i-c/2,y:m-p},{x:i+c/2,y:m-p},{x:i+c/2,y:m}]}}},"getSelfLoopPoints"),_u=t((r,e,n="top",o=0,i={})=>{let s=r.x,u=r.y-o,d=i.width??0,c=i.height??0;switch(n){case"bottom":return{x:s,y:Math.max(...e.map((p)=>p.y))+c/2+4};case"right":return{x:Math.max(...e.map((p)=>p.x))+d/2+4,y:u};case"left":return{x:Math.min(...e.map((p)=>p.x))-d/2-4,y:u};case"top":default:return{x:s,y:Math.min(...e.map((p)=>p.y))-c/2-4}}},"getSelfLoopLabelPosition"),no=t((r,e=0,{mergeSelfLoops:n=!0}={})=>{let o=new Map,i=[],f=r.graph()?.rankdir;return r.edges().forEach((s)=>{let u=r.edge(s);if(n&&u.selfLoop){let d=u.selfLoop.id;if(!o.has(d))o.set(d,[]);o.get(d).push({edge:u,start:s.v,end:s.w})}else i.push({edge:u,start:s.v,end:s.w})}),o.forEach((s)=>{if(s.length!==3){s.forEach((_)=>i.push(_));return}s.sort((_,R)=>_.edge.selfLoop.order-R.edge.selfLoop.order);let[u,d,c]=s,p=u.edge.originalEdge??d.edge.originalEdge??c.edge.originalEdge??d.edge,m=r.node(p.start);if(!m){s.forEach((_)=>i.push(_));return}let g={width:d.edge.width,height:d.edge.height},b=yu(r,m,s,p.start,f),w=wu(m,b,e,g.width??0),y=_u(m,w,b,e,g),v={...d.edge,...p,id:p.id,points:w,start:p.start,end:p.end,x:y.x,y:y.y,width:g.width,height:g.height,labelStyle:d.edge.labelStyle,fromCluster:u.edge.fromCluster??d.edge.fromCluster??c.edge.fromCluster,toCluster:u.edge.toCluster??d.edge.toCluster??c.edge.toCluster};delete v.selfLoop,delete v.originalEdge,i.push({edge:v,start:v.start,end:v.end})}),i},"getEdgesToRender"),co=t(async({element:r,graph:e,diagramType:n,id:o,parentCluster:i,siteConfig:f})=>{let s=e.graph().rankdir;a.trace("Dir in recursive render - dir:",s);let{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m}=ua(r,{edgePathsClass:"edgePaths"});if(!e.nodes())a.info("No nodes found for",e);else a.info("Recursive render XXX",e.nodes());if(e.edges().length>0)a.info("Recursive edges",e.edge(e.edges()[0]));let g=vu(n);await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let _=JSON.parse(JSON.stringify(i.clusterData));if(a.trace(`Setting data for parent cluster XXX
1
+ import{t,a,l,I,St,_o,vt,Jt,Et,Yn,en}from"./chunk-b5zf1hs3.js";import{be,Pe,Je,Ee,dt,Vt,Y,me,lt,Wt,ct,lr,ma,fa,ha,yn,kt,ga,vn,Oe,bn,$t,Ct,xn,Gt,_n,ya,va,cr,xe,ba,wn,Ht,kn,ur,dr,Yt,xa,pr,_a,Ur,pt,mr,wa,ka,Ca,He,fr,hr,Cn,Sa,gr,h,et,mt,_e,Zt,re}from"./chunk-3n9ypydh.js";import{ua,da,W,Bn,io,pa,sr}from"./chunk-81s15c2e.js";import{Rt}from"./chunk-3k9h7a73.js";var yr={};Rt(yr,{default:()=>rr});var lo=/\s/;function mo(r){var e=r.length;while(e--&&lo.test(r.charAt(e)));return e}var te=mo;var ho=/^\s+/;function go(r){return r?r.slice(0,te(r)+1).replace(ho,""):r}var ne=go;var oe=NaN,vo=/^[-+]0x[0-9a-f]+$/i,bo=/^0b[01]+$/i,yo=/^0o[0-7]+$/i,wo=parseInt;function Eo(r){if(typeof r=="number")return r;if(dt(r))return oe;if(me(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=me(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=ne(r);var n=bo.test(r);return n||yo.test(r)?wo(r.slice(2),n?2:8):vo.test(r)?oe:+r}var ie=Eo;var ae=1/0,xo=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;function Oo(r){if(!r)return r===0?r:0;if(r=ie(r),r===ae||r===-ae){var e=r<0?-1:1;return e*xo}return r===r?r:0}var V=Oo;function So(r){var e=V(r),n=e%1;return e===e?n?e-n:e:0}var fe=So;var se=Object.create,No=function(){function r(){}return function(e){if(!me(e))return{};if(se)return se(e);r.prototype=e;var n=new r;return r.prototype=void 0,n}}(),ue=No;function Po(r,e){var n=-1,o=r.length;e||(e=Array(o));while(++n<o)e[n]=r[n];return e}var vr=Po;function ko(r,e,n){if(e=="__proto__"&&lr)lr(r,e,{configurable:!0,enumerable:!0,value:n,writable:!0});else r[e]=n}var M=ko;var To=Object.prototype,Co=To.hasOwnProperty;function Ao(r,e,n){var o=r[e];if(!(Co.call(r,e)&&kt(o,n))||n===void 0&&!(e in r))M(r,e,n)}var j=Ao;function Ro(r,e,n,o){var i=!n;n||(n={});var f=-1,s=e.length;while(++f<s){var u=e[f],d=o?o(n[u],r[u],u,n,r):void 0;if(d===void 0)d=r[u];if(i)M(n,u,d);else j(n,u,d)}return n}var k=Ro;function Mo(r,e,n){if(!me(n))return!1;var o=typeof e;if(o=="number"?Oe(n)&&yn(e,n.length):o=="string"&&(e in n))return kt(n[e],r);return!1}var C=Mo;function jo(r){return vn(function(e,n){var o=-1,i=n.length,f=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;if(f=r.length>3&&typeof f=="function"?(i--,f):void 0,s&&C(n[0],n[1],s))f=i<3?void 0:f,i=1;e=Object(e);while(++o<i){var u=n[o];if(u)r(e,u,o,f)}return e})}var de=jo;function Bo(r){var e=[];if(r!=null)for(var n in Object(r))e.push(n);return e}var ce=Bo;var Fo=Object.prototype,Go=Fo.hasOwnProperty;function Xo(r){if(!me(r))return ce(r);var e=bn(r),n=[];for(var o in r)if(!(o=="constructor"&&(e||!Go.call(r,o))))n.push(o);return n}var pe=Xo;function Uo(r){return Oe(r)?ya(r,!0):pe(r)}var L=Uo;function Vo(r){var e=r==null?0:r.length;return e?dr(r,1):[]}var N=Vo;function Yo(r){return ma(ga(r,void 0,N),r+"")}var le=Yo;var zo=va(Object.getPrototypeOf,Object),z=zo;var Wo="[object Object]",qo=Function.prototype,Ho=Object.prototype,he=qo.toString,Ko=Ho.hasOwnProperty,Jo=he.call(Object);function Zo(r){if(!Ee(r)||Je(r)!=Wo)return!1;var e=z(r);if(e===null)return!0;var n=Ko.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&he.call(n)==Jo}var ge=Zo;var $o="\\ud800-\\udfff",Qo="\\u0300-\\u036f",ri="\\ufe20-\\ufe2f",ei="\\u20d0-\\u20ff",ti=Qo+ri+ei,ni="\\ufe0e\\ufe0f",oi="\\u200d",ii=RegExp("["+oi+$o+ti+ni+"]");function ai(r){return ii.test(r)}var ve=ai;function fi(r,e){return r&&k(e,xe(e),r)}var ye=fi;function si(r,e){return r&&k(e,L(e),r)}var we=si;var Ne=typeof yr=="object"&&yr&&!yr.nodeType&&yr,Le=Ne&&typeof br=="object"&&br&&!br.nodeType&&br,ui=Le&&Le.exports===Ne,Ie=ui?be.Buffer:void 0,Se=Ie?Ie.allocUnsafe:void 0;function di(r,e){if(e)return r.slice();var n=r.length,o=Se?Se(n):new r.constructor(n);return r.copy(o),o}var rr=di;function ci(r,e){return k(r,pr(r),e)}var ke=ci;var pi=Object.getOwnPropertySymbols,li=!pi?xa:function(r){var e=[];while(r)ur(e,pr(r)),r=z(r);return e},wr=li;function mi(r,e){return k(r,wr(r),e)}var Te=mi;function hi(r){return _a(r,L,wr)}var Ce=hi;var gi=Object.prototype,vi=gi.hasOwnProperty;function bi(r){var e=r.length,n=new r.constructor(e);if(e&&typeof r[0]=="string"&&vi.call(r,"index"))n.index=r.index,n.input=r.input;return n}var Ae=bi;function yi(r){var e=new r.constructor(r.byteLength);return new mr(e).set(new mr(r)),e}var q=yi;function wi(r,e){var n=e?q(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}var Re=wi;var _i=/\w*$/;function Ei(r){var e=new r.constructor(r.source,_i.exec(r));return e.lastIndex=r.lastIndex,e}var Me=Ei;var je=Pe?Pe.prototype:void 0,Be=je?je.valueOf:void 0;function xi(r){return Be?Object(Be.call(r)):{}}var De=xi;function Oi(r,e){var n=e?q(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}var _r=Oi;var Li="[object Boolean]",Ii="[object Date]",Si="[object Map]",Ni="[object Number]",Pi="[object RegExp]",ki="[object Set]",Ti="[object String]",Ci="[object Symbol]",Ai="[object ArrayBuffer]",Ri="[object DataView]",Mi="[object Float32Array]",ji="[object Float64Array]",Bi="[object Int8Array]",Di="[object Int16Array]",Fi="[object Int32Array]",Gi="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ui="[object Uint16Array]",Vi="[object Uint32Array]";function Yi(r,e,n){var o=r.constructor;switch(e){case Ai:return q(r);case Li:case Ii:return new o(+r);case Ri:return Re(r,n);case Mi:case ji:case Bi:case Di:case Fi:case Gi:case Xi:case Ui:case Vi:return _r(r,n);case Si:return new o;case Ni:case Ti:return new o(r);case Pi:return Me(r);case ki:return new o;case Ci:return De(r)}}var Fe=Yi;function zi(r){return typeof r.constructor=="function"&&!bn(r)?ue(z(r)):{}}var Er=zi;var Wi="[object Map]";function qi(r){return Ee(r)&&pt(r)==Wi}var Ge=qi;var Xe=Gt&&Gt.isMap,Hi=Xe?xn(Xe):Ge,Ue=Hi;var Ki="[object Set]";function Ji(r){return Ee(r)&&pt(r)==Ki}var Ve=Ji;var Ye=Gt&&Gt.isSet,Zi=Ye?xn(Ye):Ve,ze=Zi;var $i=1,Qi=2,ra=4,We="[object Arguments]",ea="[object Array]",ta="[object Boolean]",na="[object Date]",oa="[object Error]",qe="[object Function]",ia="[object GeneratorFunction]",aa="[object Map]",sa="[object Number]",Ke="[object Object]",ca="[object RegExp]",la="[object Set]",Ea="[object String]",Oa="[object Symbol]",La="[object WeakMap]",Ia="[object ArrayBuffer]",Na="[object DataView]",Pa="[object Float32Array]",Ta="[object Float64Array]",Aa="[object Int8Array]",Ra="[object Int16Array]",Ma="[object Int32Array]",ja="[object Uint8Array]",Ba="[object Uint8ClampedArray]",Da="[object Uint16Array]",Fa="[object Uint32Array]",x={};x[We]=x[ea]=x[Ia]=x[Na]=x[ta]=x[na]=x[Pa]=x[Ta]=x[Aa]=x[Ra]=x[Ma]=x[aa]=x[sa]=x[Ke]=x[ca]=x[la]=x[Ea]=x[Oa]=x[ja]=x[Ba]=x[Da]=x[Fa]=!0;x[oa]=x[qe]=x[La]=!1;function xr(r,e,n,o,i,f){var s,u=e&$i,d=e&Qi,c=e&ra;if(n)s=i?n(r,o,i,f):n(r);if(s!==void 0)return s;if(!me(r))return r;var p=Y(r);if(p){if(s=Ae(r),!u)return vr(r,s)}else{var m=pt(r),g=m==qe||m==ia;if(Ct(r))return rr(r,u);if(m==Ke||m==We||g&&!i){if(s=d||g?{}:Er(r),!u)return d?Te(r,we(s,r)):ke(r,ye(s,r))}else{if(!x[m])return i?r:{};s=Fe(r,m,u)}}f||(f=new Yt);var b=f.get(r);if(b)return b;if(f.set(r,s),ze(r))r.forEach(function(v){s.add(xr(v,e,n,v,r,f))});else if(Ue(r))r.forEach(function(v,_){s.set(_,xr(v,e,n,_,r,f))});var w=c?d?Ce:Ur:d?L:xe,y=p?void 0:w(r);return fa(y||r,function(v,_){if(y)_=v,v=r[_];j(s,_,xr(v,e,n,_,r,f))}),s}var Ze=xr;var Ga=1,Xa=4;function Ua(r){return Ze(r,Ga|Xa)}var $e=Ua;var Va=function(){return be.Date.now()},kr=Va;var Qe=Object.prototype,Ya=Qe.hasOwnProperty,za=vn(function(r,e){r=Object(r);var n=-1,o=e.length,i=o>2?e[2]:void 0;if(i&&C(e[0],e[1],i))o=1;while(++n<o){var f=e[n],s=L(f),u=-1,d=s.length;while(++u<d){var c=s[u],p=r[c];if(p===void 0||kt(p,Qe[c])&&!Ya.call(r,c))r[c]=f[c]}}return r}),rt=za;function Wa(r,e,n){if(n!==void 0&&!kt(r[e],n)||n===void 0&&!(e in r))M(r,e,n)}var er=Wa;function qa(r,e){if(e==="constructor"&&typeof r[e]==="function")return;if(e=="__proto__")return;return r[e]}var tr=qa;function Ha(r){return k(r,L(r))}var tt=Ha;function Ka(r,e,n,o,i,f,s){var u=tr(r,n),d=tr(e,n),c=s.get(d);if(c){er(r,n,c);return}var p=f?f(u,d,n+"",r,e,s):void 0,m=p===void 0;if(m){var g=Y(d),b=!g&&Ct(d),w=!g&&!b&&_n(d);if(p=d,g||b||w)if(Y(u))p=u;else if(Sa(u))p=vr(u);else if(b)m=!1,p=rr(d,!0);else if(w)m=!1,p=_r(d,!0);else p=[];else if(ge(d)||$t(d)){if(p=u,$t(u))p=tt(u);else if(!me(u)||Wt(u))p=Er(d)}else m=!1}if(m)s.set(d,p),i(p,d,o,f,s),s.delete(d);er(r,n,p)}var nt=Ka;function ot(r,e,n,o,i){if(r===e)return;fr(e,function(f,s){if(i||(i=new Yt),me(f))nt(r,e,s,n,ot,o,i);else{var u=o?o(tr(r,s),f,s+"",r,e,i):void 0;if(u===void 0)u=f;er(r,s,u)}},L)}var it=ot;function Ja(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}var X=Ja;function Za(r){return function(e,n,o){var i=Object(e);if(!Oe(e)){var f=He(n,3);e=xe(e),n=function(u){return f(i[u],u,i)}}var s=r(e,n,o);return s>-1?i[f?e[s]:s]:void 0}}var at=Za;var $a=Math.max;function Qa(r,e,n){var o=r==null?0:r.length;if(!o)return-1;var i=n==null?0:fe(n);if(i<0)i=$a(o+i,0);return ha(r,He(e,3),i)}var ft=Qa;var rf=at(ft),nr=rf;function ef(r,e){var n=-1,o=Oe(r)?Array(r.length):[];return Cn(r,function(i,f,s){o[++n]=e(i,f,s)}),o}var Or=ef;function tf(r,e){var n=Y(r)?Vt:Or;return n(r,He(e,3))}var E=tf;function nf(r,e){return r==null?r:fr(r,gr(e),L)}var st=nf;function of(r,e){return r&&hr(r,gr(e))}var ut=of;function af(r,e){return r>e}var ht=af;var ff=Object.prototype,sf=ff.hasOwnProperty;function uf(r,e){return r!=null&&sf.call(r,e)}var gt=uf;function df(r,e){return r!=null&&wa(r,e,gt)}var Lr=df;var cf="[object String]";function pf(r){return typeof r=="string"||!Y(r)&&Ee(r)&&Je(r)==cf}var bt=pf;function lf(r,e){return r<e}var Ir=lf;function mf(r,e){var n={};return e=He(e,3),hr(r,function(o,i,f){M(n,i,e(o,i,f))}),n}var H=mf;function hf(r,e,n){var o=-1,i=r.length;while(++o<i){var f=r[o],s=e(f);if(s!=null&&(u===void 0?s===s&&!dt(s):n(s,u)))var u=s,d=f}return d}var K=hf;function gf(r){return r&&r.length?K(r,lt,ht):void 0}var S=gf;var vf=de(function(r,e,n){it(r,e,n)}),or=vf;function bf(r){return r&&r.length?K(r,lt,Ir):void 0}var B=bf;function yf(r,e){return r&&r.length?K(r,He(e,2),Ir):void 0}var J=yf;function wf(r,e,n,o){if(!me(r))return r;e=wn(e,r);var i=-1,f=e.length,s=f-1,u=r;while(u!=null&&++i<f){var d=Ht(e[i]),c=n;if(d==="__proto__"||d==="constructor"||d==="prototype")return r;if(i!=s){var p=u[d];if(c=o?o(p,d,u):void 0,c===void 0)c=me(p)?p:yn(e[i+1])?[]:{}}j(u,d,c),u=u[d]}return r}var yt=wf;function _f(r,e,n){var o=-1,i=e.length,f={};while(++o<i){var s=e[o],u=kn(r,s);if(n(u,s))yt(f,wn(s,r),u)}return f}var wt=_f;function Ef(r,e){var n=r.length;r.sort(e);while(n--)r[n]=r[n].value;return r}var _t=Ef;function xf(r,e){if(r!==e){var n=r!==void 0,o=r===null,i=r===r,f=dt(r),s=e!==void 0,u=e===null,d=e===e,c=dt(e);if(!u&&!c&&!f&&r>e||f&&s&&d&&!u&&!c||o&&s&&d||!n&&d||!i)return 1;if(!o&&!f&&!c&&r<e||c&&n&&i&&!o&&!f||u&&n&&i||!s&&i||!d)return-1}return 0}var xt=xf;function Of(r,e,n){var o=-1,i=r.criteria,f=e.criteria,s=i.length,u=n.length;while(++o<s){var d=xt(i[o],f[o]);if(d){if(o>=u)return d;var c=n[o];return d*(c=="desc"?-1:1)}}return r.index-e.index}var Ot=Of;function Lf(r,e,n){if(e.length)e=Vt(e,function(f){if(Y(f))return function(s){return kn(s,f.length===1?f[0]:f)};return f});else e=[lt];var o=-1;e=Vt(e,xn(He));var i=Or(r,function(f,s,u){var d=Vt(e,function(c){return c(f)});return{criteria:d,index:++o,value:f}});return _t(i,function(f,s){return Ot(f,s,n)})}var Lt=Lf;var If=Ca("length"),It=If;var Pt="\\ud800-\\udfff",Sf="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",Pf="\\u20d0-\\u20ff",kf=Sf+Nf+Pf,Tf="\\ufe0e\\ufe0f",Cf="["+Pt+"]",Tr="["+kf+"]",Cr="\\ud83c[\\udffb-\\udfff]",Af="(?:"+Tr+"|"+Cr+")",Tt="[^"+Pt+"]",At="(?:\\ud83c[\\udde6-\\uddff]){2}",Mt="[\\ud800-\\udbff][\\udc00-\\udfff]",Rf="\\u200d",jt=Af+"?",Bt="["+Tf+"]?",Mf="(?:"+Rf+"(?:"+[Tt,At,Mt].join("|")+")"+Bt+jt+")*",jf=Bt+jt+Mf,Bf="(?:"+[Tt+Tr+"?",Tr,At,Mt,Cf].join("|")+")",Nt=RegExp(Cr+"(?="+Cr+")|"+Bf+jf,"g");function Df(r){var e=Nt.lastIndex=0;while(Nt.test(r))++e;return e}var Dt=Df;function Ff(r){return ve(r)?Dt(r):It(r)}var Ft=Ff;function Gf(r,e){return wt(r,e,function(n,o){return ka(r,o)})}var Xt=Gf;var Xf=le(function(r,e){return r==null?{}:Xt(r,e)}),Z=Xf;var{ceil:Uf,max:Vf}=Math;function Yf(r,e,n,o){var i=-1,f=Vf(Uf((e-r)/(n||1)),0),s=Array(f);while(f--)s[o?f:++i]=r,r+=n;return s}var Ut=Yf;function zf(r){return function(e,n,o){if(o&&typeof o!="number"&&C(e,n,o))n=o=void 0;if(e=V(e),n===void 0)n=e,e=0;else n=V(n);return o=o===void 0?e<n?1:-1:V(o),Ut(e,n,o,r)}}var zt=zf;var Wf=zt(),P=Wf;var qf="[object Map]",Hf="[object Set]";function Kf(r){if(r==null)return 0;if(Oe(r))return bt(r)?Ft(r):r.length;var e=pt(r);if(e==qf||e==Hf)return r.size;return cr(r).length}var qt=Kf;var Jf=vn(function(r,e){if(r==null)return[];var n=e.length;if(n>1&&C(r,e[0],e[1]))e=[];else if(n>2&&C(e[0],e[1],e[2]))e=[e[0]];return Lt(r,dr(e,1),[])}),A=Jf;var Zf=0;function $f(r){var e=++Zf;return ba(r)+e}var Q=$f;function Qf(r,e,n){var o=-1,i=r.length,f=e.length,s={};while(++o<i){var u=o<f?e[o]:void 0;n(s,r[o],u)}return s}var Kt=Qf;function rs(r,e){return Kt(r||[],e||[],j)}var Ar=rs;class Rr{constructor(){var r={};r._next=r._prev=r,this._sentinel=r}dequeue(){var r=this._sentinel,e=r._prev;if(e!==r)return Qt(e),e}enqueue(r){var e=this._sentinel;if(r._prev&&r._next)Qt(r);r._next=e._next,e._next._prev=r,e._next=r,r._prev=e}toString(){var r=[],e=this._sentinel,n=e._prev;while(n!==e)r.push(JSON.stringify(n,es)),n=n._prev;return"["+r.join(", ")+"]"}}function Qt(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function es(r,e){if(r!=="_next"&&r!=="_prev")return e}var ts=ct(1);function rn(r,e){if(r.nodeCount()<=1)return[];var n=os(r,e||ts),o=ns(n.graph,n.buckets,n.zeroIdx);return N(E(o,function(i){return r.outEdges(i.v,i.w)}))}function ns(r,e,n){var o=[],i=e[e.length-1],f=e[0],s;while(r.nodeCount()){while(s=f.dequeue())Mr(r,e,n,s);while(s=i.dequeue())Mr(r,e,n,s);if(r.nodeCount()){for(var u=e.length-2;u>0;--u)if(s=e[u].dequeue(),s){o=o.concat(Mr(r,e,n,s,!0));break}}}return o}function Mr(r,e,n,o,i){var f=i?[]:void 0;return h(r.inEdges(o.v),function(s){var u=r.edge(s),d=r.node(s.v);if(i)f.push({v:s.v,w:s.w});d.out-=u,jr(e,n,d)}),h(r.outEdges(o.v),function(s){var u=r.edge(s),d=s.w,c=r.node(d);c.in-=u,jr(e,n,c)}),r.removeNode(o.v),f}function os(r,e){var n=new re,o=0,i=0;h(r.nodes(),function(u){n.setNode(u,{v:u,in:0,out:0})}),h(r.edges(),function(u){var d=n.edge(u.v,u.w)||0,c=e(u),p=d+c;n.setEdge(u.v,u.w,p),i=Math.max(i,n.node(u.v).out+=c),o=Math.max(o,n.node(u.w).in+=c)});var f=P(i+o+3).map(function(){return new Rr}),s=o+1;return h(n.nodes(),function(u){jr(f,s,n.node(u))}),{graph:n,buckets:f,zeroIdx:s}}function jr(r,e,n){if(!n.out)r[0].enqueue(n);else if(!n.in)r[r.length-1].enqueue(n);else r[n.out-n.in+e].enqueue(n)}function tn(r){var e=r.graph().acyclicer==="greedy"?rn(r,n(r)):is(r);h(e,function(o){var i=r.edge(o);r.removeEdge(o),i.forwardName=o.name,i.reversed=!0,r.setEdge(o.w,o.v,i,Q("rev"))});function n(o){return function(i){return o.edge(i).weight}}}function is(r){var e=[],n={},o={};function i(f){if(Object.prototype.hasOwnProperty.call(o,f))return;o[f]=!0,n[f]=!0,h(r.outEdges(f),function(s){if(Object.prototype.hasOwnProperty.call(n,s.w))e.push(s);else i(s.w)}),delete n[f]}return h(r.nodes(),i),e}function nn(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed){r.removeEdge(e);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(e.w,e.v,n,o)}})}function T(r,e,n,o){var i;do i=Q(o);while(r.hasNode(i));return n.dummy=e,r.setNode(i,n),i}function an(r){var e=new re().setGraph(r.graph());return h(r.nodes(),function(n){e.setNode(n,r.node(n))}),h(r.edges(),function(n){var o=e.edge(n.v,n.w)||{weight:0,minlen:1},i=r.edge(n);e.setEdge(n.v,n.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),e}function Sr(r){var e=new re({multigraph:r.isMultigraph()}).setGraph(r.graph());return h(r.nodes(),function(n){if(!r.children(n).length)e.setNode(n,r.node(n))}),h(r.edges(),function(n){e.setEdge(n,r.edge(n))}),e}function Br(r,e){var{x:n,y:o}=r,i=e.x-n,f=e.y-o,s=r.width/2,u=r.height/2;if(!i&&!f)throw Error("Not possible to find intersection inside of the rectangle");var d,c;if(Math.abs(f)*s>Math.abs(i)*u){if(f<0)u=-u;d=u*i/f,c=u}else{if(i<0)s=-s;d=s,c=s*f/i}return{x:n+d,y:o+c}}function D(r){var e=E(P(Fr(r)+1),function(){return[]});return h(r.nodes(),function(n){var o=r.node(n),i=o.rank;if(!_e(i))e[i][o.order]=n}),e}function fn(r){var e=B(E(r.nodes(),function(n){return r.node(n).rank}));h(r.nodes(),function(n){var o=r.node(n);if(Lr(o,"rank"))o.rank-=e})}function sn(r){var e=B(E(r.nodes(),function(f){return r.node(f).rank})),n=[];h(r.nodes(),function(f){var s=r.node(f).rank-e;if(!n[s])n[s]=[];n[s].push(f)});var o=0,i=r.graph().nodeRankFactor;h(n,function(f,s){if(_e(f)&&s%i!==0)--o;else if(o)h(f,function(u){r.node(u).rank+=o})})}function Dr(r,e,n,o){var i={width:0,height:0};if(arguments.length>=4)i.rank=n,i.order=o;return T(r,"border",i,e)}function Fr(r){return S(E(r.nodes(),function(e){var n=r.node(e).rank;if(!_e(n))return n}))}function un(r,e){var n={lhs:[],rhs:[]};return h(r,function(o){if(e(o))n.lhs.push(o);else n.rhs.push(o)}),n}function dn(r,e){var n=kr();try{return e()}finally{console.log(r+" time: "+(kr()-n)+"ms")}}function cn(r,e){return e()}function ln(r){function e(n){var o=r.children(n),i=r.node(n);if(o.length)h(o,e);if(Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var f=i.minRank,s=i.maxRank+1;f<s;++f)pn(r,"borderLeft","_bl",n,i,f),pn(r,"borderRight","_br",n,i,f)}}h(r.children(),e)}function pn(r,e,n,o,i,f){var s={width:0,height:0,rank:f,borderType:e},u=i[e][f-1],d=T(r,"border",s,n);if(i[e][f]=d,r.setParent(d,o),u)r.setEdge(u,d,{weight:1})}function hn(r){var e=r.graph().rankdir.toLowerCase();if(e==="lr"||e==="rl")En(r)}function gn(r){var e=r.graph().rankdir.toLowerCase();if(e==="bt"||e==="rl")as(r);if(e==="lr"||e==="rl")fs(r),En(r)}function En(r){h(r.nodes(),function(e){mn(r.node(e))}),h(r.edges(),function(e){mn(r.edge(e))})}function mn(r){var e=r.width;r.width=r.height,r.height=e}function as(r){h(r.nodes(),function(e){Gr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Gr),Object.prototype.hasOwnProperty.call(n,"y"))Gr(n)})}function Gr(r){r.y=-r.y}function fs(r){h(r.nodes(),function(e){Xr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Xr),Object.prototype.hasOwnProperty.call(n,"x"))Xr(n)})}function Xr(r){var e=r.x;r.x=r.y,r.y=e}function On(r){r.graph().dummyChains=[],h(r.edges(),function(e){us(r,e)})}function us(r,e){var n=e.v,o=r.node(n).rank,i=e.w,f=r.node(i).rank,s=e.name,u=r.edge(e),d=u.labelRank;if(f===o+1)return;r.removeEdge(e);var c=void 0,p,m;for(m=0,++o;o<f;++m,++o){if(u.points=[],c={width:0,height:0,edgeLabel:u,edgeObj:e,rank:o},p=T(r,"edge",c,"_d"),o===d)c.width=u.width,c.height=u.height,c.dummy="edge-label",c.labelpos=u.labelpos;if(r.setEdge(n,p,{weight:u.weight},s),m===0)r.graph().dummyChains.push(p);n=p}r.setEdge(n,i,{weight:u.weight},s)}function Ln(r){h(r.graph().dummyChains,function(e){var n=r.node(e),o=n.edgeLabel,i;r.setEdge(n.edgeObj,o);while(n.dummy){if(i=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label")o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height;e=i,n=r.node(e)}})}function ir(r){var e={};function n(o){var i=r.node(o);if(Object.prototype.hasOwnProperty.call(e,o))return i.rank;e[o]=!0;var f=B(E(r.outEdges(o),function(s){return n(s.w)-r.edge(s).minlen}));if(f===Number.POSITIVE_INFINITY||f===void 0||f===null)f=0;return i.rank=f}h(r.sources(),n)}function U(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function Nr(r){var e=new re({directed:!1}),n=r.nodes()[0],o=r.nodeCount();e.setNode(n,{});var i,f;while(ds(e,r)<o)i=cs(e,r),f=e.hasNode(i.v)?U(r,i):-U(r,i),ps(e,r,f);return e}function ds(r,e){function n(o){h(e.nodeEdges(o),function(i){var f=i.v,s=o===f?i.w:f;if(!r.hasNode(s)&&!U(e,i))r.setNode(s,{}),r.setEdge(o,s,{}),n(s)})}return h(r.nodes(),n),r.nodeCount()}function cs(r,e){return J(e.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return U(e,n)})}function ps(r,e,n){h(r.nodes(),function(o){e.node(o).rank+=n})}var dh=ct(1);var vh=ct(1);Vr.CycleException=ar;function Vr(r){var e={},n={},o=[];function i(f){if(Object.prototype.hasOwnProperty.call(n,f))throw new ar;if(!Object.prototype.hasOwnProperty.call(e,f))n[f]=!0,e[f]=!0,h(r.predecessors(f),i),delete n[f],o.push(f)}if(h(r.sinks(),i),qt(e)!==r.nodeCount())throw new ar;return o}function ar(){}ar.prototype=Error();function Pr(r,e,n){if(!Y(e))e=[e];var o=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],f={};return h(e,function(s){if(!r.hasNode(s))throw Error("Graph does not have node: "+s);Sn(r,s,n==="post",f,o,i)}),i}function Sn(r,e,n,o,i,f){if(!Object.prototype.hasOwnProperty.call(o,e)){if(o[e]=!0,!n)f.push(e);if(h(i(e),function(s){Sn(r,s,n,o,i,f)}),n)f.push(e)}}function Yr(r,e){return Pr(r,e,"post")}function zr(r,e){return Pr(r,e,"pre")}G.initLowLimValues=qr;G.initCutValues=Wr;G.calcCutValue=Pn;G.leaveEdge=An;G.enterEdge=Rn;G.exchangeEdges=Mn;function G(r){r=an(r),ir(r);var e=Nr(r);qr(e),Wr(e,r);var n,o;while(n=An(e))o=Rn(e,r,n),Mn(e,r,n,o)}function Wr(r,e){var n=Yr(r,r.nodes());n=n.slice(0,n.length-1),h(n,function(o){vs(r,e,o)})}function vs(r,e,n){var o=r.node(n),i=o.parent;r.edge(n,i).cutvalue=Pn(r,e,n)}function Pn(r,e,n){var o=r.node(n),i=o.parent,f=!0,s=e.edge(n,i),u=0;if(!s)f=!1,s=e.edge(i,n);return u=s.weight,h(e.nodeEdges(n),function(d){var c=d.v===n,p=c?d.w:d.v;if(p!==i){var m=c===f,g=e.edge(d).weight;if(u+=m?g:-g,ys(r,n,p)){var b=r.edge(n,p).cutvalue;u+=m?-b:b}}}),u}function qr(r,e){if(arguments.length<2)e=r.nodes()[0];Tn(r,{},1,e)}function Tn(r,e,n,o,i){var f=n,s=r.node(o);if(e[o]=!0,h(r.neighbors(o),function(u){if(!Object.prototype.hasOwnProperty.call(e,u))n=Tn(r,e,n,u,o)}),s.low=f,s.lim=n++,i)s.parent=i;else delete s.parent;return n}function An(r){return nr(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Rn(r,e,n){var{v:o,w:i}=n;if(!e.hasEdge(o,i))o=n.w,i=n.v;var f=r.node(o),s=r.node(i),u=f,d=!1;if(f.lim>s.lim)u=s,d=!0;var c=et(e.edges(),function(p){return d===Nn(r,r.node(p.v),u)&&d!==Nn(r,r.node(p.w),u)});return J(c,function(p){return U(e,p)})}function Mn(r,e,n,o){var{v:i,w:f}=n;r.removeEdge(i,f),r.setEdge(o.v,o.w,{}),qr(r),Wr(r,e),bs(r,e)}function bs(r,e){var n=nr(r.nodes(),function(i){return!e.node(i).parent}),o=zr(r,n);o=o.slice(1),h(o,function(i){var f=r.node(i).parent,s=e.edge(i,f),u=!1;if(!s)s=e.edge(f,i),u=!0;e.node(i).rank=e.node(f).rank+(u?s.minlen:-s.minlen)})}function ys(r,e,n){return r.hasEdge(e,n)}function Nn(r,e,n){return n.low<=e.lim&&e.lim<=n.lim}function Hr(r){switch(r.graph().ranker){case"network-simplex":jn(r);break;case"tight-tree":_s(r);break;case"longest-path":ws(r);break;default:jn(r)}}var ws=ir;function _s(r){ir(r),Nr(r)}function jn(r){G(r)}function Dn(r){var e=T(r,"root",{},"_root"),n=Es(r),o=S(mt(n))-1,i=2*o+1;r.graph().nestingRoot=e,h(r.edges(),function(s){r.edge(s).minlen*=i});var f=xs(r)+1;h(r.children(),function(s){Fn(r,e,i,f,o,n,s)}),r.graph().nodeRankFactor=i}function Fn(r,e,n,o,i,f,s){var u=r.children(s);if(!u.length){if(s!==e)r.setEdge(e,s,{weight:0,minlen:n});return}var d=Dr(r,"_bt"),c=Dr(r,"_bb"),p=r.node(s);if(r.setParent(d,s),p.borderTop=d,r.setParent(c,s),p.borderBottom=c,h(u,function(m){Fn(r,e,n,o,i,f,m);var g=r.node(m),b=g.borderTop?g.borderTop:m,w=g.borderBottom?g.borderBottom:m,y=g.borderTop?o:2*o,v=b!==w?1:i-f[s]+1;r.setEdge(d,b,{weight:y,minlen:v,nestingEdge:!0}),r.setEdge(w,c,{weight:y,minlen:v,nestingEdge:!0})}),!r.parent(s))r.setEdge(e,d,{weight:0,minlen:i+f[s]})}function Es(r){var e={};function n(o,i){var f=r.children(o);if(f&&f.length)h(f,function(s){n(s,i+1)});e[o]=i}return h(r.children(),function(o){n(o,1)}),e}function xs(r){return Zt(r.edges(),function(e,n){return e+r.edge(n).weight},0)}function Gn(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,h(r.edges(),function(n){var o=r.edge(n);if(o.nestingEdge)r.removeEdge(n)})}function Xn(r,e,n){var o={},i;h(n,function(f){var s=r.parent(f),u,d;while(s){if(u=r.parent(s),u)d=o[u],o[u]=s;else d=i,i=s;if(d&&d!==s){e.setEdge(d,s);return}s=u}})}function Un(r,e,n){var o=Ls(r),i=new re({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(f){return r.node(f)});return h(r.nodes(),function(f){var s=r.node(f),u=r.parent(f);if(s.rank===e||s.minRank<=e&&e<=s.maxRank){if(i.setNode(f),i.setParent(f,u||o),h(r[n](f),function(d){var c=d.v===f?d.w:d.v,p=i.edge(c,f),m=!_e(p)?p.weight:0;i.setEdge(c,f,{weight:r.edge(d).weight+m})}),Object.prototype.hasOwnProperty.call(s,"minRank"))i.setNode(f,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]})}}),i}function Ls(r){var e;while(r.hasNode(e=Q("_root")));return e}function Vn(r,e){var n=0;for(var o=1;o<e.length;++o)n+=Is(r,e[o-1],e[o]);return n}function Is(r,e,n){var o=Ar(n,E(n,function(c,p){return p})),i=N(E(e,function(c){return A(E(r.outEdges(c),function(p){return{pos:o[p.w],weight:r.edge(p).weight}}),"pos")})),f=1;while(f<n.length)f<<=1;var s=2*f-1;f-=1;var u=E(Array(s),function(){return 0}),d=0;return h(i.forEach(function(c){var p=c.pos+f;u[p]+=c.weight;var m=0;while(p>0){if(p%2)m+=u[p+1];p=p-1>>1,u[p]+=c.weight}d+=c.weight*m})),d}function zn(r){var e={},n=et(r.nodes(),function(u){return!r.children(u).length}),o=S(E(n,function(u){return r.node(u).rank})),i=E(P(o+1),function(){return[]});function f(u){if(Lr(e,u))return;e[u]=!0;var d=r.node(u);i[d.rank].push(u),h(r.successors(u),f)}var s=A(n,function(u){return r.node(u).rank});return h(s,f),i}function Wn(r,e){return E(e,function(n){var o=r.inEdges(n);if(!o.length)return{v:n};else{var i=Zt(o,function(f,s){var u=r.edge(s),d=r.node(s.v);return{sum:f.sum+u.weight*d.order,weight:f.weight+u.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function qn(r,e){var n={};h(r,function(i,f){var s=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:f};if(!_e(i.barycenter))s.barycenter=i.barycenter,s.weight=i.weight}),h(e.edges(),function(i){var f=n[i.v],s=n[i.w];if(!_e(f)&&!_e(s))s.indegree++,f.out.push(n[i.w])});var o=et(n,function(i){return!i.indegree});return Ss(o)}function Ss(r){var e=[];function n(f){return function(s){if(s.merged)return;if(_e(s.barycenter)||_e(f.barycenter)||s.barycenter>=f.barycenter)Ns(f,s)}}function o(f){return function(s){if(s.in.push(f),--s.indegree===0)r.push(s)}}while(r.length){var i=r.pop();e.push(i),h(i.in.reverse(),n(i)),h(i.out,o(i))}return E(et(e,function(f){return!f.merged}),function(f){return Z(f,["vs","i","barycenter","weight"])})}function Ns(r,e){var n=0,o=0;if(r.weight)n+=r.barycenter*r.weight,o+=r.weight;if(e.weight)n+=e.barycenter*e.weight,o+=e.weight;r.vs=e.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}function Kn(r,e){var n=un(r,function(p){return Object.prototype.hasOwnProperty.call(p,"barycenter")}),o=n.lhs,i=A(n.rhs,function(p){return-p.i}),f=[],s=0,u=0,d=0;o.sort(Ps(!!e)),d=Hn(f,i,d),h(o,function(p){d+=p.vs.length,f.push(p.vs),s+=p.barycenter*p.weight,u+=p.weight,d=Hn(f,i,d)});var c={vs:N(f)};if(u)c.barycenter=s/u,c.weight=u;return c}function Hn(r,e,n){var o;while(e.length&&(o=X(e)).i<=n)e.pop(),r.push(o.vs),n++;return n}function Ps(r){return function(e,n){if(e.barycenter<n.barycenter)return-1;else if(e.barycenter>n.barycenter)return 1;return!r?e.i-n.i:n.i-e.i}}function Kr(r,e,n,o){var i=r.children(e),f=r.node(e),s=f?f.borderLeft:void 0,u=f?f.borderRight:void 0,d={};if(s)i=et(i,function(w){return w!==s&&w!==u});var c=Wn(r,i);h(c,function(w){if(r.children(w.v).length){var y=Kr(r,w.v,n,o);if(d[w.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter"))Ts(w,y)}});var p=qn(c,n);ks(p,d);var m=Kn(p,o);if(s){if(m.vs=N([s,m.vs,u]),r.predecessors(s).length){var g=r.node(r.predecessors(s)[0]),b=r.node(r.predecessors(u)[0]);if(!Object.prototype.hasOwnProperty.call(m,"barycenter"))m.barycenter=0,m.weight=0;m.barycenter=(m.barycenter*m.weight+g.order+b.order)/(m.weight+2),m.weight+=2}}return m}function ks(r,e){h(r,function(n){n.vs=N(n.vs.map(function(o){if(e[o])return e[o].vs;return o}))})}function Ts(r,e){if(!_e(r.barycenter))r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight;else r.barycenter=e.barycenter,r.weight=e.weight}function $n(r){var e=Fr(r),n=Jn(r,P(1,e+1),"inEdges"),o=Jn(r,P(e-1,-1,-1),"outEdges"),i=zn(r);Zn(r,i);var f=Number.POSITIVE_INFINITY,s;for(var u=0,d=0;d<4;++u,++d){Cs(u%2?n:o,u%4>=2),i=D(r);var c=Vn(r,i);if(c<f)d=0,s=$e(i),f=c}Zn(r,s)}function Jn(r,e,n){return E(e,function(o){return Un(r,o,n)})}function Cs(r,e){var n=new re;h(r,function(o){var i=o.graph().root,f=Kr(o,i,n,e);h(f.vs,function(s,u){o.node(s).order=u}),Xn(o,n,f.vs)})}function Zn(r,e){h(e,function(n){h(n,function(o,i){r.node(o).order=i})})}function Qn(r){var e=Rs(r);h(r.graph().dummyChains,function(n){var o=r.node(n),i=o.edgeObj,f=As(r,e,i.v,i.w),{path:s,lca:u}=f,d=0,c=s[d],p=!0;while(n!==i.w){if(o=r.node(n),p){while((c=s[d])!==u&&r.node(c).maxRank<o.rank)d++;if(c===u)p=!1}if(!p){while(d<s.length-1&&r.node(c=s[d+1]).minRank<=o.rank)d++;c=s[d]}r.setParent(n,c),n=r.successors(n)[0]}})}function As(r,e,n,o){var i=[],f=[],s=Math.min(e[n].low,e[o].low),u=Math.max(e[n].lim,e[o].lim),d,c;d=n;do d=r.parent(d),i.push(d);while(d&&(e[d].low>s||u>e[d].lim));c=d,d=o;while((d=r.parent(d))!==c)f.push(d);return{path:i.concat(f.reverse()),lca:c}}function Rs(r){var e={},n=0;function o(i){var f=n;h(r.children(i),o),e[i]={low:f,lim:n++}}return h(r.children(),o),e}function Ms(r,e){var n={};function o(i,f){var s=0,u=0,d=i.length,c=X(f);return h(f,function(p,m){var g=Bs(r,p),b=g?r.node(g).order:d;if(g||p===c)h(f.slice(u,m+1),function(w){h(r.predecessors(w),function(y){var v=r.node(y),_=v.order;if((_<s||b<_)&&!(v.dummy&&r.node(w).dummy))eo(n,y,w)})}),u=m+1,s=b}),f}return Zt(e,o),n}function js(r,e){var n={};function o(f,s,u,d,c){var p;h(P(s,u),function(m){if(p=f[m],r.node(p).dummy)h(r.predecessors(p),function(g){var b=r.node(g);if(b.dummy&&(b.order<d||b.order>c))eo(n,g,p)})})}function i(f,s){var u=-1,d,c=0;return h(s,function(p,m){if(r.node(p).dummy==="border"){var g=r.predecessors(p);if(g.length)d=r.node(g[0]).order,o(s,c,m,u,d),c=m,u=d}o(s,c,s.length,d,f.length)}),s}return Zt(e,i),n}function Bs(r,e){if(r.node(e).dummy)return nr(r.predecessors(e),function(n){return r.node(n).dummy})}function eo(r,e,n){if(e>n){var o=e;e=n,n=o}if(!Object.prototype.hasOwnProperty.call(r,e))Object.defineProperty(r,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=r[e];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ds(r,e,n){if(e>n){var o=e;e=n,n=o}return!!r[e]&&Object.prototype.hasOwnProperty.call(r[e],n)}function Fs(r,e,n,o){var i={},f={},s={};return h(e,function(u){h(u,function(d,c){i[d]=d,f[d]=d,s[d]=c})}),h(e,function(u){var d=-1;h(u,function(c){var p=o(c);if(p.length){p=A(p,function(y){return s[y]});var m=(p.length-1)/2;for(var g=Math.floor(m),b=Math.ceil(m);g<=b;++g){var w=p[g];if(f[c]===c&&d<s[w]&&!Ds(n,c,w))f[w]=c,f[c]=i[c]=i[w],d=s[w]}}})}),{root:i,align:f}}function Gs(r,e,n,o,i){var f={},s=Xs(r,e,n,i),u=i?"borderLeft":"borderRight";function d(m,g){var b=s.nodes(),w=b.pop(),y={};while(w){if(y[w])m(w);else y[w]=!0,b.push(w),b=b.concat(g(w));w=b.pop()}}function c(m){f[m]=s.inEdges(m).reduce(function(g,b){return Math.max(g,f[b.v]+s.edge(b))},0)}function p(m){var g=s.outEdges(m).reduce(function(w,y){return Math.min(w,f[y.w]-s.edge(y))},Number.POSITIVE_INFINITY),b=r.node(m);if(g!==Number.POSITIVE_INFINITY&&b.borderType!==u)f[m]=Math.max(f[m],g)}return d(c,s.predecessors.bind(s)),d(p,s.successors.bind(s)),h(o,function(m){f[m]=f[n[m]]}),f}function Xs(r,e,n,o){var i=new re,f=r.graph(),s=zs(f.nodesep,f.edgesep,o);return h(e,function(u){var d;h(u,function(c){var p=n[c];if(i.setNode(p),d){var m=n[d],g=i.edge(m,p);i.setEdge(m,p,Math.max(s(r,c,d),g||0))}d=c})}),i}function Us(r,e){return J(mt(e),function(n){var{NEGATIVE_INFINITY:o,POSITIVE_INFINITY:i}=Number;return st(n,function(f,s){var u=Ws(r,s)/2;o=Math.max(f+u,o),i=Math.min(f-u,i)}),o-i})}function Vs(r,e){var n=mt(e),o=B(n),i=S(n);h(["u","d"],function(f){h(["l","r"],function(s){var u=f+s,d=r[u],c;if(d===e)return;var p=mt(d);if(c=s==="l"?o-B(p):i-S(p),c)r[u]=H(d,function(m){return m+c})})})}function Ys(r,e){return H(r.ul,function(n,o){if(e)return r[e.toLowerCase()][o];else{var i=A(E(r,o));return(i[1]+i[2])/2}})}function to(r){var e=D(r),n=or(Ms(r,e),js(r,e)),o={},i;h(["u","d"],function(s){i=s==="u"?e:mt(e).reverse(),h(["l","r"],function(u){if(u==="r")i=E(i,function(m){return mt(m).reverse()});var d=(s==="u"?r.predecessors:r.successors).bind(r),c=Fs(r,i,n,d),p=Gs(r,i,c.root,c.align,u==="r");if(u==="r")p=H(p,function(m){return-m});o[s+u]=p})});var f=Us(r,o);return Vs(o,f),Ys(o,r.graph().align)}function zs(r,e,n){return function(o,i,f){var s=o.node(i),u=o.node(f),d=0,c;if(d+=s.width/2,Object.prototype.hasOwnProperty.call(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":c=-s.width/2;break;case"r":c=s.width/2;break}if(c)d+=n?c:-c;if(c=0,d+=(s.dummy?e:r)/2,d+=(u.dummy?e:r)/2,d+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":c=u.width/2;break;case"r":c=-u.width/2;break}if(c)d+=n?c:-c;return c=0,d}}function Ws(r,e){return r.node(e).width}function oo(r){r=Sr(r),qs(r),ut(to(r),function(e,n){r.node(n).x=e})}function qs(r){var e=D(r),n=r.graph().ranksep,o=0;h(e,function(i){var f=S(E(i,function(s){return r.node(s).height}));h(i,function(s){r.node(s).y=o+f/2}),o+=f+n})}function $r(r,e){var n=e&&e.debugTiming?dn:cn;n("layout",()=>{var o=n(" buildLayoutGraph",()=>ou(r));n(" runLayout",()=>Hs(o,n)),n(" updateInputGraph",()=>Ks(r,o))})}function Hs(r,e){e(" makeSpaceForEdgeLabels",()=>iu(r)),e(" removeSelfEdges",()=>mu(r)),e(" acyclic",()=>tn(r)),e(" nestingGraph.run",()=>Dn(r)),e(" rank",()=>Hr(Sr(r))),e(" injectEdgeLabelProxies",()=>au(r)),e(" removeEmptyRanks",()=>sn(r)),e(" nestingGraph.cleanup",()=>Gn(r)),e(" normalizeRanks",()=>fn(r)),e(" assignRankMinMax",()=>fu(r)),e(" removeEdgeLabelProxies",()=>su(r)),e(" normalize.run",()=>On(r)),e(" parentDummyChains",()=>Qn(r)),e(" addBorderSegments",()=>ln(r)),e(" order",()=>$n(r)),e(" insertSelfEdges",()=>hu(r)),e(" adjustCoordinateSystem",()=>hn(r)),e(" position",()=>oo(r)),e(" positionSelfEdges",()=>gu(r)),e(" removeBorderNodes",()=>lu(r)),e(" normalize.undo",()=>Ln(r)),e(" fixupEdgeLabelCoords",()=>cu(r)),e(" undoCoordinateSystem",()=>gn(r)),e(" translateGraph",()=>uu(r)),e(" assignNodeIntersects",()=>du(r)),e(" reversePoints",()=>pu(r)),e(" acyclic.undo",()=>nn(r))}function Ks(r,e){h(r.nodes(),function(n){var o=r.node(n),i=e.node(n);if(o){if(o.x=i.x,o.y=i.y,e.children(n).length)o.width=i.width,o.height=i.height}}),h(r.edges(),function(n){var o=r.edge(n),i=e.edge(n);if(o.points=i.points,Object.prototype.hasOwnProperty.call(i,"x"))o.x=i.x,o.y=i.y}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var Js=["nodesep","edgesep","ranksep","marginx","marginy"],Zs={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$s=["acyclicer","ranker","rankdir","align"],Qs=["width","height"],ru={width:0,height:0},eu=["minlen","weight","width","height","labeloffset"],tu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nu=["labelpos"];function ou(r){var e=new re({multigraph:!0,compound:!0}),n=Zr(r.graph());return e.setGraph(or({},Zs,Jr(n,Js),Z(n,$s))),h(r.nodes(),function(o){var i=Zr(r.node(o));e.setNode(o,rt(Jr(i,Qs),ru)),e.setParent(o,r.parent(o))}),h(r.edges(),function(o){var i=Zr(r.edge(o));e.setEdge(o,or({},tu,Jr(i,eu),Z(i,nu)))}),e}function iu(r){var e=r.graph();e.ranksep/=2,h(r.edges(),function(n){var o=r.edge(n);if(o.minlen*=2,o.labelpos.toLowerCase()!=="c")if(e.rankdir==="TB"||e.rankdir==="BT")o.width+=o.labeloffset;else o.height+=o.labeloffset})}function au(r){h(r.edges(),function(e){var n=r.edge(e);if(n.width&&n.height){var o=r.node(e.v),i=r.node(e.w),f={rank:(i.rank-o.rank)/2+o.rank,e};T(r,"edge-proxy",f,"_ep")}})}function fu(r){var e=0;h(r.nodes(),function(n){var o=r.node(n);if(o.borderTop)o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=S(e,o.maxRank)}),r.graph().maxRank=e}function su(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="edge-proxy")r.edge(n.e).labelRank=n.rank,r.removeNode(e)})}function uu(r){var e=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,i=0,f=r.graph(),s=f.marginx||0,u=f.marginy||0;function d(c){var{x:p,y:m,width:g,height:b}=c;e=Math.min(e,p-g/2),n=Math.max(n,p+g/2),o=Math.min(o,m-b/2),i=Math.max(i,m+b/2)}h(r.nodes(),function(c){d(r.node(c))}),h(r.edges(),function(c){var p=r.edge(c);if(Object.prototype.hasOwnProperty.call(p,"x"))d(p)}),e-=s,o-=u,h(r.nodes(),function(c){var p=r.node(c);p.x-=e,p.y-=o}),h(r.edges(),function(c){var p=r.edge(c);if(h(p.points,function(m){m.x-=e,m.y-=o}),Object.prototype.hasOwnProperty.call(p,"x"))p.x-=e;if(Object.prototype.hasOwnProperty.call(p,"y"))p.y-=o}),f.width=n-e+s,f.height=i-o+u}function du(r){h(r.edges(),function(e){var n=r.edge(e),o=r.node(e.v),i=r.node(e.w),f,s;if(!n.points)n.points=[],f=i,s=o;else f=n.points[0],s=n.points[n.points.length-1];n.points.unshift(Br(o,f)),n.points.push(Br(i,s))})}function cu(r){h(r.edges(),function(e){var n=r.edge(e);if(Object.prototype.hasOwnProperty.call(n,"x")){if(n.labelpos==="l"||n.labelpos==="r")n.width-=n.labeloffset;switch(n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}}})}function pu(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed)n.points.reverse()})}function lu(r){h(r.nodes(),function(e){if(r.children(e).length){var n=r.node(e),o=r.node(n.borderTop),i=r.node(n.borderBottom),f=r.node(X(n.borderLeft)),s=r.node(X(n.borderRight));n.width=Math.abs(s.x-f.x),n.height=Math.abs(i.y-o.y),n.x=f.x+n.width/2,n.y=o.y+n.height/2}}),h(r.nodes(),function(e){if(r.node(e).dummy==="border")r.removeNode(e)})}function mu(r){h(r.edges(),function(e){if(e.v===e.w){var n=r.node(e.v);if(!n.selfEdges)n.selfEdges=[];n.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function hu(r){var e=D(r);h(e,function(n){var o=0;h(n,function(i,f){var s=r.node(i);s.order=f+o,h(s.selfEdges,function(u){T(r,"selfedge",{width:u.label.width,height:u.label.height,rank:s.rank,order:f+ ++o,e:u.e,label:u.label},"_se")}),delete s.selfEdges})})}function gu(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="selfedge"){var o=r.node(n.e.v),i=o.x+o.width/2,f=o.y,s=n.x-i,u=o.height/2;r.setEdge(n.e,n.label),r.removeNode(e),n.label.points=[{x:i+2*s/3,y:f-u},{x:i+5*s/6,y:f-u},{x:i+s,y:f},{x:i+5*s/6,y:f+u},{x:i+2*s/3,y:f+u}],n.label.x=n.x,n.label.y=n.y}})}function Jr(r,e){return H(Z(r,e),Number)}function Zr(r){var e={};return h(r,function(n,o){e[o.toLowerCase()]=n}),e}var fo=t((r,e,n)=>Math.max(e,Math.min(n,r)),"clamp"),so=t((r="TB")=>{switch(r){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),vu=t((r)=>r==="flowchart"||r==="flowchart-v2"||r==="stateDiagram"||r==="er"||r==="classDiagram","shouldMergeSelfLoopSegments"),bu=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],yu=t((r,e,n,o,i)=>{let f=[],s=new Set;if(n.forEach(({start:p,end:m})=>{if(p!==o)s.add(p);if(m!==o)s.add(m)}),s.forEach((p)=>{let m=r.node(p);if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)}),f.length===0)n.forEach(({edge:p})=>{(p.points??[]).forEach((m)=>{if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)})});if(f.length===0)return so(i);let u=f.reduce((p,m)=>({x:p.x+m.x/f.length,y:p.y+m.y/f.length}),{x:0,y:0}),d=u.x-e.x,c=u.y-e.y;if(Math.abs(d)>Math.abs(c))return d>0?"right":"left";if(Math.abs(c)>0)return c>0?"bottom":"top";return so(i)},"getSelfLoopSide"),wu=t((r,e="top",n=0,o=0)=>{let i=r.x,f=r.y-n,s=r.width/2,u=r.height/2,d=Math.max(36,Math.min(100,r.width*0.8)),c=fo(Math.max(o,r.width*0.35),36,d),p=fo(Math.min(r.width,r.height)*0.45,24,48);switch(e){case"bottom":{let m=f+u;return[{x:i-c/2,y:m},{x:i-c/2,y:m+p},{x:i+c/2,y:m+p},{x:i+c/2,y:m}]}case"right":{let m=i+s;return[{x:m,y:f-c/2},{x:m+p,y:f-c/2},{x:m+p,y:f+c/2},{x:m,y:f+c/2}]}case"left":{let m=i-s;return[{x:m,y:f-c/2},{x:m-p,y:f-c/2},{x:m-p,y:f+c/2},{x:m,y:f+c/2}]}case"top":default:{let m=f-u;return[{x:i-c/2,y:m},{x:i-c/2,y:m-p},{x:i+c/2,y:m-p},{x:i+c/2,y:m}]}}},"getSelfLoopPoints"),_u=t((r,e,n="top",o=0,i={})=>{let s=r.x,u=r.y-o,d=i.width??0,c=i.height??0;switch(n){case"bottom":return{x:s,y:Math.max(...e.map((p)=>p.y))+c/2+4};case"right":return{x:Math.max(...e.map((p)=>p.x))+d/2+4,y:u};case"left":return{x:Math.min(...e.map((p)=>p.x))-d/2-4,y:u};case"top":default:return{x:s,y:Math.min(...e.map((p)=>p.y))-c/2-4}}},"getSelfLoopLabelPosition"),no=t((r,e=0,{mergeSelfLoops:n=!0}={})=>{let o=new Map,i=[],f=r.graph()?.rankdir;return r.edges().forEach((s)=>{let u=r.edge(s);if(n&&u.selfLoop){let d=u.selfLoop.id;if(!o.has(d))o.set(d,[]);o.get(d).push({edge:u,start:s.v,end:s.w})}else i.push({edge:u,start:s.v,end:s.w})}),o.forEach((s)=>{if(s.length!==3){s.forEach((_)=>i.push(_));return}s.sort((_,R)=>_.edge.selfLoop.order-R.edge.selfLoop.order);let[u,d,c]=s,p=u.edge.originalEdge??d.edge.originalEdge??c.edge.originalEdge??d.edge,m=r.node(p.start);if(!m){s.forEach((_)=>i.push(_));return}let g={width:d.edge.width,height:d.edge.height},b=yu(r,m,s,p.start,f),w=wu(m,b,e,g.width??0),y=_u(m,w,b,e,g),v={...d.edge,...p,id:p.id,points:w,start:p.start,end:p.end,x:y.x,y:y.y,width:g.width,height:g.height,labelStyle:d.edge.labelStyle,fromCluster:u.edge.fromCluster??d.edge.fromCluster??c.edge.fromCluster,toCluster:u.edge.toCluster??d.edge.toCluster??c.edge.toCluster};delete v.selfLoop,delete v.originalEdge,i.push({edge:v,start:v.start,end:v.end})}),i},"getEdgesToRender"),co=t(async({element:r,graph:e,diagramType:n,id:o,parentCluster:i,siteConfig:f})=>{let s=e.graph().rankdir;a.trace("Dir in recursive render - dir:",s);let{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m}=ua(r,{edgePathsClass:"edgePaths"});if(!e.nodes())a.info("No nodes found for",e);else a.info("Recursive render XXX",e.nodes());if(e.edges().length>0)a.info("Recursive edges",e.edge(e.edges()[0]));let g=vu(n);await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let _=JSON.parse(JSON.stringify(i.clusterData));if(a.trace(`Setting data for parent cluster XXX
2
2
  Node.id = `,y,`
3
3
  data=`,_.height,`
4
- Parent cluster`,i.height),e.setNode(i.id,_),!e.parent(y))a.trace("Setting parent",y,i.id),e.setParent(y,i.id,_)}if(a.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){a.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:_,nodesep:R}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:_+25,nodesep:R});let Qr=await Lu({element:p,graph:v.graph,diagramType:n,id:o,parentCluster:e.node(y),siteConfig:f}),ee=Qr.elem;I(v,ee),v.diff=Qr.diff||0,a.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),_o(ee,v)}else if(e.children(y).length>0)a.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),a.trace(On(v.id,e)),W.set(v.id,{id:On(v.id,e),node:v});else a.trace("Node - the non recursive path XAX",y,p,e.node(y),s),await da(p,e.node(y),{config:f,dir:s})})),await t(async()=>{let y=e.edges().map(async function(v){let _=e.edge(v.v,v.w,v.name);if(a.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),a.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),a.info("Fix",W,"ids:",v.v,v.w,"Translating: ",W.get(v.v),W.get(v.w)),g&&_.selfLoop){if(_.selfLoop.order!==1)return;let R={..._.originalEdge,..._,id:_.selfLoop.id,startLabelLeft:_.originalEdge?.startLabelLeft??_.startLabelLeft,startLabelRight:_.originalEdge?.startLabelRight??_.startLabelRight,endLabelLeft:_.originalEdge?.endLabelLeft??_.endLabelLeft,endLabelRight:_.originalEdge?.endLabelRight??_.endLabelRight};await Et(c,R),_.width=R.width,_.height=R.height,_.labelStyle=R.labelStyle;return}await Et(c,_)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:w}=St(f);return{elem:m,graph:e,groups:{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m},diagramType:n,id:o,mergeSelfLoops:g,subGraphTitleTotalMargin:w}},"measureDagreGraph"),po=t((r)=>{a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),$r(r)},"runDagreGraphLayout"),Eu=t((r,e,n)=>{let o=r.node(e);if(!o)return;let i={...o};if(o?.clusterNode)i.y=(o.y??0)+n;else if(r.children(e).length>0)i.height=(o.height??0)+n;else i.y=(o.y??0)+n/2;return i},"normalizeDagreNode"),uo=t((r,e)=>{bu.forEach((n)=>{if(e[n]!==void 0)r[n]=e[n]})},"applyDagreNodeLayout"),xu=t((r,e,n,o)=>({...r,start:r.start??e,end:r.end??n,points:(r.points??[]).map((i)=>({...i,y:typeof i.y==="number"?i.y+o:i.y}))}),"normalizeDagreEdge"),Lo=t((r,e)=>{let{graph:n,mergeSelfLoops:o,subGraphTitleTotalMargin:i=0}=e,f=new Map(r.nodes.map((u)=>[u.id,u]));pa(n).forEach((u)=>{let d=Eu(n,u,i);if(!d)return;uo(n.node(u),d);let c=f.get(u);if(c)uo(c,d)});let s=i/2;return r.edges=no(n,s,{mergeSelfLoops:o}).map(({edge:u,start:d,end:c})=>xu(u,d,c,s)),r},"applyDagreLayoutResult"),Ou=t(async({elem:r,graph:e,groups:{clusters:n,edgePaths:o},diagramType:i,id:f,mergeSelfLoops:s,subGraphTitleTotalMargin:u})=>{let d=0;await Promise.all(pa(e).map(async function(m){let g=e.node(m);if(a.info("Position XBX => "+m+": ("+g.x,","+g.y,") width: ",g.width," height: ",g.height),g?.clusterNode)g.y+=u,a.info("A tainted cluster node XBX1",m,g.id,g.width,g.height,g.x,g.y,e.parent(m)),W.get(g.id).node=g,bt(g);else if(e.children(m).length>0){a.info("A pure cluster node XBX1",m,g.id,g.x,g.y,g.width,g.height,e.parent(m)),g.height+=u,e.node(g.parentId);let b=g?.padding/2||0,w=g?.labelBBox?.height||0,y=w-b||0;a.debug("OffsetY",y,"labelHeight",w,"halfPadding",b),await Qt(n,g),W.get(g.id).node=g}else{let b=e.node(g.parentId);g.y+=u/2,a.info("A regular node XBX1 - using the padding",g.id,"parent",g.parentId,g.width,g.height,g.x,g.y,"offsetY",g.offsetY,"parent",b,b?.offsetY,g),bt(g)}}));let c=u/2;return no(e,c,{mergeSelfLoops:s}).forEach(function({edge:m,start:g,end:b}){a.info("Edge "+g+" -> "+b+": "+JSON.stringify(m),m),m.points.forEach((_)=>_.y+=c);let w=e.node(g),y=e.node(b),v=Jt(o,m,W,i,w,y,f);Gn(m,v)}),e.nodes().forEach(function(m){let g=e.node(m);if(a.info(m,g.type,g.diff),g.isGroup)d=g.diff}),a.warn("Returning from recursive render XAX",r,d),{elem:r,diff:d}},"paintDagreLayoutCore"),Lu=t(async(r)=>{let e=await co(r);return po(e.graph),await Ou(e)},"renderDagreSubgraph"),ro=t((r)=>{let e=new re({multigraph:!0,compound:!0}).setGraph({rankdir:r.direction,nodesep:r.config?.nodeSpacing||r.nodeSpacing||r.config?.flowchart?.nodeSpacing,ranksep:r.config?.rankSpacing||r.rankSpacing||r.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return r.nodes.forEach((n)=>{if(e.setNode(n.id,{...n}),n.parentId)e.setParent(n.id,n.parentId)}),a.debug("Edges:",r.edges),r.edges.forEach((n)=>{if(n.start===n.end){let o=n.start,i=o+"---"+o+"---1",f=o+"---"+o+"---2",s=e.node(o);e.setNode(i,{domId:i,id:i,parentId:s.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(i,s.parentId),e.setNode(f,{domId:f,id:f,parentId:s.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,s.parentId);let u=structuredClone(n),d=structuredClone(n),c=structuredClone(n),p=structuredClone(n);if(d.originalEdge=u,d.selfLoop={id:u.id,order:0},c.originalEdge=u,c.selfLoop={id:u.id,order:1},p.originalEdge=u,p.selfLoop={id:u.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=o+"-cyclic-special-1",c.startLabelRight="",c.startLabelLeft="",c.endLabelLeft="",c.endLabelRight="",c.arrowTypeStart="none",c.arrowTypeEnd="none",c.id=o+"-cyclic-special-mid",p.label="",p.startLabelRight="",p.startLabelLeft="",p.arrowTypeStart="none",s.isGroup)d.fromCluster=o,p.toCluster=o;p.id=o+"-cyclic-special-2",p.arrowTypeStart="none",e.setEdge(o,i,d,o+"-cyclic-special-0"),e.setEdge(i,f,c,o+"-cyclic-special-1"),e.setEdge(f,o,p,o+"-cyclic-special-2")}else e.setEdge(n.start,n.end,{...n},n.id)}),io(e),{graph:e}},"prepareLayoutForDagre"),Io=t(async(r,{element:e,preparedLayout:n})=>{let o=n??ro(r),i=l(),f=await co({element:e,graph:o.graph,diagramType:r.type,id:r.diagramId,parentCluster:void 0,siteConfig:i});return o.measuredLayout=f,f},"measureDagreLayout"),Do=t((r,e)=>{let n=e.preparedLayout?.measuredLayout;if(!n)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return po(n.graph),Lo(r,n),n},"runDagreLayoutCore"),Iu=t((r,{measure:e})=>pa(e.graph).map((n)=>e.graph.node(n)).filter(Boolean),"getDagrePaintNodes"),Su=t((r,e,{measure:n})=>r?n.graph.node(r):void 0,"getDagreEdgeNode"),ao=or({prepareLayout:ro,measureLayout:Io,runLayoutCore:Do,paintOptions:{clusterDb:W,getNodes:Iu,getEdgeNode:Su,skipNode:t((r,{measure:e})=>!e.graph.hasNode(r.id),"skipNode"),isCluster:t((r,{measure:e})=>e.graph.hasNode(r.id)&&(e.graph.children(r.id)??[]).length>0,"isCluster")}});export{no,Lo,ro,Io,Do,ao};
4
+ Parent cluster`,i.height),e.setNode(i.id,_),!e.parent(y))a.trace("Setting parent",y,i.id),e.setParent(y,i.id,_)}if(a.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){a.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:_,nodesep:R}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:_+25,nodesep:R});let Qr=await Lu({element:p,graph:v.graph,diagramType:n,id:o,parentCluster:e.node(y),siteConfig:f}),ee=Qr.elem;I(v,ee),v.diff=Qr.diff||0,a.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),_o(ee,v)}else if(e.children(y).length>0)a.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),a.trace(Bn(v.id,e)),W.set(v.id,{id:Bn(v.id,e),node:v});else a.trace("Node - the non recursive path XAX",y,p,e.node(y),s),await da(p,e.node(y),{config:f,dir:s})})),await t(async()=>{let y=e.edges().map(async function(v){let _=e.edge(v.v,v.w,v.name);if(a.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),a.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),a.info("Fix",W,"ids:",v.v,v.w,"Translating: ",W.get(v.v),W.get(v.w)),g&&_.selfLoop){if(_.selfLoop.order!==1)return;let R={..._.originalEdge,..._,id:_.selfLoop.id,startLabelLeft:_.originalEdge?.startLabelLeft??_.startLabelLeft,startLabelRight:_.originalEdge?.startLabelRight??_.startLabelRight,endLabelLeft:_.originalEdge?.endLabelLeft??_.endLabelLeft,endLabelRight:_.originalEdge?.endLabelRight??_.endLabelRight};await Et(c,R),_.width=R.width,_.height=R.height,_.labelStyle=R.labelStyle;return}await Et(c,_)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:w}=St(f);return{elem:m,graph:e,groups:{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m},diagramType:n,id:o,mergeSelfLoops:g,subGraphTitleTotalMargin:w}},"measureDagreGraph"),po=t((r)=>{a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),$r(r)},"runDagreGraphLayout"),Eu=t((r,e,n)=>{let o=r.node(e);if(!o)return;let i={...o};if(o?.clusterNode)i.y=(o.y??0)+n;else if(r.children(e).length>0)i.height=(o.height??0)+n;else i.y=(o.y??0)+n/2;return i},"normalizeDagreNode"),uo=t((r,e)=>{bu.forEach((n)=>{if(e[n]!==void 0)r[n]=e[n]})},"applyDagreNodeLayout"),xu=t((r,e,n,o)=>({...r,start:r.start??e,end:r.end??n,points:(r.points??[]).map((i)=>({...i,y:typeof i.y==="number"?i.y+o:i.y}))}),"normalizeDagreEdge"),Lo=t((r,e)=>{let{graph:n,mergeSelfLoops:o,subGraphTitleTotalMargin:i=0}=e,f=new Map(r.nodes.map((u)=>[u.id,u]));pa(n).forEach((u)=>{let d=Eu(n,u,i);if(!d)return;uo(n.node(u),d);let c=f.get(u);if(c)uo(c,d)});let s=i/2;return r.edges=no(n,s,{mergeSelfLoops:o}).map(({edge:u,start:d,end:c})=>xu(u,d,c,s)),r},"applyDagreLayoutResult"),Ou=t(async({elem:r,graph:e,groups:{clusters:n,edgePaths:o},diagramType:i,id:f,mergeSelfLoops:s,subGraphTitleTotalMargin:u})=>{let d=0;await Promise.all(pa(e).map(async function(m){let g=e.node(m);if(a.info("Position XBX => "+m+": ("+g.x,","+g.y,") width: ",g.width," height: ",g.height),g?.clusterNode)g.y+=u,a.info("A tainted cluster node XBX1",m,g.id,g.width,g.height,g.x,g.y,e.parent(m)),W.get(g.id).node=g,vt(g);else if(e.children(m).length>0){a.info("A pure cluster node XBX1",m,g.id,g.x,g.y,g.width,g.height,e.parent(m)),g.height+=u,e.node(g.parentId);let b=g?.padding/2||0,w=g?.labelBBox?.height||0,y=w-b||0;a.debug("OffsetY",y,"labelHeight",w,"halfPadding",b),await Jt(n,g),W.get(g.id).node=g}else{let b=e.node(g.parentId);g.y+=u/2,a.info("A regular node XBX1 - using the padding",g.id,"parent",g.parentId,g.width,g.height,g.x,g.y,"offsetY",g.offsetY,"parent",b,b?.offsetY,g),vt(g)}}));let c=u/2;return no(e,c,{mergeSelfLoops:s}).forEach(function({edge:m,start:g,end:b}){a.info("Edge "+g+" -> "+b+": "+JSON.stringify(m),m),m.points.forEach((_)=>_.y+=c);let w=e.node(g),y=e.node(b),v=en(o,m,W,i,w,y,f);Yn(m,v)}),e.nodes().forEach(function(m){let g=e.node(m);if(a.info(m,g.type,g.diff),g.isGroup)d=g.diff}),a.warn("Returning from recursive render XAX",r,d),{elem:r,diff:d}},"paintDagreLayoutCore"),Lu=t(async(r)=>{let e=await co(r);return po(e.graph),await Ou(e)},"renderDagreSubgraph"),ro=t((r)=>{let e=new re({multigraph:!0,compound:!0}).setGraph({rankdir:r.direction,nodesep:r.config?.nodeSpacing||r.nodeSpacing||r.config?.flowchart?.nodeSpacing,ranksep:r.config?.rankSpacing||r.rankSpacing||r.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return r.nodes.forEach((n)=>{if(e.setNode(n.id,{...n}),n.parentId)e.setParent(n.id,n.parentId)}),a.debug("Edges:",r.edges),r.edges.forEach((n)=>{if(n.start===n.end){let o=n.start,i=o+"---"+o+"---1",f=o+"---"+o+"---2",s=e.node(o);e.setNode(i,{domId:i,id:i,parentId:s.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(i,s.parentId),e.setNode(f,{domId:f,id:f,parentId:s.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,s.parentId);let u=structuredClone(n),d=structuredClone(n),c=structuredClone(n),p=structuredClone(n);if(d.originalEdge=u,d.selfLoop={id:u.id,order:0},c.originalEdge=u,c.selfLoop={id:u.id,order:1},p.originalEdge=u,p.selfLoop={id:u.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=o+"-cyclic-special-1",c.startLabelRight="",c.startLabelLeft="",c.endLabelLeft="",c.endLabelRight="",c.arrowTypeStart="none",c.arrowTypeEnd="none",c.id=o+"-cyclic-special-mid",p.label="",p.startLabelRight="",p.startLabelLeft="",p.arrowTypeStart="none",s.isGroup)d.fromCluster=o,p.toCluster=o;p.id=o+"-cyclic-special-2",p.arrowTypeStart="none",e.setEdge(o,i,d,o+"-cyclic-special-0"),e.setEdge(i,f,c,o+"-cyclic-special-1"),e.setEdge(f,o,p,o+"-cyclic-special-2")}else e.setEdge(n.start,n.end,{...n},n.id)}),io(e),{graph:e}},"prepareLayoutForDagre"),Io=t(async(r,{element:e,preparedLayout:n})=>{let o=n??ro(r),i=l(),f=await co({element:e,graph:o.graph,diagramType:r.type,id:r.diagramId,parentCluster:void 0,siteConfig:i});return o.measuredLayout=f,f},"measureDagreLayout"),Do=t((r,e)=>{let n=e.preparedLayout?.measuredLayout;if(!n)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return po(n.graph),Lo(r,n),n},"runDagreLayoutCore"),Iu=t((r,{measure:e})=>pa(e.graph).map((n)=>e.graph.node(n)).filter(Boolean),"getDagrePaintNodes"),Su=t((r,e,{measure:n})=>r?n.graph.node(r):void 0,"getDagreEdgeNode"),ao=sr({prepareLayout:ro,measureLayout:Io,runLayoutCore:Do,paintOptions:{clusterDb:W,getNodes:Iu,getEdgeNode:Su,skipNode:t((r,{measure:e})=>!e.graph.hasNode(r.id),"skipNode"),isCluster:t((r,{measure:e})=>e.graph.hasNode(r.id)&&(e.graph.children(r.id)??[]).length>0,"isCluster")}});export{no,Lo,ro,Io,Do,ao};
@@ -1,5 +1,5 @@
1
- import{G}from"./chunk-p1yc8hwn.js";import{t,a,ke,x,F,C,S,E,T,A,L,R,l,V,U}from"./chunk-e763h2px.js";import{Q}from"./chunk-xjc5fmcr.js";var ot=t((r,i)=>{let n=r<=1?r*100:r;if(n<0||n>100)throw Error(`${i} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${r}`);return n},"toPercent"),q=t((r,i,n)=>({x:ot(i,`${n} evolution`),y:ot(r,`${n} visibility`)}),"toCoordinates"),pt=t((r)=>{if(!r)return;if(r==="+<>")return"bidirectional";if(r==="+<")return"backward";if(r==="+>")return"forward";return},"getFlowFromPort"),Bt=t((r)=>{if(!r?.startsWith("+"))return{};let n=/^\+'([^']*)'/.exec(r)?.[1];if(r.includes("<>"))return{flow:"bidirectional",label:n};if(r.includes("<"))return{flow:"backward",label:n};if(r.includes(">"))return{flow:"forward",label:n};return{label:n}},"extractFlowFromArrow"),Ft=t((r,i)=>{if(G(r,i),r.size)i.setSize(r.size.width,r.size.height);if(r.evolution){let n=r.evolution.stages.map((o)=>{if(o.secondName)return`${o.name.trim()} / ${o.secondName.trim()}`;return o.name.trim()}),u=r.evolution.stages.filter((o)=>o.boundary!==void 0).map((o)=>o.boundary);i.updateAxes({stages:n,stageBoundaries:u})}if(r.anchors.forEach((n)=>{let u=q(n.visibility,n.evolution,`Anchor "${n.name}"`);i.addNode(n.name,n.name,u.x,u.y,"anchor")}),r.components.forEach((n)=>{let u=q(n.visibility,n.evolution,`Component "${n.name}"`),o=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,p=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,b=n.decorator?.strategy;i.addNode(n.name,n.name,u.x,u.y,"component",o,p,n.inertia,b)}),r.notes.forEach((n)=>{let u=q(n.visibility,n.evolution,`Note "${n.text}"`);i.addNote(n.text,u.x,u.y)}),r.pipelines.forEach((n)=>{let u=i.getNode(n.parent);if(!u||typeof u.y!=="number")throw Error(`Pipeline "${n.parent}" must reference an existing component with coordinates.`);let o=u.y;i.startPipeline(n.parent),n.components.forEach((p)=>{let b=`${n.parent}_${p.name}`,X=p.label?(p.label.negX?-1:1)*p.label.offsetX:void 0,m=p.label?(p.label.negY?-1:1)*p.label.offsetY:void 0,tt=ot(p.evolution,`Pipeline component "${p.name}" evolution`);i.addNode(b,p.name,tt,o,"pipeline-component",X,m),i.addPipelineComponent(n.parent,b)})}),r.links.forEach((n)=>{let u=!!n.arrow&&(n.arrow.includes("-.->")||n.arrow.includes(".-.")),o=pt(n.fromPort)??pt(n.toPort),{flow:p,label:b}=Bt(n.arrow);if(!o&&p)o=p;let X=n.linkLabel,m=b??X;i.addLink(i.resolveNodeId(n.from),i.resolveNodeId(n.to),u,m,o)}),r.evolves.forEach((n)=>{let u=i.getNode(n.component);if(u?.y!==void 0){let o=ot(n.target,`Evolve target for "${n.component}"`);i.addTrend(n.component,o,u.y)}}),r.annotations.length>0){let n=r.annotations[0],u=q(n.x,n.y,"Annotations box");i.setAnnotationsBox(u.x,u.y)}r.annotation.forEach((n)=>{let u=q(n.x,n.y,`Annotation ${n.number}`);i.addAnnotation(n.number,[{x:u.x,y:u.y}],n.text)}),r.accelerators.forEach((n)=>{let u=q(n.x,n.y,`Accelerator "${n.name}"`);i.addAccelerator(n.name,u.x,u.y)}),r.deaccelerators.forEach((n)=>{let u=q(n.x,n.y,`Deaccelerator "${n.name}"`);i.addDeaccelerator(n.name,u.x,u.y)})},"populateDb"),ht={parser:{yy:void 0},parse:t(async(r)=>{let i=await Q("wardley",r);a.debug(i);let n=ht.parser?.yy;if(!n||typeof n.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ft(i,n)},"parse")},Rt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,"WardleyBuilder")}addNode(r){let i=this.nodes.get(r.id)??{id:r.id,label:r.label},n={...i,...r,className:r.className??i.className,labelOffsetX:r.labelOffsetX??i.labelOffsetX,labelOffsetY:r.labelOffsetY??i.labelOffsetY};this.nodes.set(r.id,n)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});let i=this.nodes.get(r);if(i)i.isPipelineParent=!0}addPipelineComponent(r,i){let n=this.pipelines.get(r);if(n)n.componentIds.push(i);let u=this.nodes.get(i);if(u)u.inPipeline=!0}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,i){this.annotationsBox={x:r,y:i}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,i){this.size={width:r,height:i}}getNode(r){return this.nodes.get(r)}resolveNodeId(r){if(this.nodes.has(r))return r;for(let[i,n]of this.nodes)if(n.label===r)return i;return r}build(){let r=[];for(let i of this.nodes.values()){if(typeof i.x!=="number"||typeof i.y!=="number")throw Error(`Node "${i.label}" is missing coordinates`);r.push(i)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},P=new Rt;function ft(){return l()["wardley-beta"]}t(ft,"getConfig");function xt(r,i,n,u,o,p,b,X,m){P.addNode({id:r,label:i,x:n,y:u,className:o,labelOffsetX:p,labelOffsetY:b,inertia:X,sourceStrategy:m})}t(xt,"addNode");function gt(r,i,n=!1,u,o){P.addLink({source:r,target:i,dashed:n,label:u,flow:o})}t(gt,"addLink");function yt(r,i,n){P.addTrend({nodeId:r,targetX:i,targetY:n})}t(yt,"addTrend");function ut(r,i,n){P.addAnnotation({number:r,coordinates:i,text:n})}t(ut,"addAnnotation");function wt(r,i,n){P.addNote({text:r,x:i,y:n})}t(wt,"addNote");function mt(r,i,n){P.addAccelerator({name:r,x:i,y:n})}t(mt,"addAccelerator");function kt(r,i,n){P.addDeaccelerator({name:r,x:i,y:n})}t(kt,"addDeaccelerator");function bt(r,i){P.setAnnotationsBox(r,i)}t(bt,"setAnnotationsBox");function $t(r,i){P.setSize(r,i)}t($t,"setSize");function vt(r){P.startPipeline(r)}t(vt,"startPipeline");function Pt(r,i){P.addPipelineComponent(r,i)}t(Pt,"addPipelineComponent");function Ct(r){P.setAxes(r)}t(Ct,"updateAxes");function St(r){return P.getNode(r)}t(St,"getNode");function Mt(r){return P.resolveNodeId(r)}t(Mt,"resolveNodeId");function Nt(){return P.build()}t(Nt,"getWardleyData");function zt(){P.clear(),C()}t(zt,"clear");var Ot={getConfig:ft,addNode:xt,addLink:gt,addTrend:yt,addAnnotation:ut,addNote:wt,addAccelerator:mt,addDeaccelerator:kt,setAnnotationsBox:bt,setSize:$t,startPipeline:vt,addPipelineComponent:Pt,updateAxes:Ct,getNode:St,resolveNodeId:Mt,getWardleyData:Nt,clear:zt,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T},Dt=["Genesis","Custom Built","Product","Commodity"],Gt=t(()=>{let{themeVariables:r}=l();return{backgroundColor:r.wardley?.backgroundColor??r.background??"#fff",axisColor:r.wardley?.axisColor??"#000",axisTextColor:r.wardley?.axisTextColor??r.primaryTextColor??"#222",gridColor:r.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:r.wardley?.componentFill??"#fff",componentStroke:r.wardley?.componentStroke??"#000",componentLabelColor:r.wardley?.componentLabelColor??r.primaryTextColor??"#222",linkStroke:r.wardley?.linkStroke??"#000",evolutionStroke:r.wardley?.evolutionStroke??"#dc3545",annotationStroke:r.wardley?.annotationStroke??"#000",annotationTextColor:r.wardley?.annotationTextColor??r.primaryTextColor??"#222",annotationFill:r.wardley?.annotationFill??r.background??"#fff"}},"getTheme"),qt=t(()=>{let r=l()["wardley-beta"];return{width:r?.width??900,height:r?.height??600,padding:r?.padding??48,nodeRadius:r?.nodeRadius??6,nodeLabelOffset:r?.nodeLabelOffset??8,axisFontSize:r?.axisFontSize??12,labelFontSize:r?.labelFontSize??10,showGrid:r?.showGrid??!1,useMaxWidth:r?.useMaxWidth??!0}},"getConfigValues"),jt=t((r,i,n,u)=>{a.debug(`Rendering Wardley map
2
- `+r);let o=qt(),p=Gt(),b=o.nodeRadius*1.6,X=u.db,m=X.getWardleyData(),tt=X.getDiagramTitle(),H=m.size?.width??o.width,M=m.size?.height??o.height,_=V(i);_.selectAll("*").remove(),F(_,M,H,o.useMaxWidth),_.attr("viewBox",`0 0 ${H} ${M}`);let z=_.append("g").attr("class","wardley-map"),nt=_.append("defs");nt.append("marker").attr("id",`arrow-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.evolutionStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-end-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.linkStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-start-${i}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",p.linkStroke).attr("stroke","none"),z.append("rect").attr("class","wardley-background").attr("width",H).attr("height",M).attr("fill",p.backgroundColor);let Z=H-o.padding*2,J=M-o.padding*2;if(tt)z.append("text").attr("class","wardley-title").attr("x",H/2).attr("y",o.padding/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(tt);let B=t((e)=>o.padding+e/100*Z,"projectX"),O=t((e)=>M-o.padding-e/100*J,"projectY"),et=z.append("g").attr("class","wardley-axes");et.append("line").attr("x1",o.padding).attr("x2",H-o.padding).attr("y1",M-o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1),et.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1);let Lt=m.axes.xLabel??"Evolution",Tt=m.axes.yLabel??"Visibility";et.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+Z/2).attr("y",M-o.padding/4).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(Lt),et.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+J/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+J/2})`).text(Tt);let K=m.axes.stages&&m.axes.stages.length>0?m.axes.stages:Dt;if(K.length>0){let e=z.append("g").attr("class","wardley-stages"),d=m.axes.stageBoundaries,s=[];if(d&&d.length===K.length){let c=0;d.forEach((f)=>{s.push({start:c,end:f}),c=f})}else{let c=1/K.length;K.forEach((f,g)=>{s.push({start:g*c,end:(g+1)*c})})}K.forEach((c,f)=>{let g=s[f],w=o.padding+g.start*Z,y=o.padding+g.end*Z,k=(w+y)/2;if(f>0)e.append("line").attr("x1",w).attr("x2",w).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);e.append("text").attr("class","wardley-stage-label").attr("x",k).attr("y",M-o.padding/1.5).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(c)})}if(o.showGrid){let e=z.append("g").attr("class","wardley-grid");for(let d=1;d<4;d++){let s=d/4,c=o.padding+Z*s;e.append("line").attr("x1",c).attr("x2",c).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6"),e.append("line").attr("x1",o.padding).attr("x2",H-o.padding).attr("y1",M-o.padding-J*s).attr("y2",M-o.padding-J*s).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6")}}let h=new Map;if(m.nodes.forEach((e)=>{h.set(e.id,{x:B(e.x),y:O(e.y),node:e})}),m.pipelines.length>0){let e=z.append("g").attr("class","wardley-pipelines"),d=z.append("g").attr("class","wardley-pipeline-links");m.pipelines.forEach((s)=>{if(s.componentIds.length===0)return;let c=s.componentIds.map((y)=>({id:y,pos:h.get(y),node:m.nodes.find((k)=>k.id===y)})).filter((y)=>y.pos&&y.node).sort((y,k)=>y.node.x-k.node.x);for(let y=0;y<c.length-1;y++){let k=c[y],v=c[y+1];d.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",k.pos.x).attr("y1",k.pos.y).attr("x2",v.pos.x).attr("y2",v.pos.y).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let f=1/0,g=-1/0,w=0;if(s.componentIds.forEach((y)=>{let k=h.get(y);if(k)f=Math.min(f,k.x),g=Math.max(g,k.x),w=k.y}),f!==1/0&&g!==-1/0){let k=o.nodeRadius*4,v=w-k/2,W=h.get(s.nodeId);if(W){let I=(f+g)/2;W.x=I,W.y=v-b/6}e.append("rect").attr("class","wardley-pipeline-box").attr("x",f-15).attr("y",v).attr("width",g-f+30).attr("height",k).attr("fill","none").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let dt=z.append("g").attr("class","wardley-links"),lt=new Map;m.pipelines.forEach((e)=>{lt.set(e.nodeId,new Set(e.componentIds))});let ct=m.links.filter((e)=>{if(!h.has(e.source)||!h.has(e.target))return!1;if(lt.get(e.target)?.has(e.source))return!1;return!0});dt.selectAll("line").data(ct).enter().append("line").attr("class",(e)=>`wardley-link${e.dashed?" wardley-link--dashed":""}`).attr("x1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.x+g/y*f}).attr("y1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.y+w/y*f}).attr("x2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.x+g/y*f}).attr("y2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.y+w/y*f}).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(e)=>e.dashed?"6 6":null).attr("marker-end",(e)=>{if(e.flow==="forward"||e.flow==="bidirectional")return`url(#link-arrow-end-${i})`;return null}).attr("marker-start",(e)=>{if(e.flow==="backward"||e.flow==="bidirectional")return`url(#link-arrow-start-${i})`;return null}),dt.selectAll("text").data(ct.filter((e)=>e.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=s.y-d.y,g=s.x-d.x,w=Math.sqrt(g*g+f*f),y=8,k=f/w;return c+k*8}).attr("y",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.y+s.y)/2,f=s.x-d.x,g=s.y-d.y,w=Math.sqrt(f*f+g*g),y=8,k=-f/w;return c+k*8}).attr("fill",p.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=(d.y+s.y)/2,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w),k=8,v=w/y,W=-g/y,I=c+v*8,at=f+W*8,j=Math.atan2(w,g)*180/Math.PI;if(j>90||j<-90)j+=180;return`rotate(${j} ${I} ${at})`}).text((e)=>e.label);let Wt=z.append("g").attr("class","wardley-trends"),At=m.trends.map((e)=>{let d=h.get(e.nodeId);if(!d)return null;let s=B(e.targetX),c=O(e.targetY),f=s-d.x,g=c-d.y,w=Math.sqrt(f*f+g*g),y=o.nodeRadius+2,k=w>y?s-f/w*y:s,v=w>y?c-g/w*y:c;return{origin:d,targetX:s,targetY:c,adjustedX2:k,adjustedY2:v}}).filter((e)=>e!==null);Wt.selectAll("line").data(At).enter().append("line").attr("class","wardley-trend").attr("x1",(e)=>e.origin.x).attr("y1",(e)=>e.origin.y).attr("x2",(e)=>e.adjustedX2).attr("y2",(e)=>e.adjustedY2).attr("stroke",p.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${i})`);let Y=z.append("g").attr("class","wardley-nodes").selectAll("g").data(m.nodes).enter().append("g").attr("class",(e)=>["wardley-node",e.className?`wardley-node--${e.className}`:""].filter(Boolean).join(" "));Y.filter((e)=>e.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let D=Y.filter((e)=>e.sourceStrategy==="market");D.append("circle").attr("class","wardley-market-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>!e.isPipelineParent&&e.sourceStrategy!=="market"&&e.className!=="anchor").append("circle").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1);let st=o.nodeRadius*0.7,N=o.nodeRadius*1.2;if(D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x).attr("y1",(e)=>h.get(e.id).y-N).attr("x2",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x).attr("y2",(e)=>h.get(e.id).y-N).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y-N).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),Y.filter((e)=>e.isPipelineParent===!0).append("rect").attr("x",(e)=>h.get(e.id).x-b/2).attr("y",(e)=>h.get(e.id).y-b/2).attr("width",b).attr("height",b).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y-s/2}).attr("x2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y+s/2}).attr("stroke",p.componentStroke).attr("stroke-width",6),Y.append("text").attr("x",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetX!==void 0?d.x+e.labelOffsetX:d.x;let s=o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetX===void 0)s+=10;let c=e.labelOffsetX??s;return d.x+c}).attr("y",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetY!==void 0?d.y+e.labelOffsetY:d.y-3;let s=-o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetY===void 0)s-=10;let c=e.labelOffsetY??s;return d.y+c}).attr("class","wardley-node-label").attr("fill",(e)=>{if(e.className==="evolved")return p.evolutionStroke;if(e.className==="anchor")return"#000";return p.componentLabelColor}).attr("font-size",o.labelFontSize).attr("font-weight",(e)=>e.className==="anchor"?"bold":"normal").attr("text-anchor",(e)=>e.className==="anchor"?"middle":"start").attr("dominant-baseline",(e)=>e.className==="anchor"?"middle":"auto").text((e)=>e.label),m.annotations.length>0){let e=z.append("g").attr("class","wardley-annotations");if(m.annotations.forEach((d)=>{let s=d.coordinates.map((c)=>({x:B(c.x),y:O(c.y)}));if(s.length>1)for(let c=0;c<s.length-1;c++)e.append("line").attr("class","wardley-annotation-line").attr("x1",s[c].x).attr("y1",s[c].y).attr("x2",s[c+1].x).attr("y2",s[c+1].y).attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach((c)=>{let f=e.append("g").attr("class","wardley-annotation");f.append("circle").attr("cx",c.x).attr("cy",c.y).attr("r",10).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5),f.append("text").attr("x",c.x).attr("y",c.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.number)})}),m.annotationsBox){let d=B(m.annotationsBox.x),s=O(m.annotationsBox.y),c=10,f=16,g=11,w=e.append("g").attr("class","wardley-annotations-box"),y=[...m.annotations].filter((v)=>v.text).sort((v,W)=>v.number-W.number),k=[];if(y.forEach((v,W)=>{let I=w.append("text").attr("x",d+c).attr("y",s+c+(W+1)*f).attr("font-size",g).attr("fill",p.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${v.number}. ${v.text}`);k.push(I)}),k.length>0){let v=0,W=0;k.forEach((it)=>{let rt=it.node(),Yt=rt.getComputedTextLength();v=Math.max(v,Yt);let It=rt.getBBox();W=Math.max(W,It.height)});let I=v+c*2+105,at=y.length*f+c*2+W/2,j=o.padding,Xt=H-o.padding-I,Et=o.padding,Ht=M-o.padding-at;d=Math.max(j,Math.min(d,Xt)),s=Math.max(Et,Math.min(s,Ht)),k.forEach((it,rt)=>{it.attr("x",d+c).attr("y",s+c+(rt+1)*f)}),w.insert("rect","text").attr("x",d).attr("y",s).attr("width",I).attr("height",at).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(m.notes.length>0){let e=z.append("g").attr("class","wardley-notes");m.notes.forEach((d)=>{let s=B(d.x),c=O(d.y);e.append("text").attr("x",s).attr("y",c).attr("text-anchor","start").attr("font-size",11).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.text)})}if(m.accelerators.length>0){let e=z.append("g").attr("class","wardley-accelerators");m.accelerators.forEach((d)=>{let s=B(d.x),c=O(d.y),f=60,g=30,w=20,y=`
1
+ import{H}from"./chunk-jyf7a7yp.js";import{t,a,we,x,F,C,S,E,T,A,L,R,l,V,U}from"./chunk-b5zf1hs3.js";import{Q}from"./chunk-n9v14vyd.js";var ot=t((r,i)=>{let n=r<=1?r*100:r;if(n<0||n>100)throw Error(`${i} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${r}`);return n},"toPercent"),q=t((r,i,n)=>({x:ot(i,`${n} evolution`),y:ot(r,`${n} visibility`)}),"toCoordinates"),pt=t((r)=>{if(!r)return;if(r==="+<>")return"bidirectional";if(r==="+<")return"backward";if(r==="+>")return"forward";return},"getFlowFromPort"),Bt=t((r)=>{if(!r?.startsWith("+"))return{};let n=/^\+'([^']*)'/.exec(r)?.[1];if(r.includes("<>"))return{flow:"bidirectional",label:n};if(r.includes("<"))return{flow:"backward",label:n};if(r.includes(">"))return{flow:"forward",label:n};return{label:n}},"extractFlowFromArrow"),Ft=t((r,i)=>{if(H(r,i),r.size)i.setSize(r.size.width,r.size.height);if(r.evolution){let n=r.evolution.stages.map((o)=>{if(o.secondName)return`${o.name.trim()} / ${o.secondName.trim()}`;return o.name.trim()}),u=r.evolution.stages.filter((o)=>o.boundary!==void 0).map((o)=>o.boundary);i.updateAxes({stages:n,stageBoundaries:u})}if(r.anchors.forEach((n)=>{let u=q(n.visibility,n.evolution,`Anchor "${n.name}"`);i.addNode(n.name,n.name,u.x,u.y,"anchor")}),r.components.forEach((n)=>{let u=q(n.visibility,n.evolution,`Component "${n.name}"`),o=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,p=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,b=n.decorator?.strategy;i.addNode(n.name,n.name,u.x,u.y,"component",o,p,n.inertia,b)}),r.notes.forEach((n)=>{let u=q(n.visibility,n.evolution,`Note "${n.text}"`);i.addNote(n.text,u.x,u.y)}),r.pipelines.forEach((n)=>{let u=i.getNode(n.parent);if(!u||typeof u.y!=="number")throw Error(`Pipeline "${n.parent}" must reference an existing component with coordinates.`);let o=u.y;i.startPipeline(n.parent),n.components.forEach((p)=>{let b=`${n.parent}_${p.name}`,X=p.label?(p.label.negX?-1:1)*p.label.offsetX:void 0,m=p.label?(p.label.negY?-1:1)*p.label.offsetY:void 0,tt=ot(p.evolution,`Pipeline component "${p.name}" evolution`);i.addNode(b,p.name,tt,o,"pipeline-component",X,m),i.addPipelineComponent(n.parent,b)})}),r.links.forEach((n)=>{let u=!!n.arrow&&(n.arrow.includes("-.->")||n.arrow.includes(".-.")),o=pt(n.fromPort)??pt(n.toPort),{flow:p,label:b}=Bt(n.arrow);if(!o&&p)o=p;let X=n.linkLabel,m=b??X;i.addLink(i.resolveNodeId(n.from),i.resolveNodeId(n.to),u,m,o)}),r.evolves.forEach((n)=>{let u=i.getNode(n.component);if(u?.y!==void 0){let o=ot(n.target,`Evolve target for "${n.component}"`);i.addTrend(n.component,o,u.y)}}),r.annotations.length>0){let n=r.annotations[0],u=q(n.x,n.y,"Annotations box");i.setAnnotationsBox(u.x,u.y)}r.annotation.forEach((n)=>{let u=q(n.x,n.y,`Annotation ${n.number}`);i.addAnnotation(n.number,[{x:u.x,y:u.y}],n.text)}),r.accelerators.forEach((n)=>{let u=q(n.x,n.y,`Accelerator "${n.name}"`);i.addAccelerator(n.name,u.x,u.y)}),r.deaccelerators.forEach((n)=>{let u=q(n.x,n.y,`Deaccelerator "${n.name}"`);i.addDeaccelerator(n.name,u.x,u.y)})},"populateDb"),ht={parser:{yy:void 0},parse:t(async(r)=>{let i=await Q("wardley",r);a.debug(i);let n=ht.parser?.yy;if(!n||typeof n.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ft(i,n)},"parse")},Rt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,"WardleyBuilder")}addNode(r){let i=this.nodes.get(r.id)??{id:r.id,label:r.label},n={...i,...r,className:r.className??i.className,labelOffsetX:r.labelOffsetX??i.labelOffsetX,labelOffsetY:r.labelOffsetY??i.labelOffsetY};this.nodes.set(r.id,n)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});let i=this.nodes.get(r);if(i)i.isPipelineParent=!0}addPipelineComponent(r,i){let n=this.pipelines.get(r);if(n)n.componentIds.push(i);let u=this.nodes.get(i);if(u)u.inPipeline=!0}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,i){this.annotationsBox={x:r,y:i}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,i){this.size={width:r,height:i}}getNode(r){return this.nodes.get(r)}resolveNodeId(r){if(this.nodes.has(r))return r;for(let[i,n]of this.nodes)if(n.label===r)return i;return r}build(){let r=[];for(let i of this.nodes.values()){if(typeof i.x!=="number"||typeof i.y!=="number")throw Error(`Node "${i.label}" is missing coordinates`);r.push(i)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},P=new Rt;function ft(){return l()["wardley-beta"]}t(ft,"getConfig");function xt(r,i,n,u,o,p,b,X,m){P.addNode({id:r,label:i,x:n,y:u,className:o,labelOffsetX:p,labelOffsetY:b,inertia:X,sourceStrategy:m})}t(xt,"addNode");function gt(r,i,n=!1,u,o){P.addLink({source:r,target:i,dashed:n,label:u,flow:o})}t(gt,"addLink");function yt(r,i,n){P.addTrend({nodeId:r,targetX:i,targetY:n})}t(yt,"addTrend");function ut(r,i,n){P.addAnnotation({number:r,coordinates:i,text:n})}t(ut,"addAnnotation");function wt(r,i,n){P.addNote({text:r,x:i,y:n})}t(wt,"addNote");function mt(r,i,n){P.addAccelerator({name:r,x:i,y:n})}t(mt,"addAccelerator");function kt(r,i,n){P.addDeaccelerator({name:r,x:i,y:n})}t(kt,"addDeaccelerator");function bt(r,i){P.setAnnotationsBox(r,i)}t(bt,"setAnnotationsBox");function $t(r,i){P.setSize(r,i)}t($t,"setSize");function vt(r){P.startPipeline(r)}t(vt,"startPipeline");function Pt(r,i){P.addPipelineComponent(r,i)}t(Pt,"addPipelineComponent");function Ct(r){P.setAxes(r)}t(Ct,"updateAxes");function St(r){return P.getNode(r)}t(St,"getNode");function Mt(r){return P.resolveNodeId(r)}t(Mt,"resolveNodeId");function Nt(){return P.build()}t(Nt,"getWardleyData");function zt(){P.clear(),C()}t(zt,"clear");var Ot={getConfig:ft,addNode:xt,addLink:gt,addTrend:yt,addAnnotation:ut,addNote:wt,addAccelerator:mt,addDeaccelerator:kt,setAnnotationsBox:bt,setSize:$t,startPipeline:vt,addPipelineComponent:Pt,updateAxes:Ct,getNode:St,resolveNodeId:Mt,getWardleyData:Nt,clear:zt,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T},Dt=["Genesis","Custom Built","Product","Commodity"],Gt=t(()=>{let{themeVariables:r}=l();return{backgroundColor:r.wardley?.backgroundColor??r.background??"#fff",axisColor:r.wardley?.axisColor??"#000",axisTextColor:r.wardley?.axisTextColor??r.primaryTextColor??"#222",gridColor:r.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:r.wardley?.componentFill??"#fff",componentStroke:r.wardley?.componentStroke??"#000",componentLabelColor:r.wardley?.componentLabelColor??r.primaryTextColor??"#222",linkStroke:r.wardley?.linkStroke??"#000",evolutionStroke:r.wardley?.evolutionStroke??"#dc3545",annotationStroke:r.wardley?.annotationStroke??"#000",annotationTextColor:r.wardley?.annotationTextColor??r.primaryTextColor??"#222",annotationFill:r.wardley?.annotationFill??r.background??"#fff"}},"getTheme"),qt=t(()=>{let r=l()["wardley-beta"];return{width:r?.width??900,height:r?.height??600,padding:r?.padding??48,nodeRadius:r?.nodeRadius??6,nodeLabelOffset:r?.nodeLabelOffset??8,axisFontSize:r?.axisFontSize??12,labelFontSize:r?.labelFontSize??10,showGrid:r?.showGrid??!1,useMaxWidth:r?.useMaxWidth??!0}},"getConfigValues"),jt=t((r,i,n,u)=>{a.debug(`Rendering Wardley map
2
+ `+r);let o=qt(),p=Gt(),b=o.nodeRadius*1.6,X=u.db,m=X.getWardleyData(),tt=X.getDiagramTitle(),Y=m.size?.width??o.width,M=m.size?.height??o.height,_=V(i);_.selectAll("*").remove(),F(_,M,Y,o.useMaxWidth),_.attr("viewBox",`0 0 ${Y} ${M}`);let z=_.append("g").attr("class","wardley-map"),nt=_.append("defs");nt.append("marker").attr("id",`arrow-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.evolutionStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-end-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.linkStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-start-${i}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",p.linkStroke).attr("stroke","none"),z.append("rect").attr("class","wardley-background").attr("width",Y).attr("height",M).attr("fill",p.backgroundColor);let Z=Y-o.padding*2,J=M-o.padding*2;if(tt)z.append("text").attr("class","wardley-title").attr("x",Y/2).attr("y",o.padding/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(tt);let O=t((e)=>o.padding+e/100*Z,"projectX"),D=t((e)=>M-o.padding-e/100*J,"projectY"),et=z.append("g").attr("class","wardley-axes");et.append("line").attr("x1",o.padding).attr("x2",Y-o.padding).attr("y1",M-o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1),et.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1);let Lt=m.axes.xLabel??"Evolution",Tt=m.axes.yLabel??"Visibility";et.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+Z/2).attr("y",M-o.padding/4).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(Lt),et.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+J/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+J/2})`).text(Tt);let K=m.axes.stages&&m.axes.stages.length>0?m.axes.stages:Dt;if(K.length>0){let e=z.append("g").attr("class","wardley-stages"),d=m.axes.stageBoundaries,s=[];if(d&&d.length===K.length){let c=0;d.forEach((f)=>{s.push({start:c,end:f}),c=f})}else{let c=1/K.length;K.forEach((f,g)=>{s.push({start:g*c,end:(g+1)*c})})}K.forEach((c,f)=>{let g=s[f],w=o.padding+g.start*Z,y=o.padding+g.end*Z,k=(w+y)/2;if(f>0)e.append("line").attr("x1",w).attr("x2",w).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);e.append("text").attr("class","wardley-stage-label").attr("x",k).attr("y",M-o.padding/1.5).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(c)})}if(o.showGrid){let e=z.append("g").attr("class","wardley-grid");for(let d=1;d<4;d++){let s=d/4,c=o.padding+Z*s;e.append("line").attr("x1",c).attr("x2",c).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6"),e.append("line").attr("x1",o.padding).attr("x2",Y-o.padding).attr("y1",M-o.padding-J*s).attr("y2",M-o.padding-J*s).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6")}}let h=new Map;if(m.nodes.forEach((e)=>{h.set(e.id,{x:O(e.x),y:D(e.y),node:e})}),m.pipelines.length>0){let e=z.append("g").attr("class","wardley-pipelines"),d=z.append("g").attr("class","wardley-pipeline-links");m.pipelines.forEach((s)=>{if(s.componentIds.length===0)return;let c=s.componentIds.map((y)=>({id:y,pos:h.get(y),node:m.nodes.find((k)=>k.id===y)})).filter((y)=>y.pos&&y.node).sort((y,k)=>y.node.x-k.node.x);for(let y=0;y<c.length-1;y++){let k=c[y],v=c[y+1];d.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",k.pos.x).attr("y1",k.pos.y).attr("x2",v.pos.x).attr("y2",v.pos.y).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let f=1/0,g=-1/0,w=0;if(s.componentIds.forEach((y)=>{let k=h.get(y);if(k)f=Math.min(f,k.x),g=Math.max(g,k.x),w=k.y}),f!==1/0&&g!==-1/0){let k=o.nodeRadius*4,v=w-k/2,W=h.get(s.nodeId);if(W){let B=(f+g)/2;W.x=B,W.y=v-b/6}e.append("rect").attr("class","wardley-pipeline-box").attr("x",f-15).attr("y",v).attr("width",g-f+30).attr("height",k).attr("fill","none").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let dt=z.append("g").attr("class","wardley-links"),lt=new Map;m.pipelines.forEach((e)=>{lt.set(e.nodeId,new Set(e.componentIds))});let ct=m.links.filter((e)=>{if(!h.has(e.source)||!h.has(e.target))return!1;if(lt.get(e.target)?.has(e.source))return!1;return!0});dt.selectAll("line").data(ct).enter().append("line").attr("class",(e)=>`wardley-link${e.dashed?" wardley-link--dashed":""}`).attr("x1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.x+g/y*f}).attr("y1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.y+w/y*f}).attr("x2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.x+g/y*f}).attr("y2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.y+w/y*f}).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(e)=>e.dashed?"6 6":null).attr("marker-end",(e)=>{if(e.flow==="forward"||e.flow==="bidirectional")return`url(#link-arrow-end-${i})`;return null}).attr("marker-start",(e)=>{if(e.flow==="backward"||e.flow==="bidirectional")return`url(#link-arrow-start-${i})`;return null}),dt.selectAll("text").data(ct.filter((e)=>e.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=s.y-d.y,g=s.x-d.x,w=Math.sqrt(g*g+f*f),y=8,k=f/w;return c+k*8}).attr("y",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.y+s.y)/2,f=s.x-d.x,g=s.y-d.y,w=Math.sqrt(f*f+g*g),y=8,k=-f/w;return c+k*8}).attr("fill",p.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=(d.y+s.y)/2,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w),k=8,v=w/y,W=-g/y,B=c+v*8,at=f+W*8,j=Math.atan2(w,g)*180/Math.PI;if(j>90||j<-90)j+=180;return`rotate(${j} ${B} ${at})`}).text((e)=>e.label);let Wt=z.append("g").attr("class","wardley-trends"),At=m.trends.map((e)=>{let d=h.get(e.nodeId);if(!d)return null;let s=O(e.targetX),c=D(e.targetY),f=s-d.x,g=c-d.y,w=Math.sqrt(f*f+g*g),y=o.nodeRadius+2,k=w>y?s-f/w*y:s,v=w>y?c-g/w*y:c;return{origin:d,targetX:s,targetY:c,adjustedX2:k,adjustedY2:v}}).filter((e)=>e!==null);Wt.selectAll("line").data(At).enter().append("line").attr("class","wardley-trend").attr("x1",(e)=>e.origin.x).attr("y1",(e)=>e.origin.y).attr("x2",(e)=>e.adjustedX2).attr("y2",(e)=>e.adjustedY2).attr("stroke",p.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${i})`);let I=z.append("g").attr("class","wardley-nodes").selectAll("g").data(m.nodes).enter().append("g").attr("class",(e)=>["wardley-node",e.className?`wardley-node--${e.className}`:""].filter(Boolean).join(" "));I.filter((e)=>e.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((e)=>e.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((e)=>e.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let G=I.filter((e)=>e.sourceStrategy==="market");G.append("circle").attr("class","wardley-market-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((e)=>!e.isPipelineParent&&e.sourceStrategy!=="market"&&e.className!=="anchor").append("circle").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1);let st=o.nodeRadius*0.7,N=o.nodeRadius*1.2;if(G.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x).attr("y1",(e)=>h.get(e.id).y-N).attr("x2",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),G.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),G.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x).attr("y2",(e)=>h.get(e.id).y-N).attr("stroke",p.componentStroke).attr("stroke-width",1),G.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y-N).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),G.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),G.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),I.filter((e)=>e.isPipelineParent===!0).append("rect").attr("x",(e)=>h.get(e.id).x-b/2).attr("y",(e)=>h.get(e.id).y-b/2).attr("width",b).attr("height",b).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((e)=>e.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y-s/2}).attr("x2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y+s/2}).attr("stroke",p.componentStroke).attr("stroke-width",6),I.append("text").attr("x",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetX!==void 0?d.x+e.labelOffsetX:d.x;let s=o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetX===void 0)s+=10;let c=e.labelOffsetX??s;return d.x+c}).attr("y",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetY!==void 0?d.y+e.labelOffsetY:d.y-3;let s=-o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetY===void 0)s-=10;let c=e.labelOffsetY??s;return d.y+c}).attr("class","wardley-node-label").attr("fill",(e)=>{if(e.className==="evolved")return p.evolutionStroke;if(e.className==="anchor")return"#000";return p.componentLabelColor}).attr("font-size",o.labelFontSize).attr("font-weight",(e)=>e.className==="anchor"?"bold":"normal").attr("text-anchor",(e)=>e.className==="anchor"?"middle":"start").attr("dominant-baseline",(e)=>e.className==="anchor"?"middle":"auto").text((e)=>e.label),m.annotations.length>0){let e=z.append("g").attr("class","wardley-annotations");if(m.annotations.forEach((d)=>{let s=d.coordinates.map((c)=>({x:O(c.x),y:D(c.y)}));if(s.length>1)for(let c=0;c<s.length-1;c++)e.append("line").attr("class","wardley-annotation-line").attr("x1",s[c].x).attr("y1",s[c].y).attr("x2",s[c+1].x).attr("y2",s[c+1].y).attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach((c)=>{let f=e.append("g").attr("class","wardley-annotation");f.append("circle").attr("cx",c.x).attr("cy",c.y).attr("r",10).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5),f.append("text").attr("x",c.x).attr("y",c.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.number)})}),m.annotationsBox){let d=O(m.annotationsBox.x),s=D(m.annotationsBox.y),c=10,f=16,g=11,w=e.append("g").attr("class","wardley-annotations-box"),y=[...m.annotations].filter((v)=>v.text).sort((v,W)=>v.number-W.number),k=[];if(y.forEach((v,W)=>{let B=w.append("text").attr("x",d+c).attr("y",s+c+(W+1)*f).attr("font-size",g).attr("fill",p.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${v.number}. ${v.text}`);k.push(B)}),k.length>0){let v=0,W=0;k.forEach((it)=>{let rt=it.node(),Yt=rt.getComputedTextLength();v=Math.max(v,Yt);let It=rt.getBBox();W=Math.max(W,It.height)});let B=v+c*2+105,at=y.length*f+c*2+W/2,j=o.padding,Xt=Y-o.padding-B,Et=o.padding,Ht=M-o.padding-at;d=Math.max(j,Math.min(d,Xt)),s=Math.max(Et,Math.min(s,Ht)),k.forEach((it,rt)=>{it.attr("x",d+c).attr("y",s+c+(rt+1)*f)}),w.insert("rect","text").attr("x",d).attr("y",s).attr("width",B).attr("height",at).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(m.notes.length>0){let e=z.append("g").attr("class","wardley-notes");m.notes.forEach((d)=>{let s=O(d.x),c=D(d.y);e.append("text").attr("x",s).attr("y",c).attr("text-anchor","start").attr("font-size",11).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.text)})}if(m.accelerators.length>0){let e=z.append("g").attr("class","wardley-accelerators");m.accelerators.forEach((d)=>{let s=O(d.x),c=D(d.y),f=60,g=30,w=20,y=`
3
3
  M ${s} ${c-15}
4
4
  L ${s+60-20} ${c-15}
5
5
  L ${s+60-20} ${c-15-8}
@@ -8,7 +8,7 @@ import{G}from"./chunk-p1yc8hwn.js";import{t,a,ke,x,F,C,S,E,T,A,L,R,l,V,U}from"./
8
8
  L ${s+60-20} ${c+15}
9
9
  L ${s} ${c+15}
10
10
  Z
11
- `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}if(m.deaccelerators.length>0){let e=z.append("g").attr("class","wardley-deaccelerators");m.deaccelerators.forEach((d)=>{let s=B(d.x),c=O(d.y),f=60,g=30,w=20,y=`
11
+ `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}if(m.deaccelerators.length>0){let e=z.append("g").attr("class","wardley-deaccelerators");m.deaccelerators.forEach((d)=>{let s=O(d.x),c=D(d.y),f=60,g=30,w=20,y=`
12
12
  M ${s+60} ${c-15}
13
13
  L ${s+20} ${c-15}
14
14
  L ${s+20} ${c-15-8}
@@ -17,7 +17,7 @@ import{G}from"./chunk-p1yc8hwn.js";import{t,a,ke,x,F,C,S,E,T,A,L,R,l,V,U}from"./
17
17
  L ${s+20} ${c+15}
18
18
  L ${s+60} ${c+15}
19
19
  Z
20
- `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}},"draw"),Vt={draw:jt},_t=t(({wardley:r}={})=>{let i=ke(),n=x(),u=U(i,n.themeVariables),o=U(u.wardley,r);return`
20
+ `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}},"draw"),Vt={draw:jt},_t=t(({wardley:r}={})=>{let i=we(),n=x(),u=U(i,n.themeVariables),o=U(u.wardley,r);return`
21
21
  .wardley-background {
22
22
  fill: ${o.backgroundColor};
23
23
  }
@@ -0,0 +1 @@
1
+ import{no,Lo,ro,Io,Do,ao}from"./chunk-d57fm7k0.js";import"./chunk-81s15c2e.js";import"./chunk-3n9ypydh.js";import"./chunk-b5zf1hs3.js";export{Lo as applyDagreLayoutResult,no as getEdgesToRender,Io as measureDagreLayout,ro as prepareLayoutForDagre,ao as render,Do as runDagreLayoutCore};
@@ -1,4 +1,4 @@
1
- import{B,o,v,i,r,f,e,n,y,q,fi,To,Ji,Mr,er,Eo,eo,Ao,ia,oa,Nn,hi,gi}from"./chunk-kahab58k.js";var D={sealed:"已封存",folded:"已折叠",archived:"已移出"},R=["bg-accent","bg-accent-strong","bg-warning","bg-success"];function W(t,c){if(t.startsWith("recent-"))return"json";let d=c.trimStart();if(!d)return"markdown";if(d.startsWith("{")||d.startsWith("["))return"json";if(/^<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>/.test(d))return"xml";return"markdown"}function A(t){if(!t||t.length>32000)return t;if(!t.trimStart().startsWith("<"))return t;let d=[],s=0,a=(u)=>" ".repeat(u),m=/(<([a-zA-Z_][\w.-]*)(?:\s+[^>]*)?>([^\r\n<]*)<\/\2>)|(<\/[a-zA-Z_][\w.-]*>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?\/>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>)|([^<]+)/g;for(let u of t.matchAll(m)){let[,x,,,g,l,p,h]=u;if(x)d.push(`${a(s)}${x.trim()}`);else if(g)s=Math.max(0,s-1),d.push(`${a(s)}${g.trim()}`);else if(p)d.push(`${a(s)}${p.trim()}`),s++;else if(l)d.push(`${a(s)}${l.trim()}`);else if(h){let N=h.trim();if(N)for(let S of N.split(/\r?\n/)){let I=S.trim();if(I)d.push(`${a(s)}${I}`)}}}return d.length>0?d.join(`
2
- `):t}function z(){return n("div",{role:"status","aria-busy":"true","aria-label":"正在加载上下文",className:"space-y-2 animate-pulse",children:[e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"})]})}function k(t){let{style:c}=y();return e("p",{className:c("surface.empty"),children:t.children})}function E(t){let{Code:c}=y();return e(c,{code:t.code,lang:t.lang,className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})}function O(t){let{cn:c}=y();if(!t.items.length)return e(k,{children:"新会话还没有上下文。发送第一条消息后,这里会显示构成。"});let d=t.items.reduce((s,a)=>s+a.tokens,0)||1;return n("div",{className:"space-y-2.5",children:[e("div",{className:"flex h-2 overflow-hidden rounded-full bg-raised",children:t.items.map((s,a)=>e("span",{className:c(R[a%R.length],"transition-[width] duration-300 ease-out-quint"),title:`${s.label}:${s.tokens.toLocaleString()} token`,style:{width:`${s.tokens/d*100}%`}},s.id))}),e("div",{className:"space-y-1.5",children:t.items.map((s,a)=>e(Q,{item:s,total:d,index:a,color:R[a%R.length]??"bg-accent"},s.id))})]})}function Q(t){let{cn:c,Chevron:d,CopyButton:s,style:a,useTheme:m}=y();m();let[u,x]=r(!1),g=(t.item.tokens/t.total*100).toFixed(1),l=v(()=>u&&t.item.detail?er(t.item.detail):"",[u,t.item.detail]),p=v(()=>l?W(t.item.id,l):"markdown",[l,t.item.id]),h=v(()=>{if(!l)return"";return p==="xml"?A(l):l},[l,p]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>x((N)=>!N),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[e("span",{className:c("size-2 shrink-0 rounded-full",t.color),"aria-hidden":!0}),e("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:t.item.label}),t.item.state&&e("span",{className:a("control.badge","text-[10px]"),children:D[t.item.state]}),e("span",{className:"font-mono tabular-nums text-dim",children:t.item.tokens.toLocaleString()}),n("span",{className:"w-10 text-right font-mono text-[11px] tabular-nums text-faint",children:[g,"%"]}),e(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[e("div",{className:"mb-2 h-1 overflow-hidden rounded-full bg-raised",children:e("div",{className:c("h-full",t.color),style:{width:`${g}%`}})}),h?n("div",{className:a("surface.subtle","group/detail relative overflow-hidden rounded-lg bg-panel/70 p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(s,{text:t.item.detail,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-80 overflow-y-auto pr-6 text-dim",children:e(E,{code:h,lang:p})})]}):e("p",{className:"py-2 text-center text-xs text-faint",children:"(空)"})]})]})}var M=40,Y={accent:"bg-accent/15 text-accent",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-danger/15 text-danger",neutral:"bg-raised text-dim"};function L(t){let{Button:c,CopyButton:d,style:s,useTheme:a}=y();a();let[m,u]=r(M),x=i(null),g=m<t.entries.length;o(()=>{let p=x.current;if(!p||!g||typeof IntersectionObserver>"u")return;let h=new IntersectionObserver((N)=>{if(N.some((S)=>S.isIntersecting))u((S)=>Math.min(t.entries.length,S+M))},{rootMargin:"480px"});return h.observe(p),()=>h.disconnect()},[g,t.entries.length]);let l=v(()=>t.entries.slice(-m).reverse(),[t.entries,m]);if(!t.entries.length)return e(k,{children:"还没有消息。"});return n("div",{className:"space-y-1.5",children:[n("div",{className:s("surface.subtle","flex items-center justify-between px-3 py-1.5 text-xs text-faint"),children:[n("span",{children:["共 ",t.entries.length," 条记录"]}),e(d,{text:()=>t.entries.map((p)=>JSON.stringify(p,null,2)).join(`
1
+ import{B,o,v,i,r,f,e,n,y,q,fi,To,Ji,Nr,tr,Eo,eo,Ao,ia,oa,On,hi,gi}from"./chunk-3k9h7a73.js";var D={sealed:"已封存",folded:"已折叠",archived:"已移出"},R=["bg-accent","bg-accent-strong","bg-warning","bg-success"];function W(t,c){if(t.startsWith("recent-"))return"json";let d=c.trimStart();if(!d)return"markdown";if(d.startsWith("{")||d.startsWith("["))return"json";if(/^<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>/.test(d))return"xml";return"markdown"}function A(t){if(!t||t.length>32000)return t;if(!t.trimStart().startsWith("<"))return t;let d=[],s=0,a=(u)=>" ".repeat(u),m=/(<([a-zA-Z_][\w.-]*)(?:\s+[^>]*)?>([^\r\n<]*)<\/\2>)|(<\/[a-zA-Z_][\w.-]*>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?\/>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>)|([^<]+)/g;for(let u of t.matchAll(m)){let[,x,,,g,l,p,h]=u;if(x)d.push(`${a(s)}${x.trim()}`);else if(g)s=Math.max(0,s-1),d.push(`${a(s)}${g.trim()}`);else if(p)d.push(`${a(s)}${p.trim()}`),s++;else if(l)d.push(`${a(s)}${l.trim()}`);else if(h){let N=h.trim();if(N)for(let S of N.split(/\r?\n/)){let I=S.trim();if(I)d.push(`${a(s)}${I}`)}}}return d.length>0?d.join(`
2
+ `):t}function z(){return n("div",{role:"status","aria-busy":"true","aria-label":"正在加载上下文",className:"space-y-2 animate-pulse",children:[e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"})]})}function k(t){let{style:c}=y();return e("p",{className:c("surface.empty"),children:t.children})}function E(t){let{Code:c}=y();return e(c,{code:t.code,lang:t.lang,className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})}function O(t){let{cn:c}=y();if(!t.items.length)return e(k,{children:"新会话还没有上下文。发送第一条消息后,这里会显示构成。"});let d=t.items.reduce((s,a)=>s+a.tokens,0)||1;return n("div",{className:"space-y-2.5",children:[e("div",{className:"flex h-2 overflow-hidden rounded-full bg-raised",children:t.items.map((s,a)=>e("span",{className:c(R[a%R.length],"transition-[width] duration-300 ease-out-quint"),title:`${s.label}:${s.tokens.toLocaleString()} token`,style:{width:`${s.tokens/d*100}%`}},s.id))}),e("div",{className:"space-y-1.5",children:t.items.map((s,a)=>e(Q,{item:s,total:d,index:a,color:R[a%R.length]??"bg-accent"},s.id))})]})}function Q(t){let{cn:c,Chevron:d,CopyButton:s,style:a,useTheme:m}=y();m();let[u,x]=r(!1),g=(t.item.tokens/t.total*100).toFixed(1),l=v(()=>u&&t.item.detail?tr(t.item.detail):"",[u,t.item.detail]),p=v(()=>l?W(t.item.id,l):"markdown",[l,t.item.id]),h=v(()=>{if(!l)return"";return p==="xml"?A(l):l},[l,p]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>x((N)=>!N),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[e("span",{className:c("size-2 shrink-0 rounded-full",t.color),"aria-hidden":!0}),e("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:t.item.label}),t.item.state&&e("span",{className:a("control.badge","text-[10px]"),children:D[t.item.state]}),e("span",{className:"font-mono tabular-nums text-dim",children:t.item.tokens.toLocaleString()}),n("span",{className:"w-10 text-right font-mono text-[11px] tabular-nums text-faint",children:[g,"%"]}),e(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[e("div",{className:"mb-2 h-1 overflow-hidden rounded-full bg-raised",children:e("div",{className:c("h-full",t.color),style:{width:`${g}%`}})}),h?n("div",{className:a("surface.subtle","group/detail relative overflow-hidden rounded-lg bg-panel/70 p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(s,{text:t.item.detail,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-80 overflow-y-auto pr-6 text-dim",children:e(E,{code:h,lang:p})})]}):e("p",{className:"py-2 text-center text-xs text-faint",children:"(空)"})]})]})}var M=40,Y={accent:"bg-accent/15 text-accent",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-danger/15 text-danger",neutral:"bg-raised text-dim"};function L(t){let{Button:c,CopyButton:d,style:s,useTheme:a}=y();a();let[m,u]=r(M),x=i(null),g=m<t.entries.length;o(()=>{let p=x.current;if(!p||!g||typeof IntersectionObserver>"u")return;let h=new IntersectionObserver((N)=>{if(N.some((S)=>S.isIntersecting))u((S)=>Math.min(t.entries.length,S+M))},{rootMargin:"480px"});return h.observe(p),()=>h.disconnect()},[g,t.entries.length]);let l=v(()=>t.entries.slice(-m).reverse(),[t.entries,m]);if(!t.entries.length)return e(k,{children:"还没有消息。"});return n("div",{className:"space-y-1.5",children:[n("div",{className:s("surface.subtle","flex items-center justify-between px-3 py-1.5 text-xs text-faint"),children:[n("span",{children:["共 ",t.entries.length," 条记录"]}),e(d,{text:()=>t.entries.map((p)=>JSON.stringify(p,null,2)).join(`
3
3
 
4
- `),size:"icon-xs",label:"复制全部原始 JSON",className:"hover:bg-raised text-faint hover:text-ink"})]}),l.map((p)=>e(ee,{entry:p},p.seq)),g&&n("div",{ref:x,className:s("surface.subtle","flex items-center justify-between bg-panel/40 px-3 py-2 text-xs text-faint"),children:[n("span",{children:["已显示 ",l.length," / ",t.entries.length," 条"]}),n("div",{className:"flex items-center gap-1.5",children:[e(c,{size:"sm",variant:"ghost",onClick:()=>u((p)=>Math.min(t.entries.length,p+M)),children:"加载更多"}),e(c,{size:"sm",variant:"ghost",onClick:()=>u(t.entries.length),children:"显示全部"})]})]})]})}var ee=B(function(c){let{Chevron:d,CopyButton:s,style:a,useTheme:m}=y();m();let[u,x]=r(!1),g=Eo(c.entry),l=v(()=>To(c.entry.time),[c.entry.time]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>x((p)=>!p),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[n("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:["#",c.entry.seq]}),e("span",{className:a("control.badge","shrink-0 font-medium text-[10px]",Y[g.tone]),children:g.badge}),e("span",{className:"min-w-0 flex-1 truncate text-ink",children:g.title}),g.meta&&e("span",{className:a("control.badge","shrink-0 font-mono text-[10px] text-faint"),children:g.meta}),e("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:l}),e(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&e("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2.5 text-xs text-dim",children:n("div",{className:"space-y-2",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[n("span",{className:"font-mono",children:[c.entry.type," · #",c.entry.seq]}),e(s,{text:()=>JSON.stringify(c.entry,null,2),size:"icon-xs",label:"复制此条 JSON",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink"})]}),e(te,{entry:c.entry})]})})]})});function te(t){let{style:c,useTheme:d}=y();d();let s=t.entry;if(s.type==="user")return n("div",{className:"space-y-2",children:[s.text&&e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Mr(s.text)}),s.attachments&&s.attachments.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["附件(",s.attachments.length,")"]}),e("div",{className:"flex flex-wrap gap-1.5",children:s.attachments.map((a,m)=>{let u=a.kind==="image"?Math.floor(a.data.length*0.75):a.data.length;return n("div",{className:c("surface.subtle","inline-flex items-center gap-1.5 px-2 py-1 text-[11px]"),children:[e("span",{className:c("control.badge","text-[10px] text-faint"),children:a.kind==="image"?"图片":a.kind==="path"?"路径":"文本"}),e("span",{className:"max-w-40 truncate font-medium text-ink",children:a.name}),n("span",{className:"font-mono text-[10px] text-faint",children:[a.mimeType," · ",Ji(u)]})]},`${a.name}-${m}`)})})]}),s.notices&&s.notices.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["通知来源(",s.notices.length,")"]}),s.notices.map((a)=>n("div",{className:c("surface.subtle","flex items-center justify-between px-2.5 py-1.5 font-mono text-[11px]"),children:[n("span",{className:"truncate text-ink",children:[a.sourceKind,"/",a.sourceID]}),e("span",{className:"text-faint",children:a.state})]},a.dedupeKey))]})]});if(s.type==="assistant")return n("div",{className:"space-y-2",children:[n("div",{className:"font-mono text-[11px] text-faint",children:["模型:",s.model]}),s.error&&e("div",{className:"rounded-lg border border-danger/30 bg-danger/8 px-2.5 py-2 text-xs text-danger",children:s.error}),s.parts.map((a,m)=>{if(a.type==="thinking")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"思考"}),e("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs italic leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Mr(a.text)})]},`thinking-${m}`);if(a.type==="text")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"回复"}),e("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Mr(a.text)})]},`text-${m}`);return n("div",{className:c("surface.subtle","p-2.5 space-y-1.5"),children:[n("div",{className:"flex items-center justify-between gap-2 text-[11px]",children:[n("span",{className:"font-mono font-medium text-ink",children:["工具调用 · ",a.name]}),e("span",{className:"truncate font-mono text-[10px] text-faint",children:a.id})]}),e("div",{className:"max-h-60 overflow-y-auto text-dim",children:e(E,{code:er(JSON.stringify(a.input,eo,2)),lang:"json"})})]},a.id||`tool-${m}`)})]});if(s.type==="tool_result")return n("div",{className:"space-y-2",children:[n("div",{className:"flex flex-wrap items-center gap-2 font-mono text-[11px] text-faint",children:[e("span",{className:"text-ink",children:s.name}),e("span",{children:"·"}),e("span",{className:"truncate",children:s.callID}),e("span",{className:c("control.badge","ml-auto font-sans text-[10px]",s.isError?"bg-danger/15 text-danger":"text-dim"),children:s.isError?"执行失败":"执行完成"})]}),s.images&&s.images.length>0&&e("div",{className:"flex flex-wrap gap-1.5",children:s.images.map((a,m)=>n("span",{className:c("surface.subtle","px-2 py-1 font-mono text-[10.5px] text-faint"),children:["图片 #",m+1," · ",a.mimeType," · ",Ji(Math.floor(a.data.length*0.75))]},`${a.mimeType}-${m}`))}),fi(s.output)?e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-words [overflow-wrap:anywhere]",s.isError?"text-danger":"text-dim"),children:Mr(s.output)}):e("p",{className:"py-1 text-faint",children:"(无文本输出)"})]});return e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Ao(s)})}function j(t){let{cn:c,style:d,useTheme:s}=y();if(s(),!t.todos.length)return e(k,{children:"暂无待办。"});return e("ul",{className:"space-y-1.5",children:t.todos.map((a)=>n("li",{className:d("surface.interactive","flex items-start gap-2.5 px-3 py-2 text-xs"),children:[n("span",{className:c("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors duration-300",a.status==="completed"&&"border-success bg-success text-panel",a.status==="in_progress"&&"border-accent",a.status==="pending"&&"border-line-strong"),children:[a.status==="completed"&&e(q,{className:"size-2.5 animate-pop",strokeWidth:3.5}),a.status==="in_progress"&&e("span",{className:"size-1.5 animate-pulse rounded-full bg-accent"})]}),e("span",{className:c("min-w-0 flex-1 break-words leading-relaxed [overflow-wrap:anywhere]",a.status==="completed"&&"text-faint line-through decoration-faint/60",a.status==="in_progress"&&"font-medium text-ink",a.status==="pending"&&"text-dim"),children:a.content})]},`${a.status}-${a.content}`))})}function F(t){let{cn:c,style:d,useTheme:s}=y();s();let[a,m]=r("all"),u=v(()=>t.tools.filter((l)=>l.deferred).length,[t.tools]),x=t.tools.length-u,g=v(()=>{if(a==="deferred")return t.tools.filter((l)=>l.deferred);if(a==="active")return t.tools.filter((l)=>!l.deferred);return t.tools},[t.tools,a]);if(!t.tools.length)return e(k,{children:"当前会话没有可用工具。"});return n("div",{className:"space-y-2",children:[u>0&&n("div",{className:"flex items-center gap-1 text-[11px]",children:[n("button",{type:"button",onClick:()=>m("all"),className:c("rounded-lg px-2 py-1 transition-colors",a==="all"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["全部 (",t.tools.length,")"]}),n("button",{type:"button",onClick:()=>m("active"),className:c("rounded-lg px-2 py-1 transition-colors",a==="active"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["常驻 (",x,")"]}),n("button",{type:"button",onClick:()=>m("deferred"),className:c("rounded-lg px-2 py-1 transition-colors",a==="deferred"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["延迟加载 (",u,")"]})]}),e("div",{className:"space-y-1.5",children:g.map((l)=>e(ae,{tool:l},`${l.group}-${l.name}`))})]})}function ae(t){let{Chevron:c,CopyButton:d,style:s,useTheme:a}=y();a();let[m,u]=r(!1),x=v(()=>m?JSON.stringify(t.tool.schema,null,2):"",[m,t.tool.schema]);return n("div",{"data-state":m?"open":"closed",className:s("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":m,onClick:()=>u((g)=>!g),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 truncate font-mono text-ink",children:[e("span",{className:"truncate",children:t.tool.name}),t.tool.group&&e("span",{className:s("control.badge","font-sans text-[10px]"),children:t.tool.group}),t.tool.deferred&&e("span",{className:s("control.badge","font-sans text-[10px]"),children:"延迟加载"})]}),e(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),m&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[t.tool.deferred&&e("div",{className:s("surface.subtle","mb-2 px-2.5 py-1.5 text-[11px] text-faint"),children:"延迟加载:此工具默认以精简描述挂载,模型通过 toolsearch 取回定义后才向上下文注入完整参数 Schema。"}),t.tool.description&&e("pre",{className:"mb-2 max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:er(t.tool.description)}),n("div",{className:s("surface.subtle","group/schema relative overflow-hidden rounded-lg p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(d,{text:x,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-72 overflow-y-auto pr-6 text-dim",children:e(E,{code:er(x),lang:"json"})})]})]})]})}function se(){try{let t=localStorage.getItem("basalt.contextSidebar.tab");if(t==="tools"||t==="todos"||t==="raw")return t}catch{}return"breakdown"}function ne(t){let{style:c,useTheme:d}=y();return d(),n("div",{className:c("surface.panel","bg-panel/70 px-3 py-2"),children:[e("div",{className:"text-[10px] font-medium uppercase tracking-wider text-faint",children:t.label}),e("div",{className:"mt-0.5 truncate font-mono text-xs font-semibold tabular-nums text-ink",children:t.value})]})}function Oe(t){let{Button:c,StatusChip:d,Segmented:s,cn:a,style:m,useTheme:u}=y();u();let[x,g]=r(se),[l,p]=r(()=>Nn.get(t.session.id)),[h,N]=r(!1),[S,I]=r(0),[H,U]=r(!1);o(()=>{let b=setTimeout(()=>U(!0),140);return()=>clearTimeout(b)},[]),o(()=>{let b=Nn.get(t.session.id);if(b)p(b);return hi((T,G)=>{if(T===t.session.id)p(G)})},[t.session.id]),o(()=>{let b=new AbortController;return N(!1),t.connection.request(`/api/sessions/${encodeURIComponent(t.session.id)}/context`,{signal:AbortSignal.any([b.signal,AbortSignal.timeout(15000)])}).then((T)=>{if(!b.signal.aborted)gi(t.session.id,T),p(T)},()=>{if(!b.signal.aborted)N(!0)}),()=>b.abort()},[t.connection,t.session.id,t.session.updated,t.entries.length,S]);let w=ia(l?.items??[],l?.usableWindow,l?.calibratedTokens,l?.lastInputTokens,l?.hasPendingOutput),C=oa(w.percent),_=l?.lastCacheHitRate,P=l?.usage?.cacheHitRate,J=_===void 0?"—":`${(_*100).toFixed(1)}%`,Z=P===void 0?"—":`${(P*100).toFixed(1)}%`,K=(b)=>{g(b);try{localStorage.setItem("basalt.contextSidebar.tab",b)}catch{}},V=[{value:"breakdown",label:"构成"},{value:"tools",label:n("span",{className:"inline-flex items-center gap-1",children:["工具",l&&e("span",{className:"text-[10px] text-faint tabular-nums",children:l.tools.length})]})},{value:"todos",label:n("span",{className:"inline-flex items-center gap-1",children:["待办",t.session.todos.length>0&&e("span",{className:"text-[10px] text-faint tabular-nums",children:t.session.todos.length})]})},{value:"raw",label:"原始消息"}],X=n("div",{className:"px-3.5 pt-1 pb-3",children:[n("div",{className:"flex items-start justify-between gap-3",children:[n("div",{children:[e("div",{className:"text-[10.5px] font-medium uppercase tracking-wider text-faint",children:"上下文用量"}),n("div",{className:"mt-0.5 flex items-baseline gap-1.5",children:[e("span",{className:"font-mono text-xl font-semibold tabular-nums text-ink",children:l?w.totalTokens.toLocaleString():"—"}),n("span",{className:"font-mono text-xs text-dim",children:["/ ",l?.usableWindow.toLocaleString()??"—"]})]})]}),e(d,{tone:C==="overflow"||C==="near_limit"?"danger":C==="sealing"?"warning":"success",children:C==="overflow"?"预计超限":C==="near_limit"?"接近上限":C==="sealing"?"接近封存":"正常"})]}),w.percent!==null&&e("meter",{className:"sr-only","aria-label":"可用上下文窗口占比",min:0,max:100,value:Math.min(100,w.percent)}),e("div",{"aria-hidden":!0,className:a("relative mt-2.5 h-2 w-full overflow-hidden rounded-full bg-raised",!l&&"animate-pulse"),children:e("div",{className:"h-full rounded-full bg-accent transition-[width] duration-500 ease-out-quint",style:{width:`${Math.min(100,w.percent??0)}%`}})}),n("div",{className:"mt-2 flex items-center justify-between text-[11px]",children:[e("span",{className:"text-dim",children:w.percent===null?"暂无窗口数据":`${w.percent.toFixed(1)}% 可用窗口`}),n("span",{className:"text-faint",children:["总窗口 ",l?.contextWindow.toLocaleString()??"—"," · 80% 封存 · 97% 折叠"]})]}),l?.usage&&(l.usage.input>0||l.usage.output>0||l.usage.cacheRead>0||l.usage.cacheWrite>0||l.usage.cost>0)&&e("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[["Input",l.usage.input.toLocaleString()],["Output",l.usage.output.toLocaleString()],["缓存命中 当前 / 平均",`${J} / ${Z}`],["平均 TPS",l.usage.tps!==void 0?`${l.usage.tps.toFixed(1)} tok/s`:"—"]].map(([b,T])=>e(ne,{label:b,value:T},b))})]});return n(f,{children:[X,e("div",{className:"px-3 py-2",children:e(s,{value:x,onChange:K,options:V,className:"w-full grid grid-cols-4"})}),n("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[h&&!l&&n("div",{role:"alert",className:"flex items-center justify-between rounded-xl border border-danger/30 bg-danger/8 px-3 py-2 text-xs text-danger",children:[e("span",{children:"上下文加载失败。"}),e(c,{size:"sm",variant:"ghost",onClick:()=>I((b)=>b+1),children:"重试"})]}),e("div",{children:!H?e(z,{}):n(f,{children:[x==="raw"&&e(L,{entries:t.entries}),x==="todos"&&e(j,{todos:t.session.todos}),x==="breakdown"&&(l?e(O,{items:w.items}):!h?e(z,{}):null),x==="tools"&&(l?e(F,{tools:l.tools??[]}):!h?e(z,{}):null)]})},x)]})]})}export{Oe as ContextSidebar};
4
+ `),size:"icon-xs",label:"复制全部原始 JSON",className:"hover:bg-raised text-faint hover:text-ink"})]}),l.map((p)=>e(ee,{entry:p},p.seq)),g&&n("div",{ref:x,className:s("surface.subtle","flex items-center justify-between bg-panel/40 px-3 py-2 text-xs text-faint"),children:[n("span",{children:["已显示 ",l.length," / ",t.entries.length," 条"]}),n("div",{className:"flex items-center gap-1.5",children:[e(c,{size:"sm",variant:"ghost",onClick:()=>u((p)=>Math.min(t.entries.length,p+M)),children:"加载更多"}),e(c,{size:"sm",variant:"ghost",onClick:()=>u(t.entries.length),children:"显示全部"})]})]})]})}var ee=B(function(c){let{Chevron:d,CopyButton:s,style:a,useTheme:m}=y();m();let[u,x]=r(!1),g=Eo(c.entry),l=v(()=>To(c.entry.time),[c.entry.time]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>x((p)=>!p),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[n("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:["#",c.entry.seq]}),e("span",{className:a("control.badge","shrink-0 font-medium text-[10px]",Y[g.tone]),children:g.badge}),e("span",{className:"min-w-0 flex-1 truncate text-ink",children:g.title}),g.meta&&e("span",{className:a("control.badge","shrink-0 font-mono text-[10px] text-faint"),children:g.meta}),e("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:l}),e(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&e("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2.5 text-xs text-dim",children:n("div",{className:"space-y-2",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[n("span",{className:"font-mono",children:[c.entry.type," · #",c.entry.seq]}),e(s,{text:()=>JSON.stringify(c.entry,null,2),size:"icon-xs",label:"复制此条 JSON",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink"})]}),e(te,{entry:c.entry})]})})]})});function te(t){let{style:c,useTheme:d}=y();d();let s=t.entry;if(s.type==="user")return n("div",{className:"space-y-2",children:[s.text&&e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Nr(s.text)}),s.attachments&&s.attachments.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["附件(",s.attachments.length,")"]}),e("div",{className:"flex flex-wrap gap-1.5",children:s.attachments.map((a,m)=>{let u=a.kind==="image"?Math.floor(a.data.length*0.75):a.data.length;return n("div",{className:c("surface.subtle","inline-flex items-center gap-1.5 px-2 py-1 text-[11px]"),children:[e("span",{className:c("control.badge","text-[10px] text-faint"),children:a.kind==="image"?"图片":a.kind==="path"?"路径":"文本"}),e("span",{className:"max-w-40 truncate font-medium text-ink",children:a.name}),n("span",{className:"font-mono text-[10px] text-faint",children:[a.mimeType," · ",Ji(u)]})]},`${a.name}-${m}`)})})]}),s.notices&&s.notices.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["通知来源(",s.notices.length,")"]}),s.notices.map((a)=>n("div",{className:c("surface.subtle","flex items-center justify-between px-2.5 py-1.5 font-mono text-[11px]"),children:[n("span",{className:"truncate text-ink",children:[a.sourceKind,"/",a.sourceID]}),e("span",{className:"text-faint",children:a.state})]},a.dedupeKey))]})]});if(s.type==="assistant")return n("div",{className:"space-y-2",children:[n("div",{className:"font-mono text-[11px] text-faint",children:["模型:",s.model]}),s.error&&e("div",{className:"rounded-lg border border-danger/30 bg-danger/8 px-2.5 py-2 text-xs text-danger",children:s.error}),s.parts.map((a,m)=>{if(a.type==="thinking")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"思考"}),e("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs italic leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Nr(a.text)})]},`thinking-${m}`);if(a.type==="text")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"回复"}),e("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Nr(a.text)})]},`text-${m}`);return n("div",{className:c("surface.subtle","p-2.5 space-y-1.5"),children:[n("div",{className:"flex items-center justify-between gap-2 text-[11px]",children:[n("span",{className:"font-mono font-medium text-ink",children:["工具调用 · ",a.name]}),e("span",{className:"truncate font-mono text-[10px] text-faint",children:a.id})]}),e("div",{className:"max-h-60 overflow-y-auto text-dim",children:e(E,{code:tr(JSON.stringify(a.input,eo,2)),lang:"json"})})]},a.id||`tool-${m}`)})]});if(s.type==="tool_result")return n("div",{className:"space-y-2",children:[n("div",{className:"flex flex-wrap items-center gap-2 font-mono text-[11px] text-faint",children:[e("span",{className:"text-ink",children:s.name}),e("span",{children:"·"}),e("span",{className:"truncate",children:s.callID}),e("span",{className:c("control.badge","ml-auto font-sans text-[10px]",s.isError?"bg-danger/15 text-danger":"text-dim"),children:s.isError?"执行失败":"执行完成"})]}),s.images&&s.images.length>0&&e("div",{className:"flex flex-wrap gap-1.5",children:s.images.map((a,m)=>n("span",{className:c("surface.subtle","px-2 py-1 font-mono text-[10.5px] text-faint"),children:["图片 #",m+1," · ",a.mimeType," · ",Ji(Math.floor(a.data.length*0.75))]},`${a.mimeType}-${m}`))}),fi(s.output)?e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-words [overflow-wrap:anywhere]",s.isError?"text-danger":"text-dim"),children:Nr(s.output)}):e("p",{className:"py-1 text-faint",children:"(无文本输出)"})]});return e("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Ao(s)})}function j(t){let{cn:c,style:d,useTheme:s}=y();if(s(),!t.todos.length)return e(k,{children:"暂无待办。"});return e("ul",{className:"space-y-1.5",children:t.todos.map((a)=>n("li",{className:d("surface.interactive","flex items-start gap-2.5 px-3 py-2 text-xs"),children:[n("span",{className:c("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors duration-300",a.status==="completed"&&"border-success bg-success text-panel",a.status==="in_progress"&&"border-accent",a.status==="pending"&&"border-line-strong"),children:[a.status==="completed"&&e(q,{className:"size-2.5 animate-pop",strokeWidth:3.5}),a.status==="in_progress"&&e("span",{className:"size-1.5 animate-pulse rounded-full bg-accent"})]}),e("span",{className:c("min-w-0 flex-1 break-words leading-relaxed [overflow-wrap:anywhere]",a.status==="completed"&&"text-faint line-through decoration-faint/60",a.status==="in_progress"&&"font-medium text-ink",a.status==="pending"&&"text-dim"),children:a.content})]},`${a.status}-${a.content}`))})}function F(t){let{cn:c,style:d,useTheme:s}=y();s();let[a,m]=r("all"),u=v(()=>t.tools.filter((l)=>l.deferred).length,[t.tools]),x=t.tools.length-u,g=v(()=>{if(a==="deferred")return t.tools.filter((l)=>l.deferred);if(a==="active")return t.tools.filter((l)=>!l.deferred);return t.tools},[t.tools,a]);if(!t.tools.length)return e(k,{children:"当前会话没有可用工具。"});return n("div",{className:"space-y-2",children:[u>0&&n("div",{className:"flex items-center gap-1 text-[11px]",children:[n("button",{type:"button",onClick:()=>m("all"),className:c("rounded-lg px-2 py-1 transition-colors",a==="all"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["全部 (",t.tools.length,")"]}),n("button",{type:"button",onClick:()=>m("active"),className:c("rounded-lg px-2 py-1 transition-colors",a==="active"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["常驻 (",x,")"]}),n("button",{type:"button",onClick:()=>m("deferred"),className:c("rounded-lg px-2 py-1 transition-colors",a==="deferred"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["延迟加载 (",u,")"]})]}),e("div",{className:"space-y-1.5",children:g.map((l)=>e(ae,{tool:l},`${l.group}-${l.name}`))})]})}function ae(t){let{Chevron:c,CopyButton:d,style:s,useTheme:a}=y();a();let[m,u]=r(!1),x=v(()=>m?JSON.stringify(t.tool.schema,null,2):"",[m,t.tool.schema]);return n("div",{"data-state":m?"open":"closed",className:s("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":m,onClick:()=>u((g)=>!g),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 truncate font-mono text-ink",children:[e("span",{className:"truncate",children:t.tool.name}),t.tool.group&&e("span",{className:s("control.badge","font-sans text-[10px]"),children:t.tool.group}),t.tool.deferred&&e("span",{className:s("control.badge","font-sans text-[10px]"),children:"延迟加载"})]}),e(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),m&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[t.tool.deferred&&e("div",{className:s("surface.subtle","mb-2 px-2.5 py-1.5 text-[11px] text-faint"),children:"延迟加载:此工具默认以精简描述挂载,模型通过 toolsearch 取回定义后才向上下文注入完整参数 Schema。"}),t.tool.description&&e("pre",{className:"mb-2 max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:tr(t.tool.description)}),n("div",{className:s("surface.subtle","group/schema relative overflow-hidden rounded-lg p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(d,{text:x,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-72 overflow-y-auto pr-6 text-dim",children:e(E,{code:tr(x),lang:"json"})})]})]})]})}function se(){try{let t=localStorage.getItem("basalt.contextSidebar.tab");if(t==="tools"||t==="todos"||t==="raw")return t}catch{}return"breakdown"}function ne(t){let{style:c,useTheme:d}=y();return d(),n("div",{className:c("surface.panel","bg-panel/70 px-3 py-2"),children:[e("div",{className:"text-[10px] font-medium uppercase tracking-wider text-faint",children:t.label}),e("div",{className:"mt-0.5 truncate font-mono text-xs font-semibold tabular-nums text-ink",children:t.value})]})}function Oe(t){let{Button:c,StatusChip:d,Segmented:s,cn:a,style:m,useTheme:u}=y();u();let[x,g]=r(se),[l,p]=r(()=>On.get(t.session.id)),[h,N]=r(!1),[S,I]=r(0),[H,U]=r(!1);o(()=>{let b=setTimeout(()=>U(!0),140);return()=>clearTimeout(b)},[]),o(()=>{let b=On.get(t.session.id);if(b)p(b);return hi((T,G)=>{if(T===t.session.id)p(G)})},[t.session.id]),o(()=>{let b=new AbortController;return N(!1),t.connection.request(`/api/sessions/${encodeURIComponent(t.session.id)}/context`,{signal:AbortSignal.any([b.signal,AbortSignal.timeout(15000)])}).then((T)=>{if(!b.signal.aborted)gi(t.session.id,T),p(T)},()=>{if(!b.signal.aborted)N(!0)}),()=>b.abort()},[t.connection,t.session.id,t.session.updated,t.entries.length,S]);let w=ia(l?.items??[],l?.usableWindow,l?.calibratedTokens,l?.lastInputTokens,l?.hasPendingOutput),C=oa(w.percent),_=l?.lastCacheHitRate,P=l?.usage?.cacheHitRate,J=_===void 0?"—":`${(_*100).toFixed(1)}%`,Z=P===void 0?"—":`${(P*100).toFixed(1)}%`,K=(b)=>{g(b);try{localStorage.setItem("basalt.contextSidebar.tab",b)}catch{}},V=[{value:"breakdown",label:"构成"},{value:"tools",label:n("span",{className:"inline-flex items-center gap-1",children:["工具",l&&e("span",{className:"text-[10px] text-faint tabular-nums",children:l.tools.length})]})},{value:"todos",label:n("span",{className:"inline-flex items-center gap-1",children:["待办",t.session.todos.length>0&&e("span",{className:"text-[10px] text-faint tabular-nums",children:t.session.todos.length})]})},{value:"raw",label:"原始消息"}],X=n("div",{className:"px-3.5 pt-1 pb-3",children:[n("div",{className:"flex items-start justify-between gap-3",children:[n("div",{children:[e("div",{className:"text-[10.5px] font-medium uppercase tracking-wider text-faint",children:"上下文用量"}),n("div",{className:"mt-0.5 flex items-baseline gap-1.5",children:[e("span",{className:"font-mono text-xl font-semibold tabular-nums text-ink",children:l?w.totalTokens.toLocaleString():"—"}),n("span",{className:"font-mono text-xs text-dim",children:["/ ",l?.usableWindow.toLocaleString()??"—"]})]})]}),e(d,{tone:C==="overflow"||C==="near_limit"?"danger":C==="sealing"?"warning":"success",children:C==="overflow"?"预计超限":C==="near_limit"?"接近上限":C==="sealing"?"接近封存":"正常"})]}),w.percent!==null&&e("meter",{className:"sr-only","aria-label":"可用上下文窗口占比",min:0,max:100,value:Math.min(100,w.percent)}),e("div",{"aria-hidden":!0,className:a("relative mt-2.5 h-2 w-full overflow-hidden rounded-full bg-raised",!l&&"animate-pulse"),children:e("div",{className:"h-full rounded-full bg-accent transition-[width] duration-500 ease-out-quint",style:{width:`${Math.min(100,w.percent??0)}%`}})}),n("div",{className:"mt-2 flex items-center justify-between text-[11px]",children:[e("span",{className:"text-dim",children:w.percent===null?"暂无窗口数据":`${w.percent.toFixed(1)}% 可用窗口`}),n("span",{className:"text-faint",children:["总窗口 ",l?.contextWindow.toLocaleString()??"—"," · 80% 封存 · 97% 折叠"]})]}),l?.usage&&(l.usage.input>0||l.usage.output>0||l.usage.cacheRead>0||l.usage.cacheWrite>0||l.usage.cost>0)&&e("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[["Input",l.usage.input.toLocaleString()],["Output",l.usage.output.toLocaleString()],["缓存命中 当前 / 平均",`${J} / ${Z}`],["平均 TPS",l.usage.tps!==void 0?`${l.usage.tps.toFixed(1)} tok/s`:"—"]].map(([b,T])=>e(ne,{label:b,value:T},b))})]});return n(f,{children:[X,e("div",{className:"px-3 py-2",children:e(s,{value:x,onChange:K,options:V,className:"w-full grid grid-cols-4"})}),n("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[h&&!l&&n("div",{role:"alert",className:"flex items-center justify-between rounded-xl border border-danger/30 bg-danger/8 px-3 py-2 text-xs text-danger",children:[e("span",{children:"上下文加载失败。"}),e(c,{size:"sm",variant:"ghost",onClick:()=>I((b)=>b+1),children:"重试"})]}),e("div",{children:!H?e(z,{}):n(f,{children:[x==="raw"&&e(L,{entries:t.entries}),x==="todos"&&e(j,{todos:t.session.todos}),x==="breakdown"&&(l?e(O,{items:w.items}):!h?e(z,{}):null),x==="tools"&&(l?e(F,{tools:l.tools??[]}):!h?e(z,{}):null)]})},x)]})]})}export{Oe as ContextSidebar};