@sirius-mcp/mcp 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/adapters/crawl/csharp.d.ts +3 -0
  2. package/dist/adapters/crawl/csharp.d.ts.map +1 -0
  3. package/dist/adapters/crawl/csharp.js +15 -0
  4. package/dist/adapters/crawl/csharp.js.map +1 -0
  5. package/dist/adapters/crawl/go.d.ts +3 -0
  6. package/dist/adapters/crawl/go.d.ts.map +1 -0
  7. package/dist/adapters/crawl/go.js +16 -0
  8. package/dist/adapters/crawl/go.js.map +1 -0
  9. package/dist/adapters/crawl/index.d.ts +3 -0
  10. package/dist/adapters/crawl/index.d.ts.map +1 -0
  11. package/dist/adapters/crawl/index.js +16 -0
  12. package/dist/adapters/crawl/index.js.map +1 -0
  13. package/dist/adapters/crawl/java.d.ts +3 -0
  14. package/dist/adapters/crawl/java.d.ts.map +1 -0
  15. package/dist/adapters/crawl/java.js +19 -0
  16. package/dist/adapters/crawl/java.js.map +1 -0
  17. package/dist/adapters/crawl/js-ts.d.ts +3 -0
  18. package/dist/adapters/crawl/js-ts.d.ts.map +1 -0
  19. package/dist/adapters/crawl/js-ts.js +11 -0
  20. package/dist/adapters/crawl/js-ts.js.map +1 -0
  21. package/dist/adapters/crawl/python.d.ts +3 -0
  22. package/dist/adapters/crawl/python.d.ts.map +1 -0
  23. package/dist/adapters/crawl/python.js +19 -0
  24. package/dist/adapters/crawl/python.js.map +1 -0
  25. package/dist/adapters/crawl/rust.d.ts +3 -0
  26. package/dist/adapters/crawl/rust.d.ts.map +1 -0
  27. package/dist/adapters/crawl/rust.js +15 -0
  28. package/dist/adapters/crawl/rust.js.map +1 -0
  29. package/dist/adapters/db/sqlite-vec-adapter.d.ts +31 -0
  30. package/dist/adapters/db/sqlite-vec-adapter.d.ts.map +1 -0
  31. package/dist/adapters/db/sqlite-vec-adapter.js +191 -0
  32. package/dist/adapters/db/sqlite-vec-adapter.js.map +1 -0
  33. package/dist/adapters/embedding/transformers-onnx-adapter.d.ts +15 -0
  34. package/dist/adapters/embedding/transformers-onnx-adapter.d.ts.map +1 -0
  35. package/dist/adapters/embedding/transformers-onnx-adapter.js +125 -0
  36. package/dist/adapters/embedding/transformers-onnx-adapter.js.map +1 -0
  37. package/dist/adapters/fs/atomic.d.ts +2 -0
  38. package/dist/adapters/fs/atomic.d.ts.map +1 -0
  39. package/dist/adapters/fs/atomic.js +18 -0
  40. package/dist/adapters/fs/atomic.js.map +1 -0
  41. package/dist/adapters/fs/config.d.ts +6 -0
  42. package/dist/adapters/fs/config.d.ts.map +1 -0
  43. package/dist/adapters/fs/config.js +30 -0
  44. package/dist/adapters/fs/config.js.map +1 -0
  45. package/dist/adapters/fs/container-mounts.d.ts +4 -0
  46. package/dist/adapters/fs/container-mounts.d.ts.map +1 -0
  47. package/dist/adapters/fs/container-mounts.js +51 -0
  48. package/dist/adapters/fs/container-mounts.js.map +1 -0
  49. package/dist/adapters/fs/source-scan.d.ts +16 -0
  50. package/dist/adapters/fs/source-scan.d.ts.map +1 -0
  51. package/dist/adapters/fs/source-scan.js +118 -0
  52. package/dist/adapters/fs/source-scan.js.map +1 -0
  53. package/dist/adapters/fs/source-walk.d.ts +16 -0
  54. package/dist/adapters/fs/source-walk.d.ts.map +1 -0
  55. package/dist/adapters/fs/source-walk.js +195 -0
  56. package/dist/adapters/fs/source-walk.js.map +1 -0
  57. package/dist/adapters/fs/structure.d.ts +22 -0
  58. package/dist/adapters/fs/structure.d.ts.map +1 -0
  59. package/dist/adapters/fs/structure.js +146 -0
  60. package/dist/adapters/fs/structure.js.map +1 -0
  61. package/dist/adapters/fs/watch-fs.d.ts +61 -0
  62. package/dist/adapters/fs/watch-fs.d.ts.map +1 -0
  63. package/dist/adapters/fs/watch-fs.js +244 -0
  64. package/dist/adapters/fs/watch-fs.js.map +1 -0
  65. package/dist/adapters/http/embedded-server.d.ts +69 -0
  66. package/dist/adapters/http/embedded-server.d.ts.map +1 -0
  67. package/dist/adapters/http/embedded-server.js +270 -0
  68. package/dist/adapters/http/embedded-server.js.map +1 -0
  69. package/dist/adapters/http/raw-handler.d.ts +11 -0
  70. package/dist/adapters/http/raw-handler.d.ts.map +1 -0
  71. package/dist/adapters/http/raw-handler.js +87 -0
  72. package/dist/adapters/http/raw-handler.js.map +1 -0
  73. package/dist/adapters/http/security-middleware.d.ts +5 -0
  74. package/dist/adapters/http/security-middleware.d.ts.map +1 -0
  75. package/dist/adapters/http/security-middleware.js +48 -0
  76. package/dist/adapters/http/security-middleware.js.map +1 -0
  77. package/dist/adapters/license/fileStore.d.ts +4 -0
  78. package/dist/adapters/license/fileStore.d.ts.map +1 -0
  79. package/dist/adapters/license/fileStore.js +103 -0
  80. package/dist/adapters/license/fileStore.js.map +1 -0
  81. package/dist/adapters/license/offline.d.ts +34 -0
  82. package/dist/adapters/license/offline.d.ts.map +1 -0
  83. package/dist/adapters/license/offline.js +86 -0
  84. package/dist/adapters/license/offline.js.map +1 -0
  85. package/dist/adapters/license/phone-home.d.ts +56 -0
  86. package/dist/adapters/license/phone-home.d.ts.map +1 -0
  87. package/dist/adapters/license/phone-home.js +118 -0
  88. package/dist/adapters/license/phone-home.js.map +1 -0
  89. package/dist/adapters/mcp/crawl.d.ts +7 -0
  90. package/dist/adapters/mcp/crawl.d.ts.map +1 -0
  91. package/dist/adapters/mcp/crawl.js +57 -0
  92. package/dist/adapters/mcp/crawl.js.map +1 -0
  93. package/dist/adapters/mcp/get.d.ts +5 -0
  94. package/dist/adapters/mcp/get.d.ts.map +1 -0
  95. package/dist/adapters/mcp/get.js +57 -0
  96. package/dist/adapters/mcp/get.js.map +1 -0
  97. package/dist/adapters/mcp/index.d.ts +23 -0
  98. package/dist/adapters/mcp/index.d.ts.map +1 -0
  99. package/dist/adapters/mcp/index.js +51 -0
  100. package/dist/adapters/mcp/index.js.map +1 -0
  101. package/dist/adapters/mcp/init.d.ts +5 -0
  102. package/dist/adapters/mcp/init.d.ts.map +1 -0
  103. package/dist/adapters/mcp/init.js +52 -0
  104. package/dist/adapters/mcp/init.js.map +1 -0
  105. package/dist/adapters/mcp/list.d.ts +5 -0
  106. package/dist/adapters/mcp/list.d.ts.map +1 -0
  107. package/dist/adapters/mcp/list.js +63 -0
  108. package/dist/adapters/mcp/list.js.map +1 -0
  109. package/dist/adapters/mcp/reindex.d.ts +6 -0
  110. package/dist/adapters/mcp/reindex.d.ts.map +1 -0
  111. package/dist/adapters/mcp/reindex.js +38 -0
  112. package/dist/adapters/mcp/reindex.js.map +1 -0
  113. package/dist/adapters/mcp/resources.d.ts +20 -0
  114. package/dist/adapters/mcp/resources.d.ts.map +1 -0
  115. package/dist/adapters/mcp/resources.js +111 -0
  116. package/dist/adapters/mcp/resources.js.map +1 -0
  117. package/dist/adapters/mcp/search.d.ts +7 -0
  118. package/dist/adapters/mcp/search.d.ts.map +1 -0
  119. package/dist/adapters/mcp/search.js +56 -0
  120. package/dist/adapters/mcp/search.js.map +1 -0
  121. package/dist/adapters/mcp/upsert.d.ts +6 -0
  122. package/dist/adapters/mcp/upsert.d.ts.map +1 -0
  123. package/dist/adapters/mcp/upsert.js +116 -0
  124. package/dist/adapters/mcp/upsert.js.map +1 -0
  125. package/dist/adapters/sqlite/ftsIndex.d.ts +35 -0
  126. package/dist/adapters/sqlite/ftsIndex.d.ts.map +1 -0
  127. package/dist/adapters/sqlite/ftsIndex.js +208 -0
  128. package/dist/adapters/sqlite/ftsIndex.js.map +1 -0
  129. package/dist/adapters/update/check.d.ts +42 -0
  130. package/dist/adapters/update/check.d.ts.map +1 -0
  131. package/dist/adapters/update/check.js +113 -0
  132. package/dist/adapters/update/check.js.map +1 -0
  133. package/dist/adapters/update/status.d.ts +8 -0
  134. package/dist/adapters/update/status.d.ts.map +1 -0
  135. package/dist/adapters/update/status.js +26 -0
  136. package/dist/adapters/update/status.js.map +1 -0
  137. package/dist/app/crawl.d.ts +27 -0
  138. package/dist/app/crawl.d.ts.map +1 -0
  139. package/dist/app/crawl.js +156 -0
  140. package/dist/app/crawl.js.map +1 -0
  141. package/dist/app/get.d.ts +64 -0
  142. package/dist/app/get.d.ts.map +1 -0
  143. package/dist/app/get.js +130 -0
  144. package/dist/app/get.js.map +1 -0
  145. package/dist/app/index-lifecycle.d.ts +14 -0
  146. package/dist/app/index-lifecycle.d.ts.map +1 -0
  147. package/dist/app/index-lifecycle.js +43 -0
  148. package/dist/app/index-lifecycle.js.map +1 -0
  149. package/dist/app/index-status.d.ts +29 -0
  150. package/dist/app/index-status.d.ts.map +1 -0
  151. package/dist/app/index-status.js +20 -0
  152. package/dist/app/index-status.js.map +1 -0
  153. package/dist/app/init.d.ts +27 -0
  154. package/dist/app/init.d.ts.map +1 -0
  155. package/dist/app/init.js +46 -0
  156. package/dist/app/init.js.map +1 -0
  157. package/dist/app/license-gate.d.ts +10 -0
  158. package/dist/app/license-gate.d.ts.map +1 -0
  159. package/dist/app/license-gate.js +24 -0
  160. package/dist/app/license-gate.js.map +1 -0
  161. package/dist/app/list.d.ts +36 -0
  162. package/dist/app/list.d.ts.map +1 -0
  163. package/dist/app/list.js +42 -0
  164. package/dist/app/list.js.map +1 -0
  165. package/dist/app/loadProjectConfig.d.ts +16 -0
  166. package/dist/app/loadProjectConfig.d.ts.map +1 -0
  167. package/dist/app/loadProjectConfig.js +48 -0
  168. package/dist/app/loadProjectConfig.js.map +1 -0
  169. package/dist/app/reindex.d.ts +27 -0
  170. package/dist/app/reindex.d.ts.map +1 -0
  171. package/dist/app/reindex.js +97 -0
  172. package/dist/app/reindex.js.map +1 -0
  173. package/dist/app/search-orchestrator.d.ts +13 -0
  174. package/dist/app/search-orchestrator.d.ts.map +1 -0
  175. package/dist/app/search-orchestrator.js +63 -0
  176. package/dist/app/search-orchestrator.js.map +1 -0
  177. package/dist/app/search.d.ts +28 -0
  178. package/dist/app/search.d.ts.map +1 -0
  179. package/dist/app/search.js +45 -0
  180. package/dist/app/search.js.map +1 -0
  181. package/dist/app/upsert.d.ts +75 -0
  182. package/dist/app/upsert.d.ts.map +1 -0
  183. package/dist/app/upsert.js +79 -0
  184. package/dist/app/upsert.js.map +1 -0
  185. package/dist/app/vector-backfill.d.ts +27 -0
  186. package/dist/app/vector-backfill.d.ts.map +1 -0
  187. package/dist/app/vector-backfill.js +78 -0
  188. package/dist/app/vector-backfill.js.map +1 -0
  189. package/dist/app/watch.d.ts +56 -0
  190. package/dist/app/watch.d.ts.map +1 -0
  191. package/dist/app/watch.js +154 -0
  192. package/dist/app/watch.js.map +1 -0
  193. package/dist/app/web-portal-search.d.ts +11 -0
  194. package/dist/app/web-portal-search.d.ts.map +1 -0
  195. package/dist/app/web-portal-search.js +97 -0
  196. package/dist/app/web-portal-search.js.map +1 -0
  197. package/dist/app/web-portal-service.d.ts +37 -0
  198. package/dist/app/web-portal-service.d.ts.map +1 -0
  199. package/dist/app/web-portal-service.js +198 -0
  200. package/dist/app/web-portal-service.js.map +1 -0
  201. package/dist/config.d.ts +28 -0
  202. package/dist/config.d.ts.map +1 -0
  203. package/dist/config.js +53 -0
  204. package/dist/config.js.map +1 -0
  205. package/dist/domain/crawl.d.ts +40 -0
  206. package/dist/domain/crawl.d.ts.map +1 -0
  207. package/dist/domain/crawl.js +68 -0
  208. package/dist/domain/crawl.js.map +1 -0
  209. package/dist/domain/embedding-port.d.ts +12 -0
  210. package/dist/domain/embedding-port.d.ts.map +1 -0
  211. package/dist/domain/embedding-port.js +2 -0
  212. package/dist/domain/embedding-port.js.map +1 -0
  213. package/dist/domain/hybrid-search.d.ts +48 -0
  214. package/dist/domain/hybrid-search.d.ts.map +1 -0
  215. package/dist/domain/hybrid-search.js +144 -0
  216. package/dist/domain/hybrid-search.js.map +1 -0
  217. package/dist/domain/index-writer.d.ts +59 -0
  218. package/dist/domain/index-writer.d.ts.map +1 -0
  219. package/dist/domain/index-writer.js +203 -0
  220. package/dist/domain/index-writer.js.map +1 -0
  221. package/dist/domain/index.d.ts +37 -0
  222. package/dist/domain/index.d.ts.map +1 -0
  223. package/dist/domain/index.js +11 -0
  224. package/dist/domain/index.js.map +1 -0
  225. package/dist/domain/license.d.ts +32 -0
  226. package/dist/domain/license.d.ts.map +1 -0
  227. package/dist/domain/license.js +23 -0
  228. package/dist/domain/license.js.map +1 -0
  229. package/dist/domain/source-adapter.d.ts +31 -0
  230. package/dist/domain/source-adapter.d.ts.map +1 -0
  231. package/dist/domain/source-adapter.js +70 -0
  232. package/dist/domain/source-adapter.js.map +1 -0
  233. package/dist/domain/watch-config.d.ts +14 -0
  234. package/dist/domain/watch-config.d.ts.map +1 -0
  235. package/dist/domain/watch-config.js +29 -0
  236. package/dist/domain/watch-config.js.map +1 -0
  237. package/dist/domain/watch.d.ts +64 -0
  238. package/dist/domain/watch.d.ts.map +1 -0
  239. package/dist/domain/watch.js +101 -0
  240. package/dist/domain/watch.js.map +1 -0
  241. package/dist/domain/watcher-port.d.ts +16 -0
  242. package/dist/domain/watcher-port.d.ts.map +1 -0
  243. package/dist/domain/watcher-port.js +2 -0
  244. package/dist/domain/watcher-port.js.map +1 -0
  245. package/dist/domain/web-server-port.d.ts +25 -0
  246. package/dist/domain/web-server-port.d.ts.map +1 -0
  247. package/dist/domain/web-server-port.js +2 -0
  248. package/dist/domain/web-server-port.js.map +1 -0
  249. package/dist/errors.d.ts +20 -0
  250. package/dist/errors.d.ts.map +1 -0
  251. package/dist/errors.js +72 -0
  252. package/dist/errors.js.map +1 -0
  253. package/dist/public/assets/d3-WlJuvznM.js +1 -0
  254. package/dist/public/assets/icons-fLoaB2oH.js +216 -0
  255. package/dist/public/assets/index-BMOY5R3r.js +33 -0
  256. package/dist/public/assets/index-DtnaN3wg.css +1 -0
  257. package/dist/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  258. package/dist/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  259. package/dist/public/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  260. package/dist/public/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  261. package/dist/public/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  262. package/dist/public/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  263. package/dist/public/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  264. package/dist/public/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  265. package/dist/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  266. package/dist/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  267. package/dist/public/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  268. package/dist/public/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  269. package/dist/public/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  270. package/dist/public/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  271. package/dist/public/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  272. package/dist/public/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  273. package/dist/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  274. package/dist/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  275. package/dist/public/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  276. package/dist/public/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  277. package/dist/public/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  278. package/dist/public/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  279. package/dist/public/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  280. package/dist/public/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  281. package/dist/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  282. package/dist/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  283. package/dist/public/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  284. package/dist/public/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  285. package/dist/public/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  286. package/dist/public/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  287. package/dist/public/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  288. package/dist/public/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  289. package/dist/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  290. package/dist/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  291. package/dist/public/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  292. package/dist/public/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  293. package/dist/public/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  294. package/dist/public/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  295. package/dist/public/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  296. package/dist/public/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  297. package/dist/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  298. package/dist/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  299. package/dist/public/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  300. package/dist/public/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  301. package/dist/public/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  302. package/dist/public/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  303. package/dist/public/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  304. package/dist/public/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  305. package/dist/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  306. package/dist/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  307. package/dist/public/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  308. package/dist/public/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  309. package/dist/public/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  310. package/dist/public/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  311. package/dist/public/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  312. package/dist/public/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  313. package/dist/public/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  314. package/dist/public/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  315. package/dist/public/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff +0 -0
  316. package/dist/public/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
  317. package/dist/public/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff +0 -0
  318. package/dist/public/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2 +0 -0
  319. package/dist/public/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  320. package/dist/public/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  321. package/dist/public/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff +0 -0
  322. package/dist/public/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
  323. package/dist/public/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2 +0 -0
  324. package/dist/public/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff +0 -0
  325. package/dist/public/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  326. package/dist/public/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  327. package/dist/public/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  328. package/dist/public/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  329. package/dist/public/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff +0 -0
  330. package/dist/public/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2 +0 -0
  331. package/dist/public/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  332. package/dist/public/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  333. package/dist/public/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
  334. package/dist/public/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff +0 -0
  335. package/dist/public/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2 +0 -0
  336. package/dist/public/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff +0 -0
  337. package/dist/public/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  338. package/dist/public/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff +0 -0
  339. package/dist/public/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff +0 -0
  340. package/dist/public/assets/markdown-ClyHvAfw.js +64 -0
  341. package/dist/public/assets/newsreader-latin-400-italic-CEihAR-f.woff2 +0 -0
  342. package/dist/public/assets/newsreader-latin-400-italic-CNZoH1hn.woff +0 -0
  343. package/dist/public/assets/newsreader-latin-400-normal-BFBkh4jY.woff2 +0 -0
  344. package/dist/public/assets/newsreader-latin-400-normal-gRTjlS2D.woff +0 -0
  345. package/dist/public/assets/newsreader-latin-600-normal-30OJ_TG_.woff2 +0 -0
  346. package/dist/public/assets/newsreader-latin-600-normal-DUnT2r2g.woff +0 -0
  347. package/dist/public/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2 +0 -0
  348. package/dist/public/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff +0 -0
  349. package/dist/public/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff +0 -0
  350. package/dist/public/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2 +0 -0
  351. package/dist/public/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2 +0 -0
  352. package/dist/public/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff +0 -0
  353. package/dist/public/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff +0 -0
  354. package/dist/public/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2 +0 -0
  355. package/dist/public/assets/newsreader-vietnamese-400-normal-BekUZro8.woff +0 -0
  356. package/dist/public/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2 +0 -0
  357. package/dist/public/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff +0 -0
  358. package/dist/public/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2 +0 -0
  359. package/dist/public/assets/vendor-D9lk2KFa.js +17 -0
  360. package/dist/public/brand/sirius-icon.png +0 -0
  361. package/dist/public/brand/sirius-logo-full.png +0 -0
  362. package/dist/public/brand/sirius-wordmark.png +0 -0
  363. package/dist/public/favicon.png +0 -0
  364. package/dist/public/index.html +19 -0
  365. package/dist/schemas/document.d.ts +93 -0
  366. package/dist/schemas/document.d.ts.map +1 -0
  367. package/dist/schemas/document.js +102 -0
  368. package/dist/schemas/document.js.map +1 -0
  369. package/dist/schemas/project.d.ts +16 -0
  370. package/dist/schemas/project.d.ts.map +1 -0
  371. package/dist/schemas/project.js +7 -0
  372. package/dist/schemas/project.js.map +1 -0
  373. package/dist/server-bootstrap.d.ts +16 -0
  374. package/dist/server-bootstrap.d.ts.map +1 -0
  375. package/dist/server-bootstrap.js +184 -0
  376. package/dist/server-bootstrap.js.map +1 -0
  377. package/dist/server.d.ts +3 -0
  378. package/dist/server.d.ts.map +1 -0
  379. package/dist/server.js +114 -0
  380. package/dist/server.js.map +1 -0
  381. package/package.json +67 -0
  382. package/scripts/quality-gate/install-hooks.mjs +20 -0
