graview 0.1.52 → 0.1.54

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 (222) hide show
  1. package/dist/preview/chunk.25P5SDNR.js +1 -0
  2. package/dist/preview/chunk.27O4LIDU.js +1 -0
  3. package/dist/preview/{chunk.RWCWRJJC.js → chunk.2DFWOLL2.js} +1 -1
  4. package/dist/preview/{chunk.R6FHEEJ7.js → chunk.2LMB5E6N.js} +1 -1
  5. package/dist/preview/chunk.2WSRJGW2.js +1 -0
  6. package/dist/preview/{chunk.IVI3HRSF.js → chunk.33YC5RCB.js} +1 -1
  7. package/dist/preview/chunk.3G5DEGFA.js +1 -0
  8. package/dist/preview/{chunk.73EKJ4JN.js → chunk.3IEJQAK7.js} +1 -1
  9. package/dist/preview/chunk.3JMZHCB4.js +293 -0
  10. package/dist/preview/chunk.3MZIWKNG.js +5 -0
  11. package/dist/preview/{chunk.FLNYLE6S.js → chunk.3SOJJAMY.js} +1 -1
  12. package/dist/preview/{chunk.QRCTTDDQ.js → chunk.3V2WXZU3.js} +1 -1
  13. package/dist/preview/{chunk.R77TACXU.js → chunk.3ZONBC6L.js} +1 -1
  14. package/dist/preview/{chunk.SZCZD2GM.js → chunk.45HTFSWD.js} +1 -1
  15. package/dist/preview/chunk.463PGKOL.js +35 -0
  16. package/dist/preview/chunk.4BX3KLAA.js +1 -0
  17. package/dist/preview/chunk.4F5M5XZG.js +1 -0
  18. package/dist/preview/{chunk.ZK42LPF5.js → chunk.4GHXAWIE.js} +1 -1
  19. package/dist/preview/chunk.4KTHJY5N.js +19 -0
  20. package/dist/preview/{chunk.ULAMIQ52.js → chunk.4TGQ6Z6E.js} +1 -1
  21. package/dist/preview/{chunk.VKOCD5CL.js → chunk.4V64RBCK.js} +1 -1
  22. package/dist/preview/{chunk.I2W7HSBU.js → chunk.4WH4N4V7.js} +1 -1
  23. package/dist/preview/{chunk.NAPTE3S6.js → chunk.562IVJHX.js} +1 -1
  24. package/dist/preview/chunk.57VTD3CU.js +1 -0
  25. package/dist/preview/{chunk.JQBP6QWQ.js → chunk.5C43AM3X.js} +1 -1
  26. package/dist/preview/chunk.5M62CMLA.js +1 -0
  27. package/dist/preview/chunk.5RH6FO3K.js +1 -0
  28. package/dist/preview/chunk.5VF2RT4H.js +1 -0
  29. package/dist/preview/chunk.5XAIP3BS.js +1 -0
  30. package/dist/preview/{chunk.CV4QA4ZF.js → chunk.5ZWE72VJ.js} +1 -1
  31. package/dist/preview/{chunk.NB6WN4DO.js → chunk.644FUGSX.js} +1 -1
  32. package/dist/preview/chunk.6BBB7SJL.js +1 -0
  33. package/dist/preview/chunk.6SPORDJC.js +1 -0
  34. package/dist/preview/{chunk.C4UNAJWC.js → chunk.6TILXTP6.js} +1 -1
  35. package/dist/preview/{chunk.7UXDIEPK.js → chunk.7JCUSYS5.js} +1 -1
  36. package/dist/preview/{chunk.NHIPVAGR.js → chunk.7SCENHVG.js} +1 -1
  37. package/dist/preview/{chunk.HSGUXMAO.js → chunk.7TMWMW4W.js} +1 -1
  38. package/dist/preview/{chunk.3TME4BG3.js → chunk.7UD2JR6J.js} +1 -1
  39. package/dist/preview/{chunk.C7EEYSAM.js → chunk.AG7CUSSV.js} +1 -1
  40. package/dist/preview/{chunk.INL4OZI7.js → chunk.AKLVSZ5A.js} +1 -1
  41. package/dist/preview/chunk.AN5QCSVK.js +1 -0
  42. package/dist/preview/chunk.ARRLAAG6.js +1 -0
  43. package/dist/preview/{chunk.7354O67H.js → chunk.AZGXBTOQ.js} +1 -1
  44. package/dist/preview/{chunk.FJC6PMOG.js → chunk.B2X6DA2Q.js} +4 -4
  45. package/dist/preview/chunk.B3WVCSW5.js +1 -0
  46. package/dist/preview/chunk.B6PKKEY3.js +1 -0
  47. package/dist/preview/{chunk.VGTEEANA.js → chunk.BOMYLOCX.js} +1 -1
  48. package/dist/preview/chunk.BPWSQVEN.js +1 -0
  49. package/dist/preview/{chunk.I43ONAEL.js → chunk.BUDEUNBN.js} +1 -1
  50. package/dist/preview/chunk.C3AHDHX7.js +1 -0
  51. package/dist/preview/{chunk.FEBCIEI3.js → chunk.C6HBYRGJ.js} +1 -1
  52. package/dist/preview/chunk.C6HI3LRB.js +1 -0
  53. package/dist/preview/{chunk.7XJ3XQZD.js → chunk.CB5DGKR5.js} +1 -1
  54. package/dist/preview/{chunk.2K3YQJW3.js → chunk.CB7IUKY7.js} +2 -2
  55. package/dist/preview/{chunk.GZHEGKPF.js → chunk.COWJTVZV.js} +1 -1
  56. package/dist/preview/{chunk.5DDHFNZM.js → chunk.D2PJG5N7.js} +1 -1
  57. package/dist/preview/chunk.D6ACCKYJ.js +1 -0
  58. package/dist/preview/{chunk.CBGKWYGI.js → chunk.DF7IPT7V.js} +2 -2
  59. package/dist/preview/{chunk.R7CRV2FE.js → chunk.DTJ4FIHM.js} +1 -1
  60. package/dist/preview/chunk.DVG47BK3.js +1 -0
  61. package/dist/preview/{chunk.LTJYKQJG.js → chunk.E5JX5LWY.js} +1 -1
  62. package/dist/preview/chunk.EC7I33WI.js +1 -0
  63. package/dist/preview/chunk.F5RN6YXG.js +4 -0
  64. package/dist/preview/chunk.FCZ7UFJI.js +1 -0
  65. package/dist/preview/chunk.FMP6NDRZ.js +1 -0
  66. package/dist/preview/{chunk.OS3WZV6C.js → chunk.FRZQSSGE.js} +2 -2
  67. package/dist/preview/chunk.FWKNR7XF.js +4 -0
  68. package/dist/preview/chunk.FWZF7X6A.js +67 -0
  69. package/dist/preview/{chunk.BHPZK4WJ.js → chunk.GHPCSNM6.js} +2 -2
  70. package/dist/preview/{chunk.52J42KR5.js → chunk.GKLDSHHH.js} +1 -1
  71. package/dist/preview/{chunk.7UJZP3YK.js → chunk.GVUJCOKD.js} +2 -2
  72. package/dist/preview/chunk.HLDMTKUP.js +1 -0
  73. package/dist/preview/{chunk.DGWNVDZB.js → chunk.IDYPQ45A.js} +1 -1
  74. package/dist/preview/{chunk.RBWYXVUW.js → chunk.IMHUKSPM.js} +2 -2
  75. package/dist/preview/chunk.IYYP6QUH.js +1 -0
  76. package/dist/preview/chunk.J2Z6WLCH.js +88 -0
  77. package/dist/preview/chunk.J3OX474P.js +1 -0
  78. package/dist/preview/chunk.JCFYZEMY.js +1 -0
  79. package/dist/preview/chunk.JLB4QP6Q.js +1 -0
  80. package/dist/preview/{chunk.R7ZZJOJW.js → chunk.JTOAZ2IR.js} +1 -1
  81. package/dist/preview/chunk.JXGDVJ4N.js +1 -0
  82. package/dist/preview/{chunk.D62V3TBW.js → chunk.K2J26XMB.js} +2 -2
  83. package/dist/preview/{chunk.J6IB2HUZ.js → chunk.KI6M3EWZ.js} +1 -1
  84. package/dist/preview/{chunk.LESRQN3Y.js → chunk.KJGNLWU3.js} +2 -2
  85. package/dist/preview/chunk.KLJDBYAZ.js +1 -0
  86. package/dist/preview/{chunk.XLM4ONUB.js → chunk.KRVEAIKW.js} +1 -1
  87. package/dist/preview/{chunk.KVEDMKUN.js → chunk.KY7QD22S.js} +1 -1
  88. package/dist/preview/{chunk.J2R55TM7.js → chunk.L7MFTL5S.js} +1 -1
  89. package/dist/preview/chunk.LNOWO3IY.js +2 -0
  90. package/dist/preview/{chunk.DXZ5VYCQ.js → chunk.LOUICR7K.js} +1 -1
  91. package/dist/preview/{chunk.NVNQSZ43.js → chunk.LU3B3SZH.js} +1 -1
  92. package/dist/preview/chunk.LVOL2LEC.js +1 -0
  93. package/dist/preview/chunk.LYFEGG6E.js +1 -0
  94. package/dist/preview/chunk.MAWP27FD.js +28 -0
  95. package/dist/preview/chunk.MDWCX3YU.js +1 -0
  96. package/dist/preview/chunk.MNW2ZBQ6.js +1 -0
  97. package/dist/preview/{chunk.7KZ44FEU.js → chunk.MPMROUZA.js} +1 -1
  98. package/dist/preview/{chunk.BJL6EL6B.js → chunk.MVRNEC3Y.js} +1 -1
  99. package/dist/preview/chunk.NDI5OWIB.js +1 -0
  100. package/dist/preview/chunk.NEJSKMJV.js +2 -0
  101. package/dist/preview/{chunk.N7D5LKBI.js → chunk.NGWHV4G6.js} +1 -1
  102. package/dist/preview/{chunk.T2Q3AAQI.js → chunk.OCV46AFN.js} +1 -1
  103. package/dist/preview/{chunk.7IOC6U3C.js → chunk.OLKFEHWB.js} +1 -1
  104. package/dist/preview/{chunk.GL3YVGAP.js → chunk.OZ4EJ5M6.js} +2 -2
  105. package/dist/preview/chunk.PCNEM3WE.js +1 -0
  106. package/dist/preview/chunk.PR2TSHE7.js +9 -0
  107. package/dist/preview/{chunk.C4EPMV7O.js → chunk.PZ4G5QA5.js} +1 -1
  108. package/dist/preview/{chunk.YKACMLLU.js → chunk.PZWJUQAO.js} +1 -1
  109. package/dist/preview/{chunk.7FZY5E2U.js → chunk.Q6RUTFU3.js} +1 -1
  110. package/dist/preview/chunk.QB7RYJ67.js +5 -0
  111. package/dist/preview/{chunk.P5PXWOHI.js → chunk.R7RDUW37.js} +1 -1
  112. package/dist/preview/{chunk.XZLKTOJE.js → chunk.RBYRT2I2.js} +1 -1
  113. package/dist/preview/{chunk.6CY3EA6U.js → chunk.RCFAHV5N.js} +1 -1
  114. package/dist/preview/{chunk.OYRZ2DEI.js → chunk.RLO3RDYH.js} +1 -1
  115. package/dist/preview/chunk.RYMSHMLM.js +1 -0
  116. package/dist/preview/chunk.SDO3DD77.js +6 -0
  117. package/dist/preview/chunk.SF4BYBH6.js +25 -0
  118. package/dist/preview/chunk.SG7YVKH4.js +1 -0
  119. package/dist/preview/chunk.T42H5RXN.js +1 -0
  120. package/dist/preview/{chunk.7EA7THSM.js → chunk.TUNHUTQ5.js} +1 -1
  121. package/dist/preview/chunk.U7GN6UPR.js +1 -0
  122. package/dist/preview/{chunk.QWQBPJ4U.js → chunk.ULSN3ASK.js} +1 -1
  123. package/dist/preview/chunk.V6X3U3JF.js +1 -0
  124. package/dist/preview/chunk.VFMC45E7.js +1 -0
  125. package/dist/preview/{chunk.3FKP32RG.js → chunk.VGOWGOGD.js} +2 -2
  126. package/dist/preview/chunk.VTO6UWUP.js +1 -0
  127. package/dist/preview/chunk.VW6X53E7.js +1 -0
  128. package/dist/preview/chunk.VWQ57LTT.js +18 -0
  129. package/dist/preview/chunk.VYKEIKY5.js +1 -0
  130. package/dist/preview/{chunk.EIWTZC4A.js → chunk.W6NCLU5Y.js} +1 -1
  131. package/dist/preview/{chunk.KFTZLNHY.js → chunk.WHGEDJB2.js} +19 -14
  132. package/dist/preview/{chunk.J263VQF5.js → chunk.WICMCZ27.js} +1 -1
  133. package/dist/preview/{chunk.QPP3OJVR.js → chunk.WVWXNW74.js} +2 -2
  134. package/dist/preview/chunk.XBDFXFWM.js +1 -0
  135. package/dist/preview/chunk.XE72DFBV.js +13 -0
  136. package/dist/preview/{chunk.LSL25VXW.js → chunk.XTT6ERI3.js} +1 -1
  137. package/dist/preview/{chunk.KPUX27ZT.js → chunk.XZJ6XX5I.js} +1 -1
  138. package/dist/preview/chunk.Y2DFDMT6.js +1 -0
  139. package/dist/preview/{chunk.G7XKQNOL.js → chunk.Y36MLVMT.js} +1 -1
  140. package/dist/preview/chunk.Y36WSKL5.js +1 -0
  141. package/dist/preview/chunk.YXRKZMS5.js +1 -0
  142. package/dist/preview/chunk.Z6O7RUSR.js +1 -0
  143. package/dist/preview/chunk.ZAGP3OKY.js +1 -0
  144. package/dist/preview/{chunk.M33LUF3Q.js → chunk.ZBHFCSKO.js} +1 -1
  145. package/dist/preview/{chunk.Y37DXEHG.js → chunk.ZDDWXRPK.js} +1 -1
  146. package/dist/preview/{chunk.5WU2UTP7.js → chunk.ZUBC3UFG.js} +1 -1
  147. package/dist/preview/{chunk.7FMS57QO.js → chunk.ZYW7Q5EN.js} +1 -1
  148. package/dist/preview/index.html +50 -51
  149. package/dist/preview/page.js +2 -2
  150. package/package.json +6 -6
  151. package/dist/preview/chunk.2EB7COX5.js +0 -1
  152. package/dist/preview/chunk.2X3UZJWI.js +0 -1
  153. package/dist/preview/chunk.337JMOTL.js +0 -1
  154. package/dist/preview/chunk.3ZQAPPJ5.js +0 -18
  155. package/dist/preview/chunk.4LI73QOY.js +0 -6
  156. package/dist/preview/chunk.4VI3EYDL.js +0 -1
  157. package/dist/preview/chunk.4ZLCMATU.js +0 -2
  158. package/dist/preview/chunk.5LWPNOJA.js +0 -1
  159. package/dist/preview/chunk.63SRVTG2.js +0 -19
  160. package/dist/preview/chunk.6BA6RUK7.js +0 -1
  161. package/dist/preview/chunk.6JERQFZI.js +0 -1
  162. package/dist/preview/chunk.6NIE3ILA.js +0 -1
  163. package/dist/preview/chunk.6QNBUBGD.js +0 -1
  164. package/dist/preview/chunk.7OAXW7QF.js +0 -1
  165. package/dist/preview/chunk.7SNIX56B.js +0 -1
  166. package/dist/preview/chunk.AI2HBKVP.js +0 -359
  167. package/dist/preview/chunk.BDQ4FUKO.js +0 -1
  168. package/dist/preview/chunk.BRDAO2OF.js +0 -4
  169. package/dist/preview/chunk.CC7E6NUQ.js +0 -1
  170. package/dist/preview/chunk.CHMUL36A.js +0 -1
  171. package/dist/preview/chunk.D2T563AA.js +0 -1
  172. package/dist/preview/chunk.DC7M56NM.js +0 -9
  173. package/dist/preview/chunk.DIS7JS7X.js +0 -1
  174. package/dist/preview/chunk.DVLWSCIC.js +0 -35
  175. package/dist/preview/chunk.EHOEMVQP.js +0 -1
  176. package/dist/preview/chunk.EME5HQ3H.js +0 -1
  177. package/dist/preview/chunk.FJEXINFF.js +0 -1
  178. package/dist/preview/chunk.G446PWV6.js +0 -1
  179. package/dist/preview/chunk.HST7BYFW.js +0 -1
  180. package/dist/preview/chunk.JOWJNIWH.js +0 -4
  181. package/dist/preview/chunk.JV7FLVUV.js +0 -1
  182. package/dist/preview/chunk.KQSD5MLY.js +0 -1
  183. package/dist/preview/chunk.KSJ3J5UN.js +0 -1
  184. package/dist/preview/chunk.LXJW2Z2M.js +0 -1
  185. package/dist/preview/chunk.MBNZ2HK7.js +0 -1
  186. package/dist/preview/chunk.MCFLCC42.js +0 -12
  187. package/dist/preview/chunk.MYKRJ4SV.js +0 -1
  188. package/dist/preview/chunk.NICCIJV4.js +0 -1
  189. package/dist/preview/chunk.NQPNK6I5.js +0 -1
  190. package/dist/preview/chunk.NWK4E7TJ.js +0 -1
  191. package/dist/preview/chunk.NZB5S5UO.js +0 -1
  192. package/dist/preview/chunk.PFXGWY3P.js +0 -1
  193. package/dist/preview/chunk.PRCWGE7A.js +0 -1
  194. package/dist/preview/chunk.PXHBPLTQ.js +0 -1
  195. package/dist/preview/chunk.PXVJBL2C.js +0 -1
  196. package/dist/preview/chunk.Q3XKNZQW.js +0 -1
  197. package/dist/preview/chunk.Q5IAXTF5.js +0 -25
  198. package/dist/preview/chunk.Q5WEOX3Q.js +0 -1
  199. package/dist/preview/chunk.QXCYAFRT.js +0 -1
  200. package/dist/preview/chunk.RMRO5JZX.js +0 -1
  201. package/dist/preview/chunk.S4ZWBCYC.js +0 -1
  202. package/dist/preview/chunk.SELLAVIQ.js +0 -1
  203. package/dist/preview/chunk.SHNYYBNW.js +0 -1
  204. package/dist/preview/chunk.SM6HTPYF.js +0 -1
  205. package/dist/preview/chunk.T6KKNWZT.js +0 -1
  206. package/dist/preview/chunk.U6PCKJ26.js +0 -1
  207. package/dist/preview/chunk.UEPVA6IS.js +0 -1
  208. package/dist/preview/chunk.UMS7XRPO.js +0 -1
  209. package/dist/preview/chunk.VGIWQNJB.js +0 -1
  210. package/dist/preview/chunk.VOHRQXCF.js +0 -5
  211. package/dist/preview/chunk.W5UJLKIT.js +0 -1
  212. package/dist/preview/chunk.WUEU3QBL.js +0 -1
  213. package/dist/preview/chunk.WWUMSCYC.js +0 -1
  214. package/dist/preview/chunk.XPR3QFF4.js +0 -1
  215. package/dist/preview/chunk.YKXUDACI.js +0 -28
  216. package/dist/preview/chunk.YUEOUV7G.js +0 -5
  217. package/dist/preview/chunk.YYWLYVAW.js +0 -1
  218. package/dist/preview/chunk.Z2JMTRF4.js +0 -1
  219. package/dist/preview/chunk.Z2UFPOAN.js +0 -88
  220. package/dist/preview/chunk.ZEKKIMKI.js +0 -1
  221. package/dist/preview/chunk.ZJXUWOG3.js +0 -1
  222. package/dist/preview/chunk.ZZGXVYW2.js +0 -1