@@ -0,0 +1,101 @@
1
+ import {} from "../schemas/document.js";
2
+ export function diffSnapshots(before, after) {
3
+ const beforeMap = new Map(before.map((stamp) => [stamp.path, stamp]));
4
+ const afterMap = new Map(after.map((stamp) => [stamp.path, stamp]));
5
+ const created = [];
6
+ const changed = [];
7
+ const deleted = [];
8
+ for (const [path, stamp] of afterMap) {
9
+ const previous = beforeMap.get(path);
10
+ if (!previous) {
11
+ created.push(path);
12
+ }
13
+ else if (previous.mtimeMs !== stamp.mtimeMs ||
14
+ previous.size !== stamp.size ||
15
+ previous.ctimeMs !== stamp.ctimeMs) {
16
+ changed.push(path);
17
+ }
18
+ }
19
+ for (const [path] of beforeMap) {
20
+ if (!afterMap.has(path)) {
21
+ deleted.push(path);
22
+ }
23
+ }
24
+ const sort = (paths) => paths.sort();
25
+ return { created: sort(created), changed: sort(changed), deleted: sort(deleted) };
26
+ }
27
+ export function snapshotsDiffer(diff) {
28
+ return diff.created.length > 0 || diff.changed.length > 0 || diff.deleted.length > 0;
29
+ }
30
+ const CONTEXT_PATH_REGEX = /^\.context\/(feature|business-rule|decision|component|architecture)\/([a-z0-9-]+)\.md$/;
31
+ export function deriveDocumentIdentity(path) {
32
+ const match = CONTEXT_PATH_REGEX.exec(path.replace(/\\/g, "/"));
33
+ if (!match) {
34
+ return null;
35
+ }
36
+ return { type: match[1], id: match[2] };
37
+ }
38
+ export class ChangeAggregator {
39
+ options;
40
+ pending = new Map();
41
+ timer = null;
42
+ cooldownUntil = 0;
43
+ cooledEvents = false;
44
+ stopped = false;
45
+ constructor(options) {
46
+ this.options = options;
47
+ }
48
+ add(events) {
49
+ if (this.stopped) {
50
+ return;
51
+ }
52
+ for (const event of events) {
53
+ this.pending.set(event.path, event);
54
+ }
55
+ if (this.currentTime() < this.cooldownUntil) {
56
+ this.cooledEvents = true;
57
+ }
58
+ if (!this.timer) {
59
+ this.timer = setTimeout(() => this.flush(), this.options.debounceMs);
60
+ }
61
+ }
62
+ flushNow() {
63
+ if (this.timer) {
64
+ clearTimeout(this.timer);
65
+ this.timer = null;
66
+ }
67
+ this.flush();
68
+ }
69
+ stop() {
70
+ this.stopped = true;
71
+ if (this.timer) {
72
+ clearTimeout(this.timer);
73
+ this.timer = null;
74
+ }
75
+ }
76
+ flush() {
77
+ this.timer = null;
78
+ if (this.pending.size === 0) {
79
+ return;
80
+ }
81
+ const now = this.currentTime();
82
+ if (now < this.cooldownUntil) {
83
+ this.timer = setTimeout(() => this.flush(), this.options.debounceMs);
84
+ return;
85
+ }
86
+ const events = [...this.pending.values()];
87
+ this.pending.clear();
88
+ const cooled = this.cooledEvents;
89
+ this.cooledEvents = false;
90
+ if (!cooled && events.length > this.options.burstThreshold) {
91
+ this.cooldownUntil = now + this.options.cooldownMs;
92
+ this.options.onFlush({ events, burst: true });
93
+ return;
94
+ }
95
+ this.options.onFlush({ events, burst: false });
96
+ }
97
+ currentTime() {
98
+ return this.options.now ? this.options.now() : Date.now();
99
+ }
100
+ }
101
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/domain/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface ChangeSet {
2
+ readonly created: readonly string[];
3
+ readonly modified: readonly string[];
4
+ readonly deleted: readonly string[];
5
+ }
6
+ export interface WatcherConfig {
7
+ readonly rootDir: string;
8
+ readonly pollIntervalMs?: number;
9
+ readonly useDirectoryCache?: boolean;
10
+ }
11
+ export interface WatcherPort {
12
+ start(config: WatcherConfig, onChange: (changeSet: ChangeSet) => void): Promise<void>;
13
+ stop(): Promise<void>;
14
+ isWatching(): boolean;
15
+ }
16
+ //# sourceMappingURL=watcher-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher-port.d.ts","sourceRoot":"","sources":["../../src/domain/watcher-port.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,IAAI,OAAO,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=watcher-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher-port.js","sourceRoot":"","sources":["../../src/domain/watcher-port.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ export interface WebServerConfig {
2
+ readonly host: string;
3
+ readonly port: number;
4
+ readonly allowedHosts: string[];
5
+ readonly publicDir: string;
6
+ readonly projectRoot?: string;
7
+ }
8
+ export interface WebServerInfo {
9
+ readonly url: string;
10
+ readonly port: number;
11
+ readonly host: string;
12
+ }
13
+ export interface LivingArchitectureEvent {
14
+ readonly type: "document_changed" | "blueprint_updated" | "index_rebuilt";
15
+ readonly payload: Record<string, unknown>;
16
+ readonly timestamp: number;
17
+ }
18
+ export interface WebServerPort {
19
+ start(config: WebServerConfig): Promise<WebServerInfo>;
20
+ stop(): Promise<void>;
21
+ isRunning(): boolean;
22
+ broadcast(event: LivingArchitectureEvent): void;
23
+ setProjectRoot?(root: string): void;
24
+ }
25
+ //# sourceMappingURL=web-server-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-server-port.d.ts","sourceRoot":"","sources":["../../src/domain/web-server-port.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,eAAe,CAAC;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,IAAI,OAAO,CAAC;IACrB,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAChD,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=web-server-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-server-port.js","sourceRoot":"","sources":["../../src/domain/web-server-port.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ export interface McpError {
2
+ code: string;
3
+ message: string;
4
+ details?: Record<string, unknown>;
5
+ }
6
+ export interface McpErrorDetails {
7
+ field?: string;
8
+ path?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ export declare function toMcpError(error: unknown, fallbackCode?: string): McpError;
12
+ export declare function toMcpToolResult(error: McpError): {
13
+ content: [{
14
+ type: "text";
15
+ text: string;
16
+ }];
17
+ isError: true;
18
+ };
19
+ export declare function mcpError(code: string, message: string, details?: McpErrorDetails): McpError;
20
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,YAAY,SAAmB,GAC9B,QAAQ,CA0BV;AA6BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG;IAChD,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI,CAAC;CACf,CAUA;AAaD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAEV"}
package/dist/errors.js ADDED
@@ -0,0 +1,72 @@
1
+ import { ZodError } from "zod";
2
+ export function toMcpError(error, fallbackCode = "INTERNAL_ERROR") {
3
+ const zod = zodErrorDetails(error);
4
+ if (zod) {
5
+ return zod;
6
+ }
7
+ const coded = codedErrorDetails(error);
8
+ if (coded) {
9
+ return coded;
10
+ }
11
+ if (isMcpError(error)) {
12
+ return error;
13
+ }
14
+ if (error instanceof Error) {
15
+ return {
16
+ code: fallbackCode,
17
+ message: error.message,
18
+ };
19
+ }
20
+ return {
21
+ code: fallbackCode,
22
+ message: typeof error === "string" ? error : String(error),
23
+ };
24
+ }
25
+ function zodErrorDetails(error) {
26
+ if (!(error instanceof ZodError)) {
27
+ return null;
28
+ }
29
+ const firstIssue = error.issues[0];
30
+ const field = firstIssue?.path.length ? String(firstIssue.path[0]) : undefined;
31
+ return {
32
+ code: "VALIDATION_ERROR",
33
+ message: `Validation failed: ${error.issues.map((issue) => issue.message).join("; ")}`,
34
+ details: { issues: error.issues, ...(field ? { field } : {}) },
35
+ };
36
+ }
37
+ function codedErrorDetails(error) {
38
+ if (!(error instanceof Error) || !("code" in error)) {
39
+ return null;
40
+ }
41
+ const code = error.code;
42
+ if (typeof code !== "string") {
43
+ return null;
44
+ }
45
+ return {
46
+ code,
47
+ message: error.message,
48
+ };
49
+ }
50
+ export function toMcpToolResult(error) {
51
+ return {
52
+ content: [
53
+ {
54
+ type: "text",
55
+ text: JSON.stringify(error, null, 2),
56
+ },
57
+ ],
58
+ isError: true,
59
+ };
60
+ }
61
+ function isMcpError(error) {
62
+ return (typeof error === "object" &&
63
+ error !== null &&
64
+ "code" in error &&
65
+ typeof error.code === "string" &&
66
+ "message" in error &&
67
+ typeof error.message === "string");
68
+ }
69
+ export function mcpError(code, message, details) {
70
+ return { code, message, details };
71
+ }
72
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAc/B,MAAM,UAAU,UAAU,CACxB,KAAc,EACd,YAAY,GAAG,gBAAgB;IAE/B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACtF,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAC;IAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAI7C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAAkB,CAAC,IAAI,KAAK,QAAQ;QAC5C,SAAS,IAAI,KAAK;QAClB,OAAQ,KAAkB,CAAC,OAAO,KAAK,QAAQ,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAY,EACZ,OAAe,EACf,OAAyB;IAEzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1 @@
1
+ function lu(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var o,u=e.length,a,f=0,s=0;for(o=0;o<u;++o)a=e[o],f+=a.x,s+=a.y;for(f=(f/u-t)*r,s=(s/u-n)*r,o=0;o<u;++o)a=e[o],a.x-=f,a.y-=s}return i.initialize=function(o){e=o},i.x=function(o){return arguments.length?(t=+o,i):t},i.y=function(o){return arguments.length?(n=+o,i):n},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function se(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return Rn(this.cover(n,e),n,e,t)}function Rn(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o=t._root,u={data:r},a=t._x0,f=t._y0,s=t._x1,c=t._y1,y,l,h,x,_,m,d,w;if(!o)return t._root=u,t;for(;o.length;)if((_=n>=(y=(a+s)/2))?a=y:s=y,(m=e>=(l=(f+c)/2))?f=l:c=l,i=o,!(o=o[d=m<<1|_]))return i[d]=u,t;if(h=+t._x.call(null,o.data),x=+t._y.call(null,o.data),n===h&&e===x)return u.next=o,i?i[d]=u:t._root=u,t;do i=i?i[d]=new Array(4):t._root=new Array(4),(_=n>=(y=(a+s)/2))?a=y:s=y,(m=e>=(l=(f+c)/2))?f=l:c=l;while((d=m<<1|_)===(w=(x>=l)<<1|h>=y));return i[w]=o,i[d]=u,t}function fe(t){var n,e,r=t.length,i,o,u=new Array(r),a=new Array(r),f=1/0,s=1/0,c=-1/0,y=-1/0;for(e=0;e<r;++e)isNaN(i=+this._x.call(null,n=t[e]))||isNaN(o=+this._y.call(null,n))||(u[e]=i,a[e]=o,i<f&&(f=i),i>c&&(c=i),o<s&&(s=o),o>y&&(y=o));if(f>c||s>y)return this;for(this.cover(f,s).cover(c,y),e=0;e<r;++e)Rn(this,u[e],a[e],t[e]);return this}function ce(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{for(var u=i-e||1,a=this._root,f,s;e>t||t>=i||r>n||n>=o;)switch(s=(n<r)<<1|t<e,f=new Array(4),f[s]=a,a=f,u*=2,s){case 0:i=e+u,o=r+u;break;case 1:e=i-u,o=r+u;break;case 2:i=e+u,r=o-u;break;case 3:e=i-u,r=o-u;break}this._root&&this._root.length&&(this._root=a)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this}function le(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function he(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function F(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function ge(t,n,e){var r,i=this._x0,o=this._y0,u,a,f,s,c=this._x1,y=this._y1,l=[],h=this._root,x,_;for(h&&l.push(new F(h,i,o,c,y)),e==null?e=1/0:(i=t-e,o=n-e,c=t+e,y=n+e,e*=e);x=l.pop();)if(!(!(h=x.node)||(u=x.x0)>c||(a=x.y0)>y||(f=x.x1)<i||(s=x.y1)<o))if(h.length){var m=(u+f)/2,d=(a+s)/2;l.push(new F(h[3],m,d,f,s),new F(h[2],u,d,m,s),new F(h[1],m,a,f,d),new F(h[0],u,a,m,d)),(_=(n>=d)<<1|t>=m)&&(x=l[l.length-1],l[l.length-1]=l[l.length-1-_],l[l.length-1-_]=x)}else{var w=t-+this._x.call(null,h.data),M=n-+this._y.call(null,h.data),p=w*w+M*M;if(p<e){var A=Math.sqrt(e=p);i=t-A,o=n-A,c=t+A,y=n+A,r=h.data}}return r}function pe(t){if(isNaN(c=+this._x.call(null,t))||isNaN(y=+this._y.call(null,t)))return this;var n,e=this._root,r,i,o,u=this._x0,a=this._y0,f=this._x1,s=this._y1,c,y,l,h,x,_,m,d;if(!e)return this;if(e.length)for(;;){if((x=c>=(l=(u+f)/2))?u=l:f=l,(_=y>=(h=(a+s)/2))?a=h:s=h,n=e,!(e=e[m=_<<1|x]))return this;if(!e.length)break;(n[m+1&3]||n[m+2&3]||n[m+3&3])&&(r=n,d=m)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(o=e.next)&&delete e.next,i?(o?i.next=o:delete i.next,this):n?(o?n[m]=o:delete n[m],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[d]=e:this._root=e),this):(this._root=o,this)}function de(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function ye(){return this._root}function me(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function _e(t){var n=[],e,r=this._root,i,o,u,a,f;for(r&&n.push(new F(r,this._x0,this._y0,this._x1,this._y1));e=n.pop();)if(!t(r=e.node,o=e.x0,u=e.y0,a=e.x1,f=e.y1)&&r.length){var s=(o+a)/2,c=(u+f)/2;(i=r[3])&&n.push(new F(i,s,c,a,f)),(i=r[2])&&n.push(new F(i,o,c,s,f)),(i=r[1])&&n.push(new F(i,s,u,a,c)),(i=r[0])&&n.push(new F(i,o,u,s,c))}return this}function ve(t){var n=[],e=[],r;for(this._root&&n.push(new F(this._root,this._x0,this._y0,this._x1,this._y1));r=n.pop();){var i=r.node;if(i.length){var o,u=r.x0,a=r.y0,f=r.x1,s=r.y1,c=(u+f)/2,y=(a+s)/2;(o=i[0])&&n.push(new F(o,u,a,c,y)),(o=i[1])&&n.push(new F(o,c,a,f,y)),(o=i[2])&&n.push(new F(o,u,y,c,s)),(o=i[3])&&n.push(new F(o,c,y,f,s))}e.push(r)}for(;r=e.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function xe(t){return t[0]}function we(t){return arguments.length?(this._x=t,this):this._x}function be(t){return t[1]}function Ne(t){return arguments.length?(this._y=t,this):this._y}function rn(t,n,e){var r=new on(n??xe,e??be,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function on(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function gn(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var H=rn.prototype=on.prototype;H.copy=function(){var t=new on(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root,e,r;if(!n)return t;if(!n.length)return t._root=gn(n),t;for(e=[{source:n,target:t._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(r=n.source[i])&&(r.length?e.push({source:r,target:n.target[i]=new Array(4)}):n.target[i]=gn(r));return t};H.add=se;H.addAll=fe;H.cover=ce;H.data=le;H.extent=he;H.find=ge;H.remove=pe;H.removeAll=de;H.root=ye;H.size=me;H.visit=_e;H.visitAfter=ve;H.x=we;H.y=Ne;function at(t){return function(){return t}}function ot(t){return(t()-.5)*1e-6}function Ae(t){return t.x+t.vx}function Me(t){return t.y+t.vy}function hu(t){var n,e,r,i=1,o=1;typeof t!="function"&&(t=at(t==null?1:+t));function u(){for(var s,c=n.length,y,l,h,x,_,m,d=0;d<o;++d)for(y=rn(n,Ae,Me).visitAfter(a),s=0;s<c;++s)l=n[s],_=e[l.index],m=_*_,h=l.x+l.vx,x=l.y+l.vy,y.visit(w);function w(M,p,A,E,T){var S=M.data,R=M.r,C=_+R;if(S){if(S.index>l.index){var D=h-S.x-S.vx,q=x-S.y-S.vy,Y=D*D+q*q;Y<C*C&&(D===0&&(D=ot(r),Y+=D*D),q===0&&(q=ot(r),Y+=q*q),Y=(C-(Y=Math.sqrt(Y)))/Y*i,l.vx+=(D*=Y)*(C=(R*=R)/(m+R)),l.vy+=(q*=Y)*C,S.vx-=D*(C=1-C),S.vy-=q*C)}return}return p>h+C||E<h-C||A>x+C||T<x-C}}function a(s){if(s.data)return s.r=e[s.data.index];for(var c=s.r=0;c<4;++c)s[c]&&s[c].r>s.r&&(s.r=s[c].r)}function f(){if(n){var s,c=n.length,y;for(e=new Array(c),s=0;s<c;++s)y=n[s],e[y.index]=+t(y,s,n)}}return u.initialize=function(s,c){n=s,r=c,f()},u.iterations=function(s){return arguments.length?(o=+s,u):o},u.strength=function(s){return arguments.length?(i=+s,u):i},u.radius=function(s){return arguments.length?(t=typeof s=="function"?s:at(+s),f(),u):t},u}function Ee(t){return t.index}function pn(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}function gu(t){var n=Ee,e=y,r,i=at(30),o,u,a,f,s,c=1;t==null&&(t=[]);function y(m){return 1/Math.min(a[m.source.index],a[m.target.index])}function l(m){for(var d=0,w=t.length;d<c;++d)for(var M=0,p,A,E,T,S,R,C;M<w;++M)p=t[M],A=p.source,E=p.target,T=E.x+E.vx-A.x-A.vx||ot(s),S=E.y+E.vy-A.y-A.vy||ot(s),R=Math.sqrt(T*T+S*S),R=(R-o[M])/R*m*r[M],T*=R,S*=R,E.vx-=T*(C=f[M]),E.vy-=S*C,A.vx+=T*(C=1-C),A.vy+=S*C}function h(){if(u){var m,d=u.length,w=t.length,M=new Map(u.map((A,E)=>[n(A,E,u),A])),p;for(m=0,a=new Array(d);m<w;++m)p=t[m],p.index=m,typeof p.source!="object"&&(p.source=pn(M,p.source)),typeof p.target!="object"&&(p.target=pn(M,p.target)),a[p.source.index]=(a[p.source.index]||0)+1,a[p.target.index]=(a[p.target.index]||0)+1;for(m=0,f=new Array(w);m<w;++m)p=t[m],f[m]=a[p.source.index]/(a[p.source.index]+a[p.target.index]);r=new Array(w),x(),o=new Array(w),_()}}function x(){if(u)for(var m=0,d=t.length;m<d;++m)r[m]=+e(t[m],m,t)}function _(){if(u)for(var m=0,d=t.length;m<d;++m)o[m]=+i(t[m],m,t)}return l.initialize=function(m,d){u=m,s=d,h()},l.links=function(m){return arguments.length?(t=m,h(),l):t},l.id=function(m){return arguments.length?(n=m,l):n},l.iterations=function(m){return arguments.length?(c=+m,l):c},l.strength=function(m){return arguments.length?(e=typeof m=="function"?m:at(+m),x(),l):e},l.distance=function(m){return arguments.length?(i=typeof m=="function"?m:at(+m),_(),l):i},l}var $e={value:()=>{}};function Nt(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new St(e)}function St(t){this._=t}function Te(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}St.prototype=Nt.prototype={constructor:St,on:function(t,n){var e=this._,r=Te(t+"",e),i,o=-1,u=r.length;if(arguments.length<2){for(;++o<u;)if((i=(t=r[o]).type)&&(i=ze(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<u;)if(i=(t=r[o]).type)e[i]=dn(e[i],t.name,n);else if(n==null)for(i in e)e[i]=dn(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new St(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function ze(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function dn(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=$e,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var ht=0,yt=0,pt=0,Dn=1e3,Dt,mt,Xt=0,ft=0,Vt=0,_t=typeof performance=="object"&&performance.now?performance:Date,Xn=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function un(){return ft||(Xn(ke),ft=_t.now()+Vt)}function ke(){ft=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=an.prototype={constructor:Pt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?un():+e)+(n==null?0:+n),!this._next&&mt!==this&&(mt?mt._next=this:Dt=this,mt=this),this._call=t,this._time=e,Qt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Qt())}};function an(t,n,e){var r=new Pt;return r.restart(t,n,e),r}function Se(){un(),++ht;for(var t=Dt,n;t;)(n=ft-t._time)>=0&&t._call.call(void 0,n),t=t._next;--ht}function yn(){ft=(Xt=_t.now())+Vt,ht=yt=0;try{Se()}finally{ht=0,Ie(),ft=0}}function Ce(){var t=_t.now(),n=t-Xt;n>Dn&&(Vt-=n,Xt=t)}function Ie(){for(var t,n=Dt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);mt=t,Qt(r)}function Qt(t){if(!ht){yt&&(yt=clearTimeout(yt));var n=t-ft;n>24?(t<1/0&&(yt=setTimeout(yn,t-_t.now()-Vt)),pt&&(pt=clearInterval(pt))):(pt||(Xt=_t.now(),pt=setInterval(Ce,Dn)),ht=1,Xn(yn))}}function mn(t,n,e){var r=new Pt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}const Re=1664525,De=1013904223,_n=4294967296;function Xe(){let t=1;return()=>(t=(Re*t+De)%_n)/_n}function Pe(t){return t.x}function Fe(t){return t.y}var He=10,Ye=Math.PI*(3-Math.sqrt(5));function pu(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,u=.6,a=new Map,f=an(y),s=Nt("tick","end"),c=Xe();t==null&&(t=[]);function y(){l(),s.call("tick",n),e<r&&(f.stop(),s.call("end",n))}function l(_){var m,d=t.length,w;_===void 0&&(_=1);for(var M=0;M<_;++M)for(e+=(o-e)*i,a.forEach(function(p){p(e)}),m=0;m<d;++m)w=t[m],w.fx==null?w.x+=w.vx*=u:(w.x=w.fx,w.vx=0),w.fy==null?w.y+=w.vy*=u:(w.y=w.fy,w.vy=0);return n}function h(){for(var _=0,m=t.length,d;_<m;++_){if(d=t[_],d.index=_,d.fx!=null&&(d.x=d.fx),d.fy!=null&&(d.y=d.fy),isNaN(d.x)||isNaN(d.y)){var w=He*Math.sqrt(.5+_),M=_*Ye;d.x=w*Math.cos(M),d.y=w*Math.sin(M)}(isNaN(d.vx)||isNaN(d.vy))&&(d.vx=d.vy=0)}}function x(_){return _.initialize&&_.initialize(t,c),_}return h(),n={tick:l,restart:function(){return f.restart(y),n},stop:function(){return f.stop(),n},nodes:function(_){return arguments.length?(t=_,h(),a.forEach(x),n):t},alpha:function(_){return arguments.length?(e=+_,n):e},alphaMin:function(_){return arguments.length?(r=+_,n):r},alphaDecay:function(_){return arguments.length?(i=+_,n):+i},alphaTarget:function(_){return arguments.length?(o=+_,n):o},velocityDecay:function(_){return arguments.length?(u=1-_,n):1-u},randomSource:function(_){return arguments.length?(c=_,a.forEach(x),n):c},force:function(_,m){return arguments.length>1?(m==null?a.delete(_):a.set(_,x(m)),n):a.get(_)},find:function(_,m,d){var w=0,M=t.length,p,A,E,T,S;for(d==null?d=1/0:d*=d,w=0;w<M;++w)T=t[w],p=_-T.x,A=m-T.y,E=p*p+A*A,E<d&&(S=T,d=E);return S},on:function(_,m){return arguments.length>1?(s.on(_,m),n):s.on(_)}}}function du(){var t,n,e,r,i=at(-30),o,u=1,a=1/0,f=.81;function s(h){var x,_=t.length,m=rn(t,Pe,Fe).visitAfter(y);for(r=h,x=0;x<_;++x)n=t[x],m.visit(l)}function c(){if(t){var h,x=t.length,_;for(o=new Array(x),h=0;h<x;++h)_=t[h],o[_.index]=+i(_,h,t)}}function y(h){var x=0,_,m,d=0,w,M,p;if(h.length){for(w=M=p=0;p<4;++p)(_=h[p])&&(m=Math.abs(_.value))&&(x+=_.value,d+=m,w+=m*_.x,M+=m*_.y);h.x=w/d,h.y=M/d}else{_=h,_.x=_.data.x,_.y=_.data.y;do x+=o[_.data.index];while(_=_.next)}h.value=x}function l(h,x,_,m){if(!h.value)return!0;var d=h.x-n.x,w=h.y-n.y,M=m-x,p=d*d+w*w;if(M*M/f<p)return p<a&&(d===0&&(d=ot(e),p+=d*d),w===0&&(w=ot(e),p+=w*w),p<u&&(p=Math.sqrt(u*p)),n.vx+=d*h.value*r/p,n.vy+=w*h.value*r/p),!0;if(h.length||p>=a)return;(h.data!==n||h.next)&&(d===0&&(d=ot(e),p+=d*d),w===0&&(w=ot(e),p+=w*w),p<u&&(p=Math.sqrt(u*p)));do h.data!==n&&(M=o[h.data.index]*r/p,n.vx+=d*M,n.vy+=w*M);while(h=h.next)}return s.initialize=function(h,x){t=h,e=x,c()},s.strength=function(h){return arguments.length?(i=typeof h=="function"?h:at(+h),c(),s):i},s.distanceMin=function(h){return arguments.length?(u=h*h,s):Math.sqrt(u)},s.distanceMax=function(h){return arguments.length?(a=h*h,s):Math.sqrt(a)},s.theta=function(h){return arguments.length?(f=h*h,s):Math.sqrt(f)},s}var Wt="http://www.w3.org/1999/xhtml";const vn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function qt(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),vn.hasOwnProperty(n)?{space:vn[n],local:t}:t}function Ve(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Wt&&n.documentElement.namespaceURI===Wt?n.createElement(t):n.createElementNS(e,t)}}function qe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Pn(t){var n=qt(t);return(n.local?qe:Ve)(n)}function Oe(){}function sn(t){return t==null?Oe:function(){return this.querySelector(t)}}function Be(t){typeof t!="function"&&(t=sn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],u=o.length,a=r[i]=new Array(u),f,s,c=0;c<u;++c)(f=o[c])&&(s=t.call(f,f.__data__,c,o))&&("__data__"in f&&(s.__data__=f.__data__),a[c]=s);return new O(r,this._parents)}function Le(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Ue(){return[]}function Fn(t){return t==null?Ue:function(){return this.querySelectorAll(t)}}function Ge(t){return function(){return Le(t.apply(this,arguments))}}function Ke(t){typeof t=="function"?t=Ge(t):t=Fn(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u=n[o],a=u.length,f,s=0;s<a;++s)(f=u[s])&&(r.push(t.call(f,f.__data__,s,u)),i.push(f));return new O(r,i)}function Hn(t){return function(){return this.matches(t)}}function Yn(t){return function(n){return n.matches(t)}}var Qe=Array.prototype.find;function We(t){return function(){return Qe.call(this.children,t)}}function Ze(){return this.firstElementChild}function Je(t){return this.select(t==null?Ze:We(typeof t=="function"?t:Yn(t)))}var je=Array.prototype.filter;function tr(){return Array.from(this.children)}function nr(t){return function(){return je.call(this.children,t)}}function er(t){return this.selectAll(t==null?tr:nr(typeof t=="function"?t:Yn(t)))}function rr(t){typeof t!="function"&&(t=Hn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],u=o.length,a=r[i]=[],f,s=0;s<u;++s)(f=o[s])&&t.call(f,f.__data__,s,o)&&a.push(f);return new O(r,this._parents)}function Vn(t){return new Array(t.length)}function ir(){return new O(this._enter||this._groups.map(Vn),this._parents)}function Ft(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}Ft.prototype={constructor:Ft,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function or(t){return function(){return t}}function ur(t,n,e,r,i,o){for(var u=0,a,f=n.length,s=o.length;u<s;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new Ft(t,o[u]);for(;u<f;++u)(a=n[u])&&(i[u]=a)}function ar(t,n,e,r,i,o,u){var a,f,s=new Map,c=n.length,y=o.length,l=new Array(c),h;for(a=0;a<c;++a)(f=n[a])&&(l[a]=h=u.call(f,f.__data__,a,n)+"",s.has(h)?i[a]=f:s.set(h,f));for(a=0;a<y;++a)h=u.call(t,o[a],a,o)+"",(f=s.get(h))?(r[a]=f,f.__data__=o[a],s.delete(h)):e[a]=new Ft(t,o[a]);for(a=0;a<c;++a)(f=n[a])&&s.get(l[a])===f&&(i[a]=f)}function sr(t){return t.__data__}function fr(t,n){if(!arguments.length)return Array.from(this,sr);var e=n?ar:ur,r=this._parents,i=this._groups;typeof t!="function"&&(t=or(t));for(var o=i.length,u=new Array(o),a=new Array(o),f=new Array(o),s=0;s<o;++s){var c=r[s],y=i[s],l=y.length,h=cr(t.call(c,c&&c.__data__,s,r)),x=h.length,_=a[s]=new Array(x),m=u[s]=new Array(x),d=f[s]=new Array(l);e(c,y,_,m,d,h,n);for(var w=0,M=0,p,A;w<x;++w)if(p=_[w]){for(w>=M&&(M=w+1);!(A=m[M])&&++M<x;);p._next=A||null}}return u=new O(u,r),u._enter=a,u._exit=f,u}function cr(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function lr(){return new O(this._exit||this._groups.map(Vn),this._parents)}function hr(t,n,e){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?o.remove():e(o),r&&i?r.merge(i).order():i}function gr(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,u=Math.min(i,o),a=new Array(i),f=0;f<u;++f)for(var s=e[f],c=r[f],y=s.length,l=a[f]=new Array(y),h,x=0;x<y;++x)(h=s[x]||c[x])&&(l[x]=h);for(;f<i;++f)a[f]=e[f];return new O(a,this._parents)}function pr(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,o=r[i],u;--i>=0;)(u=r[i])&&(o&&u.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(u,o),o=u);return this}function dr(t){t||(t=yr);function n(y,l){return y&&l?t(y.__data__,l.__data__):!y-!l}for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u=e[o],a=u.length,f=i[o]=new Array(a),s,c=0;c<a;++c)(s=u[c])&&(f[c]=s);f.sort(n)}return new O(i,this._parents).order()}function yr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function mr(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function _r(){return Array.from(this)}function vr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null}function xr(){let t=0;for(const n of this)++t;return t}function wr(){return!this.node()}function br(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],o=0,u=i.length,a;o<u;++o)(a=i[o])&&t.call(a,a.__data__,o,i);return this}function Nr(t){return function(){this.removeAttribute(t)}}function Ar(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Mr(t,n){return function(){this.setAttribute(t,n)}}function Er(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function $r(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function Tr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function zr(t,n){var e=qt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?Ar:Nr:typeof n=="function"?e.local?Tr:$r:e.local?Er:Mr)(e,n))}function qn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function kr(t){return function(){this.style.removeProperty(t)}}function Sr(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Cr(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Ir(t,n,e){return arguments.length>1?this.each((n==null?kr:typeof n=="function"?Cr:Sr)(t,n,e??"")):gt(this.node(),t)}function gt(t,n){return t.style.getPropertyValue(n)||qn(t).getComputedStyle(t,null).getPropertyValue(n)}function Rr(t){return function(){delete this[t]}}function Dr(t,n){return function(){this[t]=n}}function Xr(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function Pr(t,n){return arguments.length>1?this.each((n==null?Rr:typeof n=="function"?Xr:Dr)(t,n)):this.node()[t]}function On(t){return t.trim().split(/^|\s+/)}function fn(t){return t.classList||new Bn(t)}function Bn(t){this._node=t,this._names=On(t.getAttribute("class")||"")}Bn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ln(t,n){for(var e=fn(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function Un(t,n){for(var e=fn(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function Fr(t){return function(){Ln(this,t)}}function Hr(t){return function(){Un(this,t)}}function Yr(t,n){return function(){(n.apply(this,arguments)?Ln:Un)(this,t)}}function Vr(t,n){var e=On(t+"");if(arguments.length<2){for(var r=fn(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?Yr:n?Fr:Hr)(e,n))}function qr(){this.textContent=""}function Or(t){return function(){this.textContent=t}}function Br(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function Lr(t){return arguments.length?this.each(t==null?qr:(typeof t=="function"?Br:Or)(t)):this.node().textContent}function Ur(){this.innerHTML=""}function Gr(t){return function(){this.innerHTML=t}}function Kr(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Qr(t){return arguments.length?this.each(t==null?Ur:(typeof t=="function"?Kr:Gr)(t)):this.node().innerHTML}function Wr(){this.nextSibling&&this.parentNode.appendChild(this)}function Zr(){return this.each(Wr)}function Jr(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function jr(){return this.each(Jr)}function ti(t){var n=typeof t=="function"?t:Pn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function ni(){return null}function ei(t,n){var e=typeof t=="function"?t:Pn(t),r=n==null?ni:typeof n=="function"?n:sn(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function ri(){var t=this.parentNode;t&&t.removeChild(this)}function ii(){return this.each(ri)}function oi(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function ui(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function ai(t){return this.select(t?ui:oi)}function si(t){return arguments.length?this.property("__data__",t):this.node().__data__}function fi(t){return function(n){t.call(this,n,this.__data__)}}function ci(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function li(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,o;e<i;++e)o=n[e],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):n[++r]=o;++r?n.length=r:delete this.__on}}}function hi(t,n,e){return function(){var r=this.__on,i,o=fi(n);if(r){for(var u=0,a=r.length;u<a;++u)if((i=r[u]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=e),i.value=n;return}}this.addEventListener(t.type,o,e),i={type:t.type,name:t.name,value:n,listener:o,options:e},r?r.push(i):this.__on=[i]}}function gi(t,n,e){var r=ci(t+""),i,o=r.length,u;if(arguments.length<2){var a=this.node().__on;if(a){for(var f=0,s=a.length,c;f<s;++f)for(i=0,c=a[f];i<o;++i)if((u=r[i]).type===c.type&&u.name===c.name)return c.value}return}for(a=n?hi:li,i=0;i<o;++i)this.each(a(r[i],n,e));return this}function Gn(t,n,e){var r=qn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function pi(t,n){return function(){return Gn(this,t,n)}}function di(t,n){return function(){return Gn(this,t,n.apply(this,arguments))}}function yi(t,n){return this.each((typeof n=="function"?di:pi)(t,n))}function*mi(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length,u;i<o;++i)(u=r[i])&&(yield u)}var Kn=[null];function O(t,n){this._groups=t,this._parents=n}function At(){return new O([[document.documentElement]],Kn)}function _i(){return this}O.prototype=At.prototype={constructor:O,select:Be,selectAll:Ke,selectChild:Je,selectChildren:er,filter:rr,data:fr,enter:ir,exit:lr,join:hr,merge:gr,selection:_i,order:pr,sort:dr,call:mr,nodes:_r,node:vr,size:xr,empty:wr,each:br,attr:zr,style:Ir,property:Pr,classed:Vr,text:Lr,html:Qr,raise:Zr,lower:jr,append:ti,insert:ei,remove:ii,clone:ai,datum:si,on:gi,dispatch:yi,[Symbol.iterator]:mi};function nt(t){return typeof t=="string"?new O([[document.querySelector(t)]],[document.documentElement]):new O([[t]],Kn)}function vi(t){let n;for(;n=t.sourceEvent;)t=n;return t}function tt(t,n){if(t=vi(t),n===void 0&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}const xi={passive:!1},vt={capture:!0,passive:!1};function Lt(t){t.stopImmediatePropagation()}function ct(t){t.preventDefault(),t.stopImmediatePropagation()}function Qn(t){var n=t.document.documentElement,e=nt(t).on("dragstart.drag",ct,vt);"onselectstart"in n?e.on("selectstart.drag",ct,vt):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Wn(t,n){var e=t.document.documentElement,r=nt(t).on("dragstart.drag",null);n&&(r.on("click.drag",ct,vt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}const Et=t=>()=>t;function Zt(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:u,y:a,dx:f,dy:s,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:c}})}Zt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function wi(t){return!t.ctrlKey&&!t.button}function bi(){return this.parentNode}function Ni(t,n){return n??{x:t.x,y:t.y}}function Ai(){return navigator.maxTouchPoints||"ontouchstart"in this}function yu(){var t=wi,n=bi,e=Ni,r=Ai,i={},o=Nt("start","drag","end"),u=0,a,f,s,c,y=0;function l(p){p.on("mousedown.drag",h).filter(r).on("touchstart.drag",m).on("touchmove.drag",d,xi).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,A){if(!(c||!t.call(this,p,A))){var E=M(this,n.call(this,p,A),p,A,"mouse");E&&(nt(p.view).on("mousemove.drag",x,vt).on("mouseup.drag",_,vt),Qn(p.view),Lt(p),s=!1,a=p.clientX,f=p.clientY,E("start",p))}}function x(p){if(ct(p),!s){var A=p.clientX-a,E=p.clientY-f;s=A*A+E*E>y}i.mouse("drag",p)}function _(p){nt(p.view).on("mousemove.drag mouseup.drag",null),Wn(p.view,s),ct(p),i.mouse("end",p)}function m(p,A){if(t.call(this,p,A)){var E=p.changedTouches,T=n.call(this,p,A),S=E.length,R,C;for(R=0;R<S;++R)(C=M(this,T,p,A,E[R].identifier,E[R]))&&(Lt(p),C("start",p,E[R]))}}function d(p){var A=p.changedTouches,E=A.length,T,S;for(T=0;T<E;++T)(S=i[A[T].identifier])&&(ct(p),S("drag",p,A[T]))}function w(p){var A=p.changedTouches,E=A.length,T,S;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),T=0;T<E;++T)(S=i[A[T].identifier])&&(Lt(p),S("end",p,A[T]))}function M(p,A,E,T,S,R){var C=o.copy(),D=tt(R||E,A),q,Y,g;if((g=e.call(p,new Zt("beforestart",{sourceEvent:E,target:l,identifier:S,active:u,x:D[0],y:D[1],dx:0,dy:0,dispatch:C}),T))!=null)return q=g.x-D[0]||0,Y=g.y-D[1]||0,function b(v,N,$){var z=D,k;switch(v){case"start":i[S]=b,k=u++;break;case"end":delete i[S],--u;case"drag":D=tt($||N,A),k=u;break}C.call(v,p,new Zt(v,{sourceEvent:N,subject:g,target:l,identifier:S,active:k,x:D[0]+q,y:D[1]+Y,dx:D[0]-z[0],dy:D[1]-z[1],dispatch:C}),T)}}return l.filter=function(p){return arguments.length?(t=typeof p=="function"?p:Et(!!p),l):t},l.container=function(p){return arguments.length?(n=typeof p=="function"?p:Et(p),l):n},l.subject=function(p){return arguments.length?(e=typeof p=="function"?p:Et(p),l):e},l.touchable=function(p){return arguments.length?(r=typeof p=="function"?p:Et(!!p),l):r},l.on=function(){var p=o.on.apply(o,arguments);return p===o?l:p},l.clickDistance=function(p){return arguments.length?(y=(p=+p)*p,l):Math.sqrt(y)},l}function cn(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Zn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Mt(){}var xt=.7,Ht=1/xt,lt="\\s*([+-]?\\d+)\\s*",wt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Mi=/^#([0-9a-f]{3,8})$/,Ei=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),$i=new RegExp(`^rgb\\(${Q},${Q},${Q}\\)$`),Ti=new RegExp(`^rgba\\(${lt},${lt},${lt},${wt}\\)$`),zi=new RegExp(`^rgba\\(${Q},${Q},${Q},${wt}\\)$`),ki=new RegExp(`^hsl\\(${wt},${Q},${Q}\\)$`),Si=new RegExp(`^hsla\\(${wt},${Q},${Q},${wt}\\)$`),xn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cn(Mt,bt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:wn,formatHex:wn,formatHex8:Ci,formatHsl:Ii,formatRgb:bn,toString:bn});function wn(){return this.rgb().formatHex()}function Ci(){return this.rgb().formatHex8()}function Ii(){return Jn(this).formatHsl()}function bn(){return this.rgb().formatRgb()}function bt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Mi.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?Nn(n):e===3?new V(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?$t(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?$t(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=Ei.exec(t))?new V(n[1],n[2],n[3],1):(n=$i.exec(t))?new V(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Ti.exec(t))?$t(n[1],n[2],n[3],n[4]):(n=zi.exec(t))?$t(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=ki.exec(t))?En(n[1],n[2]/100,n[3]/100,1):(n=Si.exec(t))?En(n[1],n[2]/100,n[3]/100,n[4]):xn.hasOwnProperty(t)?Nn(xn[t]):t==="transparent"?new V(NaN,NaN,NaN,0):null}function Nn(t){return new V(t>>16&255,t>>8&255,t&255,1)}function $t(t,n,e,r){return r<=0&&(t=n=e=NaN),new V(t,n,e,r)}function Ri(t){return t instanceof Mt||(t=bt(t)),t?(t=t.rgb(),new V(t.r,t.g,t.b,t.opacity)):new V}function Jt(t,n,e,r){return arguments.length===1?Ri(t):new V(t,n,e,r??1)}function V(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}cn(V,Jt,Zn(Mt,{brighter(t){return t=t==null?Ht:Math.pow(Ht,t),new V(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xt:Math.pow(xt,t),new V(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new V(st(this.r),st(this.g),st(this.b),Yt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:An,formatHex:An,formatHex8:Di,formatRgb:Mn,toString:Mn}));function An(){return`#${ut(this.r)}${ut(this.g)}${ut(this.b)}`}function Di(){return`#${ut(this.r)}${ut(this.g)}${ut(this.b)}${ut((isNaN(this.opacity)?1:this.opacity)*255)}`}function Mn(){const t=Yt(this.opacity);return`${t===1?"rgb(":"rgba("}${st(this.r)}, ${st(this.g)}, ${st(this.b)}${t===1?")":`, ${t})`}`}function Yt(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function st(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ut(t){return t=st(t),(t<16?"0":"")+t.toString(16)}function En(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new U(t,n,e,r)}function Jn(t){if(t instanceof U)return new U(t.h,t.s,t.l,t.opacity);if(t instanceof Mt||(t=bt(t)),!t)return new U;if(t instanceof U)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,f=(o+i)/2;return a?(n===o?u=(e-r)/a+(e<r)*6:e===o?u=(r-n)/a+2:u=(n-e)/a+4,a/=f<.5?o+i:2-o-i,u*=60):a=f>0&&f<1?0:u,new U(u,a,f,t.opacity)}function Xi(t,n,e,r){return arguments.length===1?Jn(t):new U(t,n,e,r??1)}function U(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}cn(U,Xi,Zn(Mt,{brighter(t){return t=t==null?Ht:Math.pow(Ht,t),new U(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xt:Math.pow(xt,t),new U(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new V(Ut(t>=240?t-240:t+120,i,r),Ut(t,i,r),Ut(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new U($n(this.h),Tt(this.s),Tt(this.l),Yt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Yt(this.opacity);return`${t===1?"hsl(":"hsla("}${$n(this.h)}, ${Tt(this.s)*100}%, ${Tt(this.l)*100}%${t===1?")":`, ${t})`}`}}));function $n(t){return t=(t||0)%360,t<0?t+360:t}function Tt(t){return Math.max(0,Math.min(1,t||0))}function Ut(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const jn=t=>()=>t;function Pi(t,n){return function(e){return t+e*n}}function Fi(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Hi(t){return(t=+t)==1?te:function(n,e){return e-n?Fi(n,e,t):jn(isNaN(n)?e:n)}}function te(t,n){var e=n-t;return e?Pi(t,e):jn(isNaN(t)?n:t)}const Tn=(function t(n){var e=Hi(n);function r(i,o){var u=e((i=Jt(i)).r,(o=Jt(o)).r),a=e(i.g,o.g),f=e(i.b,o.b),s=te(i.opacity,o.opacity);return function(c){return i.r=u(c),i.g=a(c),i.b=f(c),i.opacity=s(c),i+""}}return r.gamma=t,r})(1);function it(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Gt=new RegExp(jt.source,"g");function Yi(t){return function(){return t}}function Vi(t){return function(n){return t(n)+""}}function qi(t,n){var e=jt.lastIndex=Gt.lastIndex=0,r,i,o,u=-1,a=[],f=[];for(t=t+"",n=n+"";(r=jt.exec(t))&&(i=Gt.exec(n));)(o=i.index)>e&&(o=n.slice(e,o),a[u]?a[u]+=o:a[++u]=o),(r=r[0])===(i=i[0])?a[u]?a[u]+=i:a[++u]=i:(a[++u]=null,f.push({i:u,x:it(r,i)})),e=Gt.lastIndex;return e<n.length&&(o=n.slice(e),a[u]?a[u]+=o:a[++u]=o),a.length<2?f[0]?Vi(f[0].x):Yi(n):(n=f.length,function(s){for(var c=0,y;c<n;++c)a[(y=f[c]).i]=y.x(s);return a.join("")})}var zn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ne(t,n,e,r,i,o){var u,a,f;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(f=t*e+n*r)&&(e-=t*f,r-=n*f),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,f/=a),t*r<n*e&&(t=-t,n=-n,f=-f,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*zn,skewX:Math.atan(f)*zn,scaleX:u,scaleY:a}}var zt;function Oi(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?tn:ne(n.a,n.b,n.c,n.d,n.e,n.f)}function Bi(t){return t==null||(zt||(zt=document.createElementNS("http://www.w3.org/2000/svg","g")),zt.setAttribute("transform",t),!(t=zt.transform.baseVal.consolidate()))?tn:(t=t.matrix,ne(t.a,t.b,t.c,t.d,t.e,t.f))}function ee(t,n,e,r){function i(s){return s.length?s.pop()+" ":""}function o(s,c,y,l,h,x){if(s!==y||c!==l){var _=h.push("translate(",null,n,null,e);x.push({i:_-4,x:it(s,y)},{i:_-2,x:it(c,l)})}else(y||l)&&h.push("translate("+y+n+l+e)}function u(s,c,y,l){s!==c?(s-c>180?c+=360:c-s>180&&(s+=360),l.push({i:y.push(i(y)+"rotate(",null,r)-2,x:it(s,c)})):c&&y.push(i(y)+"rotate("+c+r)}function a(s,c,y,l){s!==c?l.push({i:y.push(i(y)+"skewX(",null,r)-2,x:it(s,c)}):c&&y.push(i(y)+"skewX("+c+r)}function f(s,c,y,l,h,x){if(s!==y||c!==l){var _=h.push(i(h)+"scale(",null,",",null,")");x.push({i:_-4,x:it(s,y)},{i:_-2,x:it(c,l)})}else(y!==1||l!==1)&&h.push(i(h)+"scale("+y+","+l+")")}return function(s,c){var y=[],l=[];return s=t(s),c=t(c),o(s.translateX,s.translateY,c.translateX,c.translateY,y,l),u(s.rotate,c.rotate,y,l),a(s.skewX,c.skewX,y,l),f(s.scaleX,s.scaleY,c.scaleX,c.scaleY,y,l),s=c=null,function(h){for(var x=-1,_=l.length,m;++x<_;)y[(m=l[x]).i]=m.x(h);return y.join("")}}}var Li=ee(Oi,"px, ","px)","deg)"),Ui=ee(Bi,", ",")",")"),Gi=1e-12;function kn(t){return((t=Math.exp(t))+1/t)/2}function Ki(t){return((t=Math.exp(t))-1/t)/2}function Qi(t){return((t=Math.exp(2*t))-1)/(t+1)}const Wi=(function t(n,e,r){function i(o,u){var a=o[0],f=o[1],s=o[2],c=u[0],y=u[1],l=u[2],h=c-a,x=y-f,_=h*h+x*x,m,d;if(_<Gi)d=Math.log(l/s)/n,m=function(T){return[a+T*h,f+T*x,s*Math.exp(n*T*d)]};else{var w=Math.sqrt(_),M=(l*l-s*s+r*_)/(2*s*e*w),p=(l*l-s*s-r*_)/(2*l*e*w),A=Math.log(Math.sqrt(M*M+1)-M),E=Math.log(Math.sqrt(p*p+1)-p);d=(E-A)/n,m=function(T){var S=T*d,R=kn(A),C=s/(e*w)*(R*Qi(n*S+A)-Ki(A));return[a+C*h,f+C*x,s*R/kn(n*S+A)]}}return m.duration=d*1e3*n/Math.SQRT2,m}return i.rho=function(o){var u=Math.max(.001,+o),a=u*u,f=a*a;return t(u,a,f)},i})(Math.SQRT2,2,4);var Zi=Nt("start","end","cancel","interrupt"),Ji=[],re=0,Sn=1,nn=2,Ct=3,Cn=4,en=5,It=6;function Ot(t,n,e,r,i,o){var u=t.__transition;if(!u)t.__transition={};else if(e in u)return;ji(t,e,{name:n,index:r,group:i,on:Zi,tween:Ji,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:re})}function ln(t,n){var e=G(t,n);if(e.state>re)throw new Error("too late; already scheduled");return e}function W(t,n){var e=G(t,n);if(e.state>Ct)throw new Error("too late; already running");return e}function G(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function ji(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=an(o,0,e.time);function o(s){e.state=Sn,e.timer.restart(u,e.delay,e.time),e.delay<=s&&u(s-e.delay)}function u(s){var c,y,l,h;if(e.state!==Sn)return f();for(c in r)if(h=r[c],h.name===e.name){if(h.state===Ct)return mn(u);h.state===Cn?(h.state=It,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<n&&(h.state=It,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(mn(function(){e.state===Ct&&(e.state=Cn,e.timer.restart(a,e.delay,e.time),a(s))}),e.state=nn,e.on.call("start",t,t.__data__,e.index,e.group),e.state===nn){for(e.state=Ct,i=new Array(l=e.tween.length),c=0,y=-1;c<l;++c)(h=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++y]=h);i.length=y+1}}function a(s){for(var c=s<e.duration?e.ease.call(null,s/e.duration):(e.timer.restart(f),e.state=en,1),y=-1,l=i.length;++y<l;)i[y].call(t,c);e.state===en&&(e.on.call("end",t,t.__data__,e.index,e.group),f())}function f(){e.state=It,e.timer.stop(),delete r[n];for(var s in r)return;delete t.__transition}}function Rt(t,n){var e=t.__transition,r,i,o=!0,u;if(e){n=n==null?null:n+"";for(u in e){if((r=e[u]).name!==n){o=!1;continue}i=r.state>nn&&r.state<en,r.state=It,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[u]}o&&delete t.__transition}}function to(t){return this.each(function(){Rt(this,t)})}function no(t,n){var e,r;return function(){var i=W(this,t),o=i.tween;if(o!==e){r=e=o;for(var u=0,a=r.length;u<a;++u)if(r[u].name===n){r=r.slice(),r.splice(u,1);break}}i.tween=r}}function eo(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var o=W(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},f=0,s=i.length;f<s;++f)if(i[f].name===n){i[f]=a;break}f===s&&i.push(a)}o.tween=i}}function ro(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=G(this.node(),e).tween,i=0,o=r.length,u;i<o;++i)if((u=r[i]).name===t)return u.value;return null}return this.each((n==null?no:eo)(e,t,n))}function hn(t,n,e){var r=t._id;return t.each(function(){var i=W(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return G(i,r).value[n]}}function ie(t,n){var e;return(typeof n=="number"?it:n instanceof bt?Tn:(e=bt(n))?(n=e,Tn):qi)(t,n)}function io(t){return function(){this.removeAttribute(t)}}function oo(t){return function(){this.removeAttributeNS(t.space,t.local)}}function uo(t,n,e){var r,i=e+"",o;return function(){var u=this.getAttribute(t);return u===i?null:u===r?o:o=n(r=u,e)}}function ao(t,n,e){var r,i=e+"",o;return function(){var u=this.getAttributeNS(t.space,t.local);return u===i?null:u===r?o:o=n(r=u,e)}}function so(t,n,e){var r,i,o;return function(){var u,a=e(this),f;return a==null?void this.removeAttribute(t):(u=this.getAttribute(t),f=a+"",u===f?null:u===r&&f===i?o:(i=f,o=n(r=u,a)))}}function fo(t,n,e){var r,i,o;return function(){var u,a=e(this),f;return a==null?void this.removeAttributeNS(t.space,t.local):(u=this.getAttributeNS(t.space,t.local),f=a+"",u===f?null:u===r&&f===i?o:(i=f,o=n(r=u,a)))}}function co(t,n){var e=qt(t),r=e==="transform"?Ui:ie;return this.attrTween(t,typeof n=="function"?(e.local?fo:so)(e,r,hn(this,"attr."+t,n)):n==null?(e.local?oo:io)(e):(e.local?ao:uo)(e,r,n))}function lo(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function ho(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function go(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&ho(t,o)),e}return i._value=n,i}function po(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&lo(t,o)),e}return i._value=n,i}function yo(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=qt(t);return this.tween(e,(r.local?go:po)(r,n))}function mo(t,n){return function(){ln(this,t).delay=+n.apply(this,arguments)}}function _o(t,n){return n=+n,function(){ln(this,t).delay=n}}function vo(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?mo:_o)(n,t)):G(this.node(),n).delay}function xo(t,n){return function(){W(this,t).duration=+n.apply(this,arguments)}}function wo(t,n){return n=+n,function(){W(this,t).duration=n}}function bo(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?xo:wo)(n,t)):G(this.node(),n).duration}function No(t,n){if(typeof n!="function")throw new Error;return function(){W(this,t).ease=n}}function Ao(t){var n=this._id;return arguments.length?this.each(No(n,t)):G(this.node(),n).ease}function Mo(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;W(this,t).ease=e}}function Eo(t){if(typeof t!="function")throw new Error;return this.each(Mo(this._id,t))}function $o(t){typeof t!="function"&&(t=Hn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],u=o.length,a=r[i]=[],f,s=0;s<u;++s)(f=o[s])&&t.call(f,f.__data__,s,o)&&a.push(f);return new rt(r,this._parents,this._name,this._id)}function To(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var f=n[a],s=e[a],c=f.length,y=u[a]=new Array(c),l,h=0;h<c;++h)(l=f[h]||s[h])&&(y[h]=l);for(;a<r;++a)u[a]=n[a];return new rt(u,this._parents,this._name,this._id)}function zo(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function ko(t,n,e){var r,i,o=zo(n)?ln:W;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}function So(t,n){var e=this._id;return arguments.length<2?G(this.node(),e).on.on(t):this.each(ko(e,t,n))}function Co(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function Io(){return this.on("end.remove",Co(this._id))}function Ro(t){var n=this._name,e=this._id;typeof t!="function"&&(t=sn(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a=r[u],f=a.length,s=o[u]=new Array(f),c,y,l=0;l<f;++l)(c=a[l])&&(y=t.call(c,c.__data__,l,a))&&("__data__"in c&&(y.__data__=c.__data__),s[l]=y,Ot(s[l],n,e,l,s,G(c,e)));return new rt(o,this._parents,n,e)}function Do(t){var n=this._name,e=this._id;typeof t!="function"&&(t=Fn(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var f=r[a],s=f.length,c,y=0;y<s;++y)if(c=f[y]){for(var l=t.call(c,c.__data__,y,f),h,x=G(c,e),_=0,m=l.length;_<m;++_)(h=l[_])&&Ot(h,n,e,_,l,x);o.push(l),u.push(c)}return new rt(o,u,n,e)}var Xo=At.prototype.constructor;function Po(){return new Xo(this._groups,this._parents)}function Fo(t,n){var e,r,i;return function(){var o=gt(this,t),u=(this.style.removeProperty(t),gt(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}function oe(t){return function(){this.style.removeProperty(t)}}function Ho(t,n,e){var r,i=e+"",o;return function(){var u=gt(this,t);return u===i?null:u===r?o:o=n(r=u,e)}}function Yo(t,n,e){var r,i,o;return function(){var u=gt(this,t),a=e(this),f=a+"";return a==null&&(f=a=(this.style.removeProperty(t),gt(this,t))),u===f?null:u===r&&f===i?o:(i=f,o=n(r=u,a))}}function Vo(t,n){var e,r,i,o="style."+n,u="end."+o,a;return function(){var f=W(this,t),s=f.on,c=f.value[o]==null?a||(a=oe(n)):void 0;(s!==e||i!==c)&&(r=(e=s).copy()).on(u,i=c),f.on=r}}function qo(t,n,e){var r=(t+="")=="transform"?Li:ie;return n==null?this.styleTween(t,Fo(t,r)).on("end.style."+t,oe(t)):typeof n=="function"?this.styleTween(t,Yo(t,r,hn(this,"style."+t,n))).each(Vo(this._id,t)):this.styleTween(t,Ho(t,r,n),e).on("end.style."+t,null)}function Oo(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Bo(t,n,e){var r,i;function o(){var u=n.apply(this,arguments);return u!==i&&(r=(i=u)&&Oo(t,u,e)),r}return o._value=n,o}function Lo(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Bo(t,n,e??""))}function Uo(t){return function(){this.textContent=t}}function Go(t){return function(){var n=t(this);this.textContent=n??""}}function Ko(t){return this.tween("text",typeof t=="function"?Go(hn(this,"text",t)):Uo(t==null?"":t+""))}function Qo(t){return function(n){this.textContent=t.call(this,n)}}function Wo(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Qo(i)),n}return r._value=t,r}function Zo(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Wo(t))}function Jo(){for(var t=this._name,n=this._id,e=ue(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u=r[o],a=u.length,f,s=0;s<a;++s)if(f=u[s]){var c=G(f,n);Ot(f,t,e,s,u,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new rt(r,this._parents,t,e)}function jo(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,u){var a={value:u},f={value:function(){--i===0&&o()}};e.each(function(){var s=W(this,r),c=s.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(a),n._.interrupt.push(a),n._.end.push(f)),s.on=n}),i===0&&o()})}var tu=0;function rt(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ue(){return++tu}var j=At.prototype;rt.prototype={constructor:rt,select:Ro,selectAll:Do,selectChild:j.selectChild,selectChildren:j.selectChildren,filter:$o,merge:To,selection:Po,transition:Jo,call:j.call,nodes:j.nodes,node:j.node,size:j.size,empty:j.empty,each:j.each,on:So,attr:co,attrTween:yo,style:qo,styleTween:Lo,text:Ko,textTween:Zo,remove:Io,tween:ro,delay:vo,duration:bo,ease:Ao,easeVarying:Eo,end:jo,[Symbol.iterator]:j[Symbol.iterator]};function nu(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var eu={time:null,delay:0,duration:250,ease:nu};function ru(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function iu(t){var n,e;t instanceof rt?(n=t._id,t=t._name):(n=ue(),(e=eu).time=un(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u=r[o],a=u.length,f,s=0;s<a;++s)(f=u[s])&&Ot(f,t,n,s,u,e||ru(f,n));return new rt(r,this._parents,t,n)}At.prototype.interrupt=to;At.prototype.transition=iu;const kt=t=>()=>t;function ou(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function et(t,n,e){this.k=t,this.x=n,this.y=e}et.prototype={constructor:et,scale:function(t){return t===1?this:new et(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new et(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ae=new et(1,0,0);et.prototype;function Kt(t){t.stopImmediatePropagation()}function dt(t){t.preventDefault(),t.stopImmediatePropagation()}function uu(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function au(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function In(){return this.__zoom||ae}function su(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function fu(){return navigator.maxTouchPoints||"ontouchstart"in this}function cu(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}function mu(){var t=uu,n=au,e=cu,r=su,i=fu,o=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],a=250,f=Wi,s=Nt("start","zoom","end"),c,y,l,h=500,x=150,_=0,m=10;function d(g){g.property("__zoom",In).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",R).on("dblclick.zoom",C).filter(i).on("touchstart.zoom",D).on("touchmove.zoom",q).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}d.transform=function(g,b,v,N){var $=g.selection?g.selection():g;$.property("__zoom",In),g!==$?A(g,b,v,N):$.interrupt().each(function(){E(this,arguments).event(N).start().zoom(null,typeof b=="function"?b.apply(this,arguments):b).end()})},d.scaleBy=function(g,b,v,N){d.scaleTo(g,function(){var $=this.__zoom.k,z=typeof b=="function"?b.apply(this,arguments):b;return $*z},v,N)},d.scaleTo=function(g,b,v,N){d.transform(g,function(){var $=n.apply(this,arguments),z=this.__zoom,k=v==null?p($):typeof v=="function"?v.apply(this,arguments):v,I=z.invert(k),X=typeof b=="function"?b.apply(this,arguments):b;return e(M(w(z,X),k,I),$,u)},v,N)},d.translateBy=function(g,b,v,N){d.transform(g,function(){return e(this.__zoom.translate(typeof b=="function"?b.apply(this,arguments):b,typeof v=="function"?v.apply(this,arguments):v),n.apply(this,arguments),u)},null,N)},d.translateTo=function(g,b,v,N,$){d.transform(g,function(){var z=n.apply(this,arguments),k=this.__zoom,I=N==null?p(z):typeof N=="function"?N.apply(this,arguments):N;return e(ae.translate(I[0],I[1]).scale(k.k).translate(typeof b=="function"?-b.apply(this,arguments):-b,typeof v=="function"?-v.apply(this,arguments):-v),z,u)},N,$)};function w(g,b){return b=Math.max(o[0],Math.min(o[1],b)),b===g.k?g:new et(b,g.x,g.y)}function M(g,b,v){var N=b[0]-v[0]*g.k,$=b[1]-v[1]*g.k;return N===g.x&&$===g.y?g:new et(g.k,N,$)}function p(g){return[(+g[0][0]+ +g[1][0])/2,(+g[0][1]+ +g[1][1])/2]}function A(g,b,v,N){g.on("start.zoom",function(){E(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(N).end()}).tween("zoom",function(){var $=this,z=arguments,k=E($,z).event(N),I=n.apply($,z),X=v==null?p(I):typeof v=="function"?v.apply($,z):v,K=Math.max(I[1][0]-I[0][0],I[1][1]-I[0][1]),P=$.__zoom,B=typeof b=="function"?b.apply($,z):b,Z=f(P.invert(X).concat(K/P.k),B.invert(X).concat(K/B.k));return function(L){if(L===1)L=B;else{var J=Z(L),Bt=K/J[2];L=new et(Bt,X[0]-J[0]*Bt,X[1]-J[1]*Bt)}k.zoom(null,L)}})}function E(g,b,v){return!v&&g.__zooming||new T(g,b)}function T(g,b){this.that=g,this.args=b,this.active=0,this.sourceEvent=null,this.extent=n.apply(g,b),this.taps=0}T.prototype={event:function(g){return g&&(this.sourceEvent=g),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(g,b){return this.mouse&&g!=="mouse"&&(this.mouse[1]=b.invert(this.mouse[0])),this.touch0&&g!=="touch"&&(this.touch0[1]=b.invert(this.touch0[0])),this.touch1&&g!=="touch"&&(this.touch1[1]=b.invert(this.touch1[0])),this.that.__zoom=b,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(g){var b=nt(this.that).datum();s.call(g,this.that,new ou(g,{sourceEvent:this.sourceEvent,target:d,transform:this.that.__zoom,dispatch:s}),b)}};function S(g,...b){if(!t.apply(this,arguments))return;var v=E(this,b).event(g),N=this.__zoom,$=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),z=tt(g);if(v.wheel)(v.mouse[0][0]!==z[0]||v.mouse[0][1]!==z[1])&&(v.mouse[1]=N.invert(v.mouse[0]=z)),clearTimeout(v.wheel);else{if(N.k===$)return;v.mouse=[z,N.invert(z)],Rt(this),v.start()}dt(g),v.wheel=setTimeout(k,x),v.zoom("mouse",e(M(w(N,$),v.mouse[0],v.mouse[1]),v.extent,u));function k(){v.wheel=null,v.end()}}function R(g,...b){if(l||!t.apply(this,arguments))return;var v=g.currentTarget,N=E(this,b,!0).event(g),$=nt(g.view).on("mousemove.zoom",X,!0).on("mouseup.zoom",K,!0),z=tt(g,v),k=g.clientX,I=g.clientY;Qn(g.view),Kt(g),N.mouse=[z,this.__zoom.invert(z)],Rt(this),N.start();function X(P){if(dt(P),!N.moved){var B=P.clientX-k,Z=P.clientY-I;N.moved=B*B+Z*Z>_}N.event(P).zoom("mouse",e(M(N.that.__zoom,N.mouse[0]=tt(P,v),N.mouse[1]),N.extent,u))}function K(P){$.on("mousemove.zoom mouseup.zoom",null),Wn(P.view,N.moved),dt(P),N.event(P).end()}}function C(g,...b){if(t.apply(this,arguments)){var v=this.__zoom,N=tt(g.changedTouches?g.changedTouches[0]:g,this),$=v.invert(N),z=v.k*(g.shiftKey?.5:2),k=e(M(w(v,z),N,$),n.apply(this,b),u);dt(g),a>0?nt(this).transition().duration(a).call(A,k,N,g):nt(this).call(d.transform,k,N,g)}}function D(g,...b){if(t.apply(this,arguments)){var v=g.touches,N=v.length,$=E(this,b,g.changedTouches.length===N).event(g),z,k,I,X;for(Kt(g),k=0;k<N;++k)I=v[k],X=tt(I,this),X=[X,this.__zoom.invert(X),I.identifier],$.touch0?!$.touch1&&$.touch0[2]!==X[2]&&($.touch1=X,$.taps=0):($.touch0=X,z=!0,$.taps=1+!!c);c&&(c=clearTimeout(c)),z&&($.taps<2&&(y=X[0],c=setTimeout(function(){c=null},h)),Rt(this),$.start())}}function q(g,...b){if(this.__zooming){var v=E(this,b).event(g),N=g.changedTouches,$=N.length,z,k,I,X;for(dt(g),z=0;z<$;++z)k=N[z],I=tt(k,this),v.touch0&&v.touch0[2]===k.identifier?v.touch0[0]=I:v.touch1&&v.touch1[2]===k.identifier&&(v.touch1[0]=I);if(k=v.that.__zoom,v.touch1){var K=v.touch0[0],P=v.touch0[1],B=v.touch1[0],Z=v.touch1[1],L=(L=B[0]-K[0])*L+(L=B[1]-K[1])*L,J=(J=Z[0]-P[0])*J+(J=Z[1]-P[1])*J;k=w(k,Math.sqrt(L/J)),I=[(K[0]+B[0])/2,(K[1]+B[1])/2],X=[(P[0]+Z[0])/2,(P[1]+Z[1])/2]}else if(v.touch0)I=v.touch0[0],X=v.touch0[1];else return;v.zoom("touch",e(M(k,I,X),v.extent,u))}}function Y(g,...b){if(this.__zooming){var v=E(this,b).event(g),N=g.changedTouches,$=N.length,z,k;for(Kt(g),l&&clearTimeout(l),l=setTimeout(function(){l=null},h),z=0;z<$;++z)k=N[z],v.touch0&&v.touch0[2]===k.identifier?delete v.touch0:v.touch1&&v.touch1[2]===k.identifier&&delete v.touch1;if(v.touch1&&!v.touch0&&(v.touch0=v.touch1,delete v.touch1),v.touch0)v.touch0[1]=this.__zoom.invert(v.touch0[0]);else if(v.end(),v.taps===2&&(k=tt(k,this),Math.hypot(y[0]-k[0],y[1]-k[1])<m)){var I=nt(this).on("dblclick.zoom");I&&I.apply(this,arguments)}}}return d.wheelDelta=function(g){return arguments.length?(r=typeof g=="function"?g:kt(+g),d):r},d.filter=function(g){return arguments.length?(t=typeof g=="function"?g:kt(!!g),d):t},d.touchable=function(g){return arguments.length?(i=typeof g=="function"?g:kt(!!g),d):i},d.extent=function(g){return arguments.length?(n=typeof g=="function"?g:kt([[+g[0][0],+g[0][1]],[+g[1][0],+g[1][1]]]),d):n},d.scaleExtent=function(g){return arguments.length?(o[0]=+g[0],o[1]=+g[1],d):[o[0],o[1]]},d.translateExtent=function(g){return arguments.length?(u[0][0]=+g[0][0],u[1][0]=+g[1][0],u[0][1]=+g[0][1],u[1][1]=+g[1][1],d):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},d.constrain=function(g){return arguments.length?(e=g,d):e},d.duration=function(g){return arguments.length?(a=+g,d):a},d.interpolate=function(g){return arguments.length?(f=g,d):f},d.on=function(){var g=s.on.apply(s,arguments);return g===s?d:g},d.clickDistance=function(g){return arguments.length?(_=(g=+g)*g,d):Math.sqrt(_)},d.tapDistance=function(g){return arguments.length?(m=+g,d):m},d}export{lu as a,nt as b,hu as c,yu as d,ae as i,gu as l,du as m,pu as s,mu as z};