@@ -0,0 +1,4 @@
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as Ht,f as ht,g as vn}from"./chunk.OCV46AFN.js";import{h as fi}from"./chunk.Y36MLVMT.js";import{e as ui,p as Un,q as hi}from"./chunk.MPMROUZA.js";import{b as kn}from"./chunk.5C43AM3X.js";import{a as Be,b as jr,c as nn,d as mi,e as Vr}from"./chunk.4WH4N4V7.js";import{a as ci}from"./chunk.BOMYLOCX.js";import{a as si,b as di,c as li}from"./chunk.Q6RUTFU3.js";import{b as Jo,d as ei}from"./chunk.AZGXBTOQ.js";import{a as ti,b as Hr,c as Dr,f as $r,g as Fr,h as Wr,i as ni,j as Jt,k as en,o as Bt,p as tn,q as ii,r as ai}from"./chunk.PZWJUQAO.js";import{A as Qo,f as jo,g as Qt,h as Vo,i as Go,j as zo,k as Yo,m as Kn,n as xn,o as bn,p as Zt,q as Br,v as _o,w as Ko,x as Uo,y as Xo,z as qo}from"./chunk.OJGHDWI6.js";import{a as ri,b as oi}from"./chunk.NEJSKMJV.js";import{c as Zo}from"./chunk.TUNHUTQ5.js";import{$ as _n,A as ut,B as Ar,C as gn,G as Oe,Ga as wn,Ja as Fo,K as xt,Ka as Wo,Na as Cr,Oa as Tr,Pa as Nt,Ra as Ir,T as Se,V as Yn,Va as Nr,W as Lr,_ as Pr,a as kr,aa as Tt,b as Sr,ba as pe,c as Mr,d as No,da as It,e as Bo,f as Gn,h as Pt,j as gt,k as Er,ka as qt,l as zn,m as pn,ma as Do,p as Rr,r as ke,s as Pe,sa as $o,t as Ho,u as yn,v as Ce,w as Ct,x as wt,y as Or}from"./chunk.SF4BYBH6.js";import{a as Xt}from"./chunk.SDO3U72B.js";import{Hd as Co,Kd as To,Oc as Fe,Rd as Io,ca as Ao,da as Kt,fa as jn,ga as Ut,ha as Lt,ia as Vn,ma as Lo,qd as vr,rc as mn,sd as Po}from"./chunk.3MZIWKNG.js";import{b as re}from"./chunk.AJZBJBMO.js";var Xn=re(Oe(),1);var pi=re(Se(),1);function qn(e){let t=(0,Xn.useRef)(e);t.current=e;let n=(0,Xn.useRef)(null),o=(0,Xn.useRef)(new Map),r=n.current;if(r&&(r.outer===e||as(r.outer,e)))return r.outer=e,r.inner;let a=ht(e.view,null),i=(u,d,s)=>{let c=o.current.get(u);return c&&c.made===d?c.call:(o.current.set(u,{made:d,call:s}),s)},l=Object.fromEntries(Object.entries(e).map(([u,d])=>[u,u==="view"?a:u==="setView"?i(u,d,is(t)):typeof d=="function"?i(u,d,(...s)=>t.current[u](...s)):d]));return n.current={outer:e,inner:l},l}function is(e){return t=>e.current.setView(typeof t=="function"?t:n=>t.pan===void 0&&n.pan?{...t,pan:n.pan}:t)}function as(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let o of n){if(o==="view"||o==="movedByHand")continue;let r=e[o],a=t[o];if(r!==a&&!(typeof r=="function"&&typeof a=="function"))return!1}return Gr(e.view,t.view)}function Gr(e,t){if(e===t)return!0;let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let o of n)if(o!=="pan"&&e[o]!==t[o])return!1;return!0}function ss({children:e}){let t=qn(pe());return(0,pi.jsx)(Yn.Provider,{value:t,children:e})}var yi={width:1200,height:760,focusSize:{width:1200,height:420},relationSize:{width:240,height:140},contextSize:{width:300,height:104},gap:16,unit:16};var gi=(e,t)=>e?`${e.edgeKind}|${e.direction}`:`raised|${t}`,Dt=(e,t,n)=>`${Ar}${e}|${t}|${n}`;function Qn(e,t){let n=e.map(()=>0),o=e.map((i,l)=>({size:i,index:l})).sort((i,l)=>i.size-l.size||i.index-l.index),r=Math.max(t,e.length),a=e.length;for(let{size:i,index:l}of o){let u=Math.max(1,Math.floor(r/a));n[l]=Math.min(i,u),r-=n[l],a-=1}return n}function Yr(e){return gi(e.via,e.node.kind)}function rn(e,t,n=[]){let o=[],r=0;return e.forEach((a,i)=>{if(a<=0)return;let l=Math.min(t,Math.max(1,n[i]??1)),u=Math.max(a,l);if(o.length>0&&a<=t&&u<=r){o[o.length-1].push({run:i,cards:a,slots:u}),r-=u;return}let d=a,s=!0;for(;d>0;){let c=Math.min(t,d),h=s?Math.max(c,l):c;o.push([{run:i,cards:c,slots:h}]),d-=c,r=t-h,s=!1}}),o}function _r(e,t,n,o=[]){let r=Qn(e,t*n);for(;rn(r,t,o).length>n;){let a=-1;if(r.forEach((i,l)=>{i>1&&(a<0||i>r[a])&&(a=l)}),a<0)break;r[a]=r[a]-1}return r}function ds(e,t,n){let o=r=>[t.chosen?.has(r.id)?0:1,t.hits?.has(r.id)?0:1,t.flagged?.has(r.id)?0:1,-(t.touched?.get(r.id)??0),-n.neighbors(r.id).length];return e.map((r,a)=>({node:r,index:a,key:o(r)})).sort((r,a)=>{for(let i=0;i<r.key.length;i++)if(r.key[i]!==a.key[i])return r.key[i]-a.key[i];return r.index-a.index}).map(r=>r.node)}var ls=5,cs=(e,t)=>{for(let n=0;n<e.length;n++)if(e[n]!==t[n])return e[n]<t[n];return!1};function wi(e,t,n){if(e.length===0||t<2)return;let o=e[0].kind,r={schema:n.schema,graph:n.graph,...n.today?{today:n.today}:{}},a=[];for(let l of ui(n.schema,o).groups)if(l.key!==n.exclude)if(l.buckets)for(let u of["decade","year","month"])a.push({by:l.key,bucket:u});else a.push({by:l.key});let i;return a.forEach((l,u)=>{let s=fi(e,{group:l},r).groups;if(s.length<2||s.length>t)return;let h=s.filter(x=>x.key!=="").reduce((x,f)=>x+f.nodes.length,0)/e.length;if(h<.5||s.some(x=>x.nodes.length>e.length*.75))return;let p=[-Math.round(h*100),Math.abs(s.length-ls),u];(!i||cs(p,i.score))&&(i={grouping:{by:l.by,...l.bucket?{bucket:l.bucket}:{},groups:s},score:p})}),i?.grouping}function Kr(e,t){let n=f=>({id:f.node.id,kind:f.node.kind,node:f.node,...f.via?{via:f.via}:{}});if(e.length<=t.budget)return e.map(n);let o={...t.relevance,chosen:new Set([...t.relevance?.chosen??[],...t.selection??[]])},r=new Map;for(let f of e){let y=gi(f.via,f.node.kind),v=r.get(y);v?v.push(f):r.set(y,[f])}let a=[...r.entries()].map(([f,y])=>({key:f,run:y,via:y[0].via,kinds:[...new Set(y.map(v=>v.node.kind))],members:[],whole:!1,extra:0})),i=Qn(a.map(f=>f.run.length),t.budget);a.forEach((f,y)=>f.whole=f.run.length<=i[y]);let l=a.filter(f=>!f.whole),u=a.filter(f=>f.whole).reduce((f,y)=>f+y.run.length,0),d=Math.max(l.length,t.budget-u);for(let f of l){f.members=ds(f.run.map(v=>v.node),o,t.graph);let y=d-(l.length-1);f.kinds.length>1&&f.kinds.length<=y?f.byKind=!0:f.kinds.length===1&&(f.grouping=wi(f.members,y,{schema:t.schema,graph:t.graph,...f.via?{exclude:f.via.edgeKind}:{},...t.today?{today:t.today}:{}}))}let s=f=>f.byKind?f.kinds.length:f.grouping?f.grouping.groups.length:1;for(;l.reduce((f,y)=>f+s(y),0)>d;){let f=[...l].filter(y=>s(y)>1).sort((y,v)=>s(v)-s(y))[0];if(!f)break;f.grouping=void 0,f.byKind=!1}d-=l.reduce((f,y)=>f+s(y),0);let c=f=>f.byKind?f.kinds.some(y=>t.expanded.has(Dt(y,f.key,"kind"))):f.grouping?.groups.some(y=>t.expanded.has(Dt(f.kinds[0],f.key,zr(f.grouping,y.key)))),h=l.filter(f=>!f.grouping&&!f.byKind?!0:c(f)),p=Qn(h.map(f=>f.members.length),Math.max(0,d));h.forEach((f,y)=>f.extra=d>0?p[y]:0);let x=[];for(let f of a){let{key:y,via:v}=f;if(f.whole){x.push(...f.run.map(n));continue}let k=g=>({id:g.id,kind:g.kind,node:g,...v?{via:v}:{}}),w=new Map(f.run.map((g,R)=>[g.node.id,R])),O=(g,R,P)=>{let A=[...g.slice(0,R)].sort((te,I)=>w.get(te.id)-w.get(I.id));x.push(...A.map(k));let j=g.slice(R);if(j.length===0)return;let K=j[0].kind;x.push({id:Dt(K,y,P?`more:${P}`:"more"),kind:K,...v?{via:v}:{},aggregate:{kind:K,memberIds:j.map(te=>te.id),label:R>0?`${j.length} more ${t.plural(K).toLowerCase()}`:`${j.length} ${t.plural(K).toLowerCase()}`,opens:{in:"picture",focus:Ce(K),within:P?{filter:P}:{}}}})},G=v&&t.focusId?`${v.edgeKind}:${t.focusId}`:void 0;if(f.byKind){let g=f.kinds.find(R=>t.expanded.has(Dt(R,y,"kind")));for(let R of f.kinds){let P=f.members.filter(A=>A.kind===R);if(R===g){let A=f.extra+1;P.length<=A?x.push(...P.map(k)):O(P,A-1,G);continue}x.push({id:Dt(R,y,"kind"),kind:R,...v?{via:v}:{},aggregate:{kind:R,memberIds:P.map(A=>A.id),label:t.plural(R),opens:{in:"place"}}})}continue}let $=f.grouping;if(!$){O(f.members,f.extra,G);continue}let X=f.kinds[0],T=$.groups.find(g=>t.expanded.has(Dt(X,y,zr($,g.key))));for(let g of $.groups){if(g===T){let R=f.members.filter(A=>g.nodes.includes(A)),P=f.extra+1;if(R.length<=P)x.push(...R.map(k));else{let A=g.key!==""&&!g.key.includes(",")&&!$.bucket,j=[G,A?`${$.by}:${g.key}`:void 0].filter(Boolean).join(",")||void 0;O(R,P-1,j)}continue}x.push({id:Dt(X,y,zr($,g.key)),kind:X,...v?{via:v}:{},aggregate:{kind:X,memberIds:f.members.filter(R=>g.nodes.includes(R)).map(R=>R.id),label:g.label.charAt(0).toUpperCase()+g.label.slice(1),opens:{in:"place"}}})}}return x}var zr=(e,t)=>`${e.by}${e.bucket?`:${e.bucket}`:""}=${t||"none"}`;var Zn=300,xi=12,on=8,Ur=19;var Jn=(e,t=1)=>(e.length*8.4+16)*t;function Sn(e){return e.description??`${e.direction==="in"?"\u2190":"\u2192"} ${jn(e.edgeKind).toLowerCase()}`}function Xr(e,t,n=1){let o=l=>Jn(l,n),r=new Map;for(let l of e){let u=r.get(l.key);u?u.push(l):r.set(l.key,[l])}let a=[...r.values()].map(l=>{let u=Math.min(...l.map(s=>s.top)),d=l.filter(s=>s.top-u<=xi);return{key:l[0].key,text:l[0].text,left:Math.min(...d.map(s=>s.left)),right:Math.max(...d.map(s=>s.right)),top:u}});a.sort((l,u)=>l.top-u.top||l.left-u.left);let i=a.map(l=>{let u=Math.max(l.right-l.left,Math.min(Zn,o(l.text))),d=(l.left+l.right)/2;return{left:d-u/2,right:d+u/2}});return a.map((l,u)=>{let d=a.map((w,O)=>({other:w,at:O})).filter(({other:w})=>w!==l&&Math.abs(w.top-l.top)<=xi),s=d.filter(({other:w})=>w.right<=l.left).map(({other:w,at:O})=>i[O].right+on<=(w.right+l.left)/2?i[O].right+on:(w.right+l.left+on)/2),c=d.filter(({other:w})=>w.left>=l.right).map(({other:w,at:O})=>i[O].left-on>=(l.right+w.left)/2?i[O].left-on:(l.right+w.left-on)/2),h=Math.max(t.left,...s),p=Math.min(t.right,...c),x=l.right-l.left,f=i[u].right-i[u].left,y=Math.max(x,Math.min(f,p-h)),v=(l.left+l.right)/2,k=x>=y?l.left:Math.max(h,Math.min(v-y/2,p-y));return{key:l.key,text:l.text,left:k,width:y,top:l.top}})}function vi(e,t,n,o,r=1){let a=l=>String(l).length*7.4,i=e.length*8.6+6+a(t)+14+(n>0?22+a(n):0);return{width:Math.max(i,o?184:0)*r,height:(o?38:22)*r,short:{width:i*r,height:22*r}}}function $t(e,t,n=6){return e.x<t.x+t.width+n&&t.x<e.x+e.width+n&&e.y<t.y+t.height+n&&t.y<e.y+e.height+n}var qr=(e,t,n,o)=>{let r=Math.max(e.x,Math.min(t.x,e.x+e.width)),a=Math.max(e.y,Math.min(t.y,e.y+e.height));return Math.abs(r-t.x)/n+Math.abs(a-t.y)/o<.92},Mn=4,bi=.45;function Qr(e,t,n,o={},r={}){let a={};for(let b of e)a[b.kind]=b.count;let i={x:(o.left??0)+8,y:(o.top??0)+8,width:n.width-(o.left??0)-(o.right??0)-16,height:n.height-(o.top??0)-(o.bottom??0)-16},l=r.avoid??[],u=r.tilt??.5,d=b=>b.nameplate??{width:120,height:34,short:{width:90,height:20}},s=b=>e.map(M=>{let C=b.get(M.kind);return{card:M,plot:C,center:nn(C.col+C.side/2,C.row+C.side/2,1,u)}}),c=(b,M)=>{let C=1/0,S=-1/0,B=1/0,L=-1/0;for(let{card:W,plot:Z,center:_}of b){let z=_.x*M,ee=_.y*M,q=Z.side*M/2,he=W.opened>0?d(W).width:d(W).short.width;C=Math.min(C,z-Math.max(q+(W.count>12?30:0),he/2)),S=Math.max(S,z+Math.max(q,he/2)),B=Math.min(B,ee-q*u-M*bi),L=Math.max(L,ee+q*u+Mn+d(W).short.height)}return{minX:C,maxX:S,minY:B,maxY:L}},h=b=>{let M=4,C=160;for(let S=0;S<24;S++){let B=(M+C)/2,L=c(b,B);L.maxX-L.minX<=i.width&&L.maxY-L.minY<=i.height?M=B:C=B}return M},p=b=>{let M={...r.order?{order:r.order}:{},counts:a,...r.plots?{plots:r.plots}:{},pitch:b},C=jr(t,M),S=jr(t,{...M,upright:!0}),B=h(s(C)),L=h(s(S)),W=n.height>n.width&&L>=B?S:C;return{map:W,fitted:W===S?L:B}},x=[],f=new Map,y=0,v=(b,M={x:0,y:0})=>{let C=c(x,b),S=i.x+i.width/2-(C.minX+C.maxX)/2+M.x,B=i.y+i.height/2-(C.minY+C.maxY)/2+M.y;return{originX:S,originY:B,cell:b}},k=b=>{let{originX:M,originY:C,cell:S}=b,B=x.map(({center:Z})=>Z.y),L=Math.max(...B),W=Math.min(...B);return x.map(({card:Z,plot:_,center:z})=>{let ee=M+z.x*S,q=C+z.y*S,he=_.side*S/2,ce=he*u,He=L===W?.5:(z.y-W)/(L-W);return{card:Z,plot:_,x:ee,y:q,halfW:he,halfH:ce,depth:1-He*.65}})},w=(b,M=!0)=>{let C=[];return[...b].sort((B,L)=>(L.card.weight??L.card.count)-(B.card.weight??B.card.count)||e.indexOf(B.card)-e.indexOf(L.card)).filter(B=>[d(B.card),d(B.card).short].some(L=>{let W=$(B,L),Z=(!M||W.x>=0&&W.y>=0&&W.x+W.width<=n.width&&W.y+W.height<=n.height)&&!C.some(_=>$t(W,_,4))&&!b.some(_=>_!==B&&qr(W,_,_.halfW,_.halfH))&&!l.some(_=>$t(W,_,0));return Z&&C.push(W),Z})).length},O=b=>b.card.marquee?{x:b.x-b.card.marquee.width/2,y:b.y+b.halfH+Mn+d(b.card).height,width:b.card.marquee.width,height:b.card.marquee.height}:null,G=(b,M,C)=>C.some(S=>{if(S===M)return!1;let B=O(S);return B!==null&&$t(b,B,4)}),$=(b,M,C="under")=>C==="aside"?{x:b.x+b.halfW+Mn,y:b.y-M.height/2,width:M.width,height:M.height}:C==="above"?{x:b.x-M.width/2,y:b.y-b.halfH-Mn-bi*R.cell-M.height,width:M.width,height:M.height}:{x:b.x-M.width/2,y:b.y+b.halfH+Mn,width:M.width,height:M.height},X=b=>b.some(M=>l.some(C=>qr(C,M,M.halfW,M.halfH)||$t(C,$(M,d(M.card).short),0))),T=b=>b.every(M=>{let C=$(M,d(M.card).short);return M.x-M.halfW>=0&&M.x+M.halfW<=n.width&&M.y-M.halfH>=0&&C.x>=0&&C.x+C.width<=n.width&&C.y+C.height<=n.height}),g={pitch:Be,said:-1};for(let b of[Be,Be+1,Be+2,Be+3,Be+5,Be+7]){({map:f,fitted:y}=p(b)),x=s(f);let M=w(k(v(y)));if(M>g.said&&(g={pitch:b,said:M}),M===e.length)break}(g.pitch!==Be+7||g.said!==e.length)&&({map:f,fitted:y}=p(g.pitch),x=s(f));let R=v(y);if(l.length>0&&X(k(R))){let b;for(let M=1;M>=.3&&!b;M-=.05){let C=y*M,S=Math.max(...l.map(L=>L.width))/2+C,B=Math.max(...l.map(L=>L.height))/2+C/2;for(let L of[0,.5,.75,1,1.25]){for(let[W,Z]of[[1,0],[-1,0],[0,1],[0,-1],[1,1],[-1,1],[1,-1],[-1,-1]]){let _=v(C,{x:W*S*L,y:Z*B*L}),z=k(_);if(!X(z)&&T(z)){b=_;break}if(L===0)break}if(b)break}}b&&(R=b)}let P=(b,M)=>{let C={x:n.width/2,y:n.height/2};return{cell:b.cell*M,originX:C.x+(b.originX-C.x)*M,originY:C.y+(b.originY-C.y)*M}},A=1;if(w(k(R))<e.length){let b={said:w(k(R),!1),area:1/0,pitch:-1,by:1},M={map:f,shape:x,fitted:y,where:R};for(let S of[Be,Be+1,Be+2,Be+3,Be+5,Be+7]){({map:f,fitted:y}=p(S)),x=s(f);let B=v(y);for(let L=1;L<=3.001;L+=.1){let W=w(k(P(B,L)),!1),Z=c(x,y*L),_=(Z.maxX-Z.minX)*(Z.maxY-Z.minY);if((W>b.said||W===b.said&&_<b.area)&&(b={said:W,area:_,pitch:S,by:L}),W===e.length)break}}b.pitch<0?{map:f,shape:x,fitted:y,where:R}=M:({map:f,fitted:y}=p(b.pitch),x=s(f),A=b.by,R=P(v(y),A));let C=k(R).filter(S=>r.keep?.includes(S.card.kind));if(C.length>0){let S=C.flatMap(z=>[{x:z.x-z.halfW,y:z.y-z.halfH,width:z.halfW*2,height:z.halfH*2},$(z,d(z.card))]),B=Math.min(...S.map(z=>z.x)),L=Math.max(...S.map(z=>z.x+z.width)),W=Math.min(...S.map(z=>z.y)),Z=Math.max(...S.map(z=>z.y+z.height)),_=(z,ee,q)=>ee-z>q-16?q/2-(z+ee)/2:z<8?8-z:ee>q-8?q-8-ee:0;R={...R,originX:R.originX+_(B,L,n.width),originY:R.originY+_(W,Z,n.height)}}}let j=r.zoom&&r.zoom!==1?r.zoom:1;j!==1&&(R=P(R,j));let K=k(R),te=[],I=new Map,H=new Map,N=[...K].sort((b,M)=>(M.card.weight??M.card.count)-(b.card.weight??b.card.count)||e.indexOf(b.card)-e.indexOf(M.card));for(let b of N){let M=[["full",d(b.card),"under"],["short",d(b.card).short,"under"]],C="none",S=b===N[0],B=(W,Z)=>M.filter(([_])=>_.startsWith(Z)).map(([_,z,ee])=>[_,z,ee,W]),L=S?[...B(!1,"full"),...B(!1,"short"),...B(!0,"full"),...B(!0,"short")]:M.map(([W,Z,_])=>[W,Z,_,!1]);for(let[W,Z,_,z]of L){let ee=$(b,Z,_);if((j!==1||A!==1||ee.x>=0&&ee.y>=0&&ee.x+ee.width<=n.width&&ee.y+ee.height<=n.height)&&!te.some(ce=>$t(ee,ce,4))&&(z||!K.some(ce=>ce!==b&&qr(ee,ce,ce.halfW,ce.halfH)))&&!G(ee,b,K)&&!l.some(ce=>$t(ee,ce,0))){C=W,te.push(ee),H.set(b.card.id,ee);break}}I.set(b.card.id,C)}let Q=K.map(b=>({id:b.card.id,x:b.x-b.halfW,y:b.y-b.halfH,width:b.halfW*2,height:b.halfH*2+(b.card.opened>0?Math.max(b.card.openedMin??0,b.card.opened):0),depth:b.depth,plot:b.plot,nameplate:I.get(b.card.id)??"none"})),E=c(x,R.cell),F={cell:R.cell,originX:R.originX,originY:R.originY,pan:r.pan??{x:0,y:0},extent:{x:R.originX+E.minX,y:R.originY+E.minY,width:E.maxX-E.minX,height:E.maxY-E.minY},openedShare:1,...u!==.5?{tilt:u}:{},...H.size>0?{nameplates:K.flatMap(b=>{let M=H.get(b.card.id);return M?[{id:b.card.id,x:M.x-(b.x-b.halfW),y:M.y-(b.y-b.halfH),width:M.width,height:M.height}]:[]})}:{},...K.some(b=>b.card.marquee)?{showings:K.flatMap(b=>{let M=O(b);return M?[{id:b.card.id,x:M.x-(b.x-b.halfW),y:M.y-(b.y-b.halfH),width:M.width,height:M.height}]:[]})}:{}};return{placed:Q,frame:F,map:f}}function bt(e){let{width:t,height:n}=e.visible??e,o={x:t*.45,y:n*.45};if(!e.city)return o;let{extent:r}=e.city,a=24;return{x:Math.max(o.x,r.x+r.width-t+a,-r.x+a),y:Math.max(o.y,r.y+r.height-n+a,-r.y+a)}}var er=48;function Zr(e){if(!e.city)return[];let{width:t,height:n}=e.visible??e,o=[];for(let r of e.nodes){if(!r.id.startsWith("kind:")||Math.round(r.plane)!==2)continue;let a=r.x+r.width/2,i=r.y+r.height/2,l=a<0?"left":a>t?"right":i<0?"top":i>n?"bottom":null;if(!l)continue;let u=l==="left"||l==="right",d=u?Math.max(0,Math.min(n,i)):Math.max(0,Math.min(t,a)),s=(p,x)=>p<x/4?x/4-p:p>x*3/4?x*3/4-p:0,c=(p,x)=>p<er?er-p:p>x-er?x-er-p:0,h=u?{x:s(a,t),y:c(i,n)}:{x:c(a,t),y:s(i,n)};o.push({id:r.id,kind:r.id.slice(5),side:l,along:d,by:h})}return o}function Jr(e,t,n,o,r){return{x:e.x+(n.x-e.x-t.x-o.x)*(1-r),y:e.y+(n.y-e.y-t.y-o.y)*(1-r)}}var us={rankOf:()=>{},parentOf:()=>{}};function ki(e,t){if(t.size===0)return us;let n=e.kinds,o=new Map,r=(d,s)=>{d!==s&&((o.get(d)??o.set(d,new Set).get(d)).add(s),(o.get(s)??o.set(s,new Set).get(s)).add(d))};for(let d of n){let s=e.tryDefinition(d);if(s)for(let c of Object.values(s.edges??{})){let h=c.to==="*"?n:c.to;for(let p of h)r(d,p)}}let a=new Map,i=new Map,l=[...t].filter(d=>n.includes(d));for(let d of l)a.set(d,0);let u=0;for(;l.length>0;){u+=1;let d=[];for(let s of[...l].sort((c,h)=>n.indexOf(c)-n.indexOf(h)))for(let c of[...o.get(s)??[]].sort((h,p)=>n.indexOf(h)-n.indexOf(p)))a.has(c)||(a.set(c,u),u===2&&i.set(c,s),d.push(c));l=d}return{rankOf:d=>{let s=a.get(d);if(s!==0)return s===1?"primary":"secondary"},parentOf:d=>i.get(d)}}function Si(e,t,n,o,r={}){if(n){let a=new Map;for(let i of e.allEdges()){if(o&&i.kind!==o)continue;let l=i.from===n.id?i.to:i.to===n.id?i.from:null;if(l===null||l===n.id)continue;let u=e.getNode(l);if(!u||a.has(l))continue;let d=i.from===n.id?"out":"in",s=d==="out"?n.kind:u.kind,c=hs(t,s,i.kind,d);a.set(l,{node:u,via:{edgeKind:i.kind,direction:d,...c?{description:c}:{}}})}if(a.size>0){let i=l=>`${l.via.edgeKind}|${l.via.description??""}`;return[...a.values()].sort((l,u)=>(i(l)<i(u)?-1:i(l)>i(u)?1:0)||ut(l.node,u.node))}}if(n){let a=r[n.id]??[],i=new Set,l=[];for(let u of a){if(u===n.id||i.has(u))continue;let d=e.getNode(u);d&&(o&&o!=="judges"&&d.kind!==o||(i.add(u),l.push({node:d,via:{edgeKind:"judges",direction:"out",description:"what it finds wrong"}})))}if(l.length>0)return l.sort((u,d)=>ut(u.node,d.node))}return o?e.allNodes().filter(a=>a.kind===o).sort(ut).map(a=>({node:a})):[]}function hs(e,t,n,o){let a=e.tryDefinition(t)?.edges?.[n];return o==="out"?a?.description:a?.inverse}function Mi(e,t,n){let o=new Map,r=[...t.values()].sort((d,s)=>d.plane-s.plane);for(let d of r)for(let s of d.aggregate?.memberIds??[])!t.has(s)&&!o.has(s)&&o.set(s,d.id);let a=d=>t.get(d)??t.get(o.get(d)??""),i=new Map,l=new Map,u=new Map;for(let d of e.allEdges()){let s=a(d.from),c=a(d.to);if(!s||!c||s.id===c.id&&!(n.overview&&s.aggregate&&s.plane===2))continue;let h=`${d.kind}:${s.id}:${c.id}`,p=i.get(h);if(p){let x=`${d.from}
2
+ ${d.to}`,f=l.get(h);if(f.has(x))continue;if(f.add(x),u.get(h).push({from:d.from,to:d.to}),p.single){let{single:y,...v}=p;i.set(h,v)}continue}l.set(h,new Set([`${d.from}
3
+ ${d.to}`])),u.set(h,[{from:d.from,to:d.to}]),i.set(h,{id:h,kind:d.kind,from:s.id,to:c.id,edges:[{from:d.from,to:d.to}],single:{from:d.from,to:d.to},...s.id===c.id?{loop:!0}:{},x1:s.x+s.width/2,y1:s.y+s.height/2,x2:c.x+c.width/2,y2:c.y+c.height/2})}return[...i.values()].map(d=>({...d,edges:u.get(d.id)})).sort(ut)}var Ri=.85,Ei=60,eo=160;function fs(e,t,n,o,r,a=Ri){let i=e*t.width+Math.max(0,e-1)*n,l=Math.max(n,(o-i)/2);return Array.from({length:e},(u,d)=>({x:l+d*(t.width+n),y:r,depth:a}))}function tr(e,t,n,o={}){let r={...yi,...o},a=Math.max(8,r.unit??16)/16,i=r.inset?.left??0,l=n.overview?Math.max(0,r.dock?.right??0):0,u=n.overview?Math.max(0,r.dock?.bottom??0):0,d=r.width-l-i-(r.inset?.right??0),s=[],c=new Map,h=m=>n.past===!0||Ao(t.tryDefinition(m.kind),m,r.today),p=new Set(o.hiddenKinds??[]),x=m=>!p.has(m.kind),f=n.focusId?wt(n.focusId).filter(m=>t.tryDefinition(m)!==void 0).filter(m=>!p.has(m)):[];n.focusId&&wt(n.focusId).length>0&&f.length===0&&(n={...n,focusId:null});let y=n.focusId?e.getNode(n.focusId):void 0;y&&!x(y)&&(n={...n,focusId:null},f=[]);let v=f.length>0?[...e.allNodes()].filter(m=>f.includes(m.kind)).sort(ut):[],k=v.filter(x).filter(h),w=v.length-k.length,O=n.focusId&&f.length===0?e.getNode(n.focusId):void 0,G=n.zoom===!0&&!n.overview&&n.focusId!==null,$=Math.max(56,r.height*.062),X=Math.min(r.height*.895,r.height-$),T=G?O!==void 0?{focusY:r.height*.03,focusH:r.height*.58,relationY:r.height*.645,relationH:r.height*.2,contextY:X,contextH:$}:{focusY:r.height*.03,focusH:r.height*.71,relationY:r.height*.765,relationH:r.height*.1,contextY:X,contextH:$}:O===void 0?{focusY:r.height*.045,focusH:r.height*.62,relationY:r.height*.68,relationH:r.height*.2,contextY:r.height*.918,contextH:r.height*.082}:(()=>{let m=r.height,V=m*.04,Y=Math.max(m*.42,Math.min(m*.56,300)),oe=V+Y+m*.06;return{focusY:V,focusH:Y,relationY:oe,relationH:Math.max(m*.12,m*.878-m*.068-oe),contextY:m*.878,contextH:m*.092}})(),g=Math.min(r.headroom??0,T.focusY+T.focusH*.2),R=g>T.focusY?{...T,focusY:g,focusH:T.focusH-(g-T.focusY)}:T,P=m=>Math.min(r.gap*m,Math.round(d*.1)),A=G?Math.min(880,d-P(5)):Math.min(700,d-P(6)),j=G?d-P(5):Math.min(r.focusSize.width,d-P(6)),K=(m,V,Y)=>({width:m===0?V:Math.min(V,(d-r.gap*(m+1))/m),height:Y}),te=(m,V,Y)=>{let oe=K(m,V,Y),ve=Math.min(V,eo*a,d-r.gap*2);return oe.width>=ve?oe:{width:ve,height:Y}},I=m=>Math.max(1,Math.floor((d-r.gap)/(Math.min(m,eo*a,d-r.gap*2)+r.gap))),H=new Set(n.expanded),N=n.overview?[]:Si(e,t,O,n.relation,r.judged).filter(m=>x(m.node)).filter(m=>h(m.node)),Q=n.overview?0:Math.max(0,Ei*a-R.contextH),E=N.length>0?R.focusH:R.contextY-R.focusY-r.gap*2-Q,F=j,b=r.height,M=Math.min(d*.5/F,r.height*.48/b),C=F*M,S=b*M,B=new Set(o.plainGroups??[]),L=n.overview&&!O&&f.length>0&&n.focusId!==null,W=L&&f.length>0&&f.every(m=>B.has(m));if(L)for(let m of f)W&&o.besideTheMap!==!0?H.add(ke(m)):H.delete(ke(m));let Z=L&&!W&&f.length===1?f[0]:void 0,_=Z!==void 0&&(o.screens?.[Z]?.length??0)>0,z,ee=n.overview===!0&&O!==void 0&&o.besideTheMap===!0;n.overview&&(O||f.length>0)&&n.focusId&&!W&&!_&&!(L&&o.besideTheMap===!0)&&!ee?(z={x:i+(d-C)/2,y:r.height*.53-S/2,width:C,height:S},fn({id:n.focusId,kind:O?O.kind:f[0],plane:0,x:z.x,y:z.y,width:C,height:S,natural:{width:F,height:b},...O?{}:{aggregate:{kind:f.join("+"),memberIds:k.map(m=>m.id),label:o.plurals?.[n.focusId]??f.map(m=>Lt(t,m)).join(" and "),...w>0?{retired:w}:{}}}})):n.overview||(O?fn({id:O.id,kind:O.kind,plane:0,x:i+(d-A)/2,y:R.focusY,width:A,height:E}):f.length>0&&n.focusId&&fn({id:n.focusId,kind:f[0],plane:0,x:i+(d-j)/2,y:R.focusY,width:j,height:E,aggregate:{kind:f.join("+"),memberIds:k.map(m=>m.id),label:o.plurals?.[n.focusId]??f.map(m=>Lt(t,m)).join(" and "),...w>0?{retired:w}:{}}}));let q=26,he=52,ce=22,He=Math.round(r.relationSize.width*.75),Me=Math.max(1,Math.floor((d-r.gap)/(He+r.gap))),Ae=r.unit/16,De=new Map;for(let m of N){let V=Yr(m),Y=De.get(V);Y?Y.push(m):De.set(V,[m])}let Te=[...De.values()],ie=Te.length>1,xe=Math.max(r.gap,ce*Ae),qe=ie?xe:r.gap,Et=Math.max(2,Math.floor((R.relationH+qe)/(q*Ae+qe))),ne=Math.min(r.relationSize.width,(d-r.gap*(Me+1))/Me)+r.gap,rt=Te.map(m=>{let V=m[0].via;return!ie||!V?1:Math.ceil((Math.min(Zn*Ae,Jn(Sn(V),Ae))+r.gap)/ne)}),$e=Te.map(m=>m.length),Rt=rn($e,Me,rt),Ve=N.length>Me*Et||Rt.length>Et,Ot={schema:t,graph:e,focusId:O?.id,expanded:H,...r.relevance?{relevance:r.relevance}:{},...n.selection?{selection:n.selection}:{},plural:m=>Lt(t,m),...r.today?{today:r.today}:{}},Ke=Ve||ie?xe:r.gap,Qe,Le;if(!Ve)Qe=Te.flat().map(m=>({id:m.node.id,kind:m.node.kind,node:m.node,...m.via?{via:m.via}:{}})),Le=Rt;else{let m=Math.max(1,Math.floor((R.relationH+Ke)/(he*Ae+Ke))),Y=rn($e.map(()=>1),Me,rt).length<=m?rt:[],oe=_r($e,Me,m,Y),ve=Te.map((me,Re)=>Kr(me,{...Ot,budget:oe[Re]}));Qe=ve.flat(),Le=rn(ve.map(me=>me.length),Me,Y)}let Ie=Le.length,mt=Ie===1?R.relationH:(R.relationH-Ke*(Ie-1))/Ie,Ue=K(Math.max(...Le.map(m=>m.reduce((V,Y)=>V+Y.slots,0)),1),Qe.length<=2?Math.round(r.relationSize.width*1.35):r.relationSize.width,mt),pt=[];{let m=Ue.width+r.gap,V=[],Y=0,oe=new Map;for(let me of Le.flat())oe.set(me.run,(oe.get(me.run)??0)+me.cards);for(let me=0;me<Te.length;me++)V[me]=Y,Y+=oe.get(me)??0;let ve=Te.map(()=>0);Le.forEach((me,Re)=>{let ct=me.reduce((yt,xr)=>yt+xr.slots,0),Fn=ct*Ue.width+Math.max(0,ct-1)*r.gap,Wn=i+Math.max(r.gap,(d-Fn)/2),ns=R.relationY+Re*(mt+Ke);for(let yt of me){let xr=yt.slots*m-r.gap,rs=yt.cards*m-r.gap,os=Wn+(xr-rs)/2;for(let br=0;br<yt.cards;br++)pt[V[yt.run]+ve[yt.run]++]={x:os+br*m,y:ns};Wn+=yt.slots*m}})}Qe.forEach((m,V)=>{let Y=pt[V];fn({id:m.id,kind:m.kind,plane:1,x:Y.x,y:Y.y,width:Ue.width,height:Ue.height,...m.via?{via:m.via}:{},...m.aggregate?{aggregate:m.aggregate}:{},...Ve&&!m.aggregate?{compact:!0}:{}})});let cn=new Set(c.keys());for(let m of k)cn.add(m.id);let dt=new Map;for(let m of e.allNodes()){let V=dt.get(m.kind);V?V.push(m):dt.set(m.kind,[m])}let ae=new Set(f.length>0?f:O?[O.kind]:[]),we=[];for(let m of t.kinds){if(p.has(m))continue;let V=dt.get(m)??[],Y=V.filter(h);we.push({id:ke(m),kind:m,members:Y.sort(ut),retired:V.length-Y.length,...ae.has(m)?{focused:!0}:{}})}for(let m of we)m.kind===n.relation&&(m.raised=!0);we.sort(ut);let ot=ki(t,ae),At=!n.overview&&t.kinds.some(m=>ot.rankOf(m)==="primary"),Ge=[];for(let m of we)if(!n.overview&&H.has(m.id)&&m.members.length>0)for(let V of m.members)Ge.push({id:V.id,kind:V.kind});else{let V=At?ot.rankOf(m.kind):void 0,Y=V==="secondary"?ot.parentOf(m.kind):void 0;Ge.push({id:m.id,kind:m.kind,...m.raised?{raised:!0}:{},...m.focused?{focused:!0}:{},...n.overview&&H.has(m.id)?{opened:!0}:{},...V?{rank:V}:{},...Y&&!H.has(ke(Y))?{nestedUnder:ke(Y)}:{},aggregate:{kind:m.kind,memberIds:m.members.map(oe=>oe.id),label:o.plurals?.[m.kind]??Lt(t,m.kind),...m.retired>0?{retired:m.retired}:{}}})}let jt=2;if(Ge.length<=I((G?240:r.contextSize.width)*a))for(let m of Ge)delete m.nestedUnder;let un=new Map;for(let m of Ge){if(m.nestedUnder===void 0)continue;let V=un.get(m.nestedUnder)??0;V>=jt?delete m.nestedUnder:un.set(m.nestedUnder,V+1)}let Ze=Ge.filter(m=>m.nestedUnder!==void 0),lt=Ge.filter(m=>m.nestedUnder===void 0),hn=I((G?240:r.contextSize.width)*a),Tn=!n.overview&&lt.length>hn,pr=Math.max(0,hn-1),Gt=m=>m.focused?0:m.raised?1:2,zt=new Set([...lt].map((m,V)=>({item:m,at:V})).sort((m,V)=>Gt(m.item)-Gt(V.item)||m.at-V.at).slice(0,pr).map(({item:m})=>m.id)),D=new Set(Tn?lt.filter(m=>!zt.has(m.id)).map(m=>m.id):[]),fe=Ze.filter(m=>!D.has(m.nestedUnder)),Ee=Ze.filter(m=>D.has(m.nestedUnder)),be=Tn?[...lt.filter(m=>zt.has(m.id)),{id:Ho,kind:"",beyond:[...lt.filter(m=>D.has(m.id)),...Ee].map(m=>m.kind)}]:lt,Ne=n.overview?{width:Math.min(220,d/6.5),height:Math.min(92,r.height*.125)}:te(be.length,(G?240:r.contextSize.width)*a,R.contextH),Yt=r.relevance?.flagged,In=(m,V)=>{let Y=Vr(t,m);if(!Y)return{};let oe=Y.values.map(()=>0),ve=0;for(let me of V){let Re=Y.values.indexOf(e.getNode(me)?.[Y.field]);Re<0?ve++:oe[Re]++}return{states:{field:Y.field,values:[...Y.values.map((me,Re)=>({value:me,tier:Y.tiers[Re],count:oe[Re]})),...ve>0?[{value:null,tier:"waiting",count:ve}]:[]]}}},ze=n.overview?Qr(be.map(m=>{let V=m.aggregate?.memberIds??[],Y=Yt?V.filter(oe=>Yt.has(oe)).length:0;return{id:m.id,kind:m.kind,count:V.length,opened:H.has(m.id)?en(Jt(V.length))*a:0,openedMin:H.has(m.id)?en(Math.min(Wr,Jt(V.length)))*a:0,nameplate:vi(m.aggregate?.label??Lt(t,m.kind),V.length,Y,Vr(t,m.kind)!==void 0,a),weight:Y*1e3+V.length,...f.includes(m.kind)&&(o.screens?.[m.kind]?.length??0)>0?{marquee:{width:Dr+12,height:$r(o.screens[m.kind].map(oe=>oe.title),Dr,o.nameWidth)+8}}:{}}}),t,{width:r.width-l,height:r.height-u},r.chrome?{...r.inset,right:Math.min(r.inset?.right??0,8)}:r.inset??{},{...r.cityOrder?{order:r.cityOrder}:{},...r.plots?{plots:r.plots}:{},...o.cityZoom&&o.cityZoom!==1?{zoom:o.cityZoom}:{},keep:[...n.selection??[],...n.focusId?[n.focusId]:[]].flatMap(m=>m.startsWith("kind:")?[m.slice(5)]:m.startsWith("aggregate:")&&!m.includes("|")?[m.slice(10)]:ee&&m===O?.id?[O.kind]:[]),...o.tilt!==void 0?{tilt:o.tilt}:{},pan:{x:n.pan?.x??0,y:n.pan?.y??0},...z||r.chrome?.length?{avoid:[...z?[z]:[],...r.chrome??[]]}:{}}):null,Nn=new Map(ze?.placed.map(m=>[m.id,m.plot])??[]),Bn=new Map(ze?.placed.map(m=>[m.id,m.nameplate])??[]),_t=ze?ze.placed.map(({x:m,y:V,depth:Y,width:oe,height:ve})=>({x:m,y:V,depth:Y,width:oe,height:ve})):fs(be.length,Ne,r.gap,d,R.contextY,G?.97:Ri).map(m=>({...m,x:m.x+i})),Ja=.74,Hn=.8,es=52*a,ts=86*a,yr=(m,V)=>Math.min(1,m+(1-m)*V),gr=new Map;be.forEach((m,V)=>{let Y=_t[V],oe=Y.width??Ne.width,ve=Y.height??Ne.height,me=m.rank==="secondary"?Ja:1,Re=ze?oe:Math.max(Math.min(oe,eo*a),oe*me),ct=ze?ve:Math.max(Ei*a,ve*me);gr.set(m.id,{x:Y.x+(oe-Re)/2,y:Y.y+(ve-ct),depth:m.rank==="secondary"?yr(Y.depth,.5):Y.depth,width:Re,height:ct})});let Dn=[],$n=_t[_t.length-1],wr=new Map;for(let m of fe)wr.set(m.nestedUnder,(wr.get(m.nestedUnder)??0)+1);let Oo=new Map;for(let m of fe){let V=gr.get(m.nestedUnder);if(V){let Y=wr.get(m.nestedUnder)??1,oe=Oo.get(m.nestedUnder)??0;Oo.set(m.nestedUnder,oe+1);let ve=.98,me=Ne.width*Hn,Re=Math.max(ts,Math.min(me,V.width/(ve*(Y-1)+1))),ct=Math.max(es,Ne.height*Hn*(Re/me)),Fn=Re*ve,Wn=(Y-1)*Fn+Re;Dn.push({...m,x:V.x+(V.width-Wn)/2+oe*Fn,y:Math.max(0,V.y-ct+Math.min(ct*.5,16)),width:Re,height:ct,depth:yr(V.depth,.8)})}else if($n){let Y=Ne.width*Hn,oe=Ne.height*Hn;Dn.push({...m,x:$n.x,y:$n.y,width:Y,height:oe,depth:yr($n.depth??1,.8)})}}for(let m of be)Dn.push({...m,...gr.get(m.id)});return Dn.forEach(m=>{fn({id:m.id,kind:m.kind,plane:2,x:m.x,y:m.y,width:m.width,height:m.height,...m.aggregate?{aggregate:m.aggregate}:{},...m.raised?{raised:!0}:{},...m.focused?{focused:!0}:{},...m.opened?{opened:!0}:{},...m.opened?{openedRows:Math.max(1,Math.floor((Math.max(en(Math.min(Wr,Jt(m.aggregate?.memberIds.length??0))),en(Jt(m.aggregate?.memberIds.length??0))*(ze?.frame.openedShare??1))-ni)/Fr))}:{},...m.rank?{rank:m.rank}:{},...m.nestedUnder?{nestedUnder:m.nestedUnder}:{},...m.beyond?{beyond:m.beyond}:{},...Nn.has(m.id)?{plot:Nn.get(m.id)}:{},...Bn.has(m.id)?{nameplate:Bn.get(m.id)}:{},...ze&&m.aggregate?In(m.kind,m.aggregate.memberIds):{},depth:m.depth})}),{nodes:s,connectors:Mi(e,c,n),width:r.width,height:r.height,...ze?{city:ze.frame}:{},...n.pan&&(n.pan.x!==0||n.pan.y!==0)?{pan:{x:n.pan.x,y:n.pan.y}}:{},...l>0||u>0?{visible:{width:r.width-l,height:r.height-u}}:{}};function fn(m){let V=n.overview&&Pe(m.id)!==null?void 0:n.pins[m.id],Y=V?{...m,x:V.x,y:V.y,pinned:!0}:{...m,pinned:!1},oe=n.pan?{...Y,x:Y.x+n.pan.x,y:Y.y+n.pan.y}:Y;s.push(oe),c.set(oe.id,oe)}}function to(e,t,n){let o=e.nodes.find(l=>l.id===t);if(!o||o.screenOf!==void 0)return null;let r={...o,x:n.x,y:n.y,pinned:!0},a=r.x+r.width/2,i=r.y+r.height/2;return{...e,nodes:e.nodes.map(l=>l.id===t?r:l),connectors:e.connectors.map(l=>l.from===t?{...l,x1:a,y1:i}:l.to===t?{...l,x2:a,y2:i}:l)}}function no(e,t){return t.x===0&&t.y===0?e:{...e,nodes:e.nodes.map(n=>({...n,x:n.x+t.x,y:n.y+t.y})),connectors:e.connectors.map(n=>({...n,x1:n.x1+t.x,y1:n.y1+t.y,x2:n.x2+t.x,y2:n.y2+t.y})),...e.city?{city:{...e.city,pan:{x:t.x,y:t.y}}}:{},pan:{x:t.x,y:t.y}}}var ye=(e,t,n)=>e+(t-e)*n;function Oi(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}var Ai=new WeakMap;function ms(e){let t=Ai.get(e);if(t)return t;let n=new Map,o=new Map;for(let r of e.nodes){n.set(r.id,r);for(let a of r.aggregate?.memberIds??[]){let i=o.get(a);i?i.push(r):o.set(a,[r])}}return t={byId:n,groupsOf:o},Ai.set(e,t),t}var Li=new WeakMap;function Pi(e,t){let n=Li.get(t);if(n||Li.set(t,n=new WeakMap),n.has(e))return n.get(e);let o=ps(e,t);return n.set(e,o),o}function ps(e,t){let{byId:n,groupsOf:o}=ms(t);if(e.screenOf!==void 0){let i=n.get(ke(e.screenOf));if(i)return{...e,x:i.x,y:i.y,width:i.width,height:i.height}}if(Ct(e.id)||Pe(e.id)!==null){let i=(e.aggregate?.memberIds??[]).map(s=>n.get(s)).filter(s=>s!==void 0);if(i.length===0)return null;let l=i.map(Oi),u=l.reduce((s,c)=>s+c.x,0)/l.length,d=l.reduce((s,c)=>s+c.y,0)/l.length;return{...e,x:u-e.width/2,y:d-e.height/2}}let r=o.get(e.id)?.find(i=>i.id===ke(e.kind)||i.id===Ce(e.kind));if(!r)return null;let a=Oi(r);return{...e,x:a.x-e.width/2,y:a.y-e.height/2}}function it(e,t,n){let o=Math.max(0,Math.min(1,n)),r=new Map(e.nodes.map(s=>[s.id,s])),a=new Map(t.nodes.map(s=>[s.id,s])),i=[];for(let[s,c]of r){let h=a.get(s);if(h){i.push(ro(c,h,o,1));continue}let p=Pi(c,t)??c;i.push(ro(c,p,o,1-o))}for(let[s,c]of a){if(r.has(s))continue;let h=Pi(c,e)??c;i.push(ro(h,c,o,o))}let l=new Map(e.connectors.map(s=>[s.id,s])),u=new Map(t.connectors.map(s=>[s.id,s])),d=[];for(let[s,c]of l){let h=u.get(s);d.push(h?{...ys(c,h,o),opacity:1}:{...c,opacity:1-o})}for(let[s,c]of u)l.has(s)||d.push({...c,opacity:o});return{nodes:i.filter(s=>s.opacity>0).sort((s,c)=>s.id<c.id?-1:s.id>c.id?1:0),connectors:d.filter(s=>s.opacity>0).sort((s,c)=>s.id<c.id?-1:s.id>c.id?1:0),width:ye(e.width,t.width,o),height:ye(e.height,t.height,o),t:o,...Ci(e.city,t.city,o)?{city:Ci(e.city,t.city,o)}:{},...e.pan||t.pan?{pan:{x:ye(e.pan?.x??0,t.pan?.x??0,o),y:ye(e.pan?.y??0,t.pan?.y??0,o)}}:{}}}function Ci(e,t,n){return e?t?{cell:ye(e.cell,t.cell,n),...e.tilt!==void 0||t.tilt!==void 0?{tilt:ye(e.tilt??.5,t.tilt??.5,n)}:{},originX:ye(e.originX,t.originX,n),originY:ye(e.originY,t.originY,n),pan:{x:ye(e.pan.x,t.pan.x,n),y:ye(e.pan.y,t.pan.y,n)},extent:{x:ye(e.extent.x,t.extent.x,n),y:ye(e.extent.y,t.extent.y,n),width:ye(e.extent.width,t.extent.width,n),height:ye(e.extent.height,t.extent.height,n)}}:e:t}function ro(e,t,n,o){return{id:t.id,kind:t.kind,plane:ye(e.plane,t.plane,n),x:ye(e.x,t.x,n),y:ye(e.y,t.y,n),width:ye(e.width,t.width,n),height:ye(e.height,t.height,n),pinned:t.pinned,opacity:o,...t.aggregate?{aggregate:t.aggregate}:{},...t.via?{via:t.via}:{},...t.raised?{raised:!0}:{},...t.focused?{focused:!0}:{},...t.opened?{opened:!0}:{},...t.openedRows!==void 0?{openedRows:t.openedRows}:{},...t.compact?{compact:!0}:{},...t.rank?{rank:t.rank}:{},...t.nestedUnder?{nestedUnder:t.nestedUnder}:{},...t.beyond?{beyond:t.beyond}:{},...t.plot?{plot:t.plot}:{},...t.nameplate?{nameplate:t.nameplate}:{},...t.states?{states:t.states}:{},...t.screenOf?{screenOf:t.screenOf}:{},...t.depth===void 0?{}:{depth:ye(e.depth??1,t.depth,n)},...t.natural?{natural:t.natural}:{}}}function ys(e,t,n){return{...t,x1:ye(e.x1,t.x1,n),y1:ye(e.y1,t.y1,n),x2:ye(e.x2,t.x2,n),y2:ye(e.y2,t.y2,n)}}function nr(e){let t=Math.max(0,Math.min(1,e));return t<.5?4*t*t*t:1-(-2*t+2)**3/2}function gs(e,t){let n=[];for(let r=0;r<e.length;r+=1){let a=e[r],i=e[(r+1)%e.length];if(a.y===i.y)continue;let l=Math.min(a.y,i.y),u=Math.max(a.y,i.y);t<l||t>=u||n.push(a.x+(t-a.y)/(i.y-a.y)*(i.x-a.x))}n.sort((r,a)=>r-a);let o={x0:0,x1:0};for(let r=0;r+1<n.length;r+=2){let a={x0:n[r],x1:n[r+1]};a.x1-a.x0>o.x1-o.x0&&(o=a)}return o}function ws(e){let t=1/0,n=-1/0;for(let o of e)o.y<t&&(t=o.y),o.y>n&&(n=o.y);return{top:t,bottom:n}}function xs(e){let t=0;for(let n=0;n<e.length;n+=1){let o=e[n],r=e[(n+1)%e.length];t+=o.x*r.y-r.x*o.y}return Math.abs(t)/2}function bs(e){let t=0,n=0,o=0;for(let r=0;r<e.length;r+=1){let a=e[r],i=e[(r+1)%e.length],l=a.x*i.y-i.x*a.y;t+=l,n+=(a.x+i.x)*l,o+=(a.y+i.y)*l}if(Math.abs(t)<1e-9){let r=e.reduce((a,i)=>({x:a.x+i.x,y:a.y+i.y}),{x:0,y:0});return{x:r.x/e.length,y:r.y/e.length}}return{x:n/(3*t),y:o/(3*t)}}function vs(e,t){let{room:n,height:o,size:r,floor:a,measure:i=Hr,lines:l=2}=t,u=(f,y)=>f.every(v=>i(v,y)<=n)&&f.length*y*1.15<=o;if(u([e],r))return{lines:[e],fontSize:r,whole:!0};let d=e.split(/\s+/);if(l>1&&d.length>1){let f=1,y=1/0,v=0;for(let w=0;w<d.length-1;w+=1){v+=d[w].length+1;let O=Math.abs(v-e.length/2);O<y&&(y=O,f=w+1)}let k=[d.slice(0,f).join(" "),d.slice(f).join(" ")];if(u(k,r))return{lines:k,fontSize:r,whole:!0};for(let w=r;w>=a;w-=r*.06)if(u(k,w))return{lines:k,fontSize:w,whole:!0}}for(let f=r;f>=a;f-=r*.06)if(u([e],f))return{lines:[e],fontSize:f,whole:!0};let s=i(e,a)/Math.max(1,e.length),c=Math.floor(n/s)-1;if(c<4||a*1.15>o)return null;let h=e.slice(0,c),p=h.lastIndexOf(" ");return{lines:[`${p>3?h.slice(0,p):h}\u2026`],fontSize:a,whole:!1}}var ks=(e,t)=>e.x0<t.x1&&t.x0<e.x1&&e.y0<t.y1&&t.y0<e.y1;var U=re(Oe(),1);var vt=re(Oe(),1);function Ti(e){let[t,n]=(0,vt.useState)(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(e).matches);return(0,vt.useEffect)(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;let o=window.matchMedia(e),r=()=>n(o.matches);return r(),o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),t}function Ss(){let e=()=>typeof document>"u"?null:document.documentElement.getAttribute("data-graview-motion"),[t,n]=(0,vt.useState)(e);return(0,vt.useEffect)(()=>{if(typeof document>"u"||typeof MutationObserver>"u")return;let o=new MutationObserver(()=>n(e()));return o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-graview-motion"]}),n(e()),()=>o.disconnect()},[]),t}function Ii(e){let t=Ti("(prefers-reduced-motion: reduce)"),n=Ti("(prefers-reduced-transparency: reduce)"),o=Ss();return qo({off:!e,reducedMotion:o==="reduce"||o!=="full"&&t,reducedTransparency:n})}var Ms=_o*1.5,Es=30;function Ni(e,t){let[n,o]=(0,vt.useState)(!1),r=e&&!n;return(0,vt.useEffect)(()=>{if(!r||!t||typeof requestAnimationFrame>"u")return;let a=[],i=0,l=0,u=d=>{if(i>0&&a.push(d-i),i=d,a.length>=Es){if(!Qo(a,Ms)){o(!0);return}a.length=0}l=requestAnimationFrame(u)};return l=requestAnimationFrame(u),()=>cancelAnimationFrame(l)},[r,t]),r}var We=re(Oe(),1);var Rs=520;function Os(){return typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Bi(e,t={}){let n=t.duration??Rs,o=(t.enabled??!0)&&!Os(),r=t.settle??!0,a=(0,We.useRef)(e),[,i]=(0,We.useState)(()=>it(e,e,1)),l=(0,We.useRef)(null);l.current??=it(e,e,1);let u=(0,We.useRef)(null),d=(0,We.useRef)(null);!o&&d.current!==e&&(d.current=e,l.current=it(e,e,1)),o&&(d.current=null);let s=(0,We.useRef)(null);return(0,We.useEffect)(()=>{if(!o||typeof requestAnimationFrame>"u"){if(a.current=e,d.current!==e){let k=it(e,e,1);l.current=k,i(k)}if(typeof requestAnimationFrame>"u"||!r)return;let v=requestAnimationFrame(()=>{let k=it(e,e,1);l.current=k,i(k)});return()=>cancelAnimationFrame(v)}if(a.current===e&&l.current.t>=1){if(!r)return;let v=requestAnimationFrame(()=>{let k=it(e,e,1);l.current=k,i(k)});return()=>cancelAnimationFrame(v)}let c=performance.now(),p=s.current!==null&&l.current.t<1&&c-s.current<n?s.current:c;s.current=p;let x=nr(Math.min(1,(c-p)/n)),f=a.current,y=v=>{let k=Math.min(1,(v-p)/n),w=x>=1?1:(nr(k)-x)/(1-x),O=it(f,e,Math.max(0,w));l.current=O,i(O),k<1?u.current=requestAnimationFrame(y):(s.current=null,a.current=e,u.current=requestAnimationFrame(()=>{let G=it(e,e,1);l.current=G,i(G),u.current=null}))};return u.current=requestAnimationFrame(y),()=>{u.current!==null&&cancelAnimationFrame(u.current);let v=l.current;a.current={...e,...v.city?{city:v.city}:{},pan:v.pan??{x:0,y:0},nodes:v.nodes.map(k=>({...k,plane:Math.round(k.plane)})),connectors:v.connectors}}},[e,n,o,r]),l.current}function Hi(e=1100){let{store:t}=pe(),[n,o]=(0,We.useState)(()=>new Set);return(0,We.useEffect)(()=>{let r=null,a=t.subscribe(i=>{o(new Set(i.touched)),r&&clearTimeout(r),r=setTimeout(()=>o(new Set),e)});return()=>{a(),r&&clearTimeout(r)}},[t,e]),n}var As={marks:new Map,acts:[]};function Di(e=4e3){let{store:t}=pe(),[n,o]=(0,We.useState)(As);return(0,We.useEffect)(()=>{let r=null,a=t.subscribe((i,l)=>{o(u=>{let d=new Map(u.marks),s=[...u.acts];for(let c of l){if(c.undoes!==void 0){let x=s.find(y=>y.batch===c.undoes||y.wrote.length>0),f=s.filter(y=>c.writes.some(v=>y.wrote.includes(v)));for(let y of f.length>0?f:x?[x]:[]){for(let v of y.wrote)d.delete(v);s=s.filter(v=>v.batch!==y.batch)}continue}if(c.author.kind!=="agent")continue;let h=c.author.id??"the seat";for(let x of c.writes)d.set(x,h);s.find(x=>x.batch===c.batch)?s=s.map(x=>x.batch===c.batch?{...x,wrote:[...new Set([...x.wrote,...c.writes])]}:x):s=[{batch:c.batch,who:h,intent:c.batchIntent??c.intent,at:c.at,wrote:[...c.writes]},...s].slice(0,12)}return d.size===u.marks.size&&s===u.acts&&d.size===0?u:{marks:d,acts:s}}),r&&clearTimeout(r),r=setTimeout(()=>o(u=>u.marks.size===0?u:{...u,marks:new Map}),e)});return()=>{a(),r&&clearTimeout(r)}},[t,e]),n}var Ft=re(Se(),1),Je=16;function $i({marks:e,questions:t=[],whereIs:n,stageRef:o,width:r,height:a}){if(e.size===0&&t.length===0)return null;let i=o.current,l=i?.getBoundingClientRect()??null,u=[];for(let[s,c]of e){let h=null;if(i&&l&&typeof CSS<"u"){let y=i.querySelector(`[data-graview-pick="${CSS.escape(s)}"]`)?.getBoundingClientRect();y&&y.width>0&&y.height>0&&(h={x:y.left-l.left,y:y.top-l.top,width:y.width,height:y.height})}if(h??=n(s),!h)continue;let p=Math.min(Math.max(h.x+h.width-Je/2,Je/2),r-Je/2),x=Math.min(Math.max(h.y-Je/4,Je/2),a-Je/2);u.push({id:s,who:c,x:p,y:x})}let d=[];for(let s of t){let c=n(s.id);c&&d.push({...s,x:Math.min(Math.max(c.x+c.width/2,Je),r-Je),y:Math.min(Math.max(c.y-Je/2,Je),a-Je)})}return u.length===0&&d.length===0?null:(0,Ft.jsxs)("div",{className:"graview-seat-marks","data-testid":"seat-marks","data-graview-seat-marks":u.length,children:[u.map(({id:s,who:c,x:h,y:p})=>(0,Ft.jsx)("span",{className:"graview-seat-mark","data-testid":"seat-mark","data-graview-seat-mark":s,"data-graview-seat-who":c,title:`${c} just changed this`,"aria-hidden":"true",style:{left:h,top:p,"--graview-hue":mn(c)},children:"\u25C6"},s)),d.map(s=>(0,Ft.jsxs)("span",{className:"graview-seat-asking","data-testid":"seat-question","data-graview-seat-asking":s.id,title:s.asks,style:{left:s.x,top:s.y},children:[(0,Ft.jsx)("span",{"aria-hidden":"true",children:"?"}),(0,Ft.jsx)("span",{className:"graview-seat-asking-said",children:s.asks})]},`asking:${s.id}`))]})}var J=re(Se(),1);function Ls({hue:e,mode:t}){let n=t==="docked";return(0,J.jsxs)("svg",{viewBox:"0 0 32 38","aria-hidden":"true",children:[(0,J.jsxs)("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round",strokeLinecap:"round",children:[(0,J.jsx)("line",{x1:"16",y1:"3.5",x2:"16",y2:"7"}),(0,J.jsx)("circle",{cx:"16",cy:"2.6",r:"1.5",fill:"none"}),(0,J.jsx)("path",{d:"M8 16 V12.5 C8 8.5 11.5 7 16 7 C20.5 7 24 8.5 24 12.5 V16 Z",fill:"currentColor",fillOpacity:"0.1"}),t==="refused"?(0,J.jsx)("line",{x1:"11",y1:"12.5",x2:"21",y2:"12.5",strokeWidth:"2"}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)("rect",{x:"10.2",y:"10.2",width:"11.6",height:"4.6",rx:"2.3",fill:"currentColor",fillOpacity:"0.14",strokeWidth:"1"}),(0,J.jsx)("circle",{cx:"13.4",cy:"12.5",r:"1.25",fill:"currentColor",stroke:"none",opacity:n?.45:1}),(0,J.jsx)("circle",{cx:"18.6",cy:"12.5",r:"1.25",fill:"currentColor",stroke:"none",opacity:n?.45:1}),t==="reading"?(0,J.jsx)("line",{x1:"10.2",y1:"12.5",x2:"21.8",y2:"12.5",strokeWidth:"0.8",opacity:"0.7"}):null]}),(0,J.jsx)("line",{x1:"16",y1:"16",x2:"16",y2:"18.5"}),(0,J.jsx)("polygon",{points:"16,18.5 24,22.5 16,26.5 8,22.5",fill:"currentColor",fillOpacity:"0.22"}),(0,J.jsx)("polygon",{points:"8,22.5 16,26.5 16,33.5 8,29.5",fill:"currentColor",fillOpacity:"0.08"}),(0,J.jsx)("polygon",{points:"24,22.5 16,26.5 16,33.5 24,29.5",fill:"currentColor",fillOpacity:"0.3"}),t==="writing"?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)("polyline",{points:"24,24 28.5,20.5"}),(0,J.jsx)("line",{x1:"27.5",y1:"19",x2:"30",y2:"21.5",strokeWidth:"1.8"})]}):(0,J.jsx)("line",{x1:"24",y1:"24",x2:"26.5",y2:"29"}),(0,J.jsx)("line",{x1:"8",y1:"24",x2:"5.5",y2:"29"}),(0,J.jsx)("path",{d:"M9.5 33.5 v2.2 h4"}),(0,J.jsx)("path",{d:"M22.5 33.5 v2.2 h-4"})]}),(0,J.jsx)("title",{children:`robot, ${t}`})]})}function Ps({hue:e}){return(0,J.jsxs)("svg",{viewBox:"0 0 22 24","aria-hidden":"true",style:{color:`hsl(${Math.round(e)} 50% 48%)`},children:[(0,J.jsxs)("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round",strokeLinecap:"round",children:[(0,J.jsx)("circle",{cx:"11",cy:"6",r:"4.2"}),(0,J.jsx)("path",{d:"M3 23 C3 15.5 6 13 11 13 C16 13 19 15.5 19 23"})]}),(0,J.jsx)("title",{children:"somebody"})]})}function Fi({width:e,whereIs:t}){let{who:n,following:o,follow:r}=pe(),a=ii([...n.values()],t,e);return a.length===0?null:(0,J.jsx)("div",{className:"graview-occupants","data-testid":"occupants","data-graview-occupants":a.length,children:a.map((i,l)=>{if(i.kind==="over")return(0,J.jsx)("div",{className:"graview-presence-over","data-testid":"presence-over","data-graview-over-by":i.presence.participant,style:{left:i.box.x-3,top:i.box.y-3,width:i.box.width+6,height:i.box.height+6,"--graview-hue":i.presence.hue}},`over:${i.presence.participant}`);if(i.kind==="count")return(0,J.jsxs)("span",{className:"graview-figure-count","data-testid":"presence-count","data-graview-at":i.at,style:{left:i.point.x,top:i.point.y},title:`${i.n} more here`,children:["+",i.n]},`count:${i.at}:${l}`);let u=i.presence.hue,d=Io(i.presence)||"somebody";if(i.kind==="edge")return(0,J.jsxs)("button",{type:"button",className:"graview-figure-edge","data-testid":"presence-edge","data-graview-person":i.presence.participant,style:{right:`calc(${Math.max(8,e-i.point.x)}px + var(--graview-dock, 0px))`,top:i.point.y},onClick:()=>r(i.presence.participant),"aria-label":`${d} is somewhere else \u2014 press to go where they are`,children:["\u2192 ",d]},`edge:${i.presence.participant}`);if(i.kind==="robot")return(0,J.jsxs)("div",{className:"graview-figure","data-graview-figure":`theirs:${i.presence.participant}`,"data-graview-theirs":"","data-graview-mode":i.mode,"data-graview-at":i.presence.robot?.at??"",style:{transform:`translate(${i.point.x.toFixed(1)}px, ${i.point.y.toFixed(1)}px)`,"--graview-hue":u},children:[(0,J.jsx)("span",{className:"graview-figure-body",role:"img","aria-label":`${d}'s agent \u2014 ${i.mode}`,style:{cursor:"default"},children:(0,J.jsx)(Ls,{hue:u,mode:i.mode})}),(0,J.jsxs)("span",{className:"graview-figure-name",children:[d,"'s agent"]})]},`robot:${i.presence.participant}`);let s=o?.participant===i.presence.participant;return(0,J.jsxs)("div",{className:"graview-figure","data-graview-figure":i.presence.participant,"data-graview-person":"","data-graview-at":i.at,"data-graview-audience":i.audience?"":void 0,"data-graview-followed":s?"":void 0,style:{transform:`translate(${i.point.x.toFixed(1)}px, ${i.point.y.toFixed(1)}px)`,"--graview-hue":u},children:[(0,J.jsx)("button",{type:"button",className:"graview-figure-body","aria-label":`${d} is here${s?". Press to stop following":". Press to go where they go"}`,"aria-pressed":s,onClick:c=>{c.stopPropagation(),r(s?null:i.presence.participant)},onPointerDown:c=>c.stopPropagation(),children:(0,J.jsx)(Ps,{hue:u})}),(0,J.jsx)("span",{className:"graview-figure-name",children:d})]},`person:${i.presence.participant}`)})})}var or=re(Oe(),1),On=re(Se(),1),Wi={left:"\u2190",right:"\u2192",top:"\u2191",bottom:"\u2193"},oo=36,Rn=56;function ji({result:e,schema:t,chrome:n=[],onGo:o}){let r=Zr(e);if(r.length===0)return null;let a=s=>(s??[]).flatMap(c=>{let h=e.nodes.find(p=>p.id===c.id);return h?[{left:h.x+c.x,top:h.y+c.y,right:h.x+c.x+c.width,bottom:h.y+c.y+c.height}]:[]}),i=a(e.city?.showings),l=a(e.city?.nameplates),u=[...i,...l,...n.map(s=>({left:s.x,top:s.y,right:s.x+s.width,bottom:s.y+s.height}))],d=[];for(let s of["left","right","top","bottom"]){let c=e.visible??e,h=s==="left"||s==="right"?c.height:c.width,p=s==="left"||s==="right",x=s==="bottom"?Is:s==="top"?Rn:Ns+Rn/2,f=-1/0,y=[],v=r.filter(k=>k.side===s).sort((k,w)=>k.along-w.along);for(let k of v){let w=Vn(t,k.kind),O=Cs(w),G=p?rr:O/2,$=h-x-(p?0:G),X=Math.max(Rn,k.along,f+G+Ts);if(X>$)continue;let{at:T,inset:g}=Bs([...u,...y],s,X,O,c,h);if(T>$+.5)continue;f=T+G,y.push(Vi(s,T,O,c,g));let R=s==="left"?{left:g,top:T,transform:"translateY(-50%)"}:s==="right"?{right:`calc(${g}px + var(--graview-dock, 0px))`,top:T,transform:"translateY(-50%)"}:s==="top"?{top:g,left:T,transform:"translateX(-50%)"}:{bottom:`calc(${g}px + var(--graview-scene-foot, var(--graview-sheet, 0px)))`,left:T,transform:"translateX(-50%)"};d.push((0,On.jsx)("button",{type:"button",className:"graview-edge-sign","data-graview-past-edge":k.id,"aria-label":`${w}, past the ${s} edge \u2014 bring it into view`,title:`${w} is past the ${s} edge`,tabIndex:-1,onPointerDown:P=>P.stopPropagation(),onClick:P=>{P.stopPropagation(),o(k.by)},style:{...Hs,...R},children:s==="right"||s==="bottom"?`${w} ${Wi[s]}`:`${Wi[s]} ${w}`},k.id))}}return(0,On.jsx)(On.Fragment,{children:d})}var Cs=e=>(e.length+2)*7.4+22,rr=oo/2,En=6,Ts=6,Is=236,Ns=56;function Vi(e,t,n,o,r=En){return e==="left"||e==="right"?{left:e==="left"?r:o.width-r-n,right:e==="left"?r+n:o.width-r,top:t-rr,bottom:t+rr}:{left:t-n/2,right:t+n/2,top:e==="top"?r:o.height-r-oo,bottom:e==="top"?r+oo:o.height-r}}function Bs(e,t,n,o,r,a){let i=t==="left"||t==="right",l=f=>Vi(t,f,o,r),u=f=>e.find(y=>{let v=l(f);return v.left<y.right&&y.left<v.right&&v.top<y.bottom&&y.top<v.bottom}),d=u(n);if(!d)return{at:n,inset:En};let s=i?rr:o/2,c=f=>{let y=n;for(let v=0;v<12;v++){let k=u(y);if(!k)return y;if(y=f>0?(i?k.bottom:k.right)+s+4:(i?k.top:k.left)-s-4,y>a-Rn||y<Rn)return null}return null},h=c(1);if(h!==null)return{at:h,inset:En};let p=c(-1);if(p!==null)return{at:p,inset:En};let x=t==="left"?d.right:t==="right"?r.width-d.left:t==="top"?d.bottom:r.height-d.top;return{at:n,inset:Math.max(En,x+4)}}var Hs={position:"absolute",zIndex:Fe.lines,minHeight:28,maxWidth:"40%",padding:"3px 10px",font:"inherit",fontSize:"0.75rem",letterSpacing:"0.04em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:6,boxShadow:"0 2px 8px rgb(0 0 0 / 0.12)",cursor:"pointer"};function Gi(e){let[t,n]=(0,or.useState)(null);return(0,or.useLayoutEffect)(()=>{let o=e.current,r=null;for(let l=o?.parentElement??null,u=0;l&&!r&&u<4;l=l.parentElement,u++)r=l.querySelector(":scope > [data-graview-scene-trail]");if(!o||!r)return;let a=()=>{let l=o.getBoundingClientRect(),u=r.getBoundingClientRect(),d=u.width>0&&u.height>0?{x:u.left-l.left,y:u.top-l.top,width:u.width,height:u.height}:null;n(s=>s===d||s&&d&&s.x===d.x&&s.y===d.y&&s.width===d.width&&s.height===d.height?s:d)};if(a(),typeof ResizeObserver>"u")return;let i=new ResizeObserver(a);return i.observe(r),()=>i.disconnect()},[e]),t}var kt=re(Oe(),1),Ds=180;function zi({view:e,result:t,frame:n,panned:o,closer:r,screenId:a,setCamera:i}){let l=(0,kt.useRef)(new Map),u=Math.round((t.nodes.find(c=>c.id===a)?.height??0)/16),d=(0,kt.useRef)(e.overview??!1),s=(0,kt.useRef)(null);if((0,kt.useEffect)(()=>{if(!e.overview||!a||!t.city){if(d.current&&!e.overview)return;i($=>$.x===0&&$.y===0?$:{x:0,y:0});return}let c=t.nodes.find($=>$.id===a);if(!c)return;let h=r>1&&c.screenOf?t.nodes.find($=>$.id===ke(c.screenOf)):void 0,p=h?{x:Math.min(c.x,h.x),y:Math.min(c.y,h.y),width:Math.max(c.x+c.width,h.x+h.width)-Math.min(c.x,h.x),height:Math.max(c.y+c.height,h.y+h.height)-Math.min(c.y,h.y)}:c;if(p.x>=0&&p.y>=0&&p.x+p.width<=t.width&&p.y+p.height<=t.height&&!h)return;let f=24,y=($,X,T)=>$<f?f-$:$+X>T-f?T-f-($+X):0,v=bt(t),k=e.pan??{x:0,y:0},w=h?o.x+(t.width/2-(p.x+p.width/2)):o.x+y(p.x,p.width,t.width),O=t.height/2-(p.y+p.height/2),G=h?o.y+(c.y+O<f?f-c.y:O):o.y+y(p.y,p.height,t.height);i({x:(h?w:Math.max(-v.x,Math.min(v.x,w)))-k.x,y:(h?G:Math.max(-v.y,Math.min(v.y,G)))-k.y})},[a,e.overview,r,e.within?.view,u]),n.city){let c=new Map;for(let h of n.nodes){if(!h.plot||Math.round(h.plane)!==2)continue;let p=nn(h.plot.col+h.plot.side/2,h.plot.row+h.plot.side/2,n.city.cell,n.city.tilt);c.set(h.id,{x:n.city.originX+o.x+p.x,y:n.city.originY+o.y+p.y})}l.current=c}return(0,kt.useEffect)(()=>{let c=e.overview??!1,h=d.current&&!c;if(d.current=c,c&&s.current&&(clearTimeout(s.current),s.current=null),!h)return;let p=e.focusId?wt(e.focusId)[0]:void 0,x=p?l.current.get(ke(p)):void 0,f=t.nodes.find(y=>y.id===e.focusId);if(!x||!f){i({x:0,y:0});return}i({x:x.x-(f.x+f.width/2),y:x.y-(f.y+f.height/2)}),s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{s.current=null,i({x:0,y:0})},Ds)},[e.overview]),(0,kt.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]),{gliding:()=>s.current!==null}}var ar=re(Oe(),1),ir="[data-graview-view]";function $s(e,t){let n=null;for(let o=e?.closest(ir)??null;o&&t.contains(o);o=o.parentElement?.closest(ir)??null)n=o;return n}function Yi(e,t){let n=e.getBoundingClientRect();return{left:n.left,top:n.top,right:n.right-t.right,bottom:n.bottom-t.bottom,box:n}}function _i(e,t,n){let o=(0,ar.useRef)({dock:t,reveal:n});o.current={dock:t,reveal:n},(0,ar.useEffect)(()=>{let r=e.current;if(!r)return;let a=u=>{let{dock:d}=o.current;if(u.key!=="Tab"||u.defaultPrevented||d.right<=0&&d.bottom<=0)return;let s=Yi(r,d),c=[];for(let h of r.querySelectorAll(ir)){if(h.parentElement?.closest(ir)||h.inert||h.contains(document.activeElement))continue;let p=h.getBoundingClientRect(),x=Math.max(p.left,s.box.left),f=Math.min(p.right,s.box.right),y=Math.max(p.top,s.box.top),v=Math.min(p.bottom,s.box.bottom);f<=x||v<=y||!(d.right>0&&x>=s.right-1||d.bottom>0&&y>=s.bottom-1)||(h.inert=!0,c.push(h))}c.length!==0&&setTimeout(()=>{for(let h of c)h.inert=!1},0)},i=u=>{let d=u.target,s=$s(d,r);if(!s)return;let c=!0;try{c=d?.matches(":focus-visible")??!0}catch{}requestAnimationFrame(()=>{for(let h=s.parentElement;h;h=h===r?null:h.parentElement)h.scrollTop!==0&&(h.scrollTop=0),h.scrollLeft!==0&&(h.scrollLeft=0);c&&s.isConnected&&l(s)})},l=u=>{let d=Yi(r,o.current.dock),s=u.getBoundingClientRect(),c=12,h=(f,y,v,k)=>k-v>y-f-2*c||v<f+c?f+c-v:k>y-c?y-c-k:0,p=h(d.left,d.right,s.left,s.right),x=h(d.top,d.bottom,s.top,s.bottom);(Math.abs(p)>=1||Math.abs(x)>=1)&&o.current.reveal(Math.round(p),Math.round(x))};return document.addEventListener("keydown",a,!0),r.addEventListener("focusin",i),()=>{document.removeEventListener("keydown",a,!0),r.removeEventListener("focusin",i)}},[e])}var de=re(Oe(),1);function Ui(){let e=(0,de.useRef)(null),[t,n]=(0,de.useState)({right:0,bottom:0});return(0,de.useLayoutEffect)(()=>{let o=e.current;if(!o)return;let r=()=>{let i=o.getBoundingClientRect(),l={right:Math.round(i.width),bottom:Math.round(i.height)};n(u=>u.right===l.right&&u.bottom===l.bottom?u:l)};if(r(),typeof ResizeObserver>"u")return;let a=new ResizeObserver(r);return a.observe(o),()=>a.disconnect()},[]),{probe:e,dock:t}}function Xi(){let[e,t]=(0,de.useState)(null),n=(0,de.useRef)(null),o=(0,de.useRef)(0),r=(0,de.useCallback)(i=>{n.current=i,o.current===0&&(o.current=requestAnimationFrame(()=>{o.current=0,t(n.current)}))},[]),a=(0,de.useCallback)(()=>{o.current!==0&&cancelAnimationFrame(o.current),o.current=0;let i=n.current;return n.current=null,i&&t(null),i},[]);return{held:e,place:r,release:a}}function qi({stage:e,pan:t,setView:n,settled:o}){let r=(0,de.useRef)({x:0,y:0}),a=(0,de.useRef)(0),i=(0,de.useRef)(!1),l=(0,de.useRef)(o);l.current=o;let u=(0,de.useCallback)(()=>[...e.current?.querySelectorAll("[data-graview-world]")??[]],[e]),d=(0,de.useCallback)(({x:f,y})=>{let v=f===0&&y===0?"":`translate3d(${f}px, ${y}px, 0)`;for(let k of u())k.style.transform=v;Ki(e.current,f,y)},[u,e]),s=(0,de.useCallback)(()=>{a.current===0&&(a.current=requestAnimationFrame(()=>{a.current=0,d(r.current)}))},[d]),c=(0,de.useCallback)(()=>{i.current=!1;for(let f of u())f.style.transform="";Ki(e.current,0,0),l.current()},[u,e]),h=(0,de.useCallback)((f,y)=>{r.current={x:f.x-y.x,y:f.y-y.y},s()},[s]),p=(0,de.useCallback)(()=>{let{x:f,y}=r.current;return f===0&&y===0?!1:(a.current!==0&&cancelAnimationFrame(a.current),a.current=0,d({x:f,y}),r.current={x:0,y:0},i.current=!0,n(v=>{let k=v.pan??{x:0,y:0};return ht(v,{x:k.x+f,y:k.y+y})}),window.setTimeout(()=>{i.current&&c()},300),!0)},[n,c,d]);(0,de.useLayoutEffect)(()=>{i.current&&c()},[t,c]);let x=(0,de.useCallback)(()=>r.current,[]);return{shiftTo:h,settle:p,settling:i,offset:x}}function Ki(e,t,n){for(let o of e?.querySelectorAll(":scope > .graview-lattice, :scope > .graview-measure")??[]){if(t===0&&n===0){o.style.removeProperty("--graview-hand-x"),o.style.removeProperty("--graview-hand-y");continue}o.style.setProperty("--graview-hand-x",`${t}px`),o.style.setProperty("--graview-hand-y",`${n}px`)}}var Fs=4;function Qi({view:e,panned:t,limit:n,panWithin:o,moveByTransform:r,setView:a,setDragging:i,noteMoved:l,shift:u,district:d}){let s=(0,de.useRef)(!1),c=(0,de.useRef)(null),h=v=>{let k=e.pan??{x:0,y:0};c.current={kind:"pan",fromX:v.clientX,fromY:v.clientY,baseX:k.x,baseY:k.y,moved:!1}};return{onGroundDown:v=>{v.button===0&&(v.target.closest("[data-graview-view]")||h(v))},onCardDown:(v,k)=>{if(k.button===0){if(v.screenOf!==void 0&&!k.target.closest("[data-graview-grip]")){h(k);return}if(e.overview&&Pe(v.id)!==null){h(k);return}c.current={kind:"card",id:v.id,fromX:k.clientX,fromY:k.clientY,baseX:v.x-t.x,baseY:v.y-t.y,moved:!1}}},onDragMove:v=>{let k=c.current;if(!k)return;let w=v.clientX-k.fromX,O=v.clientY-k.fromY;if(!k.moved){if(Math.hypot(w,O)<Fs)return;k.moved=!0,i(!0),v.currentTarget.setPointerCapture(v.pointerId)}if(k.kind==="pan"){let G=o(n(),{x:k.baseX+w,y:k.baseY+O});r?u.shiftTo(G,e.pan??{x:0,y:0}):a($=>ht($,G))}else k.id&&d.place({id:k.id,x:k.baseX+w,y:k.baseY+O})},onDragUp:()=>{u.settle();let v=d.release();v&&a(k=>vn(k,v.id,{x:v.x,y:v.y})),c.current?.moved&&(s.current=!0,setTimeout(()=>s.current=!1,0),l()),c.current=null,!u.settling.current&&i(!1)},swallow:s}}function Zi({stage:e,view:t,setView:n}){let o=(0,de.useRef)({view:t,charge:0,coolUntil:0,lastScale:1});o.current.view=t;let r=(0,de.useRef)(()=>{}),a=(0,de.useRef)(()=>{});return(0,de.useEffect)(()=>{let i=e.current;if(!i)return;let l=(c,h)=>{let p=o.current;if(h<p.coolUntil)return;let x=p.view.overview??!1;c!==x&&(p.coolUntil=h+600,p.charge=0,n(pn(p.view,c)))},u=c=>{let h=o.current,p=h.view.overview??!1;if(c.ctrlKey){if(c.preventDefault(),!p){if(h.charge+=c.deltaY,Math.abs(h.charge)<60)return;h.charge>0?l(!0,performance.now()):h.charge=0;return}r.current(Math.exp(-c.deltaY*.004),c.clientX,c.clientY);return}!p||c.target?.closest("[data-graview-view], .graview-scroll, [data-graview-overlay], .graview-zoom")||(c.preventDefault(),a.current(-c.deltaX,-c.deltaY))},d=c=>{c.preventDefault(),o.current.lastScale=1},s=c=>{c.preventDefault();let h=o.current,p=c.scale??1;if(!(h.view.overview??!1)){p<.72&&l(!0,performance.now());return}let x=p/(h.lastScale||1);h.lastScale=p;let f=c;r.current(x,f.clientX,f.clientY)};return i.addEventListener("wheel",u,{passive:!1}),i.addEventListener("gesturestart",d),i.addEventListener("gesturechange",s),()=>{i.removeEventListener("wheel",u),i.removeEventListener("gesturestart",d),i.removeEventListener("gesturechange",s)}},[n,e]),{zoomAbout:r,panBy:a}}var Ji={directed:"You",autonomous:"An agent","co-edited":"You and an agent",rule:"A rule"};function io(e,t){let n=new Set(e.map(r=>r.id)),o=new Set;for(let r of t){if(n.has(r)){o.add(r);continue}let a=e.find(i=>i.aggregate?.memberIds.includes(r));a&&o.add(a.id)}return o}function ao(e){return e.emphasized?e.stressed?.95:.08:e.anyChosen?e.mine?.9:.12:e.touches?Math.max(.34,.9-.09*Math.max(0,(e.siblings??1)-1)):.12}function so(e){return e.edgeChosen?.9:e.lit?.78:e.own*(e.anyLit?e.kit.dim:e.kit.rest)}function at(e,t){if(!e)return null;let n=Math.max(0,Math.min(2,Math.floor(e.plane))),o=Math.max(0,Math.min(2,Math.ceil(e.plane))),{scale:r}=n===o?Qt(n,t):Vo(Qt(n,t),Qt(o,t),e.plane-n);return{x:e.x,y:e.y,width:e.width*r,height:e.height*r}}function an(e,t){if(typeof getComputedStyle>"u"||getComputedStyle(e).visibility==="hidden")return null;let n=-1/0,o=-1/0,r=1/0,a=1/0,i=e.getBoundingClientRect();n=Math.max(n,i.left),o=Math.max(o,i.top),r=Math.min(r,i.right),a=Math.min(a,i.bottom);let l=e.parentElement;for(;l&&l!==t;){let d=getComputedStyle(l);if(d.overflowX!=="visible"||d.overflowY!=="visible"){let s=l.getBoundingClientRect();d.overflowX!=="visible"&&(n=Math.max(n,s.left),r=Math.min(r,s.right)),d.overflowY!=="visible"&&(o=Math.max(o,s.top),a=Math.min(a,s.bottom))}l=l.parentElement}if(r-n<=2||a-o<=2)return null;let u=t.getBoundingClientRect();return{x:n-u.left,y:o-u.top,width:r-n,height:a-o}}function je(e,t,n,o=!1){if(!e||typeof document>"u")return null;let r=e.querySelector(`[data-graview-view="${CSS.escape(t)}"]`);return r?an(lo(r,n,o),e):null}function lo(e,t=!1,n=!1){return(t?e.querySelector(".graview-kind-block"):null)??e.querySelector('[data-graview-primitive="panel"], .graview-kind-face, .graview-kind-card')??(n?null:e.querySelector(':scope > [data-graview-primitive="chip"]'))??e}function sr(e,t,n,o,r){let a=d=>e.nodes.find(s=>s.id===d);if(r.startsWith("screen:")){let d=e.nodes.find(s=>s.id===ke(r.slice(7)));return d?je(t,d.id,!0)??at(d,n):null}let i=a(r),l=Pe(r);if(!i&&l!==null&&(i=a(Ce(l))),!i&&Ct(r)){let[d]=wt(r);d&&(i=a(ke(d)))}if(!i){let d=o.places().find(s=>s.as===r);d&&(i=a(Ce(d.kind))??a(ke(d.kind)))}if(i||(i=[...e.nodes].filter(d=>d.aggregate?.memberIds.includes(r)).sort((d,s)=>d.plane-s.plane)[0]),!i)return null;let u=e.city!==void 0;return je(t,i.id,u&&i.aggregate!==void 0&&Math.round(i.plane)===2)??at(i,n)}var st=re(Oe(),1);var Ye=re(Oe(),1);var et=re(Se(),1);function ta({title:e,name:t,path:n,maxHeight:o,children:r}){let a=(0,Ye.useContext)(Wo),[i,l]=(0,Ye.useState)(void 0),[u,d]=(0,Ye.useState)(void 0),[s,c]=(0,Ye.useState)(void 0),[h,p]=(0,Ye.useState)(!1),[x,f]=(0,Ye.useState)(!1),y=(0,Ye.useRef)(null),v=(0,Ye.useRef)(null);(0,Ye.useLayoutEffect)(()=>{let T=y.current,g=v.current;if(!T||!g||typeof ResizeObserver>"u")return;let R=()=>{c(T.clientHeight),d(g.offsetHeight||void 0)};R();let P=new ResizeObserver(R);return P.observe(T),P.observe(g),()=>P.disconnect()},[]);let k=Math.max(i??0,u??0)||void 0,w=!h&&k!==void 0&&s!==void 0&&k>s+1,O=a&&n?n:void 0,G=O&&a?.href?a.href(O):void 0,$=T=>T.stopPropagation(),X={onPointerDown:$,onDoubleClick:$,onKeyDown:T=>{T.key!=="Enter"&&T.key!==" "||($(T),T.key==="Enter"&&T.currentTarget.tagName==="A"&&!T.currentTarget.hasAttribute("href")&&(T.preventDefault(),T.currentTarget.click()))}};return(0,et.jsxs)("section",{"data-graview-preview":t,"aria-label":e,...h?{"data-graview-expanded":"","data-graview-overlay":""}:{},onKeyDown:h?T=>{T.key==="Escape"&&(T.stopPropagation(),p(!1))}:void 0,style:{...Ws,...h?js:{}},children:[(0,et.jsxs)("div",{style:Vs,children:[(0,et.jsx)("strong",{style:Gs,children:e}),O?(0,et.jsx)("a",{"data-graview-preview-open":"",...G?{href:G}:{role:"link",tabIndex:0},"aria-label":`Open ${e}`,style:ea,...X,onClick:T=>{$(T),!(G&&(T.metaKey||T.ctrlKey||T.shiftKey||T.button!==0))&&(T.preventDefault(),a?.open(O))},children:"Open"}):w||h?(0,et.jsx)("button",{type:"button","data-graview-preview-expand":"","aria-expanded":h,"aria-label":`${h?"Collapse":"Expand"} ${e}`,style:{...ea,...zs},...X,onClick:T=>{$(T),p(g=>!g)},children:h?"Collapse":"Expand"}):null]}),(0,et.jsxs)("div",{ref:y,"data-graview-preview-body":"",...i!==void 0?{"data-graview-content-height":i}:{},...w?{"data-graview-more":""}:{},onFocus:()=>f(!0),onBlur:()=>f(!1),style:{...Ys,...o!==void 0&&!h?{maxHeight:o}:{},...x?{overflowClipMargin:4}:{}},children:[(0,et.jsx)("div",{ref:v,"data-graview-preview-drawn":"",style:_s,children:(0,et.jsx)(Fo.Provider,{value:l,children:r})}),w?(0,et.jsx)("div",{"aria-hidden":"true","data-graview-preview-fade":"",style:Ks}):null]})]})}var Ws={display:"flex",flexDirection:"column",gap:"var(--graview-gap, 7px)",width:"100%",maxHeight:"100%",minHeight:0,padding:"var(--graview-pad, 15px)",boxSizing:"border-box",borderRadius:"var(--graview-radius, 12px)",border:"1px solid var(--graview-edge, #e4e0d8)",boxShadow:"var(--graview-lift-low)",background:"var(--graview-panel, #ffffff)",color:"var(--graview-ink, #1a1a1a)",overflow:"hidden"},js={maxHeight:"none",position:"absolute",top:0,left:0,right:0,width:"auto"},Vs={display:"flex",alignItems:"baseline",flexWrap:"wrap",gap:8,minWidth:0,flex:"0 0 auto"},Gs={fontFamily:"var(--graview-font-display, inherit)",fontSize:"0.9375rem",lineHeight:1.25,fontWeight:560,letterSpacing:"0.005em",minWidth:0,overflowWrap:"anywhere"},ea={marginLeft:"auto",fontSize:"0.8125rem",fontWeight:560,color:"var(--graview-accent, #2f6f5e)",textDecoration:"none",textUnderlineOffset:"0.2em"},zs={font:"inherit",fontSize:"0.8125rem",fontWeight:560,background:"none",border:0,padding:0,cursor:"pointer"},Ys={position:"relative",flex:"0 1 auto",minHeight:0,overflowX:"visible",overflowY:"clip",minWidth:0},_s={display:"flow-root",minWidth:0},Ks={position:"absolute",left:0,right:0,bottom:0,height:48,pointerEvents:"none",background:"linear-gradient(to bottom, transparent, var(--graview-panel, #ffffff))"};var se=re(Se(),1),ra=(0,st.memo)(function({kinds:t}){let{store:n}=pe(),{view:o,go:r}=Tr(),a=(0,st.useRef)(null),i=Nr("districts",{align:"start"}),l=i.open,u=p=>Vn(n.schema,p),d=p=>n.graph.allNodes().filter(x=>x.kind===p).length,s=p=>!o.overview&&o.focusId===Ce(p),c=t.filter(p=>!s(p)),h=p=>{i.setOpen(!1);let x=a.current?.querySelector(".graview-beyond-more")??null;s(p)||r(gt(o,Ce(p))),x?.focus({preventScroll:!0});let f=`[data-graview-view="${Ce(p)}"][tabindex], [data-graview-view="${ke(p)}"][tabindex]`,y=40,v=()=>{let k=document.querySelector(f);k?k.focus({preventScroll:!0}):--y>0&&requestAnimationFrame(v)};requestAnimationFrame(v)};return(0,se.jsxs)("div",{ref:a,className:"graview-beyond","data-graview-beyond":t.length,"data-graview-beyond-open":l?"":void 0,children:[(0,se.jsxs)("button",{type:"button",className:"graview-beyond-more","data-testid":"beyond-more",...i.trigger,"aria-haspopup":"menu",title:`${c.length} more district${c.length===1?"":"s"} \u2014 press to see them`,onPointerDown:p=>p.stopPropagation(),onClick:p=>{p.stopPropagation(),i.toggle()},children:[(0,se.jsxs)("span",{className:"graview-beyond-count",children:["+",c.length]}),(0,se.jsx)("span",{className:"graview-beyond-word",children:"more"}),(0,se.jsx)("span",{className:"graview-beyond-chevron","aria-hidden":"true",children:l?"\u25BE":"\u25B4"})]}),l?(0,se.jsx)("ul",{...i.pane,className:"graview-beyond-list",role:"menu","aria-label":"The other districts","data-testid":"beyond-list",style:Ir,onPointerDown:p=>p.stopPropagation(),children:t.map(p=>(0,se.jsx)("li",{role:"none",children:(0,se.jsxs)("button",{type:"button",role:"menuitem","data-graview-pick":ke(p),"aria-current":s(p)?"location":void 0,title:s(p)?`${u(p)} \u2014 where you are`:`Go to ${u(p)}`,onPointerDown:x=>x.stopPropagation(),onClick:x=>{x.stopPropagation(),h(p)},children:[(0,se.jsx)("span",{className:"graview-beyond-name",children:u(p)}),(0,se.jsx)("span",{className:"graview-beyond-tally",children:s(p)?"here":d(p)})]})},p))}):null]})},(e,t)=>e.kinds.length===t.kinds.length&&e.kinds.every((n,o)=>n===t.kinds[o]));function oa(e,t){if(e===t)return!0;let n=Object.keys(e);return n.length!==Object.keys(t).length?!1:n.every(o=>o==="x"||o==="y"||uo(e[o],t[o]))}function uo(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null||Array.isArray(e)!==Array.isArray(t)||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==Array.prototype)return!1;if(Array.isArray(e)){let r=t;if(e.length!==r.length)return!1;for(let a=0;a<e.length;a++)if(!uo(e[a],r[a]))return!1;return!0}let o=Object.keys(e);return o.length!==Object.keys(t).length?!1:o.every(r=>uo(e[r],t[r]))}var ia=(0,st.memo)(aa,(e,t)=>e.mode===t.mode&&e.selected===t.selected&&e.fidelity===t.fidelity&&oa(e.node,t.node));function aa({node:e,mode:t,selected:n,fidelity:o}){let{store:r,views:a,view:i}=pe(),l=It(),u=oi(),d=ri(),s=e.aggregate||Ct(e.id)||Pe(e.id)!==null?"many":"one",c={cardinality:s,fidelity:o??jo[Xs(e.plane)].fidelity},h=s==="many"&&e.id===i.focusId?i.within?.view:void 0,p=a.resolve(e.kind,c,h),x=p?.view,f=a.resolve(e.kind,{cardinality:"many",fidelity:"full"})?.view,y=f!==void 0&&f.generic!==!0,v=e.aggregate?.memberIds,k=(0,st.useMemo)(()=>(v??[]).map(T=>r.graph.getNode(T)).filter(T=>T!==void 0),[v,r,l]),w={...e.aggregate?{nodes:k,label:p?.title??e.aggregate.label}:{node:r.graph.getNode(e.id)},fidelity:c.fidelity,cardinality:c.cardinality,mode:t,selected:n,implicated:u,flagged:d,...e.raised?{raised:!0}:{},...e.focused?{focused:!0}:{},...e.opened?{opened:!0}:{},...e.openedRows!==void 0?{openedRows:e.openedRows}:{},...e.plot?{plot:e.plot}:{},...e.nameplate?{nameplate:e.nameplate}:{},...e.states?{states:e.states}:{},...e.aggregate?.retired?{retired:e.aggregate.retired}:{},...e.rank?{rank:e.rank}:{},...e.nestedUnder?{nestedUnder:e.nestedUnder}:{},...y?{hasOwnView:!0}:{}};if(!x)return(0,se.jsx)(qs,{node:e,props:w});let O=$o(x),G=!e.aggregate&&w.node?w.node:void 0,$=O?G?{title:Kt(r.schema.tryDefinition(G.kind),G),name:G.id,path:Po(r.schema,G.kind,G.id)}:{title:w.label??e.kind,name:p?.title?vr(p.title):"",path:p?.title?`/places/${vr(p.title)}`:void 0}:void 0,X=[e.id,p?.title??"",c.fidelity,c.cardinality,t,n,e.raised??!1,e.focused??!1,e.opened??!1,e.openedRows??"",e.rank??"",e.nestedUnder??"",e.plot?`${e.plot.col},${e.plot.row},${e.plot.side}`:"",e.nameplate??"",e.states?e.states.values.map(T=>T.count).join(","):"",e.aggregate?co(e.aggregate.memberIds):"",e.aggregate?.retired??"",u?co(u):"",d?co(d):"",y].join("|");return(0,se.jsx)(Lr,{mode:t,children:(0,se.jsx)(ai,{kind:w.label??e.kind,...p?.title?{view:p.title}:{},children:(0,se.jsx)(Us,{signature:X,graph:l,draw:()=>O&&$?(0,se.jsx)(ta,{...$,maxHeight:O.maxHeight,children:(0,se.jsx)(x,{...w})}):(0,se.jsx)(x,{...w})})},`${e.id}|${p?.title??""}`)})}var Us=(0,st.memo)(function({draw:t}){return(0,se.jsx)(se.Fragment,{children:t()})},(e,t)=>e.signature===t.signature&&e.graph===t.graph);function Xs(e){return Math.max(0,Math.min(2,Math.round(e)))}function qs({node:e,props:t}){return(0,se.jsxs)("div",{style:{padding:8,font:"13px/1.4 system-ui",overflow:"hidden"},children:[(0,se.jsx)("strong",{children:t.label??e.kind}),t.nodes?(0,se.jsxs)("div",{children:[t.nodes.length," items"]}):(0,se.jsx)("div",{children:e.id})]})}var sa=(0,st.memo)(function({node:t}){let{store:n}=pe(),o=Tt(),r=t.aggregate,a=r.opens,i=r.memberIds.length,l=Ut(n.schema,r.kind,i),u=r.memberIds.slice(0,3).map(h=>{let p=n.graph.getNode(h),x=p?n.schema.tryDefinition(p.kind):void 0;return p?x?.label?x.label(p):String(p.label??h):h}),d=r.memberIds,s=(0,st.useMemo)(()=>{let h=o?_n(o):null;return h?d.filter(p=>h.has(p)).length:0},[o,d]),c=a.in==="picture";return(0,se.jsxs)("div",{className:"graview-band-group","data-graview-band":a.in,"data-graview-band-count":i,"data-graview-emphasis":o?s>0?"lit":"dimmed":void 0,title:c?`${r.label} \u2014 press twice to see them all, arranged`:`${r.label}: ${l} \u2014 press twice to open`,children:[(0,se.jsxs)("span",{className:"graview-band-group-head",children:[(0,se.jsx)("span",{className:"graview-band-group-name",children:r.label}),(0,se.jsx)("span",{className:"graview-band-group-open","aria-hidden":"true",children:c?"\u2197":"\u25BE"})]}),(0,se.jsxs)("span",{className:"graview-band-group-names",children:[c?null:(0,se.jsxs)("span",{className:"graview-band-group-count",children:[l,s>0?` \xB7 ${s} match`:""," \xB7 "]}),u.join(" \xB7 "),i>u.length?" \u2026":""]})]})},(e,t)=>oa(e.node,t.node)),na=new WeakMap;function co(e){let t=na.get(e);if(t!==void 0)return t;let n=2166136261;for(let r of e){for(let a=0;a<r.length;a++)n=Math.imul(n^r.charCodeAt(a),16777619);n=Math.imul(n^44,16777619)}let o=`${e.length}:${(n>>>0).toString(36)}`;return na.set(e,o),o}var St=re(Oe(),1);function ho(e,t,n){let o=e.aggregate?[...e.aggregate.memberIds]:[e.id];return n?o.every(a=>t.includes(a))?t.filter(a=>!o.includes(a)):[...t,...o.filter(a=>!t.includes(a))]:o}function da(){let[e,t]=(0,St.useState)(16);return(0,St.useEffect)(()=>{if(typeof window>"u")return;let n=document.documentElement,o=()=>{let a=parseFloat(getComputedStyle(n).fontSize);Number.isFinite(a)&&t(i=>Math.abs(i-a)<.5?i:a)};o();let r=new MutationObserver(o);return r.observe(n,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",o),()=>{r.disconnect(),window.removeEventListener("resize",o)}},[]),e}function la(e){let[t,n]=(0,St.useState)(null);return(0,St.useLayoutEffect)(()=>{let o=e.current?.getBoundingClientRect();!o||o.width===0||o.height===0||n(r=>r??{width:Math.round(o.width),height:Math.round(o.height)})},[e]),(0,St.useEffect)(()=>{let o=e.current;if(!o||typeof ResizeObserver>"u")return;let r=l=>{!l||l.width===0||l.height===0||n(u=>{let d={width:Math.round(l.width),height:Math.round(l.height)};return u&&u.width===d.width&&u.height===d.height?u:d})},a=new ResizeObserver(l=>r(l[0]?.contentRect)),i=()=>r(o.getBoundingClientRect());return a.observe(o),addEventListener("resize",i),()=>{a.disconnect(),removeEventListener("resize",i)}},[e]),t}function fo(e,t){if(t==="dark")return`0 ${(10*e).toFixed(1)}px ${(34*e).toFixed(1)}px rgba(0,0,0,${(e+.12).toFixed(2)})`;let n=`0 ${(1+2*e).toFixed(1)}px ${(2+5*e).toFixed(1)}px rgba(20,30,32,${(.03+.06*e).toFixed(3)})`,o=`0 ${(6+26*e).toFixed(1)}px ${(18+60*e).toFixed(1)}px -${(10+10*e).toFixed(1)}px rgba(20,30,32,${(.1+.3*e).toFixed(3)})`;return`${n}, ${o}`}function ca(e){return`matrix3d(${e.join(",")})`}var ue=re(Oe(),1);var mo=(e,t)=>t.some(n=>e.x>n.x&&e.x<n.x+n.width&&e.y>n.y&&e.y<n.y+n.height);function po(e,t){let n=[],o=[];for(let a=0;a<e.length-1;a++){let i=e[a],l=e[a+1],u=!mo(i,t);u&&o.length===0&&o.push(i);for(let d=1;d<=48;d++){let s=d/48,c={x:i.x+(l.x-i.x)*s,y:i.y+(l.y-i.y)*s},h=!mo(c,t);if(h===u)continue;let p=(d-1)/48,x=s;for(let v=0;v<10;v++){let k=(p+x)/2,w={x:i.x+(l.x-i.x)*k,y:i.y+(l.y-i.y)*k};!mo(w,t)===u?p=k:x=k}let f=(p+x)/2,y={x:i.x+(l.x-i.x)*f,y:i.y+(l.y-i.y)*f};h?o=[y]:(o.push(y),o.length>=2&&n.push(o),o=[]),u=h}u&&o.push(l)}return o.length>=2&&n.push(o),n}function An(e,t){let n=Math.abs(t.x-e.x);if(Math.abs(t.y-e.y)>n){if(n<2)return[e,t];let a=(e.y+t.y)/2;return[e,{x:e.x,y:a},{x:t.x,y:a},t]}let r=(e.x+t.x)/2;return Math.abs(t.x-e.x)<2?[e,t]:[e,{x:r,y:e.y},{x:r,y:t.y},t]}var Xe=e=>Math.round(e*100)/100,Mt=e=>e.map(t=>t.map((n,o)=>`${o===0?"M":"L"} ${Xe(n.x)} ${Xe(n.y)}`).join(" ")).join(" ");function yo(e,t){if(e.length<3)return Mt([e]);let n=[`M ${Xe(e[0].x)} ${Xe(e[0].y)}`];for(let r=1;r<e.length-1;r++){let a=e[r-1],i=e[r],l=e[r+1],u=Math.hypot(i.x-a.x,i.y-a.y),d=Math.hypot(l.x-i.x,l.y-i.y),s=Math.min(t,u/2,d/2),c={x:i.x+(a.x-i.x)/(u||1)*s,y:i.y+(a.y-i.y)/(u||1)*s},h={x:i.x+(l.x-i.x)/(d||1)*s,y:i.y+(l.y-i.y)/(d||1)*s};n.push(`L ${Xe(c.x)} ${Xe(c.y)} Q ${Xe(i.x)} ${Xe(i.y)} ${Xe(h.x)} ${Xe(h.y)}`)}let o=e[e.length-1];return n.push(`L ${Xe(o.x)} ${Xe(o.y)}`),n.join(" ")}function ua(e,t){return t==="orthogonal"?Mt([e]):yo(e,10)}function ha(e,t,n){if(e==="orthogonal"){let l=An(t.p0,t.p1),u=l.slice(1).map((c,h)=>Math.hypot(c.x-l[h].x,c.y-l[h].y)),d=u.reduce((c,h)=>c+h,0)||1,s=n*d;for(let c=0;c<u.length;c++){let h=u[c];if(s<=h||c===u.length-1){let p=h===0?0:Math.min(1,s/h),x=l[c],f=l[c+1];return{x:x.x+(f.x-x.x)*p,y:x.y+(f.y-x.y)*p}}s-=h}return t.p1}let o=e==="straight"?{x:(t.p0.x+t.p1.x)/2,y:(t.p0.y+t.p1.y)/2}:t.c,r=(1-n)*(1-n),a=2*(1-n)*n,i=n*n;return{x:r*t.p0.x+a*o.x+i*t.p1.x,y:r*t.p0.y+a*o.y+i*t.p1.y}}function dr(e,t){return e!=="straight"?t:{...t,c:{x:(t.p0.x+t.p1.x)/2,y:(t.p0.y+t.p1.y)/2}}}function fa(e,t){let n=t.x-e.x,o=t.y-e.y,r=(n/2+o)/2,a=(o-n/2)/2;if(Math.abs(r)<1||Math.abs(a)<1)return[e,t];let i={x:e.x+2*r,y:e.y+r};return[e,i,t]}function ma(e){let t=[...e].sort((o,r)=>o.y-r.y||o.x-r.x),n=[];for(let o of t){let r=n.find(a=>o.y<a.bottom+3&&o.y+o.height>a.top-3);r?(r.boxes.push(o),r.top=Math.min(r.top,o.y),r.bottom=Math.max(r.bottom,o.y+o.height)):n.push({top:o.y,bottom:o.y+o.height,boxes:[o]})}for(let o of n)o.boxes.sort((r,a)=>r.x-a.x);return n.sort((o,r)=>o.top-r.top)}var Ln=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,wo=(e,t)=>e.findIndex(n=>n.boxes.some(o=>Ln(o,t)));function pa(e,t,n){return t<0?e[0].top-12*2:n>=e.length?e[e.length-1].bottom+12*2:(e[t].bottom+e[n].top)/2}function bo(e,t){let n=[{from:-1/0,to:1/0}];for(let a of e){let i=[],l=-1/0;for(let d of a.boxes)i.push({from:l,to:d.x-12}),l=Math.max(l,d.x+d.width+12);i.push({from:l,to:1/0});let u=[];for(let d of n)for(let s of i){let c=Math.max(d.from,s.from),h=Math.min(d.to,s.to);h-c>=0&&u.push({from:c,to:h})}n=u}let o=t,r=1/0;for(let a of n){let i=Math.min(Math.max(t,a.from),a.to),l=a.from===-1/0||a.to===1/0,u=Math.abs(i-t)+(l?60:0);u<r&&(r=u,o=i)}return o}var tt=e=>({x:e.x,y:-(e.y+e.height),width:e.width,height:e.height}),lr=e=>e.map(t=>({x:t.x,y:-t.y}));function xo(e){let t=(o,r)=>Math.abs(o-r)<.5,n=e.filter((o,r)=>r===0||!(t(o.x,e[r-1].x)&&t(o.y,e[r-1].y)));return n.filter((o,r)=>{let a=n[r-1],i=n[r+1];return!a||!i||!(t(a.x,o.x)&&t(o.x,i.x)||t(a.y,o.y)&&t(o.y,i.y))})}function vo(e,t,n){let o=e.boxes.filter(d=>!Ln(d,t)&&d.y+d.height<=t.y+1&&d.x<t.x+t.width&&d.x+d.width>t.x),r=[{from:t.x+6,to:t.x+t.width-6}];for(let d of o)r=r.flatMap(s=>[{from:s.from,to:Math.min(s.to,d.x-12/2)},{from:Math.max(s.from,d.x+d.width+12/2),to:s.to}]).filter(s=>s.to>=s.from);let a=null;for(let d of r){let s=Math.min(Math.max(n,d.from),d.to);(a===null||Math.abs(s-n)<Math.abs(a-n))&&(a=s)}if(a!==null)return{x:a,tail:[{x:a,y:t.y}]};let i=n<t.x+t.width/2,l=bo([e],i?t.x-12:t.x+t.width+12),u=t.y+t.height/2;return{x:l,tail:[{x:l,y:u},{x:l<t.x?t.x:t.x+t.width,y:u}]}}function go(e,t,n){let o=vo({top:-e.bottom,bottom:-e.top,boxes:e.boxes.map(tt)},tt(t),n);return{x:o.x,head:lr(o.tail).reverse()}}function ya(e,t,n,o){let r=t;for(;r>o&&!e[r-1].boxes.some(a=>n>a.x-12/2&&n<a.x+a.width+12/2);)r--;return r}var ga=(e,t)=>(e%3-1)*Math.max(0,Math.min(4,t/2-3));function wa(e,t,n,o,r,a,i,l){let u=f=>f<0?e[0].top-n:e[f+1].top-e[f].bottom,d=f=>(f<0?(n+e[0].top)/2:pa(e,f,f+1))+ga(l,u(f)),s=vo(e[a],r,i),c=ya(e,a,s.x,t+1),h=d(t);if(c===t+1)return xo([...o.head,{x:o.x,y:h},{x:s.x,y:h},...s.tail]);let p=bo(e.slice(t+1,c),s.x),x=d(c-1);return xo([...o.head,{x:o.x,y:h},{x:p,y:h},{x:p,y:x},{x:s.x,y:x},...s.tail])}function sn(e,t,n,o=0){let r=ma(n.some(s=>Ln(s,e))&&n.some(s=>Ln(s,t))?n:[...n,e,t]),a=wo(r,e),i=wo(r,t),l=e.x+e.width/2,u=t.x+t.width/2;if(a===i){if(!(a<r.length-1||r.length===1))return lr(sn(tt(e),tt(t),n.map(tt),o));let c=pa(r,a,a+1)+ga(o,a<r.length-1?r[a+1].top-r[a].bottom:2*12),h=go(r[a],e,u),p=go(r[a],t,l);return xo([...h.head,{x:h.x,y:c},{x:p.x,y:c},...[...p.head].reverse()])}if(i<a)return lr(sn(tt(e),tt(t),n.map(tt),o));let d=go(r[a],e,u);return wa(r,a,r[a].bottom,d,t,i,l,o)}function ko(e,t,n,o=0){if(t.y+t.height<=e.y){let p=ko(tt(e),tt(t),n.map(tt),o);return p?lr(p):null}let r=e.y+e.height;if(t.y<r)return null;let a=ma([...n.filter(p=>p.y>=r&&!Ln(p,t)),t]),i=wo(a,t),l=t.x+t.width/2,u=vo(a[i],t,l),d=ya(a,i,u.x,0),s=d===0?u.x:bo(a.slice(0,d),u.x),c=Math.min(12,e.width/2),h=Math.min(Math.max(s,e.x+c),e.x+e.width-c);return wa(a,-1,r,{x:h,head:[{x:h,y:r}]},t,i,l,o)}function xa(e,t=16){let n=new Map;for(let r of e){let a=r.a<r.b?`${r.a}\0${r.b}`:`${r.b}\0${r.a}`,i=n.get(a);i?i.push(r.key):n.set(a,[r.key])}let o=new Map;for(let r of n.values())r.forEach((a,i)=>o.set(a,(i-(r.length-1)/2)*t));return o}var _e=re(Se(),1);function Mo(e,t,n,o){let r=[];for(let a of e.querySelectorAll("[data-graview-relation] > span")){let i=a.getBoundingClientRect();if(i.width<=0||i.height<=0)continue;let l=i.top-t.top,u=a.parentElement?.getAttribute("data-graview-relation"),d=1/0;for(let s of n){if(Math.round(s.plane)!==1||!s.via||`${s.via.edgeKind}|${s.via.direction}`!==u)continue;let c=o(s.id);c&&c.y>=l+i.height-1&&(d=Math.min(d,c.y))}r.push({x:i.left-t.left,y:l,width:i.width,height:d-l<=i.height*4?d-l:i.height})}return r}function ur(e,t){let n=Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x),o=Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y);if(n>0&&o>0)return null;let r=n>.5*Math.min(e.width,t.width),a=!r&&o>.5*Math.min(e.height,t.height);if(r){let x={x:e.x+e.width,y:e.y+e.height/2},f={x:t.x+t.width,y:t.y+t.height/2};return{from:x,to:f,control:{x:Math.max(x.x,f.x)+18,y:(x.y+f.y)/2},mode:"stacked"}}if(a){let x={x:e.x+e.width/2,y:e.y},f={x:t.x+t.width/2,y:t.y};return{from:x,to:f,control:{x:(x.x+f.x)/2,y:Math.min(x.y,f.y)-18},mode:"abreast"}}let i={x:t.x+t.width/2,y:t.y+t.height/2},l={x:e.x+e.width/2,y:e.y+e.height/2},u=cr(e,i),d=cr(t,l),s=Math.hypot(d.x-u.x,d.y-u.y);if(s<8)return null;let c=Math.min(36,s*.12),h=-(d.y-u.y)/s,p=(d.x-u.x)/s;return{from:u,to:d,control:{x:(u.x+d.x)/2+h*c,y:(u.y+d.y)/2+p*c},mode:"direct"}}function cr(e,t){let n=e.x+e.width/2,o=e.y+e.height/2,r=t.x-n,a=t.y-o;if(r===0&&a===0)return{x:n,y:o};let i=r===0?1/0:e.width/2/Math.abs(r),l=a===0?1/0:e.height/2/Math.abs(a),u=Math.min(i,l),d=Math.max(0,u*.98);return{x:n+r*d,y:o+a*d}}function Qs(e,t,n){let o=t.get(e.from),r=t.get(e.to);if(!o||!r)return!1;if(n)return!0;let a=Math.round(o.plane)===1||Math.round(r.plane)===1,i=l=>!!l.aggregate&&Math.round(l.plane)===2;return a&&!i(o)&&!i(r)}var va=e=>({clips:new Map,members:new Map,marks:new Map,...e?{owed:e}:{}});function ka(e,t){let n=va();for(let[o,r]of t){let a=e.querySelector(`[data-graview-view="${CSS.escape(o)}"]`);if(a!==null){for(let i of r)if(dn(e,a,i,n).length>0)return!0}}return!1}function Sa(e,t){let n=t.marks.get(e);if(n)return n;n=new Map;for(let o of e.querySelectorAll("[data-graview-pick], [data-graview-slot]"))for(let r of new Set([o.getAttribute("data-graview-pick"),o.getAttribute("data-graview-slot")])){if(r===null)continue;let a=n.get(r);a?a.push(o):n.set(r,[o])}return t.marks.set(e,n),n}function Zs(e,t){let n=t.clips.get(e);if(n===void 0){let o=getComputedStyle(e);n=o.overflow!=="visible"||o.overflowX!=="visible"||o.overflowY!=="visible"?e.getBoundingClientRect():null,t.clips.set(e,n)}return n}function Js(e,t,n){let o=e.parentElement;for(;o!==null;){let r=Zs(o,n);if(r&&!(t.right>r.left+1&&t.left<r.right-1&&t.bottom>r.top+1&&t.top<r.bottom-1))return!1;if(o.hasAttribute("data-graview-view"))break;o=o.parentElement}return!0}function dn(e,t,n,o){if(!e||!t||typeof document>"u")return[];let r=o.members.get(t);r||o.members.set(t,r=new Map);let a=r.get(n);if(a)return a;let i=e.getBoundingClientRect(),l=[];for(let d of Sa(t,o).get(n)??[]){if(d.closest("[data-graview-offstage]"))continue;let s=d.getBoundingClientRect();s.width<=2||s.height<=2||Js(d,s,o)&&l.push({x:s.left-i.left,y:s.top-i.top,width:s.width,height:s.height})}l.sort((d,s)=>d.width*d.height-s.width*s.height),r.set(n,l);let u=t.getAttribute("data-graview-view");return l.length===0&&o.owed&&u!==null&&o.owed.set(u,(o.owed.get(u)??new Set).add(n)),l}function hr(e,t,n,o,r,a){let i=new Map(e.map(w=>[w.id,w])),l=va(a),u=new Map,d=w=>{if(!n||typeof document>"u")return null;let O=u.get(w);return O===void 0&&(O=n.querySelector(`[data-graview-view="${CSS.escape(w)}"]`),u.set(w,O)),O},s=new Map;for(let w of e){let O=je(n,w.id,o)??at(w,r);O&&s.set(w.id,O)}let c=new Map;if(n&&typeof document<"u"){let w=n.getBoundingClientRect();for(let O of n.querySelectorAll("[data-graview-pick], [data-graview-slot]")){if(O.closest("[data-graview-offstage]"))continue;let G=O.getAttribute("data-graview-pick")??O.getAttribute("data-graview-slot");if(G===null)continue;let $=O.getBoundingClientRect();if($.width<=2||$.height<=2||$.width>w.width*.6&&$.height>w.height*.6)continue;let X=c.get(G),T={x:$.left-w.left,y:$.top-w.top,width:$.width,height:$.height};X?X.push(T):c.set(G,[T])}}let h=(w,O)=>{let G=[];for(let[$,X]of s)$!==w&&$!==O&&G.push(X);for(let[$,X]of c)$!==w&&$!==O&&G.push(...X);return G},p=w=>Math.round(i.get(w)?.plane??-1)===1,x=[];for(let w of e){let O=s.get(w.id);O&&Math.round(w.plane)===1&&x.push(O)}if(!o&&n&&typeof document<"u"){let w=n.getBoundingClientRect();x.push(...Mo(n,w,e,O=>s.get(O)))}let f=(w,O)=>!o&&p(w)&&p(O)?x:void 0,y=o?void 0:e.find(w=>Math.round(w.plane)===0&&!w.aggregate),v=(w,O,G,$)=>{if(!y)return{};let X=w.to===y.id&&G===y.id;if(!X&&!(w.from===y.id&&O===y.id))return{};let T=X?w.from:w.to,g=s.get(y.id),R=s.get(T);if(T===y.id||!p(T)||!g||!R)return{};let P=d(y.id),A=te=>P!==null&&Sa(P,l).get(te)?.some(I=>!I.closest("[data-graview-offstage]"))===!0,j=$.map(te=>te.from===y.id?te.to:te.from),K=j.length>0&&j.every(A);return{band:x,tie:{card:g,chip:R,cardIsTo:X,toward:T,holds:i.get(T)?.aggregate?.memberIds??[T]},...K?{said:j}:{}}},k=[];for(let w of t){if(!Qs(w,i,o))continue;let O=s.get(w.from),G=s.get(w.to);if(!O||!G)continue;let $=h(w.from,w.to),X=w.edges,T=o&&X.some(P=>P.from!==w.from&&dn(n,d(w.from),P.from,l).length>0||P.to!==w.to&&dn(n,d(w.to),P.to,l).length>0),g=f(w.from,w.to);if(o&&!T||w.loop||X.length===0){k.push({key:w.id,connector:w,edges:X,fromBox:O,toBox:G,fromAnchor:w.from,toAnchor:w.to,obstacles:$,hosts:[],...g?{band:g}:{},...v(w,w.from,w.to,X)});continue}let R=new Map;for(let P of X){let A=P.from===w.from?[]:dn(n,d(w.from),P.from,l),j=P.to===w.to?[]:dn(n,d(w.to),P.to,l),K=[w.from,w.to].find(S=>Math.round(i.get(S)?.plane??-1)===0);if(!o&&K!==void 0&&(K===w.from?P.from!==w.from:P.to!==w.to)&&dn(n,d(K),K===w.from?P.to:P.from,l).length>0)continue;let te=K!==void 0?i.get(K):void 0;if(!o&&te?.aggregate&&n&&(K===w.from?P.from!==w.from&&A.length===0:P.to!==w.to&&j.length===0))continue;let I=A.length>0?P.from:w.from,H=j.length>0?P.to:w.to,N=`${w.id}|${I}|${H}`,Q=R.get(N);if(Q){Q.edges.push(P);continue}let E=A.length>0?A:[O],F=j.length>0?j:[G],b=E[0],M=F[0],C=1/0;for(let S of E)for(let B of F){let L=Math.hypot(S.x+S.width/2-(B.x+B.width/2),S.y+S.height/2-(B.y+B.height/2));L<C&&(C=L,b=S,M=B)}R.set(N,{edges:[P],fromBox:b,toBox:M,fromAnchor:I,toAnchor:H})}for(let[P,A]of R)k.push({key:P,connector:w,obstacles:$,hosts:[...A.fromAnchor!==w.from?[O]:[],...A.toAnchor!==w.to?[G]:[]],...g?{band:g}:{},...A,...v(w,A.fromAnchor,A.toAnchor,A.edges)})}return k}function Ma(e,t,n){let o=new Map(t.map(i=>[i.id,i])),r=new Map;for(let i of n){let l=o.get(i.id);l&&(l.x!==i.x||l.y!==i.y)&&r.set(i.id,{x:i.x-l.x,y:i.y-l.y})}if(r.size===0)return[...e];let a=(i,l)=>{let u=r.get(l);return u?{...i,x:i.x+u.x,y:i.y+u.y}:i};return e.map(i=>{let{from:l,to:u}=i.connector;if(!r.has(l)&&!r.has(u))return i;let d=a(i.fromBox,l),s=a(i.toBox,u),c=i.tie&&{...i.tie,card:a(i.tie.card,i.tie.cardIsTo?u:l),chip:a(i.tie.chip,i.tie.toward)},h=p=>p===i.fromBox?d:p===i.toBox?s:i.tie&&p===i.tie.chip?c.chip:p;return{...i,fromBox:d,toBox:s,...c?{tie:c}:{},...i.band?{band:i.band.map(h)}:{}}})}function So(e,t){let n=(1-t)*(1-t),o=2*(1-t)*t,r=t*t;return{x:n*e.p0.x+o*e.c.x+r*e.p1.x,y:n*e.p0.y+o*e.c.y+r*e.p1.y}}function ba(e,t,n){let o=(1-t)*(1-n),r=(1-t)*n+t*(1-n),a=t*n;return{p0:So(e,t),c:{x:o*e.p0.x+r*e.c.x+a*e.p1.x,y:o*e.p0.y+r*e.c.y+a*e.p1.y},p1:So(e,n)}}function Pn(e,t){let n=d=>t.some(s=>d.x>s.x&&d.x<s.x+s.width&&d.y>s.y&&d.y<s.y+s.height),o=d=>!n(So(e,d)),a=(d,s,c)=>{for(let h=0;h<10;h++){let p=(d+s)/2;o(p)===c?d=p:s=p}return(d+s)/2},i=[],l=null,u=o(0);u&&(l=0);for(let d=1;d<=64;d++){let s=d/64,c=o(s);if(c===u)continue;let h=a((d-1)/64,s,u);c?l=h:l!==null&&(h-l>.001&&i.push(ba(e,l,h)),l=null),u=c}return l!==null&&1-l>.001&&i.push(ba(e,l,1)),i}function Ea({strands:e,result:t,scheme:n,overview:o,selection:r,emphasis:a,stageRef:i,liveOf:l,onPickEdge:u,provisional:d,pointed:s=null}){let c=Bt(),h=new Set(t.nodes.filter(g=>g.plot!==void 0&&Math.round(g.plane)===2).map(g=>g.id)),p=g=>o&&t.city!==void 0&&h.has(g.from)&&h.has(g.to),x=io(t.nodes,r),f=g=>x.size===0||x.has(g.from)||x.has(g.to),y=new Set(r.filter(g=>Pt(g)===null)),v=o?t.nodes.find(g=>Math.round(g.plane)===0):void 0,k=v?je(i.current,v.id,!1)??at(v,n):null;if(e.length===0)return null;let w=g=>g.edges.some(R=>y.has(R.from)||y.has(R.to)),O=y.size>0&&e.some(w),G=new Map;for(let g of e)G.set(g.connector.id,(G.get(g.connector.id)??0)+1);let $=xa(e.map(g=>({key:g.key,a:g.fromAnchor,b:g.toAnchor}))),X=new Set,T=e.map((g,R)=>{let{connector:P,fromBox:A,toBox:j}=g,K={x:A.x+A.width/2,y:A.y+A.height/2},te={x:j.x+j.width/2,y:j.y+j.height/2},I=o?cr(A,te):K,H=o?cr(j,K):te,N=P.loop===!0,{connector:Q,style:E}=tn(c,P.kind);if(!Q.visible)return null;let F=N?Math.max(22,Math.min(A.width,A.height)*.3):0,b=N?{x:K.x+A.width*.22,y:K.y-A.height/2-F+7}:I,M=(I.x+H.x)/2,C=(I.y+H.y)/2,S=Math.hypot(H.x-I.x,H.y-I.y),B=Math.min(o?40:90,S*(o?.09:.16)),L=0,W=0;if(S>0){L=-(H.y-I.y)/S,W=(H.x-I.x)/S;let ae=M-t.width/2,we=C-t.height/2;if(k&&!N){let ot=k.x+k.width/2,At=k.y+k.height/2;ae=M-ot,we=C-At;let Ge=Math.abs(L*(ot-I.x)+W*(At-I.y)),jt=Math.hypot(k.width/2,k.height/2)*.85+24,Vt=((ot-I.x)*(H.x-I.x)+(At-I.y)*(H.y-I.y))/(S*S);Ge<jt&&Vt>.1&&Vt<.9&&(B=Math.min(180,Math.max(B,(jt-Ge)*2)))}L*ae+W*we<0&&(L=-L,W=-W)}B+=2*($.get(g.key)??0);let Z=dr(Q.route,{p0:I,c:{x:M+L*B,y:C+W*B},p1:H}),_=p(P),z=Q.route==="orthogonal"||_,ee=(ae,we)=>_?fa(ae,we):An(ae,we),q=!N&&g.tie?ko(g.tie.card,g.tie.chip,g.band??[],R):null,he=q?g.tie.cardIsTo?q.reverse():q:!N&&g.band?sn(A,j,g.band,R):null,ce=N||z||he?[]:Pn(Z,[A,j,...g.obstacles]),He=he?[he]:!N&&z?po(ee(I,H),[A,j,...g.obstacles]):[];if(!N&&ce.length===0&&He.length===0)return null;let Me=He[He.length-1],Ae=z||he?He[0]?.[0]:ce[0]?.p0,De=z||he?Me?.[Me.length-1]:ce[ce.length-1]?.p1,Te=ae=>ae.map(we=>`M ${we.p0.x} ${we.p0.y} Q ${we.c.x} ${we.c.y} ${we.p1.x} ${we.p1.y}`).join(" "),ie=`M ${b.x-F} ${b.y} A ${F} ${F} 0 1 1 ${b.x+F} ${b.y} A ${F} ${F} 0 0 1 ${b.x-F} ${b.y}`,xe=N?ie:he?ua(he,Q.route):z?Mt(He):Te(ce),qe=ae=>({x:ae.x-8,y:ae.y-8,width:ae.width+16,height:ae.height+16}),Et=[A,j,...g.hosts,...g.obstacles].map(qe),ne=N?ie:he?Mt(He):z?Mt(po(ee(I,H),Et)):Te(Pn(Z,Et)),rt=g.edges.length===1?g.edges[0]:null,$e=rt?Ht(P.kind,rt.from,rt.to):null,Rt=$e!==null&&r.includes($e),Ve=$e!==null?d?.get($e):void 0,Ot=g.edges.some(ae=>y.has(ae.from)||y.has(ae.to)),Ke=g.tie?.toward??"",Qe=g.tie!==void 0&&(s!==null&&(Ke===s||g.tie.holds.includes(s)||g.said?.includes(s)===!0)||y.has(Ke))&&!X.has(Ke);Qe&&X.add(Ke);let Le=!o&&y.size>0&&Ot||Qe,Ie=a!==null&&P.kind===a||Rt,mt=l?.(P)!==void 0;if(o&&!mt||!o&&!mt&&y.size>0&&!Ot&&!Ie&&!Qe||g.said!==void 0&&!Qe&&!g.said.some(ae=>y.has(ae))&&!Ie)return null;let Ue=o?ao({emphasized:a!==null,stressed:Ie,anyChosen:O,mine:Ot,touches:f(P),siblings:G.get(P.id)??1}):so({edgeChosen:Rt,lit:Le,anyLit:O||a!==null,own:E.opacity,kit:c.emphasis}),pt=Le&&Ae&&De?g.tie?g.tie.cardIsTo?Ae:De:g.edges.some(ae=>y.has(ae.from))?De:Ae:null,cn=(0,_e.jsxs)("g",{children:[(0,_e.jsx)("path",{"data-graview-connector":P.kind,"data-graview-edges":g.edges.length,"data-graview-from":g.fromAnchor,"data-graview-to":g.toAnchor,"data-graview-lit":Le||void 0,"data-graview-activity":l?.(P)?.manner,"data-graview-provisional":Ve!==void 0||void 0,opacity:Ue*(P.opacity??1)*(Ve!==void 0?bn:1),d:xe,fill:"none",stroke:Zt(E),strokeWidth:(Le?Math.max(1.6,Br(E,o)):Br(E,o))+(Ie?.6:0),strokeDasharray:Ve!==void 0?xn:Kn[E.pattern],strokeLinecap:"round"}),pt?(0,_e.jsx)("circle",{cx:pt.x,cy:pt.y,r:2.6,fill:Zt(E),opacity:Ue}):null,N&&o?(0,_e.jsx)("text",{x:b.x,y:b.y-F-5,textAnchor:"middle",opacity:Ue,style:{font:"9px var(--graview-font-body, system-ui)",letterSpacing:"0.09em",textTransform:"uppercase",fill:"var(--graview-ink-faint)"},children:jn(P.kind).toLowerCase()}):null]},g.key),dt=null;return $e&&u&&!N&&Ue>=.2&&(dt=(0,_e.jsx)("path",{"data-graview-edge":$e,className:"graview-edge-hit",d:ne,fill:"none",pathLength:1,strokeDasharray:"0.86",strokeDashoffset:-.07,stroke:"transparent",strokeWidth:14,style:{pointerEvents:"stroke",cursor:"pointer"},onClick:ae=>{ae.stopPropagation(),u($e,{x:ae.clientX,y:ae.clientY})},onContextMenu:ae=>{ae.preventDefault(),ae.stopPropagation(),u($e,{x:ae.clientX,y:ae.clientY})},children:Ve!==void 0?(0,_e.jsx)("title",{children:Ve}):null},`hit:${g.key}`)),{key:g.key,line:cn,hit:dt}});return(0,_e.jsxs)(_e.Fragment,{children:[(0,_e.jsx)("svg",{"aria-hidden":"true","data-graview-world":"",width:t.width,height:t.height,style:{position:"absolute",left:0,top:0,pointerEvents:"none",zIndex:Fe.ties},children:T.map(g=>g?.line)}),T.some(g=>g?.hit)?(0,_e.jsx)("svg",{"data-graview-world":"",width:t.width,height:t.height,style:{position:"absolute",left:0,top:0,pointerEvents:"none",zIndex:Fe.tieLabels},children:T.map(g=>g?.hit)}):null]})}function Ra(e,t,n){if(t.size===0||typeof MutationObserver>"u")return()=>{};let o=0,r=()=>{o=0,ka(e,t)&&n()},a=()=>{o===0&&(o=requestAnimationFrame(r))},i=({target:u})=>{for(let d=u instanceof Element?u:u.parentElement;d&&d!==e;d=d.parentElement)if(t.has(d.getAttribute("data-graview-view")??""))return!0;return!1},l=new MutationObserver(u=>{u.some(i)&&a()});return l.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-graview-pick","data-graview-slot","data-graview-offstage"]}),a(),()=>{l.disconnect(),cancelAnimationFrame(o)}}function fr(e){return e<640?{left:8,right:56}:{left:8,right:Math.round(Math.min(128,e*.107))}}function ed(e){return Math.min(260,16+e.length*6.6)}var Cn=(e,t)=>Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));function Aa(e,t,n){let o=new Map;for(let i of e){let l=o.get(i.said);l?l.push(i):o.set(i.said,[i])}let r=[],a=[];for(let[i,l]of o){let u=l[0],d=ed(i),{end:s,far:c}=u,h=y=>Math.max(0,Math.min(n.width-d,y)),p=[{x:h(s.x-d/2),y:c.y-22-6,width:d,height:22},{x:h(s.x-d/2),y:c.y+c.height+6,width:d,height:22},{x:c.x+c.width+6,y:s.y-22/2,width:d,height:22},{x:c.x-d-6,y:s.y-22/2,width:d,height:22}],x=p[0],f=1/0;for(let y of p){let k=y.x<0||y.y<0||y.x+y.width>n.width||y.y+y.height>n.height?1e9:0;for(let w of t)k+=Cn(y,w.title)*100+Cn(y,w.box);for(let w of r)k+=Cn(y,w)*100;if(k<f&&(f=k,x=y),k===0)break}r.push(x),a.push({said:i,keys:l.map(y=>y.key),...x})}return a}var Oa=(e,t,n=2)=>t.x>=e.x-n&&t.x<=e.x+e.width+n&&t.y>=e.y-n&&t.y<=e.y+e.height+n;function Eo(e,t){let n=new Set;for(let o of e)(t.edgeId&&o.edgeId===t.edgeId||t.point&&(Oa(o.fromBox,t.point)||Oa(o.toBox,t.point))||t.ids?.some(r=>o.ids.includes(r))||t.box&&(Cn(t.box,o.fromBox)>0||Cn(t.box,o.toBox)>0))&&n.add(o.key);return n}var ge=re(Se(),1);function Ca(e){let t=ei(e);return t.length>0?new Map(t.map(n=>[Ht(n.edge.kind,n.edge.from,n.edge.to),Jo(n)])):void 0}function Ta({frame:e,width:t,height:n,scheme:o,overview:r,selection:a,emphasis:i,stageRef:l,store:u,graphNodes:d,onPickEdge:s,liveOf:c,holding:h=!1,provisional:p,focusId:x=null,beside:f=!1}){let[y,v]=(0,ue.useState)(0),[k,w]=(0,ue.useState)(null),O=e.t<1,G=(0,ue.useRef)(""),$=(0,ue.useRef)([]),X=(0,ue.useRef)(new Map),T=()=>[...l.current?.querySelectorAll("[data-graview-relation] > span")??[]].map(I=>{let H=I.getBoundingClientRect();return`${Math.round(H.left)},${Math.round(H.top)},${Math.round(H.width)}`}).join(" ");(0,ue.useLayoutEffect)(()=>{if(O||h)return;G.current=T(),$.current=e.nodes;let I=new Map;w(hr(e.nodes,e.connectors,l.current,r,o,I)),X.current=I},[e,O,h,a,r,d,o,y,l]),(0,ue.useEffect)(()=>{let I=l.current;if(!(O||h||I===null))return Ra(I,X.current,()=>v(H=>H+1))},[k,O,h,l]),(0,ue.useEffect)(()=>{if(O||h||r||typeof requestAnimationFrame>"u")return;let I=requestAnimationFrame(()=>{T()!==G.current&&v(H=>H+1)});return()=>cancelAnimationFrame(I)},[k]);let g=e.nodes.map(I=>I.id).join(`
4
+ `);(0,ue.useLayoutEffect)(()=>{let I=l.current;if(I===null||typeof window>"u")return;let H=0,N=()=>{H===0&&(H=requestAnimationFrame(()=>{H=0,v(E=>E+1)}))};I.addEventListener("scroll",N,{capture:!0,passive:!0}),window.addEventListener("resize",N,{passive:!0});let Q=typeof ResizeObserver>"u"?null:new ResizeObserver(N);if(Q){Q.observe(I);for(let E of I.querySelectorAll("[data-graview-view]"))Q.observe(E)}return()=>{H!==0&&cancelAnimationFrame(H),I.removeEventListener("scroll",N,{capture:!0}),window.removeEventListener("resize",N),Q?.disconnect()}},[l,g]);let R=(0,ue.useRef)(new WeakMap);(0,ue.useEffect)(()=>{let I=l.current;if(O||h||I===null||typeof ResizeObserver>"u")return;let H=0,N=new ResizeObserver(Q=>{let E=!1;for(let{target:F,contentRect:b}of Q){let M=`${Math.round(b.width)}x${Math.round(b.height)}`;R.current.has(F)&&R.current.get(F)!==M&&(E=!0),R.current.set(F,M)}E&&H===0&&(H=requestAnimationFrame(()=>{H=0,v(F=>F+1)}))});for(let Q of I.querySelectorAll("[data-graview-view]")){let E=lo(Q);E!==Q&&N.observe(E)}return()=>{H!==0&&cancelAnimationFrame(H),N.disconnect()}},[k,O,h,l]);let[P,A]=(0,ue.useState)(null),j=(k??[]).some(I=>I.tie!==void 0);if((0,ue.useEffect)(()=>{let I=l.current;if(!j||I===null)return;let H=Q=>{let E=Q.target?.closest?.("[data-graview-pick], [data-graview-view]");A(E?.getAttribute("data-graview-pick")??E?.getAttribute("data-graview-view")??null)},N=()=>A(null);return I.addEventListener("pointerover",H),I.addEventListener("focusin",H),I.addEventListener("pointerleave",N),I.addEventListener("focusout",N),()=>{I.removeEventListener("pointerover",H),I.removeEventListener("focusin",H),I.removeEventListener("pointerleave",N),I.removeEventListener("focusout",N)}},[j,l]),O)return null;let K=(k&&h?Ma(k,$.current,e.nodes):k)??hr(e.nodes,e.connectors,null,r,o),te=new Set;for(let I of K){if(I.edges.length===1){let H=I.edges[0];te.add(`${I.connector.kind}|${H.from}|${H.to}`);continue}for(let H of I.edges)(I.connector.from===H.from||I.connector.to===H.to)&&te.add(`${I.connector.kind}|${H.from}|${H.to}`)}return(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)(Ea,{strands:K,result:e,scheme:o,overview:r,selection:a,emphasis:i,stageRef:l,onPickEdge:s,liveOf:c,pointed:P,...p?{provisional:p}:{}}),r&&kn(a,{overview:r,focusId:x,beside:f},I=>u.graph.getNode(I)?.kind).records.length>0?(0,ge.jsx)(ue.Suspense,{fallback:null,children:(0,ge.jsx)(nd,{frame:e,width:t,height:n,stageRef:l,tick:y,store:u,graphVersion:d,selection:a,view:{overview:r,focusId:x,beside:f},rulers:p?{...La,unsureOf:(I,H,N)=>p.get(Ht(I,H,N))}:La})}):null,r?null:(0,ge.jsx)(od,{...p?{provisional:p}:{},stageRef:l,nodes:e.nodes,scheme:o,selection:a,store:u,graphNodes:d,overview:r,width:t,height:n,onPickEdge:s,alreadyDrawn:te,tick:y})]})}var La={visibleRect:an,clipQuadratic:Pn,unsureDash:xn,unsureOpacity:bn},td=wn(Xt(()=>(__graviewPreload(import.meta.url,["./chunk.5C43AM3X.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.ULSN3ASK.js")))),nd=td.part((e,t)=>(0,ge.jsx)(e.RecordLinks,{...t}),{what:"The links",quiet:!0}),rd=44;function od({stageRef:e,nodes:t,scheme:n,selection:o,store:r,graphNodes:a,overview:i,width:l,height:u,onPickEdge:d,alreadyDrawn:s,tick:c,provisional:h}){let p=Bt(),x=(0,ue.useMemo)(()=>{if(o.length===0||o.length>4)return[];let g=new Set(o),R=[];for(let A of o){let j=Pt(A);j&&R.push({kind:j.kind,self:j.from,other:j.to})}for(let A of r.graph.allEdges()){let j=g.has(A.from)?A.from:g.has(A.to)?A.to:null;if(!j)continue;let K=j===A.from?A.to:A.from;g.has(K)||R.push({kind:A.kind,self:j,other:K})}if(R.length<=14)return R;let P=new Set(t.map(A=>A.id));return R.map((A,j)=>({tie:A,index:j,real:P.has(A.other)?0:1})).sort((A,j)=>A.real-j.real||A.index-j.index).slice(0,14).map(({tie:A})=>A)},[r,o,a,t]),f=()=>{if(x.length===0||typeof document>"u")return[];let g=e.current?.getBoundingClientRect();if(!g)return[];let R=[...e.current?.querySelectorAll("[data-graview-joins]")??[]].find(E=>{if(E.closest("[data-graview-offstage]"))return!1;try{let F=JSON.parse(E.getAttribute("data-graview-joins")??"[]");return F.length===o.length&&F.every(b=>o.includes(b))}catch{return!1}});if(R){let E=an(R,e.current);if(!E)return[];let F=[];for(let b of o){let M=t.find(L=>L.id===b);if(!M)continue;let C=je(e.current,M.id,i)??at(M,n),S=C?ur(E,C):null;if(!C||!S)continue;let B=[...r.graph.allEdges()].find(L=>L.from===b&&o.includes(L.to)||L.to===b&&o.includes(L.from));F.push({key:`join:${b}`,self:b,other:"",others:1,kind:B?.kind??"",endX:S.to.x,endY:S.to.y,...S,fromBox:E,toBox:C,proxy:!1,edgeId:B?Ht(B.kind,B.from,B.to):null})}return F}let P=(E,F)=>{let b=e.current?.querySelectorAll(`[data-graview-pick="${CSS.escape(E)}"], [data-graview-slot="${CSS.escape(E)}"]`),M=[];for(let C of b??[]){if(C.closest("[data-graview-offstage]")||F(C)||C.closest("[data-graview-mark]"))continue;let S=an(C,e.current);S&&M.push(S)}return M.sort((C,S)=>C.width*C.height-S.width*S.height)},A=E=>t.find(F=>F.id===E)??t.find(F=>F.aggregate?.memberIds.includes(E)),j=E=>`[data-graview-pick="${CSS.escape(E)}"], [data-graview-slot="${CSS.escape(E)}"]`,K=(E,F)=>{let b=e.current;if(!b)return!1;for(let M of b.querySelectorAll("[data-graview-view]")){let C=M.querySelector(j(E));if(C===null||C.closest("[data-graview-offstage]"))continue;let S=M.querySelector(j(F));if(S!==null&&!S.closest("[data-graview-offstage]"))return!0}return!1},te=[];if(!i&&e.current){for(let F of t){if(Math.round(F.plane)!==1)continue;let b=je(e.current,F.id,!1);b&&te.push(b)}let E=e.current;te.push(...Mo(E,g,t,F=>je(E,F,!1)))}let I=new Map,H=[];for(let E of x){if(K(E.self,E.other))continue;let F=A(E.self),b=F?e.current?.querySelector(`[data-graview-view="${CSS.escape(F.id)}"]`):null,M=!i&&F?.id===E.self&&Math.round(F.plane)===1?je(e.current,F.id,!1):null,C=M?[M]:P(E.self,()=>!1);if(!(C.length>0)&&F){let ie=je(e.current,F.id,!1)??at(F,n);ie&&C.push(ie)}let B=t.find(ie=>ie.id===E.other),L=[],W=!1;if(B){let ie=je(e.current,B.id,i)??at(B,n);ie&&L.push(ie)}else if(L.push(...P(E.other,ie=>b?b.contains(ie):!1)),L.length===0){let ie=A(E.other);if(ie&&(!F||ie.id!==F.id)){let xe=je(e.current,ie.id,i)??at(ie,n);xe&&(L.push(xe),W=!0)}}if(C.length===0||L.length===0||W&&i)continue;let Z=C[0],_=L[0],z=1/0;for(let ie of C)for(let xe of L){let qe=Math.hypot(ie.x+ie.width/2-(xe.x+xe.width/2),ie.y+ie.height/2-(xe.y+xe.height/2));qe<z&&(z=qe,Z=ie,_=xe)}if(s?.has(`${E.kind}|${E.self}|${E.other}`)||s?.has(`${E.kind}|${E.other}|${E.self}`))continue;let ee=`${E.kind}:${Math.round(Z.x)},${Math.round(Z.y)}:${Math.round(_.x)},${Math.round(_.y)}`,q=I.get(ee);if(q){q.others+=1;continue}let he=ur(Z,_);if(!he)continue;let{from:ce,control:He}=he,Me=M&&Z===M?sn(Z,_,te,H.length):void 0,Ae=Me?Me[Me.length-1]:he.to,De=[...r.graph.allEdges()].find(ie=>ie.kind===E.kind&&(ie.from===E.self&&ie.to===E.other||ie.from===E.other&&ie.to===E.self)),Te={key:`${E.kind}:${E.self}:${E.other}`,self:E.self,other:E.other,others:1,kind:E.kind,endX:Ae.x,endY:Ae.y,from:ce,to:Ae,control:He,fromBox:Z,toBox:_,...Me?{points:Me}:{},proxy:W,edgeId:De?Ht(De.kind,De.from,De.to):null};I.set(ee,Te),H.push(Te)}let N=i?void 0:t.find(E=>Math.round(E.plane)===0&&!E.aggregate),Q=E=>{let F=t.find(b=>b.id===E.other)??t.find(b=>b.aggregate?.memberIds.includes(E.other));return F!==void 0&&Math.round(F.plane)===1&&F.via?.edgeKind===E.kind};for(let E of H){if(N&&(E.self!==N.id||Q(E)))continue;let F=[...r.graph.allEdges()].find(L=>L.kind===E.kind&&(L.from===E.self&&L.to===E.other||L.from===E.other&&L.to===E.self)),b=r.graph.getNode(E.self),M=r.graph.getNode(E.other);if(!F||!b||!M)continue;let C=F.from===E.self?"out":"in",S=Zo(r.schema,C==="out"?b.kind:M.kind,E.kind,C),B=E.proxy?(C==="out"?r.graph.out(E.self,E.kind):r.graph.in(E.self,E.kind)).filter(L=>L.kind===M.kind).length:1;E.said=E.proxy?`${S}: ${Ut(r.schema,M.kind,Math.max(B,E.others))}`:`${S}: ${Kt(r.schema.tryDefinition(M.kind),M)}`}return H},[y,v]=(0,ue.useState)([]),[k,w]=(0,ue.useState)([]);(0,ue.useLayoutEffect)(()=>{let g=f();v(g),w(g.some(R=>R.said)?O(g):[])},[x,t,i,n,l,u,s,c,e]);let O=g=>{let R=e.current;if(!R)return[];let P=[];for(let A of R.querySelectorAll("[data-graview-view]")){let j=[...A.children].find(te=>!te.classList.contains("graview-kind-tag")),K=j?an(j,R):null;K&&P.push({box:K,title:{...K,height:Math.min(K.height,rd)}})}return Aa(g.flatMap(A=>A.said?[{key:A.key,said:A.said,end:{x:A.endX,y:A.endY},far:A.toBox}]:[]),P,{width:l,height:u})},[G,$]=(0,ue.useState)(()=>new Set),X=(0,ue.useRef)([]);X.current=y.map(g=>({key:g.key,fromBox:g.fromBox,toBox:g.toBox,ids:[g.self,g.other],edgeId:g.edgeId}));let T=k.length>0;return(0,ue.useEffect)(()=>{let g=e.current;if(!g||!T)return;let R=N=>$(Q=>Q.size===N.size&&[...N].every(E=>Q.has(E))?Q:N),P=0,A=null,j=()=>{if(P=0,!A)return;let N=g.getBoundingClientRect(),Q=A.target instanceof Element?A.target:null;R(Eo(X.current,{point:{x:A.clientX-N.left,y:A.clientY-N.top},edgeId:Q?.closest("[data-graview-edge]")?.getAttribute("data-graview-edge")??null}))},K=N=>{A=N,P||(P=requestAnimationFrame(j))},te=()=>{A=null,R(new Set)},I=N=>{let Q=N.target instanceof Element?N.target:null;if(!Q)return;let E=g.getBoundingClientRect(),F=Q.getBoundingClientRect(),b=Q.closest("[data-graview-pick]")?.getAttribute("data-graview-pick")??Q.closest("[data-graview-view]")?.getAttribute("data-graview-view");R(Eo(X.current,{...b?{ids:[b]}:{},box:{x:F.left-E.left,y:F.top-E.top,width:F.width,height:F.height}}))},H=N=>{N.relatedTarget instanceof Node&&g.contains(N.relatedTarget)||R(new Set)};return g.addEventListener("pointermove",K,{passive:!0}),g.addEventListener("pointerleave",te),g.addEventListener("focusin",I),g.addEventListener("focusout",H),()=>{P&&cancelAnimationFrame(P),g.removeEventListener("pointermove",K),g.removeEventListener("pointerleave",te),g.removeEventListener("focusin",I),g.removeEventListener("focusout",H)}},[e,T]),y.length===0?null:(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)("svg",{"aria-hidden":y.some(g=>g.edgeId)?void 0:!0,"data-graview-ties":y.length,"data-graview-world":"",width:l,height:u,style:{position:"absolute",left:0,top:0,pointerEvents:"none",zIndex:Fe.lines},children:y.map(g=>{let{connector:R,style:P}=tn(p,g.kind);if(!R.visible)return null;let A=g.edgeId?h?.get(g.edgeId):void 0,j={p0:g.from,c:g.control,p1:g.to},K=g.points?yo(g.points,10):R.route==="orthogonal"?Mt([An(g.from,g.to)]):(({p0:I,c:H,p1:N})=>`M ${I.x} ${I.y} Q ${H.x} ${H.y} ${N.x} ${N.y}`)(dr(R.route,j)),te=null;if(g.edgeId&&d&&!g.proxy){let I=(N,Q)=>Q.x>=N.x&&Q.x<=N.x+N.width&&Q.y>=N.y&&Q.y<=N.y+N.height,H=g.points?[...g.points]:[];for(let N=0;N<=(g.points?-1:40);N++){let Q=ha(R.route,j,N/40);I(g.fromBox,Q)||I(g.toBox,Q)||H.push(Q)}H.length>=2&&(te=(0,ge.jsx)("path",{"data-graview-edge":g.edgeId,className:"graview-edge-hit",d:`M ${H[0].x} ${H[0].y} ${H.slice(1).map(N=>`L ${N.x} ${N.y}`).join(" ")}`,fill:"none",pathLength:1,strokeDasharray:"0.86",strokeDashoffset:-.07,stroke:"transparent",strokeWidth:14,style:{pointerEvents:"stroke",cursor:"pointer"},onClick:N=>{N.stopPropagation(),d(g.edgeId,{x:N.clientX,y:N.clientY})},onContextMenu:N=>{N.preventDefault(),N.stopPropagation(),d(g.edgeId,{x:N.clientX,y:N.clientY})},children:A!==void 0?(0,ge.jsx)("title",{children:A}):null}))}return(0,ge.jsxs)("g",{opacity:(g.proxy?.32:.72)*(A!==void 0?bn:1),children:[(0,ge.jsx)("path",{"data-graview-tie":g.kind,"data-graview-tie-proxy":g.proxy||void 0,"data-graview-provisional":A!==void 0||void 0,d:K,fill:"none",stroke:Zt(P),strokeWidth:g.proxy?1.1:1.6,strokeDasharray:A!==void 0?xn:Kn[P.pattern],strokeLinecap:"round"}),(0,ge.jsx)("circle",{cx:g.endX,cy:g.endY,r:g.proxy?2:2.6,fill:Zt(P)}),te]},g.key)})}),(0,ge.jsx)("div",{"aria-hidden":"true","data-graview-world":"",style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:Fe.tieLabels},children:k.map(g=>{let R=y.find(P=>P.key===g.keys[0]);return(0,ge.jsx)("span",{className:"graview-record-link-said","data-graview-link-said":R?.kind,"data-graview-lands":R?.proxy?"district":"record","data-graview-said-for":g.keys.length,"data-graview-tie-said":g.keys.some(P=>G.has(P))?"shown":"waiting",style:{position:"absolute",left:g.x,top:g.y,transform:`translateX(min(0px, calc(${Math.round(l-g.x-8)}px - 100%)))`},children:g.said},g.said)})})]})}function Pa(){return typeof document>"u"?1:parseFloat(getComputedStyle(document.documentElement).fontSize)/16||1}function Ia({nodes:e,scheme:t,width:n,stageRef:o,moving:r=!1,holding:a=!1}){let i=Bt(),[l,u]=(0,ue.useState)([]);(0,ue.useLayoutEffect)(()=>{r||a||u(d())},[e,r,a,t,n,o]);function d(){let c=[],h=[];for(let y of e){if(!y.via||Math.round(y.plane)!==1)continue;let v=je(o.current,y.id,!1,!0),{scale:k}=Qt(1,t);c.push({key:`${y.via.edgeKind}|${y.via.direction}`,text:Sn(y.via),left:v?.x??y.x,right:v?v.x+v.width:y.x+y.width*k,top:v?.y??y.y}),h.push(Math.round(y.y))}let p=new Map;c.forEach((y,v)=>p.set(h[v],Math.min(p.get(h[v])??1/0,y.top)));let x=c.map((y,v)=>({...y,top:p.get(h[v])??y.top})),f=fr(n);return Xr(x,{left:f.left,right:n-f.right},Pa())}if(l.length===0||!i.captions.visible||r)return null;let s=Ur*Pa();return(0,ge.jsx)("div",{"aria-hidden":"true",style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:Fe.lines},children:l.map(c=>{let{left:h,width:p}=c;return(0,ge.jsx)("div",{"data-graview-relation":c.key,title:c.text,style:{position:"absolute",left:h,width:p,textAlign:"center",top:Math.max(0,c.top-s),fontSize:"0.75rem",letterSpacing:"0.09em",textTransform:"uppercase",color:"var(--graview-ink-faint)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:(0,ge.jsx)("span",{style:{background:"var(--graview-ground)",padding:"1px 7px",borderRadius:4},children:c.text})},c.key)})})}var Wt=re(Oe(),1);var ad=new Set;function Ba(e,t,n,o,r,a,i=0,l=0){let{store:u,views:d,hiddenKinds:s}=pe(),c=Tt(),h=(0,Wt.useContext)(qt),p=Cr(),x=(0,Wt.useMemo)(()=>{let v={};for(let k of p){if(k.subjectId===void 0)continue;let w=v[k.subjectId]??=[];for(let O of k.nodeIds)O!==k.subjectId&&!w.includes(O)&&w.push(O)}return v},[p]),f=(0,Wt.useMemo)(()=>({flagged:new Set(p.flatMap(v=>v.nodeIds)),touched:Un(u.log.all())}),[p,u,a]),y=(0,Wt.useMemo)(()=>({hits:c?_n(c):ad,...f}),[c,f]);return(0,Wt.useMemo)(()=>({...e,cityZoom:o,...h?{besideTheMap:!0}:{},...s.size>0?{hiddenKinds:[...s].sort()}:{},...Object.keys(x).length>0?{judged:x}:{},relevance:y,inset:{...fr((t?.width??1200)-r.right),top:8,bottom:0},chrome:[{x:(t?.width??1200)-r.right-176,y:0,width:176,height:100},sd(t,r)],...r.right>0||r.bottom>0?{dock:r}:{},...i>0?{headroom:i}:{},unit:n,plainGroups:u.schema.kinds.filter(v=>Do(d.lookup(v,{cardinality:"many",fidelity:"full"}))),cityOrder:To(ci({name:"scene",schema:u.schema,mutations:u.allMutations().filter(v=>!v.derived)}).order.map(v=>v.kind),d.arrangement?.()?.order),screens:d.places().reduce((v,k)=>((v[k.kind]??=[]).push({as:k.as,title:k.title,...k.across?{across:k.across}:{}}),v),{}),...t?{width:t.width,height:Math.max(0,t.height-Math.max(64,l))}:{}}),[e,t,n,u,d,s,x,y,o,h,r.right,r.bottom,i,l])}var Na=224;function sd(e,t){let n=e?.width??1200,o=e?.height??800,r=58;return{x:n-t.right-Na,y:o-t.bottom-r,width:Na,height:r}}var ft=re(Oe(),1);var Ha=re(Oe(),1);function mr(e){let t=e?.closest?.("[data-graview-pick]")?.getAttribute("data-graview-joins");if(!t)return null;try{let n=JSON.parse(t);return Array.isArray(n)&&n.length>0&&n.every(o=>typeof o=="string")?n:null}catch{return null}}function Da(e){(0,Ha.useEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{for(let a of t.querySelectorAll("[data-graview-pick]"))a.getAttribute("tabindex")===null&&a.setAttribute("tabindex","0"),a.getAttribute("role")===null&&ld(a)&&a.setAttribute("role","button")};if(n(),typeof MutationObserver>"u")return;let o=0,r=new MutationObserver(()=>{o===0&&(o=typeof requestAnimationFrame>"u"?0:requestAnimationFrame(()=>{o=0,n()}),o===0&&n())});return r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-graview-pick"]}),()=>{r.disconnect(),o!==0&&cancelAnimationFrame(o)}},[e])}var dd=new Set(["div","span","p","figure","img","td","output","b","i","em","strong","small","canvas","g","polygon","circle","rect","path","ellipse","polyline","line","use"]);function ld(e){return dd.has(e.localName.toLowerCase())}var ln=re(Se(),1);function $a({node:e,useDom:t,blur:n,touched:o,frontY:r,centerY:a,screen:i,onDrawnHeight:l,crowded:u,activity:d,scheme:s,canvasWidth:c,canvasHeight:h,selected:p,onSelect:x,onPick:f,onTravel:y,onMenu:v,selection:k,onJackIn:w,onDragStart:O,onDragMove:G,onDragEnd:$,swallowClick:X,children:T}){let{brand:g,store:R,actsDoor:P}=pe(),A=e.beyond?`${e.beyond.length} more district${e.beyond.length===1?"":"s"}`:e.aggregate?.opens?.in==="place"?`${e.aggregate.label}, ${Ut(R.schema,e.aggregate.kind,e.aggregate.memberIds.length)}`:e.aggregate?e.aggregate.label:(()=>{let S=R.graph.getNode(e.id);return S?Kt(R.schema.tryDefinition(e.kind),S):e.id})(),[j,K]=(0,ft.useState)(null),te=Math.round(e.plane)===0&&!e.aggregate;(0,ft.useLayoutEffect)(()=>{if(!te)return;let S=E.current;if(!S)return;let B=()=>{let W=[...S.children].find(q=>q.dataset.graviewKindtag===void 0);if(!W)return;let Z=S.getBoundingClientRect(),_=W.getBoundingClientRect(),z=S.offsetWidth>0?Z.width/S.offsetWidth:1,ee={top:Math.round((_.top-Z.top)/z)-9,right:Math.round((Z.right-_.right)/z)+14};K(q=>q&&q.top===ee.top&&q.right===ee.right?q:ee)};if(typeof ResizeObserver>"u"){B();return}let L=new ResizeObserver(B);L.observe(S);for(let W of S.children)L.observe(W);return()=>L.disconnect()},[te,e.id]);let I=zo({plane:e.plane,...e.depth!==void 0?{depth:e.depth}:{},onPlot:r!==void 0},s),H=I.style,N=Go(H,e.x,e.y,c,h),Q=n?I.blur:0,E=(0,ft.useRef)(null);Da(E);let F=e.natural,b=F?Math.min(e.width/F.width,e.height/F.height):1,M=(0,ft.useRef)(null);(0,ft.useEffect)(()=>{if(!i||!l)return;let S=M.current;if(!S||typeof ResizeObserver>"u")return;let B=()=>{let z=0,ee=0;for(let q of S.children)if(!(!(q instanceof HTMLElement)||q.classList.contains("graview-screen-fullscreen"))){z=Math.max(z,q.offsetTop+q.offsetHeight);for(let he of[q,...q.querySelectorAll("*")]){let ce=getComputedStyle(he).overflowY;(ce==="auto"||ce==="scroll")&&(ee+=he.scrollHeight-he.clientHeight)}}l(z+ee)},L=0,W=()=>{L||(L=requestAnimationFrame(()=>{L=0,B()}))};B();let Z=new ResizeObserver(W);Z.observe(S);for(let z of S.children)Z.observe(z);let _=new MutationObserver(W);return _.observe(S,{childList:!0,subtree:!0,characterData:!0,attributes:!0}),()=>{L&&cancelAnimationFrame(L),Z.disconnect(),_.disconnect(),l(void 0)}},[i,l,e.id]);let C=t?{transform:ca(N),transformOrigin:"0 0",filter:Q>0?`blur(${Q}px)`:void 0,opacity:Yo(H)*(e.opacity??1),"--graview-lift-low":fo(H.shadow,s),...r!==void 0?{"--graview-front-y":`${r.toFixed(1)}px`}:{},...a!==void 0?{"--graview-center-y":`${a.toFixed(1)}px`}:{}}:{"--graview-lift-low":fo(H.shadow,s)};return(0,ln.jsxs)("div",{ref:E,"data-graview-view":e.id,...t?{}:{drawable:""},"data-graview-plane":Math.round(e.plane),"data-graview-selected":p||void 0,"data-graview-touched":o||void 0,"data-graview-plot":r!==void 0?"":void 0,"data-graview-screen":i?"":void 0,"data-graview-record-focus":Math.round(e.plane)===0&&!e.aggregate&&!F&&!i?"":void 0,"data-graview-nested":e.nestedUnder??void 0,"data-graview-crowded":u||void 0,"data-graview-pinned":e.pinned||void 0,"data-graview-activity":d?d.manner:void 0,"data-graview-wrote":d?.wrote||void 0,"data-graview-read":d&&!d.wrote?!0:void 0,"data-graview-broke":d?.broke||void 0,title:d?`${Ji[d.manner]} ${d.wrote?"changed this":"read this"}: ${d.intent}`:e.aggregate&&Math.round(e.plane)!==0?`Open ${e.aggregate.label}`:void 0,role:"group","aria-label":A,"aria-keyshortcuts":P&&!e.beyond?P.key:void 0,tabIndex:0,onPointerDown:O,onPointerMove:G,onPointerUp:$,onPointerCancel:$,onClick:S=>{if(X.current)return;let B=S.target?.closest("input, textarea, select, button, a[href], [contenteditable='true']");if(B&&!B.hasAttribute("data-graview-pick"))return;let L=S.metaKey||S.shiftKey,W=xt(S.target);if(W&&W!==e.id){S.stopPropagation(),f(W,L,mr(S.target)??void 0);return}x(L)},onKeyDown:S=>{if(P&&!e.beyond&&S.key.toLowerCase()===P.key.toLowerCase()&&!S.metaKey&&!S.ctrlKey&&!S.altKey&&!S.target?.closest("input, textarea, select, [contenteditable='true']")){S.preventDefault(),S.stopPropagation();let _=xt(S.target)??e.id;k.includes(_)||f(_,!1),P.open(S.target instanceof HTMLElement?S.target:S.currentTarget);return}if(S.key!=="Enter"&&S.key!==" "||S.target?.closest("input, textarea, select, button, [contenteditable='true']"))return;let L=xt(S.target);if(S.preventDefault(),S.stopPropagation(),!L||L===e.id){k.length===1&&k[0]===e.id&&!S.metaKey&&!S.shiftKey?w():x(S.metaKey||S.shiftKey);return}let W=mr(S.target);(W?k.length===W.length&&W.every(_=>k.includes(_)):k.length===1&&k[0]===L)&&!S.metaKey&&!S.shiftKey?y(L):f(L,S.metaKey||S.shiftKey,W??void 0)},onContextMenu:S=>{let B=xt(S.target);S.preventDefault(),S.stopPropagation();let L=B&&B!==e.id?B:e.id;f(L,!1,(L===B?mr(S.target):null)??void 0),v({x:S.clientX,y:S.clientY,on:L})},onDoubleClick:S=>{let B=xt(S.target);if(B&&B!==e.id){S.stopPropagation(),y(B);return}w()},style:{position:"absolute",...t?{}:{pointerEvents:"none"},zIndex:e.opened?Fe.opened:Fe.card-Math.round(e.plane),left:t?0:Math.round(e.x),top:t?0:Math.round(e.y),width:Math.round(e.width),height:Math.round(e.height),boxSizing:"border-box",display:"flex",flexDirection:"column",justifyContent:"center",...C},children:[F?(0,ln.jsx)("div",{ref:M,"data-graview-natural":`${Math.round(F.width)}x${Math.round(F.height)}`,style:{position:"absolute",left:"50%",top:"50%",width:F.width,height:F.height,transform:`translate(-50%, -50%) scale(${b})`,transformOrigin:"50% 50%",display:"flex",flexDirection:"column"},children:T}):T,Math.round(e.plane)===0&&!e.aggregate?(0,ln.jsxs)("span",{"data-graview-kindtag":"",className:"graview-kind-tag","aria-hidden":"true",style:{...j??{},"--graview-hue":Math.round(mn(e.kind,g?.accents))},children:[(0,ln.jsx)("span",{style:{width:9,height:6,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",flex:"0 0 auto",background:`hsl(${Math.round(mn(e.kind,g?.accents))} 55% var(--graview-tint-lightness) / 0.9)`}}),Lo(R.schema.tryDefinition(e.kind),e.kind)]}):null]})}var le=re(Se(),1);Pr({search:hi,touchWeights:Un});var cd=e=>e?{activity:e}:{},ud=e=>`${Math.round(e.x)} ${Math.round(e.y)}`,Fa=e=>e.stopPropagation(),Ga=.6,za=3,hd=80,Wa=e=>Math.round(e.plane)===1&&(e.compact===!0||e.width<175||e.height<hd);function fd(e){let[t,n]=(0,U.useState)(1),o=(0,U.useRef)(1);return(0,U.useEffect)(()=>{e||(o.current=1,n(1))},[e]),[t,o,n]}function md(e){let[t,n]=(0,U.useState)({x:0,y:0}),o=(0,U.useMemo)(()=>({x:(e.pan?.x??0)+t.x,y:(e.pan?.y??0)+t.y}),[e.pan,t]),r=(0,U.useMemo)(()=>t.x===0&&t.y===0?e:ht(e,o),[e,t,o]),a=(0,U.useRef)(t);a.current=t;let i=(0,U.useCallback)((l,u)=>{let d=a.current,s=(c,h,p)=>Math.max(Math.min(-c,h),Math.min(Math.max(c,h),p+h))-h;return{x:s(l.x,d.x,u.x),y:s(l.y,d.y,u.y)}},[]);return[o,r,i,a,n]}function pd(e,t,n,o,r,a){let i=n!==null&&!t.overview,l=i?null:n,u=(0,U.useRef)(t);Gr(u.current,t)||(u.current=t);let d=u.current,s=(0,U.useMemo)(()=>{let x=d.pan?{...d,pan:void 0}:d;return l?vn(x,l.id,{x:l.x,y:l.y}):x},[d,l]),c=(0,U.useMemo)(()=>tr(e.graph,e.schema,s,o),[e,s,o,r]),h=(0,U.useMemo)(()=>n&&i?to(c,n.id,{x:n.x,y:n.y})??tr(e.graph,e.schema,vn(s,n.id,{x:n.x,y:n.y}),o):c,[c,n,i,e,s,o]);return[(0,U.useMemo)(()=>no(h,a??{x:0,y:0}),[h,a]),i]}function yd(e,t){let n=(0,U.useRef)(!1),o=(0,U.useRef)(!1),r=(0,U.useRef)(null),a=(0,U.useRef)(!1),i=(0,U.useCallback)(()=>{gd(e.current,{dragging:n.current,steering:o.current}),t.set(n.current||o.current||a.current)},[e,t]),l=(0,U.useCallback)(c=>{n.current!==c&&(n.current=c,i())},[i]),u=(0,U.useRef)(()=>!1),d=(0,U.useCallback)(()=>{o.current||(o.current=!0,i()),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{r.current=null,!u.current()&&(o.current=!1,i())},160)},[i]),s=(0,U.useCallback)(()=>{n.current=!1,o.current=!1,i()},[i]);return{dragging:n,steering:o,tweening:a,setDragging:l,steer:d,settleLive:u,settled:s}}function gd(e,{dragging:t,steering:n}){e&&(t||n?e.setAttribute("data-graview-hand",t?"drag":"wheel"):e.removeAttribute("data-graview-hand"),e.style.cursor=t?"grabbing":"grab",e.style.userSelect=t?"none":"")}function wd(e){let t=(0,U.useRef)(!1),n=e!==null&&!t.current;return(0,U.useEffect)(()=>{e!==null&&(t.current=!0)},[e]),n}function xd({registerScene:e,scheme:t,views:n},o,r){let a=(0,U.useRef)(o);a.current=o,(0,U.useEffect)(()=>(e({whereIs:i=>sr(a.current,r.current,t,n,i)}),()=>e(null)),[e,t,n])}function bd(e,t){(0,U.useEffect)(()=>{let n;return e.onActive(o=>{let r=t.current;if(!r)return;let a=u=>{let d=r.getBoundingClientRect();e.set({x:u.clientX-d.left,y:u.clientY-d.top})},i=u=>{u.buttons===0&&a(u)},l=()=>e.set(null);o?(r.addEventListener("pointermove",i),r.addEventListener("pointerup",a),r.addEventListener("pointerleave",l),n=()=>{r.removeEventListener("pointermove",i),r.removeEventListener("pointerup",a),r.removeEventListener("pointerleave",l)}):(n?.(),n=void 0)})},[e])}function vd(e,t,n,o,r,a,i,l){(0,U.useEffect)(()=>{let u=t.current;if(!u||!e)return;let d=new Set;for(let c of n.nodes)(o.has(c.id)||c.aggregate?.memberIds.some(h=>o.has(h)))&&d.add(c.id);let s=e({canvas:u,layout:n,dirty:d,hostOf:c=>(u.parentElement??u).querySelector(`[data-graview-view="${CSS.escape(c)}"]`),drawOnDom:r,blur:a,scheme:i,fallBack:l});return()=>{s?.()}},[e,n,o,r,a,i,l])}var kd=Xt(()=>(__graviewPreload(import.meta.url,["./chunk.OJGHDWI6.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.R7RDUW37.js")));function Sd(e,t){let[n]=(0,U.useState)(()=>{let s=Ko();return t?e==="dom"||e==="auto"&&s==="dom"?"dom":"gpu":Xo(e,{operator:s,present:Uo()})}),[o,r]=(0,U.useState)(!1),a=(0,U.useCallback)(()=>r(!0),[]),[i,l]=(0,U.useState)(null),u=n==="gpu"&&!t&&!o&&i===null;return(0,U.useEffect)(()=>{if(!u)return;let s=!0;return kd().then(c=>{s&&l(()=>c.attachGpu())},()=>{s&&r(!0)}),()=>{s=!1}},[u]),{attach:(n==="gpu"&&!o?t??i:null)??null,fallBack:a}}function Md(){let[e,t]=(0,U.useState)(()=>new Set),n=(0,U.useCallback)(o=>{t(r=>r.size===o.size&&[...o].every(a=>r.has(a))?r:new Set(o))},[]);return[e,n]}function Ed(){let e=ti();return t=>{let n=t?e.get(t.id):void 0,o=t?.aggregate?.memberIds??[];if(!n&&o.length===0)return;let r=n,a=n?.wrote??!1,i=n?.read??!1,l=n?.broke??!1;for(let u of o){let d=e.get(u);d&&(a||=d.wrote,i||=d.read,l||=d.broke,(!r||d.at>r.at||d.at===r.at&&d.wrote&&!r.wrote)&&(r=d))}return r?{...r,wrote:a,read:i,broke:l}:void 0}}var ja=(e,t)=>e.includes(t)?e.filter(n=>n!==t):[...e,t];function Rd(){let{views:e,view:t,setView:n,setSelection:o}=pe(),r=Tt(),a=(0,U.useContext)(qt),i=l=>{if(Pe(l.id)===null&&!l.aggregate)return!1;let u=e.resolve(l.kind,{cardinality:"many",fidelity:"full"})?.view;return u!==void 0&&u.generic!==!0};return l=>({onSelect:u=>{if(gn(l.id)){o(s=>u?ja(s,l.id):[l.id]);return}let d=l.aggregate?yn(l.id):[];if(t.overview){o(s=>u?[...new Set([...s,l.id])]:[l.id]);return}if(d.length===1&&!u&&Math.round(l.plane)!==0){let s=d[0];n(c=>Er(c,c.relation===s?null:s));return}o(s=>ho(l,s,u))},onPick:(u,d,s)=>o(c=>s?d?[...new Set([...c,...s])]:[...s]:d?ja(c,u):[u]),onTravel:u=>{n(d=>({...gt(d,u),relation:null})),o([u])},onJackIn:()=>{let u=l.aggregate?.opens;if(u){u.in==="place"?n(c=>Rr(c,l.id)):n(c=>Object.entries(u.within).reduce((h,[p,x])=>zn(h,p,x),gt(pn(c,!1),u.focus))),o([]);return}let d=Pe(l.id),s=d!==null&&(r?.byKind[d]??0)>0;if(a&&d!==null&&t.overview&&!i(l)&&!(s&&t.q)){n(c=>zn({...gt(c,`aggregate:${d}`),relation:null},"view",null)),o([]);return}n(c=>Or(c,l.id,{ownPicture:i(l),...s&&c.q?{carry:c.q}:{}})),o(l.aggregate?[]:[l.id])}})}var Od=wn(Xt(()=>(__graviewPreload(import.meta.url,["./chunk.HJCQ6I3S.js","./chunk.5C43AM3X.js","./chunk.TKUNRFDE.js","./chunk.4WH4N4V7.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.6BBB7SJL.js")))),Ad=Od.part((e,t)=>(0,le.jsx)(e.Ribbons,{...t}),{what:"The relations",quiet:!0}),Va="graview:map-from-above";function Ld(){let[e,t]=(0,U.useState)(()=>{try{return globalThis.localStorage?.getItem(Va)==="1"}catch{return!1}}),n=(0,U.useCallback)(o=>{t(o);try{globalThis.localStorage?.setItem(Va,o?"1":"0")}catch{}},[]);return[e,n]}var Pd=wn(Xt(()=>(__graviewPreload(import.meta.url,["./chunk.TKUNRFDE.js","./chunk.4WH4N4V7.js","./chunk.NEJSKMJV.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.MAWP27FD.js")))),Cd=Pd.part((e,t)=>(0,le.jsx)(e.Plots,{...t}),{quiet:!0});function Td({zoom:e,zoomBy:t,above:n,setAbove:o}){let r=(a,i,l,u)=>(0,le.jsx)("button",{type:"button",className:"graview-zoom-button","data-testid":`zoom-${a}`,"aria-label":`Zoom ${a}`,title:`Zoom ${a} \u2014 or pinch, or ctrl+wheel`,disabled:u,onClick:()=>t(l),children:i});return(0,le.jsxs)("div",{className:"graview-zoom","data-graview-foot":"",role:"group","aria-label":"Zoom",onPointerDown:Fa,onClick:Fa,children:[r("out","\u2212",1/1.25,e<=Ga+1e-6),(0,le.jsxs)("span",{className:"graview-zoom-level","data-testid":"zoom-level","aria-live":"polite",children:[Math.round(e*100),"%"]}),r("in","+",1.25,e>=za-1e-6),(0,le.jsx)("button",{type:"button",className:"graview-zoom-button graview-zoom-above","data-testid":"from-above","aria-pressed":n,title:n?"See the city at an angle again":"See the city from straight above",onClick:()=>o(!n),children:"From above"})]})}function Id({options:e,renderer:t="auto",attachRenderer:n,blur:o=!0,className:r,style:a,animate:i=!0,children:l}){let u=pe(),{store:d,scheme:s,views:c,view:h,setView:p,selection:x,setSelection:f,setMenuAt:y,emphasis:v,brand:k,noteMoved:w,robots:O,motion:G}=u,$=(0,U.useContext)(qt),X=(0,U.useRef)(null),T=(0,U.useRef)(null),g=la(T),R=da(),{zoomAbout:P,panBy:A}=Zi({stage:T,view:h,setView:p}),j=It(),K=1,[te,I,H]=fd(h.overview),[N,Q]=Ld(),E=(0,U.useMemo)(()=>N?{...e,tilt:mi}:e,[e,N]),{probe:F,dock:b}=Ui(),M=!h.overview&&(h.zoom||h.past||h.relation)?Math.ceil(14+34*R/16+6):0,C=Ba(E,g,R,K*te,b,j,M,h.overview?0:b.bottom),S=Gi(T),[B,L,W,Z,_]=md(h),z=(0,U.useMemo)(()=>new Set(Object.keys(h.pins).filter(D=>Pe(D)===null)),[h.pins]),ee=Xi(),[q,he]=pd(d,h,ee.held,C,j,L.pan),ce=yd(T,G),{setDragging:He,steer:Me,settleLive:Ae,settled:De}=ce,Te=ce.dragging.current||ce.steering.current,ie=wd(g),xe=qi({stage:T,pan:h.pan,setView:p,settled:De}),qe=(0,U.useRef)(!1);xe.settling.current||(qe.current=!1);let Et=xe.settling.current&&!qe.current,ne=Bi(q,{enabled:i&&!Te&&g!==null&&!ie,settle:!Et});ce.tweening.current=ne.t<1,(0,U.useEffect)(()=>G.set(ce.dragging.current||ce.steering.current||ne.t<1),[G,ne]);let rt=Hi(),$e=Di(),Rt=zi({view:h,result:q,frame:ne,panned:B,closer:K,screenId:null,setCamera:_});xd(u,ne,T),bd(u.pointer,T);let[Ve,Ot]=Md(),{attach:Ke,fallBack:Qe}=Sd(t,n),Le=Ii(o);vd(Ke,X,ne,rt,Ot,Le,s,Qe);let Ie=Ke===null,mt=Ni(Le&&Ie,ne.t<1),Ue=Ed();Ae.current=xe.settle;let{onGroundDown:pt,onCardDown:cn,onDragMove:dt,onDragUp:ae,swallow:we}=Qi({view:h,panned:B,limit:()=>bt(q),panWithin:W,moveByTransform:!0,setView:p,setDragging:He,noteMoved:w,shift:xe,district:ee});P.current=(D,fe,Ee)=>{if(!h.overview)return;Ae.current();let be=I.current,Ne=Math.max(Ga,Math.min(za,be*D));if(Math.abs(Ne-be)<1e-4)return;I.current=Ne,qe.current=!0,Me(),H(Ne);let Yt=T.current?.getBoundingClientRect(),In=q.visible??q,ze={x:In.width/2,y:In.height/2},Nn=Yt&&fe!==void 0&&Ee!==void 0?{x:fe-Yt.left,y:Ee-Yt.top}:ze,Bn=Ne/be;p(_t=>ht(_t,Jr(_t.pan??{x:0,y:0},Z.current,Nn,ze,Bn))),w()};let ot=(D,fe,Ee=bt(q))=>p(be=>ht(be,W(Ee,{x:(be.pan?.x??0)+D,y:(be.pan?.y??0)+fe})));_i(T,b,(D,fe)=>ot(D,fe)),A.current=(D,fe)=>{Me();let Ee=bt(q),be=h.pan??{x:0,y:0},Ne=xe.offset();xe.shiftTo(W(Ee,{x:be.x+Ne.x+D,y:be.y+Ne.y+fe}),be),w()};let At=Rd(),Ge=Bt(),jt=(0,U.useCallback)(D=>tn(Ge,D).connector.visible,[Ge]),Vt=D=>Ue(ne.nodes.find(fe=>fe.id===D)),un=(D,fe,Ee,be)=>D.originY+B.y+nn(Ee.col+Ee.side/be,Ee.row+Ee.side/be,D.cell,D.tilt).y-fe.y,Ze={width:q.width,height:q.height},lt={position:"relative",zIndex:Fe.stage,...Ze},hn=D=>sr(ne,T.current,s,c,D),Tn=D=>Ie||Ve.has(D),pr=qn(u),Gt=D=>(0,le.jsx)(Yn.Provider,{value:pr,children:D}),zt=ne.nodes.filter(D=>D.screenOf===void 0).map(D=>(0,le.jsx)($a,{node:D,crowded:Wa(D),useDom:Tn(D.id),blur:mt||!Ie&&Le,...D.plot&&ne.city&&Math.round(D.plane)===2?{frontY:un(ne.city,D,D.plot,1),centerY:un(ne.city,D,D.plot,2)}:{},touched:rt.has(D.id),...cd(Ue(D)),scheme:s,canvasWidth:q.width,canvasHeight:q.height,selected:x.includes(D.id),...At(D),onMenu:y,selection:x,onDragStart:fe=>cn(D,fe),onDragMove:dt,onDragEnd:ae,swallowClick:we,children:D.beyond?(0,le.jsx)(ra,{kinds:D.beyond}):D.aggregate?.opens?(0,le.jsx)(sa,{node:D}):(0,le.jsx)(ia,{node:D,mode:"scene",selected:x.includes(D.id),...Wa(D)?{fidelity:"glyph"}:{}})},D.id));return(0,le.jsxs)("div",{ref:T,className:`graview-ground${r?` ${r}`:""}`,"data-graview-altitude":h.overview?"":void 0,"data-graview-reach":ne.city?ud(bt(q)):void 0,"data-graview-settled":ne.t>=1&&!Rt.gliding()?"":void 0,"data-graview-box":g?`${g.width}x${g.height}`:void 0,"data-graview-renderer":Ie?"dom":"gpu","data-graview-blur":(Ie?mt:Le)?"":void 0,onPointerDown:pt,onPointerMove:dt,onPointerUp:ae,onPointerCancel:ae,onClick:D=>{we.current||D.target.closest("[data-graview-view], button, aside, section[aria-label], [data-graview-offstage], a, input, select")||(f([]),y(null))},style:{position:"relative",width:"100%",height:"100%",cursor:"grab",touchAction:"none","--graview-altitude":h.overview?1:0,...ne.city?{"--graview-lattice-cell":`${ne.city.cell.toFixed(2)}px`,"--graview-lattice-tilt":(ne.city.tilt??.5).toFixed(3),"--graview-lattice-x":`${(ne.city.originX+ne.city.pan.x).toFixed(1)}px`,"--graview-lattice-y":`${(ne.city.originY+ne.city.pan.y).toFixed(1)}px`}:{},overflow:"hidden",...a},children:[(0,le.jsx)("div",{className:"graview-measure","aria-hidden":"true",style:{"--graview-world-x":`${(ne.pan?.x??0).toFixed(1)}px`,"--graview-world-y":`${(ne.pan?.y??0).toFixed(1)}px`}}),h.overview&&ne.city?(0,le.jsx)(U.Suspense,{fallback:null,children:(0,le.jsx)(Ad,{frame:ne,...Ze,pan:ne.city.pan,store:d,graphVersion:j,selection:x,view:{overview:h.overview,focusId:h.focusId,beside:$},emphasis:v,hiddenKinds:u.hiddenKinds,drawn:jt})}):null,(0,le.jsx)("div",{ref:F,"aria-hidden":"true",style:{position:"absolute",top:0,right:0,width:"var(--graview-dock, 0px)",height:"var(--graview-sheet, 0px)",visibility:"hidden",pointerEvents:"none"}}),ne.city?(0,le.jsx)(U.Suspense,{fallback:null,children:(0,le.jsx)(Cd,{frame:ne,...Ze,pan:ne.city?ne.city.pan:B,brand:k,pinned:z,close:K*te>1.2,swallowed:we,...h.overview?{chosen:kn(x,{overview:h.overview,focusId:h.focusId,beside:$},D=>d.graph.getNode(D)?.kind).records}:{},onFocus:D=>{let fe=Pe(D);fe!==null&&p(Ee=>gt(Ee,Ce(fe)))}})}):null,Ie?(0,le.jsx)("div",{"data-graview-stage":"dom","data-graview-world":"",style:{...lt,overflow:"hidden"},children:Gt(zt)}):(0,le.jsxs)("div",{"data-graview-world":"",style:lt,children:[(0,le.jsx)("div",{"data-graview-stage":"dom","data-graview-under-canvas":"",style:{position:"absolute",left:0,top:0,...Ze,overflow:"hidden"},children:Gt(zt.filter(D=>Ve.has(String(D.key))))}),(0,le.jsx)("canvas",{ref:X,"data-graview-stage":"gpu",content:"drawable",layoutsubtree:"",...Ze,style:{display:"block",position:"relative",...Ze},children:Gt(zt.filter(D=>!Ve.has(String(D.key))))})]}),h.overview?(0,le.jsx)(ji,{result:q,schema:d.schema,chrome:S?[...C.chrome??[],S]:C.chrome??[],onGo:D=>{ot(D.x,D.y),w()}}):null,h.overview?(0,le.jsx)(Td,{zoom:te,zoomBy:D=>P.current(D),above:N,setAbove:Q}):null,(0,le.jsx)(Ta,{frame:ne,focusId:h.focusId,beside:$,holding:he,...Ze,scheme:s,overview:!!h.overview,selection:x,emphasis:v,stageRef:T,store:d,graphNodes:j,...(D=>D?{provisional:D}:{})(Ca(d)),onPickEdge:(D,fe)=>{we.current||(f([D]),y(fe?{...fe,on:D}:null))},liveOf:D=>{let fe=Vt(D.from),Ee=Vt(D.to);return fe?.wrote&&Ee?.wrote?fe.at>Ee.at?fe:Ee:void 0}}),(0,le.jsx)(Fi,{width:q.width,whereIs:hn}),(0,le.jsx)($i,{marks:$e.marks,questions:[...O.values()].filter(D=>D.mode==="asking"&&D.at!==null&&D.say).map(D=>({id:D.at,who:D.who,asks:D.say})),whereIs:hn,stageRef:T,...Ze}),(0,le.jsx)(Ia,{nodes:ne.nodes,moving:ne.t<1,holding:he,scheme:s,width:q.width,stageRef:T}),l,(0,le.jsx)("div",{className:"graview-lattice","aria-hidden":"true"})]})}var nt=re(Oe(),1);function Nd(){return Ua(),null}var Ka=()=>window.location.pathname.endsWith(Co),Ya=()=>(Ka()?No:Mr)(window.location.hash),Bd=e=>(Ka()?Bo:Sr)(e);function Ua(){let{view:e,setView:t,views:n,principal:o}=pe(),r=JSON.stringify(o),a=(0,nt.useCallback)(s=>{let c=s.within?.view;if(c===void 0||s.focusId)return s;let h=n.places().find(p=>p.as===c);return h?{...s,focusId:Ce(h.kind)}:s},[n]),i=(0,nt.useRef)(!1);(0,nt.useEffect)(()=>{if(typeof window>"u")return;let s=a(Ya());!Gn(s,kr)&&!Gn(s,e)&&(i.current=!0,t(s))},[]),(0,nt.useEffect)(()=>{if(typeof window>"u")return;let s=()=>t(a(Ya()));return window.addEventListener("popstate",s),window.addEventListener("hashchange",s),()=>{window.removeEventListener("popstate",s),window.removeEventListener("hashchange",s)}},[t,a]);let l=(0,nt.useRef)(!1),u=(0,nt.useRef)(null),d=(0,nt.useRef)(r);(0,nt.useEffect)(()=>{if(typeof window>"u")return;if(i.current){i.current=!1;return}let s=d.current!==r;d.current=r;let c=Bd(e),h=c||`${window.location.pathname}${window.location.search}`;if((window.location.hash||(window.location.href.includes("#")?"#":""))===c){l.current=!0,u.current=e;return}if(!l.current){l.current=!0,u.current=e,window.history.replaceState({graview:Nt.at},"",h);return}if(s||Xa(u.current,e)){window.history.replaceState({graview:Nt.at},"",h),u.current=e;return}u.current=e,window.history.pushState({graview:++Nt.at},"",h),Nt.depth=Nt.at,Nt.tell()},[e,r])}function Xa(e,t){return e?e.focusId===t.focusId&&e.relation===t.relation&&(e.overview??!1)===(t.overview??!1)&&(e.zoom??!1)===(t.zoom??!1)&&(e.past??!1)===(t.past??!1)&&e.expanded.join(",")===t.expanded.join(",")&&(e.shown??[]).join(",")===(t.shown??[]).join(",")&&Hd(e.within,t.within):!1}function Hd(e,t){let n=o=>Object.entries(o??{}).sort(([r],[a])=>r.localeCompare(a)).map(([r,a])=>`${r}=${a}`).join("&");return n(_a(e))===n(_a(t))}function _a(e){if(!e||!("q"in e))return e;let{q:t,...n}=e;return n}var Ro=re(Oe(),1);var qa=new WeakMap,Dd=64,Qa=new WeakMap,$d=0,Fd=e=>{if(e===void 0)return 0;let t=Qa.get(e);return t===void 0&&Qa.set(e,t=$d+=1),t};function Za(e,t,n,o={}){let r=()=>{let d=[...new Set(t.flatMap(c=>yn(c)))],s=t.map(c=>Pt(c)).filter(c=>c!==null);return si(e,t,{...n.principal?{principal:n.principal}:{},kindSelection:d,edgeSelection:s,...n.providers?{providers:n.providers}:{},...n.pins?{pins:n.pins}:{},...n.focus!==void 0?{focus:n.focus}:{},...o})};if(Object.keys(o).length>0)return r();let a=qa.get(e);if(!a){let d={kept:new Map,at:e.log.length};qa.set(e,a=d),e.subscribe(()=>d.kept.clear())}a.at!==e.log.length&&(a.kept.clear(),a.at=e.log.length);let i=JSON.stringify([t,n.principal??null,Fd(n.providers),n.pins??null,n.focus??null]),l=a.kept.get(i);if(l)return l;let u=r();return a.kept.set(i,u),a.kept.size>Dd&&a.kept.delete(a.kept.keys().next().value),u}function Wd(e,t,n={}){return Za(e,t,n)}function jd(e={}){let{store:t,selection:n,principal:o,providers:r}=pe(),{about:a,principal:i=o,providers:l=r,pins:u,focus:d,...s}=e,c=a??n,h=It();return(0,Ro.useMemo)(()=>Za(t,c,{principal:i,providers:l,pins:u,focus:d},s),[t,c,e,h,i,l])}function Vd(){let{store:e,principal:t}=pe();return(0,Ro.useMemo)(()=>({preview:(n,o)=>li(e,n,o??{},{pressed:t?{author:t}:{}}),apply:(n,o)=>di(e,n,o??{},{author:t})}),[e,t])}export{gs as a,ws as b,xs as c,bs as d,vs as e,ks as f,ss as g,Id as h,Nd as i,Wd as j,jd as k,Vd as l};
@@ -0,0 +1,67 @@
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{c as sr}from"./chunk.3JMZHCB4.js";import{G as R,Ga as O,Ma as hn,Na as vn,Oa as bn,Ra as U,T as S,Va as Q,a as Pe,ba as ce,ca as Y,e as Le,l as un,la as yn,m as fn,s as gn,ta as wn,v as re,z as mn}from"./chunk.SF4BYBH6.js";import{a as C}from"./chunk.SDO3U72B.js";import{Ac as Xe,Cc as en,Cd as on,Dc as nn,Dd as sn,Ed as ln,Fd as dn,Gd as cn,Hd as Se,Ld as pn,Ya as Ue,da as ze,ia as je,ja as Ye,mb as Qe,nd as de,od as ne,pd as rn,rc as Ze,rd as xe,td as tn,ud as an,vd as j,yc as z,zc as Je}from"./chunk.3MZIWKNG.js";import{b as v}from"./chunk.AJZBJBMO.js";var Ee=v(R(),1),kn=new WeakMap,pe=e=>{let n=kn.get(e);return n||kn.set(e,n={open:null,drawn:0,listeners:new Set}),n},lr=e=>{for(let n of[...e.listeners])n()},dr=0;function kt(e,n){let t=pe(e);t.open=n?{...n,at:++dr}:null,lr(t)}var xn=e=>n=>{let t=pe(e);return t.listeners.add(n),()=>void t.listeners.delete(n)};function Sn(e){let n=()=>e?pe(e).drawn>0:!1;return(0,Ee.useSyncExternalStore)(e?xn(e):cr,n,n)}var cr=()=>()=>{};function xt(e){let n=()=>pe(e).open;return(0,Ee.useSyncExternalStore)(xn(e),n,n)}var V=v(R(),1),Pn=v(sr(),1);function pr(e){let[n,t]=(0,V.useState)(null),[r,o]=(0,V.useState)(null);return(0,V.useLayoutEffect)(()=>{e.current!==r&&o(e.current)}),(0,V.useLayoutEffect)(()=>{if(!r||typeof ResizeObserver>"u")return;let a=()=>Math.round(r.getBoundingClientRect().width),i=a();t(i);let p=new ResizeObserver(()=>{let c=a();c!==i&&(i=c,(0,Pn.flushSync)(()=>t(c)))});return p.observe(r),()=>p.disconnect()},[r]),n}function ur(e=!0){let[n,t]=(0,V.useState)();return(0,V.useEffect)(()=>{if(!e)return t(void 0);let r=0,o=()=>t(innerHeight),a=()=>{o(),clearTimeout(r),r=window.setTimeout(o,300)},i=p=>{for(let[c,d]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])c?.[p](d,a)};return i("addEventListener"),o(),()=>{clearTimeout(r),i("removeEventListener")}},[e]),n}var ue={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var L=v(R(),1);var T=v(S(),1),Ln=6e3;function fr(){let e=[],n=0,t=new Set,r=new Map,o,a=()=>{for(let d of[...t])d()},i=d=>{if(clearTimeout(r.get(d.id)),r.delete(d.id),d.kind!=="toast")return;let u=(d.actions?.length??0)+(d.action?1:0),l=d.timeout??(u>0?!1:Ln);l!==!1&&r.set(d.id,setTimeout(()=>o?.()?i(d):p(d.id),l))},p=d=>{clearTimeout(r.get(d)),r.delete(d),e.some(u=>u.id===d)&&(e=e.filter(u=>u.id!==d),a())},c=d=>{e=e.some(u=>u.id===d.id)?e.map(u=>u.id===d.id?d:u):[...e,d],i(d),a()};return{notify(d){let u=d.id??`notice-${++n}`;return c({...d,id:u,said:++n}),{id:u,dismiss:()=>p(u),update:l=>{let g=e.find(w=>w.id===u);g&&c({...g,...l,id:u,kind:g.kind,said:l.sentence!==void 0&&l.sentence!==g.sentence?++n:g.said})}}},dismiss:p,hold(d){o=d},list:()=>e,subscribe(d){return t.add(d),()=>t.delete(d)}}}function gr({notices:e}){let n=e.reduce((p,c)=>!p||c.said>p.said?c:p,void 0),[t,r]=(0,L.useState)(""),[o,a]=(0,L.useState)(""),i=(0,L.useRef)(0);return(0,L.useEffect)(()=>{if(!n||n.said===i.current)return;i.current=n.said;let p=n.tone==="bad";(p?a:r)("");let c=setTimeout(()=>(p?a:r)(n.sentence),50);return()=>clearTimeout(c)},[n]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:ue,children:t}),(0,T.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:ue,children:o})]})}var mr=(0,L.createContext)(null);function yr({board:e,anchor:n}){let t=(0,L.useSyncExternalStore)(e.subscribe,e.list,e.list);return(0,L.useEffect)(()=>vr(Ae.prefetch),[]),(0,T.jsxs)(T.Fragment,{children:[t.length>0?(0,T.jsx)(L.Suspense,{fallback:null,children:(0,T.jsx)(hr,{notices:t,anchor:n,board:e})}):null,(0,T.jsx)(gr,{notices:t})]})}var Ae=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.FWZF7X6A.js","./chunk.3JMZHCB4.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.FCZ7UFJI.js")))),wr=()=>Ae.load().then(()=>{},()=>{}),hr=Ae.part((e,n)=>(0,T.jsx)(e.NoticeStacks,{...n}),{quiet:!0});function vr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},t=globalThis;if(t.requestIdleCallback){let o=t.requestIdleCallback(n,{timeout:5e3});return()=>t.cancelIdleCallback?.(o)}let r=setTimeout(n,2500);return()=>clearTimeout(r)}var M=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.XTT6ERI3.js","./chunk.5VF2RT4H.js","./chunk.5RH6FO3K.js","./chunk.ZDDWXRPK.js","./chunk.LOUICR7K.js","./chunk.L7MFTL5S.js","./chunk.XZJ6XX5I.js","./chunk.4F5M5XZG.js","./chunk.3G5DEGFA.js","./chunk.AZGXBTOQ.js","./chunk.TI4OSTQV.js","./chunk.GZHZLJBF.js","./chunk.PZWJUQAO.js","./chunk.OJGHDWI6.js","./chunk.NEJSKMJV.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.FWZF7X6A.js","./chunk.3JMZHCB4.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.PR2TSHE7.js"))));var y=v(R(),1);var Tn=v(R(),1);var En=v(R(),1);function Te(e){return(0,En.useMemo)(()=>e===void 0||e===""?void 0:{__html:e},[e])}var $=v(S(),1);function He({brand:e,size:n=22}){let t=en(e),r=An(t?.light),o=r?An(t?.dark):void 0,a=Te(r!==void 0&&z(r)?r:void 0),i=Te(o!==void 0&&z(o)?o:void 0),p={display:"inline-flex",flex:"0 0 auto",height:n,color:"var(--graview-accent)"},c=nn(e);if(c)return(0,$.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...p,alignItems:"center",fontSize:`${n*.86/16}rem`,lineHeight:1},children:c});if(!r)return null;let d=e?.logoAlt??e?.name??"",u=d!==""&&d!==e?.name,l=u?{role:"img","aria-label":d}:{"aria-hidden":!0};if(o){let w=(h,x,b)=>z(h)?(0,$.jsx)("span",{className:"graview-logo-face","data-graview-scheme-only":b,dangerouslySetInnerHTML:x}):(0,$.jsx)("img",{className:"graview-logo-face","data-graview-scheme-only":b,src:h,alt:""});return(0,$.jsxs)("span",{className:"graview-logo","data-testid":"app-mark",style:p,...l,children:[w(r,a,"light"),w(o,i,"dark")]})}let g=t?.darkFallback==="invert"?{"data-graview-logo-fallback":"invert"}:{};return z(r)?(0,$.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:p,...g,...l,dangerouslySetInnerHTML:a}):(0,$.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:r,alt:u?d:"",...g,style:{...p,width:"auto"}})}function An(e){if(!(!e||!Xe(e)))return z(e)&&Je(e)!==null?void 0:e}function br(e){(0,Tn.useEffect)(()=>{if(!e||typeof document>"u")return;let n=[...document.querySelectorAll('link[rel~="icon"]')],t=n.map(o=>o.getAttribute("href")),r;n.length===0&&(r=document.createElement("link"),r.rel="icon",r.setAttribute("data-graview-favicon",""),document.head.appendChild(r),n.push(r));for(let o of n)o.href=e;return()=>{r&&r.remove(),n.forEach((o,a)=>{o!==r&&t[a]!==null&&t[a]!==void 0&&o.setAttribute("href",t[a])})}},[e])}var s=v(S(),1),kr=M.part((e,n)=>(0,s.jsx)(e.TidyFoot,{...n}),{quiet:!0}),xr=M.part((e,n)=>(0,s.jsx)(e.Here,{...n}),{quiet:!0});function Sr(){let e=Y(),[n,t]=(0,y.useState)("");return(0,y.useEffect)(()=>e?.store.subscribe((r,o)=>{o.some(a=>a.author.id!==e.principal.id)&&M.load().then(a=>a.sayTheirChange(o,e,t),String)}),[e]),(0,s.jsx)("span",{role:"status",className:"graview-bar-said",children:n})}var Hn="home",Bn="/",q="scene:whole";function Pr(e){let{store:n,principal:t,views:r}=e,o=n.kindsKeptFrom(t),a=n.schema.kinds.filter(f=>!n.modules.disabledKinds.has(f)&&!o.has(f)),i=r?.arrangement?.(),p=r?.places()??[],c=dn(i,n.schema,p),d=ln(n.schema,i,[...n.modules.administered.values()].flatMap(f=>f.kinds??[])),u=(f,P)=>(!n.graph.size.nodes||n.graph.count(f)>0)&&(c?P?c.places.has(`${f}|${P}`):c.kinds.has(f):!d.has(f)),l=[{key:Hn,label:"Home",path:Bn,group:"home",primary:!0}],g=p.filter(f=>a.includes(f.kind)&&f.as!==cn),w=g.filter(f=>!f.hidden),h=new Set(ne(w).map(f=>j(f,p,n.schema).toLowerCase())),x=f=>tn(f.as,an(f,p)?xe(n.schema,f.kind).slice(1):void 0),b=new Set(i?.hide??[]),H=pn(a,i?.order,w);for(let{kind:f,view:P}of H){if(P){l.push({key:`place:${P.kind}:${P.as}`,label:j(P,p,n.schema),path:x(P),group:"lists",kind:f,primary:c?c.places.has(`${f}|${P.as}`):!0});continue}let W=je(n.schema,f),B=h.has(W.toLowerCase());l.push({key:`kind:${f}`,label:B?Ye(n.schema,f):W,path:xe(n.schema,f),group:"lists",kind:f,primary:B||b.has(f)?!1:u(f),...b.has(f)?{hidden:!0}:{}})}for(let f of ne(g)){if(H.some(B=>B.view&&de(B.view,f)))continue;let P=x(f),W=[f.kind,...f.over??[]].some(B=>a.includes(B)&&u(B,f.as));l.some(B=>B.path===P)||l.push({key:`place:${f.kind}:${f.as}`,label:j(f,p,n.schema),path:P,group:"pictures",kind:f.kind,primary:W,hidden:f.hidden})}return a.some(f=>Object.keys(n.schema.tryDefinition(f)?.edges??{}).length>0)&&l.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),l}function Lr(e,n){let[t="/",r=""]=n.split("?"),o=e.find(i=>i.path===(r?`${t}?${r}`:t))??e.find(i=>i.path===t);if(o)return o.key;let a=`/${t.split("/").filter(Boolean)[0]??""}`;return e.find(i=>i.group==="lists"&&i.path===a)?.key??null}var Nn=(0,y.createContext)(null),Er=()=>(0,y.useContext)(Nn),Z=30,Mn=48,te=640,Me=4,Be=2;function Cn(e){let{widths:n,current:t,room:r,more:o,gap:a=Me,primary:i,most:p=sn}=e;if(n.length===0||!(r>0)||!(o>0)||n.some(l=>!(l>0)))return null;let c=(l,g)=>l.reduce((w,h)=>w+n[h],0)+a*Math.max(0,l.length-1)+(g?a+o:0),d=(l,g)=>t<0||!l.includes(t)||l.slice(0,g).includes(t)?l.slice(0,g):[...l.filter(w=>w!==t).slice(0,g-1),t].sort((w,h)=>w-h),u=d(n.map((l,g)=>g).filter(l=>i?.[l]!==!1||l===t),p);if(c(u,u.length<n.length)<=r)return u.length>=Be?u:null;for(let l=u.length-1;l>=Be;l--){let g=d(u,l);if(c(g,!0)<=r)return g}return null}var Ar=`
2
+ .graview-bar{display:block;margin:0;padding:0;container:graview-bar/inline-size;flex:0 0 auto;position:relative;background:var(--graview-bar);border-bottom:1px solid var(--graview-edge);color:var(--graview-ink);font-family:var(--graview-font-body,system-ui)}
3
+ .graview-bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:${Mn-1}px;margin:0;padding:0 16px}
4
+ .graview-bar-home,.graview-bar-face,.graview-bar-place,.graview-bar-item,.graview-bar-at{display:inline-flex;align-items:center;box-sizing:border-box;min-width:0;margin:0;border:0;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--graview-ink);cursor:pointer;text-align:left}
5
+ .graview-bar-app{display:flex;flex:0 1 auto;max-width:50%}
6
+ .graview-bar-app::after{content:"";flex:0 100000 auto;width:2px;min-width:0}
7
+ .graview-bar-name{margin:0;display:flex;font-family:var(--graview-font-display,var(--graview-font-body,system-ui));font-size:.9375rem;font-weight:600;line-height:1.25}
8
+ .graview-bar-home{gap:8px;min-width:auto;min-height:30px;padding:0;letter-spacing:-.005em}
9
+ .graview-bar-app-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
10
+ .graview-bar-faces{display:inline-flex;flex:0 0 auto;box-sizing:border-box;height:30px;margin:0;padding:2px;gap:2px;border:1px solid var(--graview-edge);border-radius:8px}
11
+ .graview-bar-face{gap:6px;padding:0 10px;border-radius:6px;font-size:.8125rem;white-space:nowrap;color:var(--graview-ink-muted)}
12
+ .graview-bar-face span{min-width:0;max-width:11em;overflow:hidden;text-overflow:ellipsis}
13
+ .graview-bar-face[aria-pressed=true]{color:var(--graview-ink);font-weight:600;background:color-mix(in srgb,var(--graview-accent) 16%,transparent)}
14
+ [data-switch-drawn=icons] .graview-bar-face{padding:0 8px}
15
+ .graview-bar-said,[data-switch-drawn=icons] .graview-bar-face span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
16
+ .graview-bar-mid{display:flex;flex:1 100 0;min-width:0}
17
+ .graview-bar-mid[data-place]{min-width:9em;flex-basis:auto}
18
+ .graview-bar-place-at{position:relative;display:inline-flex;min-width:0;max-width:100%}
19
+ .graview-bar-place{gap:6px;height:30px;max-width:100%;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600}
20
+ .graview-bar-face:hover,.graview-bar-place:hover{border-color:var(--graview-edge);color:var(--graview-ink)}
21
+ .graview-bar-place-words{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
22
+ .graview-bar-mid[data-places=standing]{flex:0 0 auto}
23
+ .graview-bar-places{display:flex;align-items:center;gap:${Me}px;min-width:0;margin:0;padding:0}
24
+ .graview-bar-at{gap:6px;flex:0 0 auto;height:30px;padding:0 8px;border-block:2px solid transparent;border-radius:0;font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--graview-ink-muted)}
25
+ .graview-bar-at:is(:hover,[aria-current],[aria-expanded=true]){color:var(--graview-ink)}
26
+ .graview-bar-at[aria-current]{font-weight:600;border-bottom-color:var(--graview-accent)}
27
+ .graview-bar-ruler{position:absolute;left:0;top:0;display:flex;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
28
+ .graview-bar-ruler .graview-bar-at{font-weight:600}
29
+ .graview-bar-ruler>.graview-bar-name{flex:none;white-space:nowrap;letter-spacing:-.005em}
30
+ .graview-bar-list{display:grid;align-content:start;width:min(320px,calc(100vw - 24px));height:auto;max-height:min(70vh,560px);overflow:auto;margin:0;padding:6px;border-radius:10px;border:1px solid var(--graview-edge);background:var(--graview-float);box-shadow:var(--graview-lift-high);color:var(--graview-ink)}
31
+ .graview-bar-list[hidden]{display:none}
32
+ .graview-bar-list p{margin:8px 8px 2px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graview-ink-muted)}
33
+ .graview-bar-list ul,.graview-bar-list li{display:grid;margin:0;padding:0;list-style:none}
34
+ .graview-bar-item{align-items:flex-start;gap:10px;width:100%;padding:7px 8px;border-radius:7px;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}
35
+ .graview-bar-item:hover{background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
36
+ .graview-bar-item[aria-current]{font-weight:600;background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
37
+ .graview-bar-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:1.3em;color:var(--graview-ink-muted)}
38
+ .graview-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
39
+ .graview-bar-tools{display:contents}
40
+ .graview-bar-tools>*{margin-left:-8px}
41
+ .graview-bar-tools>:is(.graview-bar-find,.graview-bar-find-open){margin-left:auto}
42
+ .graview-bar-own{display:flex;align-items:center;flex:0 0 auto}
43
+ .graview-bar-own:empty{display:none}
44
+ .graview-bar-find{position:relative;display:flex;min-width:7.5rem;flex:0 600 9rem;--graview-bar-find-end:3.25em}
45
+ .graview-bar-find-slot{display:flex;flex:1;min-width:0}
46
+ .graview-bar-find-keys{position:absolute;right:10px;line-height:30px;pointer-events:none;font-size:.75rem;color:var(--graview-ink-faint)}
47
+ .graview-bar-find:is(:focus-within,:has(input:not(:placeholder-shown))){flex-basis:16rem;--graview-bar-find-end:10px}
48
+ :is(:focus-within,:has(input:not(:placeholder-shown)))>.graview-bar-find-keys,.graview-bar-find-open{display:none}
49
+ .graview-bar-line{display:flex;flex:0 0 auto;padding:6px 8px;background:var(--graview-ground);border-bottom:1px solid var(--graview-edge);font-family:var(--graview-font-body,system-ui)}
50
+ .graview-bar-line .graview-bar-place{height:auto;min-height:32px}
51
+ .graview-bar-line .graview-bar-place-words{white-space:normal}
52
+ @media (pointer:coarse){.graview-bar-find-keys{display:none}}
53
+ @container graview-bar (max-width: ${te-1}px){
54
+ .graview-bar-row{gap:10px;padding:0 12px}
55
+ .graview-bar-app,.graview-bar-home{max-width:none;flex:1 1 auto;min-width:28px}
56
+ .graview-bar-name,.graview-bar-app-name{min-width:0}
57
+ .graview-bar-mid,.graview-bar-find{display:none}
58
+ .graview-bar-find-open{display:inline-flex}
59
+ .graview-bar-own{--graview-activity-mark:inline}
60
+ .graview-bar-own .graview-activity-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
61
+ .graview-bar[data-finding] :is(.graview-bar-app,.graview-bar-faces,.graview-bar-find-open){display:none}
62
+ .graview-bar[data-finding] .graview-bar-find{display:flex;flex:1 1 auto;min-width:0}
63
+ }
64
+ @container graview-bar (max-width: 300px){
65
+ .graview-bar-row{gap:4px;padding:0 10px}
66
+ }`,J={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:Z,height:Z,padding:0,borderRadius:8,border:"1px solid transparent",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"0.875rem",cursor:"pointer",flex:"0 0 auto"};function Tr({brand:e,name:n,heading:t=1,home:r,faces:o,places:a,current:i,reach:p,tools:c,find:d=!0,description:u,findBox:l,onFind:g,switch:w="words",scenePlaces:h,skips:x,named:b=!0}){let H=(0,y.useRef)(null),De=Y()?.who.size,[f,P]=(0,y.useState)(null),[W,B]=(0,y.useState)(null),[A,Un]=(0,y.useState)(!1),[Qn,Ie]=(0,y.useState)(!1),[Zn,Jn]=(0,y.useState)(!0),[$e,Xn]=(0,y.useState)(null),oe=o?o.pages.current:!h,ee=oe?{places:a,current:i,reach:p}:h,he=ee&&{...ee,places:rn(ee.places),here:ee.places.find(m=>m.key===ee.current)?.label},k=he&&he.places.length>0?he:null,ve=k?k.places.findIndex(m=>m.key===k.current):-1,_e=!!o&&w==="words",Ke=k?k.places.map(m=>m.primary===!1?"0":"1").join(""):"",I=(0,y.useCallback)(()=>{let m=H.current;if(!m)return;let N=$r(m,ve,_e,Ke);N!==void 0&&Xn(N);let G=N?!0:Br(m);G!==null&&Jn(G)},[ve,_e,Ke]);(0,y.useLayoutEffect)(()=>{let m=H.current;if(!m)return;let N=()=>{let le=m.getBoundingClientRect().width;Un(le<te),m.style.setProperty("--graview-bar-width",`${Math.round(le)}px`),I()};N();let G=typeof document>"u"?void 0:document.fonts;if(G?.ready.then(I),G?.addEventListener?.("loadingdone",I),typeof ResizeObserver>"u")return()=>G?.removeEventListener?.("loadingdone",I);let ke=new ResizeObserver(N);ke.observe(m);for(let le of m.querySelectorAll(".graview-bar-tools > *"))ke.observe(le);return()=>{ke.disconnect(),G?.removeEventListener?.("loadingdone",I)}},[I]);let be=(0,y.useRef)(g);be.current=g,(0,y.useLayoutEffect)(()=>{be.current?.(d&&f?{slot:f,compact:A,own:W}:null)},[d,f,A,W]),(0,y.useLayoutEffect)(()=>()=>be.current?.(null),[]);let er=(0,y.useCallback)(()=>{Ie(!0),requestAnimationFrame(()=>f?.querySelector("input")?.focus())},[f]),We=(0,y.useRef)(null),ie=(0,y.useRef)(!1),Ge=(0,y.useCallback)(()=>{Ie(!1),ie.current&&(ie.current=!1,requestAnimationFrame(()=>We.current?.focus()))},[]),nr=t===!1?"span":`h${t}`,rr=r.href!==void 0?"a":"button",tr=m=>N=>{!m||!On(N)||(N.preventDefault(),m())},ar=!oe,qe=k&&!A&&$e!==null&&!(ve<0&&k.here)?$e.split(",").map(Number).filter(m=>m<k.places.length):null,se=k?(0,s.jsx)(Dr,{places:k.places,current:k.current,here:k.here,reach:k.reach,scene:ar,stands:qe}):null,or=k?k.places.map(m=>m.label).join(`
67
+ `):"";(0,y.useLayoutEffect)(I,[I,n,e,or,k?.current,oe,A,w,d]);let ir=w==="icons"||!Zn||A?"icons":"words";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("header",{ref:H,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...Qn&&A?{"data-finding":""}:{},children:[(0,s.jsx)("style",{children:Ar}),x,(0,s.jsxs)("div",{className:"graview-bar-row",children:[b?(0,s.jsx)("div",{className:"graview-bar-app",children:(0,s.jsx)(nr,{className:"graview-bar-name",children:(0,s.jsxs)(rr,{...r.href!==void 0?{href:r.href,onClick:tr(r.go)}:{type:"button",onClick:r.go},"data-testid":"app-home",...r.current?{"aria-current":"page"}:{},title:u?`${n} \u2014 ${u}`:`${n} \u2014 home`,className:"graview-bar-home",children:[(0,s.jsx)(He,{brand:e,size:20}),(0,s.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:n})]})})}):null,o?(0,s.jsx)(Hr,{faces:o,form:w,drawn:ir}):null,(0,s.jsx)("div",{className:"graview-bar-mid",...qe?{"data-places":"standing"}:!A&&se?{"data-place":""}:{},children:A?null:se}),!A&&k&&k.places.length>1?(0,s.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[k.places.map(m=>(0,s.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,s.jsxs)("span",{className:"graview-bar-at",children:[Ne,(0,s.jsx)(Vn,{})]})]}):null,b?(0,s.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true",children:(0,s.jsx)("span",{className:"graview-bar-name",children:n})}):null,(0,s.jsxs)("div",{className:"graview-bar-tools",children:[d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:We,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:er,style:{...J,display:void 0},children:(0,s.jsx)(Rr,{})}),(0,s.jsxs)("div",{className:"graview-bar-find","data-testid":"app-find",onBlur:m=>{let N=m.relatedTarget;N instanceof Node&&m.currentTarget.contains(N)||m.currentTarget.querySelector("input")?.value||Ge()},onKeyDownCapture:m=>{m.key==="Escape"&&A&&(ie.current=!0)},onKeyDown:m=>{m.key!=="Escape"||!A||(!m.defaultPrevented||!m.currentTarget.querySelector("input")?.value?Ge():ie.current=!1)},children:[(0,s.jsx)("div",{ref:P,className:"graview-bar-find-slot",children:l}),(0,s.jsx)(Mr,{})]})]}):null,(0,s.jsx)("div",{ref:B,className:"graview-bar-own","data-graview-bar-own":""}),De?(0,s.jsx)(y.Suspense,{fallback:null,children:(0,s.jsx)(xr,{scene:!oe,compact:A})}):null,(0,s.jsx)(Sr,{}),c]})]})]}),A&&se?(0,s.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:se}):null]})}function Hr({faces:e,form:n,drawn:t}){let r=o=>{let a=e[o];return(0,s.jsxs)("button",{type:"button",className:"graview-bar-face","data-testid":`app-face-${o}`,"aria-pressed":a.current,title:a.label,...a.reach&&!a.current?{onPointerEnter:a.reach,onPointerDown:a.reach,onFocus:a.reach}:{},onClick:()=>{a.current||a.go()},children:[o==="scene"?(0,s.jsx)(Fn,{}):(0,s.jsx)(Cr,{}),(0,s.jsx)("span",{children:a.label})]})};return(0,s.jsxs)("div",{className:"graview-bar-faces",role:"group","aria-label":`${e.scene.label} or ${e.pages.label}`,"data-testid":"app-faces","data-switch":n,"data-switch-drawn":t,children:[r("scene"),r("pages")]})}function Br(e){let n=e.querySelector(".graview-bar-faces"),t=e.querySelector(".graview-bar-mid"),r=e.querySelector(".graview-bar-find");if(!n||!t||r?.matches(":focus-within")||e.getBoundingClientRect().width<te)return null;let a=In(n),i=t.querySelector(".graview-bar-place-words"),p=i?parseFloat(getComputedStyle(i).fontSize)||14:0,c=i?Math.min(i.scrollWidth+34,14*p):0,d=Rn(e);if(d===null)return!1;let u=t.getBoundingClientRect().width-c-d;if(r&&r.getBoundingClientRect().width>0){let l=parseFloat(getComputedStyle(r).flexBasis);isFinite(l)&&(u-=Math.max(0,l-r.getBoundingClientRect().width))}return n.getAttribute("data-switch-drawn")==="icons"?u>=a+2:u>=-1}function Rn(e){let n=e.querySelector(".graview-bar-app"),t=e.querySelector(".graview-bar-ruler>.graview-bar-name");if(!n||!t)return 0;let r=i=>i?.getBoundingClientRect().width??0,o=r(n.firstElementChild)-r(e.querySelector(".graview-bar-app-name"))+r(t)+2,a=parseFloat(getComputedStyle(n).maxWidth)/100*(n.parentElement.clientWidth-2*n.offsetLeft)||1/0;return o>a+.5?null:Math.max(0,o-r(n))}var On=e=>e.button===0&&!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey);function Nr(){let e=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(e)?"\u2318K":"Ctrl K"}function Mr(){let e=Sn(Y()?.aiDesk);return(0,s.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:e?"/":Nr()})}function ae({size:e,box:n=e,children:t}){return(0,s.jsx)("svg",{width:e,height:e,viewBox:`0 0 ${n} ${n}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:t})}function Fn(){return(0,s.jsxs)(ae,{size:14,children:[(0,s.jsx)("path",{d:"M7 1.5 L12.5 4.5 L7 7.5 L1.5 4.5 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"M1.5 7.5 L7 10.5 L12.5 7.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Cr(){return(0,s.jsxs)(ae,{size:14,children:[(0,s.jsx)("rect",{x:"2.25",y:"1.75",width:"9.5",height:"10.5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,s.jsx)("path",{d:"M4.5 5 H9.5 M4.5 7.25 H9.5 M4.5 9.5 H7.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function Vn(){return(0,s.jsx)(ae,{size:10,children:(0,s.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Rr(){return(0,s.jsxs)(ae,{size:16,children:[(0,s.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,s.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Or({place:e}){if(e.key===q)return(0,s.jsx)(Fn,{});if(e.group==="home")return(0,s.jsx)(ae,{size:13,box:14,children:(0,s.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let n=e.kind?`hsl(${Math.round(Ze(e.kind))} 55% 52%`:"rgb(128 128 128";return(0,s.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:e.group==="lists"?`${n})`:`linear-gradient(${n}), ${n})) center / 6px 4px no-repeat, ${n} / 0.35)`}})}var Fr=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],Ne="More";function Dn({place:e,current:n,reach:t,standing:r,done:o}){let a=e.key===n,i=t.href?.(e.path);return(0,s.jsxs)(i!==void 0?"a":"button",{className:r?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${e.key}`,"data-place-path":e.path,...a?{"aria-current":"page"}:{},...i!==void 0?{href:i}:{type:"button"},onClick:c=>{o(),t.go&&(i!==void 0&&!On(c)||(c.preventDefault(),t.go(e)))},children:[r?null:(0,s.jsx)("span",{className:"graview-bar-mark",children:(0,s.jsx)(Or,{place:e})}),r&&a?(0,s.jsx)("span",{"data-testid":"app-place-current",children:e.label}):(0,s.jsx)("span",{children:e.label})]})}function Vr({places:e,current:n,reach:t,id:r,done:o}){return(0,s.jsx)(s.Fragment,{children:Fr.map(({group:a,heading:i})=>{let p=e.filter(d=>d.group===a);if(p.length===0)return null;let c=`${r}-${a}`;return(0,s.jsxs)("div",{role:"group",...i?{"aria-labelledby":c}:{"aria-label":p[0].label},"data-place-group":a,children:[i?(0,s.jsx)("p",{id:c,children:i}):null,(0,s.jsx)("ul",{children:p.map(d=>(0,s.jsx)("li",{children:(0,s.jsx)(Dn,{place:d,current:n,reach:t,standing:!1,done:o})},d.key))})]},a)})})}function Dr({places:e,current:n,here:t,reach:r,scene:o,stands:a}){let i=Q("places"),p=(0,y.useRef)(a);i.open||(p.current=a);let c=p.current,u=e.find(b=>b.key===n)?.label??t??"Places",l=c?e.filter((b,H)=>!c.includes(H)):e,g=Ir(e,n,o),w=Y(),h=w?.keptViews?.current(),x=!!(h&&(h.removed.length>0||w.views.places().some(b=>b.hidden)||h.may.lenses&&(w.views.arrangement?.()?.hide?.length??0)>0));return(0,s.jsxs)("nav",{className:c?"graview-bar-places":"graview-bar-place-at","aria-label":o?"What the scene shows":"The app\u2019s places",...c?{"data-testid":"app-places-standing"}:{},...g,children:[c?.map(b=>(0,s.jsx)(Dn,{place:e[b],current:n,reach:r,standing:!0,done:()=>{}},e[b].key)),l.length>0||x?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",className:c?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...i.trigger,onClick:i.toggle,"aria-label":c?`${Ne} \u2014 ${l.length} more ${o?"pictures":"places"}`:`${u} \u2014 ${o?"everything the scene shows":"every place"}`,title:c?l.map(b=>b.label).join(", "):u,children:[c?Ne:(0,s.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:u}),(0,s.jsx)(Vn,{})]}),(0,s.jsxs)("div",{...i.pane,"data-testid":"app-places",hidden:!i.open,className:"graview-bar-list",style:U,children:[(0,s.jsx)(Vr,{places:l,current:n,reach:r,id:i.pane.id,done:()=>i.setOpen(!1)}),x&&i.open?(0,s.jsx)(y.Suspense,{fallback:null,children:(0,s.jsx)(kr,{id:i.pane.id,scene:o,reach:r,done:()=>i.setOpen(!1)})}):null]})]}):null]})}function Ir(e,n,t){let r=Y()?.setMenuAt,o=a=>{let i=a.target.closest?.("[data-place-path],[data-testid=app-places-open]");if(!i||!r)return;let p={at:0};a.type==="pointerdown"?document.addEventListener("pointerup",()=>p.at||=Date.now(),{once:!0}):a.preventDefault();let c=a.nativeEvent;M.load().then(d=>d.placeGesture(c,i,e,n,t,r,p),String)};return{onContextMenu:a=>a.shiftKey||o(a),onKeyDown:a=>(a.key==="ContextMenu"||a.key==="F10"&&a.shiftKey)&&o(a),onPointerDown:a=>a.pointerType!=="mouse"&&a.isPrimary&&o(a)}}function $r(e,n,t,r){let o=e.querySelector("[data-graview-bar-ruler]"),a=e.querySelector(".graview-bar-mid");if(!o||!a)return null;let i=e.querySelector(".graview-bar-find");if(i?.matches(":focus-within"))return;if(e.getBoundingClientRect().width<te)return null;let p=Rn(e);if(p===null)return null;let c=[...o.children].map(H=>H.getBoundingClientRect().width),d=c.pop()??0,u=e.querySelector(".graview-bar-faces"),l=u&&t?In(u):0,g=u?.getAttribute("data-switch-drawn")==="words"?l:0,w=a.getBoundingClientRect().left+p,h=i?.getBoundingClientRect(),x=h&&h.width>0?h.right-w-(parseFloat(getComputedStyle(i).minWidth)||0)-16:a.getBoundingClientRect().width-p,b=[...r].map(H=>H!=="0");return Cn({widths:c,current:n,room:Math.floor(x+g-l),more:d,primary:b})?.join(",")??null}function In(e){return[...e.querySelectorAll(".graview-bar-face span")].reduce((n,t)=>n+t.scrollWidth+10,0)}var _r=e=>`graview:lenses:${e}`,Kr=(e,n)=>e?.name??n.kinds.join(",");function Ce(e){try{let n=JSON.parse(localStorage.getItem(_r(e))??"[]");return Array.isArray(n)?n.filter(t=>typeof t?.title=="string"&&typeof t.lens=="string"):[]}catch{return[]}}var _=v(R(),1);var E=v(S(),1);function Wr({scheme:e,onScheme:n,profileHref:t,keeping:r,hostActions:o=Gr,signature:a=!1}){let{store:i,principal:p,seats:c,people:d}=ce(),u=Q("profile"),l=u.open,[g,w]=(0,_.useState)(!1);(0,_.useEffect)(()=>jr(fe),[]),l&&!g&&w(!0),(0,_.useEffect)(()=>{l&&fe()},[l]);let h=p.id===void 0?void 0:i.graph.getNode(p.id),x=h===void 0?p.id===void 0?"Nobody in particular":Ue(p,{graph:i.graph,schema:i.schema,seats:c,people:d}):ze(i.schema.tryDefinition(h.kind),h);return(0,E.jsxs)("div",{style:{position:"relative"},children:[(0,E.jsx)("button",{type:"button","data-testid":"profile-button",...u.trigger,onClick:u.toggle,onPointerEnter:fe,onFocus:fe,"aria-label":`${x} \u2014 you, your seat and your settings`,title:`${x} \u2014 you, your seat and your settings`,style:{...J,borderRadius:999},children:(0,E.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:Z-4,height:Z-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:Yr(x)})}),(0,E.jsxs)("section",{...u.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!l,style:{...U,width:280,maxWidth:"calc(100vw - 32px)",maxHeight:"min(62cqh, 520px)",overflowY:"auto",overflowX:"hidden",display:l?"grid":"none",gap:12,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[g?(0,E.jsx)(_.Suspense,{fallback:null,children:(0,E.jsx)(qr,{part:"top",name:x,me:h,profileHref:t,hostActions:o,close:()=>u.setOpen(!1)})}):null,(0,E.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:Qr,children:[(0,E.jsx)("span",{style:Ur,children:"Keeping this app"}),r]}),g?(0,E.jsx)(_.Suspense,{fallback:null,children:(0,E.jsx)(zr,{part:"rest",name:x,me:h,scheme:e,onScheme:n,hostActions:o,signature:a,close:()=>u.setOpen(!1)})}):null]})]})}var Gr=[],fe=()=>M.prefetch(),qr=M.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{what:"The rest of your menu"}),zr=M.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{quiet:!0});function jr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},t=globalThis;if(t.requestIdleCallback){let o=t.requestIdleCallback(n,{timeout:5e3});return()=>t.cancelIdleCallback?.(o)}let r=setTimeout(n,2500);return()=>clearTimeout(r)}function Yr(e){return(e.trim()[0]??"?").toUpperCase()}var Ur={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},Qr={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function Zr(e){return!(e==="hidden"||e===!1)}var Re=v(R(),1);var $n="The whole thing",ge=e=>`scene:${e.kind}:${e.as}`;function _n(e){let{view:n}=e,t=e.places.filter(l=>!e.hidden.has(l.kind)),r=ne(t),o=(l,g)=>{if(l===q)return un(fn(g,!0),"view",null);let w=r.find(h=>ge(h)===l);return w?mn(g,w.over?.find(h=>g.focusId===re(h))??w.kind,w.as):null},a=n.within?.view,i=l=>n.focusId===re(l.kind)&&(a===void 0?t.filter(g=>g.kind===l.kind).at(-1)===l:a===l.as),p=t.find(l=>i(l)&&(a!==void 0||!n.overview)),c=p?r.find(l=>de(l,p)):void 0,d=r.filter(l=>!l.hidden||l===c);return{places:[{key:q,label:$n,path:`${Se}${Le(o(q,Pe))}`,group:"home"},...d.map(l=>({key:ge(l),label:j(l,t,e.schema),path:`${Se}${Le(o(ge(l),Pe))}`,group:"pictures",kind:l.kind,hidden:l.hidden}))],current:c?ge(c):q,to:o}}function Jr(){let{store:e,views:n,hiddenKinds:t}=ce(),{view:r,go:o}=bn(),a=n.places(),i=(0,Re.useMemo)(()=>_n({places:a,hidden:t,view:r,schema:e.schema}),[a,t,r,e.schema]),p=(0,Re.useMemo)(()=>({go:c=>{let d=i.to(c.key,r);d&&o(d)}}),[i,r,o]);return{places:i.places,current:i.current,reach:p}}var X=v(R(),1);var F=v(S(),1),Xr=M.part((e,n)=>(0,F.jsx)(e.ProblemRows,{...n}),{what:"The problems",as:"li"}),Oe=()=>M.prefetch();function et({clean:e="All rules hold"}){let n=vn(),{set:t}=hn(),r=n.length,[o,a]=(0,X.useState)(!1),i=Q("problems",{open:o&&r>0,onOpenChange:a}),p=i.open,c=Wn(n,e);return(0,X.useEffect)(()=>{if(r===0)return;let d=setTimeout(Oe,1500);return()=>clearTimeout(d)},[r>0]),(0,F.jsxs)("div",{style:{position:"relative",display:"inline-flex"},children:[(0,F.jsxs)("button",{type:"button","data-testid":"standing",...i.trigger,"aria-disabled":r===0?!0:void 0,"aria-label":c,onClick:r===0?void 0:i.toggle,onPointerEnter:r===0?void 0:Oe,onFocus:r===0?void 0:Oe,title:c,style:{...J,padding:r===0?0:"0 8px",cursor:r===0?"default":"pointer",color:r===0?"var(--graview-ink-muted)":Kn(n),fontVariantNumeric:"tabular-nums",fontWeight:600},children:[(0,F.jsx)(Gn,{tone:r===0?"var(--graview-good)":Kn(n)}),r>0?(0,F.jsx)("span",{"aria-hidden":"true",children:r}):null]}),p?(0,F.jsx)("ol",{...i.pane,"data-testid":"problems",style:{...U,width:300,maxHeight:"min(48cqh, 420px)",overflow:"auto",margin:0,padding:4,listStyle:"none",display:"grid",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:(0,F.jsx)(X.Suspense,{fallback:null,children:(0,F.jsx)(Xr,{violations:n,pick:d=>{t(d.nodeIds),i.setOpen(!1)}})})}):null]})}function Wn(e,n){return e.length===0?n:`${Qe(e)} \u2014 open what is broken, and what would fix it`}var Kn=e=>e.some(n=>n.status==="could-not-judge"||n.status==="over-budget")?"var(--graview-bad)":"var(--graview-warn)";function Gn({tone:e}){return(0,F.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:e}})}function nt(e,n,t=[]){if(e.focusId)return e.focusId;let o=(e.selection??[]).map(gn).find(a=>a!==null)??t.find(a=>n.includes(a))??n[0]??null;return o===null?null:re(o)}var ye=v(S(),1),me=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.MDWCX3YU.js","./chunk.CB5DGKR5.js","./chunk.GKLDSHHH.js","./chunk.OCV46AFN.js","./chunk.PZ4G5QA5.js","./chunk.Y36MLVMT.js","./chunk.MPMROUZA.js","./chunk.XZJ6XX5I.js","./chunk.4F5M5XZG.js","./chunk.LVOL2LEC.js","./chunk.3G5DEGFA.js","./chunk.OZ4EJ5M6.js","./chunk.WVUJXDXZ.js","./chunk.3V2WXZU3.js","./chunk.7UD2JR6J.js","./chunk.BUDEUNBN.js","./chunk.3IEJQAK7.js","./chunk.AKLVSZ5A.js","./chunk.ZUBC3UFG.js","./chunk.GZHZLJBF.js","./chunk.PZWJUQAO.js","./chunk.OJGHDWI6.js","./chunk.NEJSKMJV.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.FWZF7X6A.js","./chunk.3JMZHCB4.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.LYFEGG6E.js"))));function rt(){return me.load().then(()=>{})}var tt=[{cardinality:"one",fidelity:"full",slot:"page"},{cardinality:"one",fidelity:"summary",slot:"card"},{cardinality:"one",fidelity:"glyph",slot:"row"},{cardinality:"many",fidelity:"full"},{cardinality:"many",fidelity:"summary"},{cardinality:"many",fidelity:"glyph"}];function at({schema:e,specs:n,kind:t,view:r}){let o=me.current.frameworkViews(e,n).lookup(t,{cardinality:r.cardinality,fidelity:r.fidelity});return o?(0,ye.jsx)(o,{...r}):null}var ot=me.part((e,n)=>(0,ye.jsx)(at,{...n}),{what:"This view"});function qn(e,n,t){for(let r of n.kinds){let o=t?.[r];for(let a of tt){let i=c=>(0,ye.jsx)(ot,{schema:n,specs:t,kind:r,view:c}),p=a.slot!==void 0&&o?.[a.slot]!==void 0;p&&(i.says=(c,d)=>me.current?.frameworkViews(n,t).lookup(r,{cardinality:a.cardinality,fidelity:a.fidelity})?.says?.(c,d)),e.register(r,{cardinality:a.cardinality,fidelity:a.fidelity},p?i:yn(i))}}return e}function it(e,n){return qn(wn(e),e,n)}var Fe=v(R(),1);var D=v(S(),1),zn=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.KJGNLWU3.js","./chunk.GVUJCOKD.js","./chunk.3ZONBC6L.js","./chunk.FWKNR7XF.js","./chunk.MDWCX3YU.js","./chunk.CB5DGKR5.js","./chunk.GKLDSHHH.js","./chunk.OCV46AFN.js","./chunk.4KTHJY5N.js","./chunk.PZ4G5QA5.js","./chunk.Y36MLVMT.js","./chunk.MPMROUZA.js","./chunk.HJCQ6I3S.js","./chunk.5C43AM3X.js","./chunk.4WH4N4V7.js","./chunk.MVRNEC3Y.js","./chunk.XZJ6XX5I.js","./chunk.4F5M5XZG.js","./chunk.LVOL2LEC.js","./chunk.3G5DEGFA.js","./chunk.OZ4EJ5M6.js","./chunk.BOMYLOCX.js","./chunk.45HTFSWD.js","./chunk.Q6RUTFU3.js","./chunk.AZGXBTOQ.js","./chunk.AG7CUSSV.js","./chunk.C6HBYRGJ.js","./chunk.WVUJXDXZ.js","./chunk.3V2WXZU3.js","./chunk.7UD2JR6J.js","./chunk.BUDEUNBN.js","./chunk.3IEJQAK7.js","./chunk.AKLVSZ5A.js","./chunk.ZUBC3UFG.js","./chunk.GZHZLJBF.js","./chunk.PZWJUQAO.js","./chunk.OJGHDWI6.js","./chunk.NEJSKMJV.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.FWZF7X6A.js","./chunk.3JMZHCB4.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.SG7YVKH4.js"))));function st({lens:e,view:n}){let t=zn.current.declaredLensView(e);return(0,D.jsx)(t,{...n})}var lt=zn.part((e,n)=>(0,D.jsx)(st,{...n}),{what:"This picture"});function dt(e){let n=r=>(0,D.jsx)(Fe.Suspense,{fallback:null,children:(0,D.jsx)(lt,{lens:e,view:r})});e.lens==="blocks"&&(n.flows=!0);let t=e.lens==="blocks"?e.options.blocks?.[0]:void 0;return typeof t?.headline=="string"&&(n.lede=t),e.create===!1&&(n.creates=!1),n}var jn=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.MDWCX3YU.js","./chunk.CB5DGKR5.js","./chunk.GKLDSHHH.js","./chunk.OCV46AFN.js","./chunk.PZ4G5QA5.js","./chunk.Y36MLVMT.js","./chunk.MPMROUZA.js","./chunk.XZJ6XX5I.js","./chunk.4F5M5XZG.js","./chunk.LVOL2LEC.js","./chunk.3G5DEGFA.js","./chunk.OZ4EJ5M6.js","./chunk.WVUJXDXZ.js","./chunk.3V2WXZU3.js","./chunk.7UD2JR6J.js","./chunk.BUDEUNBN.js","./chunk.3IEJQAK7.js","./chunk.AKLVSZ5A.js","./chunk.ZUBC3UFG.js","./chunk.GZHZLJBF.js","./chunk.PZWJUQAO.js","./chunk.OJGHDWI6.js","./chunk.NEJSKMJV.js","./chunk.5ZWE72VJ.js","./chunk.RLO3RDYH.js","./chunk.TUNHUTQ5.js","./chunk.FWZF7X6A.js","./chunk.3JMZHCB4.js","./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.JXGDVJ4N.js"))));function ct({blocks:e,view:n}){let t=jn.current.homeView(e);return(0,D.jsx)(t,{...n})}var pt=jn.part((e,n)=>(0,D.jsx)(ct,{...n}),{what:"The home"});function ut(e){let n=t=>(0,D.jsx)(Fe.Suspense,{fallback:null,children:(0,D.jsx)(pt,{blocks:e,view:t})});return Object.defineProperty(n,Symbol.for("graview.home-blocks"),{value:!0}),n}function ft(e,n){return n.home&&n.home.length>0&&e.home?.(ut(n.home)),Yn(e,n),e.arrange?.(n.pages),e}function Yn(e,n,t){for(let r of on(n).drawn){if(t&&e.places().some(i=>i.title===r.title))continue;let o=dt(r),a={title:r.title,lens:r.lens,...r.across?{across:r.across}:{},...t?{beside:t}:{},...r.hidden?{hidden:!0}:{},over:r.kinds,...t?{}:{declared:!0}};for(let i of r.kinds)e.register(i,{cardinality:"many",fidelity:"full"},o,a),e.register(i,{cardinality:"many",fidelity:"summary"},o,a)}}function gt(e,n,t){t.length>0&&Yn(e,{schema:n,lenses:t.map(({lens:r,...o})=>({...o,name:r}))},!0)}function mt(e,n,t){gt(e,n,Ce(t))}var K=v(R(),1),we=v(S(),1);var Ve=e=>`graview:first-look:${e}`;function yt(e,n){if(e.seen!==void 0)try{return typeof e.seen=="function"?e.seen():e.seen}catch{return!0}try{return window.localStorage.getItem(Ve(n))!==null}catch{return!1}}function wt(e,n){if(e.seen===void 0)try{window.localStorage.setItem(Ve(n),"seen")}catch{}}var ht=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.SF4BYBH6.js","./chunk.SDO3U72B.js","./chunk.3MZIWKNG.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.4GHXAWIE.js")))),vt=ht.part((e,n)=>{let t=e.FirstLookHints;return(0,we.jsx)(t,{...n})},{quiet:!0});function bt({firstLook:e,root:n,app:t}){let r=(0,K.useRef)(null);r.current=e===!0?{}:e||null;let[o,a]=(0,K.useState)(()=>r.current!==null&&typeof window<"u"&&!yt(r.current,t)),i=(0,K.useCallback)(p=>{if(a(!1),p===null)return;let c=r.current??{};wt(c,t),c.onDone?.(p)},[t]);return!o||r.current===null?null:(0,we.jsx)(K.Suspense,{fallback:null,children:(0,we.jsx)(vt,{root:n,steps:r.current.steps??[],onEnd:i})})}export{pe as a,lr as b,kt as c,Sn as d,xt as e,Te as f,br as g,pr as h,ur as i,ue as j,fr as k,mr as l,yr as m,wr as n,M as o,Pr as p,Lr as q,Nn as r,Er as s,J as t,Tr as u,Wr as v,Zr as w,Jr as x,_r as y,Kr as z,Ce as A,et as B,Wn as C,Gn as D,nt as E,ft as F,gt as G,mt as H,rt as I,it as J,bt as K};