alepha 0.18.2 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/assets/devtools-ui/200.html +2 -2
  2. package/assets/devtools-ui/200.html.br +0 -0
  3. package/assets/devtools-ui/404.html +2 -2
  4. package/assets/devtools-ui/404.html.br +0 -0
  5. package/assets/devtools-ui/{asset.BfSBZ5Dd.css → asset.hG_f8HuK.css} +1 -1
  6. package/assets/devtools-ui/asset.hG_f8HuK.css.br +0 -0
  7. package/assets/devtools-ui/chunk.B3au4Lhg.js +1 -0
  8. package/assets/devtools-ui/chunk.B3au4Lhg.js.br +0 -0
  9. package/assets/devtools-ui/chunk.BLOrlnMB.js +1 -0
  10. package/assets/devtools-ui/chunk.BLOrlnMB.js.br +0 -0
  11. package/assets/devtools-ui/chunk.BLR01ljW.js +1 -0
  12. package/assets/devtools-ui/chunk.BLR01ljW.js.br +0 -0
  13. package/assets/devtools-ui/chunk.BTXaIUlA.js +1 -0
  14. package/assets/devtools-ui/chunk.BTXaIUlA.js.br +0 -0
  15. package/assets/devtools-ui/{chunk.lJL-lgnW.js → chunk.BhJaxmm8.js} +1 -1
  16. package/assets/devtools-ui/chunk.BhJaxmm8.js.br +0 -0
  17. package/assets/devtools-ui/chunk.BtoNxFuL.js +1 -0
  18. package/assets/devtools-ui/chunk.BtoNxFuL.js.br +0 -0
  19. package/assets/devtools-ui/chunk.C8YUV2Wd.js +1 -0
  20. package/assets/devtools-ui/chunk.C8YUV2Wd.js.br +0 -0
  21. package/assets/devtools-ui/{chunk.M6wyKO_3.js → chunk.CBbIgDzE.js} +2 -2
  22. package/assets/devtools-ui/chunk.CBbIgDzE.js.br +0 -0
  23. package/assets/devtools-ui/chunk.CFqIniwA.js +1 -0
  24. package/assets/devtools-ui/chunk.CFqIniwA.js.br +0 -0
  25. package/assets/devtools-ui/chunk.CLFF7f7-.js +1 -0
  26. package/assets/devtools-ui/chunk.CLFF7f7-.js.br +0 -0
  27. package/assets/devtools-ui/chunk.CRsBbA10.js +1 -0
  28. package/assets/devtools-ui/chunk.CRsBbA10.js.br +0 -0
  29. package/assets/devtools-ui/{chunk.DbEH1oOB.js → chunk.CZPo6v95.js} +1 -1
  30. package/assets/devtools-ui/chunk.CZPo6v95.js.br +0 -0
  31. package/assets/devtools-ui/chunk.D0fWgNos.js +1 -0
  32. package/assets/devtools-ui/chunk.D0fWgNos.js.br +1 -0
  33. package/assets/devtools-ui/chunk.D7-0ziQ6.js +1 -0
  34. package/assets/devtools-ui/chunk.D7-0ziQ6.js.br +0 -0
  35. package/assets/devtools-ui/chunk.DAewe0vm.js +1 -0
  36. package/assets/devtools-ui/chunk.DAewe0vm.js.br +0 -0
  37. package/assets/devtools-ui/chunk.DJRQEYqK.js +1 -0
  38. package/assets/devtools-ui/chunk.DJRQEYqK.js.br +0 -0
  39. package/assets/devtools-ui/{chunk.CZl6J9DF.js → chunk.DMAxv14p.js} +1 -1
  40. package/assets/devtools-ui/chunk.DMAxv14p.js.br +0 -0
  41. package/assets/devtools-ui/{chunk.BT2IiBkZ.js → chunk.DMImnNjU.js} +1 -1
  42. package/assets/devtools-ui/chunk.DMImnNjU.js.br +0 -0
  43. package/assets/devtools-ui/chunk.DeeQsidk.js +9 -0
  44. package/assets/devtools-ui/chunk.DeeQsidk.js.br +0 -0
  45. package/assets/devtools-ui/chunk.DqEwn9Vj.js +7 -0
  46. package/assets/devtools-ui/chunk.DqEwn9Vj.js.br +0 -0
  47. package/assets/devtools-ui/chunk.Dt8OsQey.js +1 -0
  48. package/assets/devtools-ui/chunk.Dt8OsQey.js.br +0 -0
  49. package/assets/devtools-ui/{chunk.B9pX3zit.js → chunk.Dtp8oa_f.js} +1 -1
  50. package/assets/devtools-ui/chunk.Dtp8oa_f.js.br +0 -0
  51. package/assets/devtools-ui/chunk.Dx3JzAYM.js +1 -0
  52. package/assets/devtools-ui/chunk.Dx3JzAYM.js.br +0 -0
  53. package/assets/devtools-ui/chunk.GCOj1-5E.js +1 -0
  54. package/assets/devtools-ui/chunk.GCOj1-5E.js.br +0 -0
  55. package/assets/devtools-ui/chunk.IC1LD8BH.js +1 -0
  56. package/assets/devtools-ui/chunk.IC1LD8BH.js.br +0 -0
  57. package/assets/devtools-ui/chunk.IwuB_TqW.js +1 -0
  58. package/assets/devtools-ui/chunk.IwuB_TqW.js.br +0 -0
  59. package/assets/devtools-ui/chunk.Qqapj2zq.js +1 -0
  60. package/assets/devtools-ui/chunk.Qqapj2zq.js.br +0 -0
  61. package/assets/devtools-ui/{chunk.C79YouPp.js → chunk.TKKKndOy.js} +1 -1
  62. package/assets/devtools-ui/chunk.TKKKndOy.js.br +0 -0
  63. package/assets/devtools-ui/chunk.YHTVhFQT.js +1 -0
  64. package/assets/devtools-ui/chunk.YHTVhFQT.js.br +0 -0
  65. package/assets/devtools-ui/chunk.fnod6uEi.js +1 -0
  66. package/assets/devtools-ui/chunk.fnod6uEi.js.br +0 -0
  67. package/assets/devtools-ui/chunk.mOCRmXjo.js +1 -0
  68. package/assets/devtools-ui/chunk.mOCRmXjo.js.br +0 -0
  69. package/assets/devtools-ui/chunk.qZTNEAK0.js +1 -0
  70. package/assets/devtools-ui/chunk.qZTNEAK0.js.br +0 -0
  71. package/assets/devtools-ui/chunk.rc9m0y4-.js +1 -0
  72. package/assets/devtools-ui/chunk.rc9m0y4-.js.br +0 -0
  73. package/assets/devtools-ui/entry.Cxc5QLCU.js +80 -0
  74. package/assets/devtools-ui/entry.Cxc5QLCU.js.br +0 -0
  75. package/assets/devtools-ui/index.html +2 -2
  76. package/assets/devtools-ui/index.html.br +0 -0
  77. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  78. package/assets/swagger-ui/swagger-ui.css +1 -1
  79. package/dist/api/audits/index.d.ts +61 -5
  80. package/dist/api/audits/index.d.ts.map +1 -1
  81. package/dist/api/files/index.d.ts +61 -5
  82. package/dist/api/files/index.d.ts.map +1 -1
  83. package/dist/api/jobs/index.d.ts +61 -5
  84. package/dist/api/jobs/index.d.ts.map +1 -1
  85. package/dist/api/jobs/index.js +4 -2
  86. package/dist/api/jobs/index.js.map +1 -1
  87. package/dist/api/keys/index.d.ts +5 -5
  88. package/dist/api/notifications/index.browser.js +44 -1
  89. package/dist/api/notifications/index.browser.js.map +1 -1
  90. package/dist/api/notifications/index.d.ts +187 -2
  91. package/dist/api/notifications/index.d.ts.map +1 -1
  92. package/dist/api/notifications/index.js +143 -8
  93. package/dist/api/notifications/index.js.map +1 -1
  94. package/dist/api/parameters/index.d.ts +61 -5
  95. package/dist/api/parameters/index.d.ts.map +1 -1
  96. package/dist/api/users/index.d.ts +330 -93
  97. package/dist/api/users/index.d.ts.map +1 -1
  98. package/dist/api/users/index.js +27 -36
  99. package/dist/api/users/index.js.map +1 -1
  100. package/dist/cli/config/index.d.ts +46 -0
  101. package/dist/cli/config/index.d.ts.map +1 -0
  102. package/dist/cli/config/index.js +20 -0
  103. package/dist/cli/config/index.js.map +1 -0
  104. package/dist/cli/core/index.d.ts +69 -66
  105. package/dist/cli/core/index.d.ts.map +1 -1
  106. package/dist/cli/core/index.js +329 -196
  107. package/dist/cli/core/index.js.map +1 -1
  108. package/dist/cli/platform/index.d.ts +302 -63
  109. package/dist/cli/platform/index.d.ts.map +1 -1
  110. package/dist/cli/platform/index.js +455 -25
  111. package/dist/cli/platform/index.js.map +1 -1
  112. package/dist/core/index.browser.js +125 -87
  113. package/dist/core/index.browser.js.map +1 -1
  114. package/dist/core/index.d.ts +62 -53
  115. package/dist/core/index.d.ts.map +1 -1
  116. package/dist/core/index.js +125 -87
  117. package/dist/core/index.js.map +1 -1
  118. package/dist/core/index.native.js +125 -87
  119. package/dist/core/index.native.js.map +1 -1
  120. package/dist/core/index.workerd.js +125 -87
  121. package/dist/core/index.workerd.js.map +1 -1
  122. package/dist/crypto/index.d.ts +18 -1
  123. package/dist/crypto/index.d.ts.map +1 -1
  124. package/dist/crypto/index.js +29 -3
  125. package/dist/crypto/index.js.map +1 -1
  126. package/dist/devtools/index.js +3 -12
  127. package/dist/devtools/index.js.map +1 -1
  128. package/dist/logger/index.d.ts +10 -1
  129. package/dist/logger/index.d.ts.map +1 -1
  130. package/dist/logger/index.js +19 -9
  131. package/dist/logger/index.js.map +1 -1
  132. package/dist/orm/core/index.browser.js +57 -1
  133. package/dist/orm/core/index.browser.js.map +1 -1
  134. package/dist/orm/core/index.bun.js +378 -19
  135. package/dist/orm/core/index.bun.js.map +1 -1
  136. package/dist/orm/core/index.d.ts +328 -9
  137. package/dist/orm/core/index.d.ts.map +1 -1
  138. package/dist/orm/core/index.js +384 -21
  139. package/dist/orm/core/index.js.map +1 -1
  140. package/dist/orm/postgres/index.bun.js +49 -17
  141. package/dist/orm/postgres/index.bun.js.map +1 -1
  142. package/dist/orm/postgres/index.d.ts +47 -21
  143. package/dist/orm/postgres/index.d.ts.map +1 -1
  144. package/dist/orm/postgres/index.js +52 -17
  145. package/dist/orm/postgres/index.js.map +1 -1
  146. package/dist/react/core/index.d.ts +1 -1
  147. package/dist/react/core/index.d.ts.map +1 -1
  148. package/dist/react/core/index.js +6 -1
  149. package/dist/react/core/index.js.map +1 -1
  150. package/dist/react/form/index.d.ts +28 -18
  151. package/dist/react/form/index.d.ts.map +1 -1
  152. package/dist/react/form/index.js +92 -56
  153. package/dist/react/form/index.js.map +1 -1
  154. package/dist/react/router/index.browser.js +448 -116
  155. package/dist/react/router/index.browser.js.map +1 -1
  156. package/dist/react/router/index.d.ts +102 -40
  157. package/dist/react/router/index.d.ts.map +1 -1
  158. package/dist/react/router/index.js +453 -92
  159. package/dist/react/router/index.js.map +1 -1
  160. package/dist/security/index.d.ts +3 -11
  161. package/dist/security/index.d.ts.map +1 -1
  162. package/dist/security/index.js +6 -11
  163. package/dist/security/index.js.map +1 -1
  164. package/dist/server/auth/index.d.ts +22 -24
  165. package/dist/server/auth/index.d.ts.map +1 -1
  166. package/dist/server/auth/index.js +102 -82
  167. package/dist/server/auth/index.js.map +1 -1
  168. package/dist/server/cookies/index.d.ts +7 -4
  169. package/dist/server/cookies/index.d.ts.map +1 -1
  170. package/dist/server/cookies/index.js +13 -12
  171. package/dist/server/cookies/index.js.map +1 -1
  172. package/dist/server/core/index.d.ts +288 -4
  173. package/dist/server/core/index.d.ts.map +1 -1
  174. package/dist/server/core/index.js +375 -2
  175. package/dist/server/core/index.js.map +1 -1
  176. package/dist/server/links/index.browser.js +10 -71
  177. package/dist/server/links/index.browser.js.map +1 -1
  178. package/dist/server/links/index.d.ts +32 -49
  179. package/dist/server/links/index.d.ts.map +1 -1
  180. package/dist/server/links/index.js +73 -100
  181. package/dist/server/links/index.js.map +1 -1
  182. package/dist/system/index.browser.js +221 -2
  183. package/dist/system/index.browser.js.map +1 -1
  184. package/dist/system/index.d.ts +63 -1
  185. package/dist/system/index.d.ts.map +1 -1
  186. package/dist/system/index.js +221 -1
  187. package/dist/system/index.js.map +1 -1
  188. package/dist/system/index.workerd.js +224 -4
  189. package/dist/system/index.workerd.js.map +1 -1
  190. package/package.json +10 -5
  191. package/src/api/jobs/providers/JobProvider.ts +6 -3
  192. package/src/api/notifications/controllers/AdminNotificationController.ts +83 -0
  193. package/src/api/notifications/index.browser.ts +3 -0
  194. package/src/api/notifications/index.ts +14 -2
  195. package/src/api/notifications/jobs/NotificationJobs.ts +11 -2
  196. package/src/api/notifications/schemas/notificationDetailResourceSchema.ts +20 -0
  197. package/src/api/notifications/schemas/notificationQuerySchema.ts +19 -0
  198. package/src/api/notifications/schemas/notificationResourceSchema.ts +18 -0
  199. package/src/api/notifications/services/NotificationSenderService.ts +15 -2
  200. package/src/api/users/atoms/realmAuthSettingsAtom.ts +28 -32
  201. package/src/api/users/buckets/UserBuckets.ts +1 -1
  202. package/src/api/users/jobs/UserJobs.ts +1 -1
  203. package/src/api/users/primitives/$realm.ts +8 -49
  204. package/src/api/users/providers/RealmProvider.ts +2 -3
  205. package/src/api/users/services/RegistrationService.spec.ts +7 -7
  206. package/src/api/users/services/RegistrationService.ts +3 -3
  207. package/src/api/users/services/SessionService.spec.ts +4 -4
  208. package/src/api/users/services/SessionService.ts +3 -3
  209. package/src/cli/{core → config}/defineConfig.ts +14 -20
  210. package/src/cli/config/index.ts +1 -0
  211. package/src/cli/core/commands/db.ts +65 -1
  212. package/src/cli/core/commands/dev.ts +1 -0
  213. package/src/cli/core/commands/init.ts +2 -192
  214. package/src/cli/core/index.ts +34 -11
  215. package/src/cli/core/providers/ViteDevServerProvider.ts +52 -13
  216. package/src/cli/core/services/PackageManagerUtils.ts +43 -21
  217. package/src/cli/core/services/ProjectScaffolder.ts +214 -2
  218. package/src/cli/core/services/ViteUtils.ts +57 -0
  219. package/src/cli/core/tasks/BuildClientTask.ts +7 -2
  220. package/src/cli/core/tasks/BuildCloudflareTask.ts +4 -12
  221. package/src/cli/core/tasks/BuildServerTask.ts +2 -0
  222. package/src/cli/core/tasks/BuildVercelTask.ts +165 -168
  223. package/src/cli/core/templates/alephaConfigTs.ts +1 -1
  224. package/src/cli/core/templates/apiAppSecurityTs.ts +5 -8
  225. package/src/cli/core/templates/tsconfigJson.ts +6 -1
  226. package/src/cli/platform/adapters/CloudflareAdapter.spec.ts +1 -1
  227. package/src/cli/platform/adapters/CloudflareAdapter.ts +30 -29
  228. package/src/cli/platform/atoms/platformOptions.ts +21 -0
  229. package/src/cli/platform/commands/SecretsCommand.spec.ts +298 -0
  230. package/src/cli/platform/commands/SecretsCommand.ts +283 -0
  231. package/src/cli/platform/commands/platform.ts +12 -0
  232. package/src/cli/platform/index.ts +14 -28
  233. package/src/cli/platform/providers/GitHubSecretStore.spec.ts +153 -0
  234. package/src/cli/platform/providers/GitHubSecretStore.ts +112 -0
  235. package/src/cli/platform/providers/MemorySecretStore.ts +114 -0
  236. package/src/cli/platform/providers/SecretStoreProvider.ts +39 -0
  237. package/src/cli/platform/schemas/cloudflare.ts +2 -0
  238. package/src/cli/platform/services/CloudflareApi.ts +5 -2
  239. package/src/cli/platform/services/DockerComposeGenerator.spec.ts +115 -0
  240. package/src/cli/platform/services/DockerComposeGenerator.ts +46 -1
  241. package/src/cli/platform/services/SecretFilterService.spec.ts +111 -0
  242. package/src/cli/platform/services/SecretFilterService.ts +54 -0
  243. package/src/core/Alepha.ts +94 -25
  244. package/src/core/__tests__/Alepha-parseEnv.spec.ts +20 -0
  245. package/src/core/primitives/$memoize.ts +38 -26
  246. package/src/core/providers/AlsProvider.ts +2 -0
  247. package/src/core/providers/EventManager.ts +4 -0
  248. package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +1 -4
  249. package/src/core/providers/KeylessJsonSchemaCodec.ts +19 -125
  250. package/src/core/providers/SchemaValidator.spec.ts +36 -0
  251. package/src/core/providers/SchemaValidator.ts +9 -0
  252. package/src/crypto/index.ts +6 -1
  253. package/src/crypto/providers/SecretProvider.ts +36 -0
  254. package/src/devtools/providers/DevToolsProvider.ts +3 -12
  255. package/src/logger/index.ts +33 -6
  256. package/src/logger/providers/PrettyFormatterProvider.ts +5 -3
  257. package/src/orm/__tests__/orm-next-tests.ts +492 -0
  258. package/src/orm/__tests__/orm-next.spec.ts +140 -0
  259. package/src/orm/core/constants/PG_SYMBOLS.ts +17 -0
  260. package/src/orm/core/index.bun.ts +3 -6
  261. package/src/orm/core/index.shared-server.ts +2 -0
  262. package/src/orm/core/index.shared.ts +2 -0
  263. package/src/orm/core/index.ts +5 -7
  264. package/src/orm/core/interfaces/AggregateQuery.ts +103 -0
  265. package/src/orm/core/interfaces/PgQueryWhere.ts +7 -0
  266. package/src/orm/core/primitives/$entity.ts +8 -0
  267. package/src/orm/core/primitives/$repository.ts +6 -3
  268. package/src/orm/core/primitives/$view.ts +88 -0
  269. package/src/orm/core/providers/DbCacheProvider.ts +66 -0
  270. package/src/orm/core/providers/DrizzleKitProvider.ts +42 -0
  271. package/src/orm/core/providers/drivers/BunSqliteProvider.ts +2 -3
  272. package/src/orm/core/providers/drivers/CloudflareD1Provider.ts +12 -0
  273. package/src/orm/core/providers/drivers/DatabaseProvider.ts +39 -0
  274. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +2 -3
  275. package/src/orm/core/schemas/databaseEnvSchema.ts +31 -0
  276. package/src/orm/core/schemas/insertSchema.ts +13 -3
  277. package/src/orm/core/schemas/updateSchema.ts +14 -3
  278. package/src/orm/core/services/ModelBuilder.ts +26 -14
  279. package/src/orm/core/services/QueryManager.ts +13 -0
  280. package/src/orm/core/services/Repository.ts +307 -5
  281. package/src/orm/core/services/SqliteModelBuilder.ts +38 -0
  282. package/src/orm/postgres/index.bun.ts +4 -7
  283. package/src/orm/postgres/index.ts +4 -7
  284. package/src/orm/postgres/providers/BunPostgresProvider.ts +12 -2
  285. package/src/orm/postgres/providers/NodePostgresProvider.ts +7 -0
  286. package/src/orm/postgres/providers/PglitePostgresProvider.ts +10 -17
  287. package/src/orm/postgres/providers/PostgresProvider.ts +7 -36
  288. package/src/orm/postgres/schemas/postgresEnvSchema.ts +32 -0
  289. package/src/orm/postgres/services/PostgresModelBuilder.ts +40 -0
  290. package/src/react/core/components/ErrorBoundary.tsx +5 -2
  291. package/src/react/form/hooks/useFieldValue.ts +34 -0
  292. package/src/react/form/hooks/useForm.browser.spec.tsx +94 -9
  293. package/src/react/form/hooks/useForm.ts +14 -2
  294. package/src/react/form/hooks/useFormState.ts +10 -10
  295. package/src/react/form/hooks/useFormValues.ts +29 -0
  296. package/src/react/form/index.ts +3 -1
  297. package/src/react/form/services/FormModel.ts +53 -122
  298. package/src/react/router/components/ErrorViewer.tsx +333 -34
  299. package/src/react/router/components/NestedView.tsx +10 -3
  300. package/src/react/router/primitives/$page.browser.spec.tsx +34 -0
  301. package/src/react/router/primitives/$page.spec.tsx +20 -0
  302. package/src/react/router/primitives/$page.ts +24 -0
  303. package/src/react/router/providers/ReactBrowserRouterProvider.ts +14 -2
  304. package/src/react/router/providers/ReactPageProvider.ts +156 -73
  305. package/src/react/router/providers/ReactServerProvider.ts +40 -2
  306. package/src/react/router/providers/ReactServerTemplateProvider.ts +13 -1
  307. package/src/security/providers/SecurityProvider.ts +5 -27
  308. package/src/server/auth/primitives/$auth.ts +52 -19
  309. package/src/server/auth/providers/ServerAuthProvider.ts +145 -139
  310. package/src/server/cookies/providers/ServerCookiesProvider.ts +12 -24
  311. package/src/server/core/index.ts +3 -1
  312. package/src/server/core/primitives/$sse.spec.ts +315 -0
  313. package/src/server/core/primitives/$sse.ts +715 -0
  314. package/src/server/links/index.browser.ts +1 -3
  315. package/src/server/links/index.ts +0 -3
  316. package/src/server/links/providers/LinkProvider.spec.ts +12 -21
  317. package/src/server/links/providers/LinkProvider.ts +20 -52
  318. package/src/server/links/providers/ServerLinksProvider.spec.ts +106 -0
  319. package/src/server/links/providers/ServerLinksProvider.ts +113 -73
  320. package/src/server/links/schemas/apiLinksResponseSchema.ts +4 -21
  321. package/src/server/links/services/BatchCollector.ts +5 -3
  322. package/src/system/index.browser.ts +1 -0
  323. package/src/system/index.ts +3 -0
  324. package/src/system/index.workerd.ts +39 -1
  325. package/src/system/providers/WorkerdFileSystemProvider.ts +365 -0
  326. package/assets/devtools-ui/asset.BfSBZ5Dd.css.br +0 -0
  327. package/assets/devtools-ui/chunk.2NYaoqWt.js +0 -1
  328. package/assets/devtools-ui/chunk.2NYaoqWt.js.br +0 -0
  329. package/assets/devtools-ui/chunk.B052Z_xQ.js +0 -1
  330. package/assets/devtools-ui/chunk.B052Z_xQ.js.br +0 -0
  331. package/assets/devtools-ui/chunk.B4kVY90C.js +0 -1
  332. package/assets/devtools-ui/chunk.B4kVY90C.js.br +0 -0
  333. package/assets/devtools-ui/chunk.B7QJXctB.js +0 -1
  334. package/assets/devtools-ui/chunk.B7QJXctB.js.br +0 -0
  335. package/assets/devtools-ui/chunk.B9pX3zit.js.br +0 -0
  336. package/assets/devtools-ui/chunk.BKF9JxIo.js +0 -1
  337. package/assets/devtools-ui/chunk.BKF9JxIo.js.br +0 -0
  338. package/assets/devtools-ui/chunk.BOHgdTP-.js +0 -1
  339. package/assets/devtools-ui/chunk.BOHgdTP-.js.br +0 -0
  340. package/assets/devtools-ui/chunk.BOVFxkYC.js +0 -1
  341. package/assets/devtools-ui/chunk.BOVFxkYC.js.br +0 -0
  342. package/assets/devtools-ui/chunk.BR842zj5.js +0 -1
  343. package/assets/devtools-ui/chunk.BR842zj5.js.br +0 -0
  344. package/assets/devtools-ui/chunk.BT2IiBkZ.js.br +0 -0
  345. package/assets/devtools-ui/chunk.C79YouPp.js.br +0 -0
  346. package/assets/devtools-ui/chunk.C8mlBrjW.js +0 -9
  347. package/assets/devtools-ui/chunk.C8mlBrjW.js.br +0 -0
  348. package/assets/devtools-ui/chunk.CK0ow3AZ.js +0 -1
  349. package/assets/devtools-ui/chunk.CK0ow3AZ.js.br +0 -0
  350. package/assets/devtools-ui/chunk.CZl6J9DF.js.br +0 -0
  351. package/assets/devtools-ui/chunk.CdNr0YzS.js +0 -1
  352. package/assets/devtools-ui/chunk.CdNr0YzS.js.br +0 -0
  353. package/assets/devtools-ui/chunk.Ce6_6iIF.js +0 -1
  354. package/assets/devtools-ui/chunk.Ce6_6iIF.js.br +0 -0
  355. package/assets/devtools-ui/chunk.CpyDMr6O.js +0 -1
  356. package/assets/devtools-ui/chunk.CpyDMr6O.js.br +0 -0
  357. package/assets/devtools-ui/chunk.CyPmvPnY.js +0 -1
  358. package/assets/devtools-ui/chunk.CyPmvPnY.js.br +0 -0
  359. package/assets/devtools-ui/chunk.DTI_geWu.js +0 -1
  360. package/assets/devtools-ui/chunk.DTI_geWu.js.br +0 -0
  361. package/assets/devtools-ui/chunk.DbEH1oOB.js.br +0 -0
  362. package/assets/devtools-ui/chunk.Ddeqj5gv.js +0 -1
  363. package/assets/devtools-ui/chunk.Ddeqj5gv.js.br +0 -0
  364. package/assets/devtools-ui/chunk.DpRnB4vJ.js +0 -1
  365. package/assets/devtools-ui/chunk.DpRnB4vJ.js.br +0 -0
  366. package/assets/devtools-ui/chunk.DxPGTlsg.js +0 -1
  367. package/assets/devtools-ui/chunk.DxPGTlsg.js.br +0 -0
  368. package/assets/devtools-ui/chunk.G7_MMBJS.js +0 -1
  369. package/assets/devtools-ui/chunk.G7_MMBJS.js.br +0 -0
  370. package/assets/devtools-ui/chunk.M6wyKO_3.js.br +0 -0
  371. package/assets/devtools-ui/chunk.OUxNGmQ6.js +0 -1
  372. package/assets/devtools-ui/chunk.OUxNGmQ6.js.br +0 -0
  373. package/assets/devtools-ui/chunk.T1kle-fF.js +0 -1
  374. package/assets/devtools-ui/chunk.T1kle-fF.js.br +0 -0
  375. package/assets/devtools-ui/chunk.WjpsbQAv.js +0 -1
  376. package/assets/devtools-ui/chunk.WjpsbQAv.js.br +0 -0
  377. package/assets/devtools-ui/chunk.c6YgVx86.js +0 -1
  378. package/assets/devtools-ui/chunk.c6YgVx86.js.br +0 -0
  379. package/assets/devtools-ui/chunk.dwU3E_MU.js +0 -1
  380. package/assets/devtools-ui/chunk.dwU3E_MU.js.br +0 -0
  381. package/assets/devtools-ui/chunk.lJL-lgnW.js.br +0 -0
  382. package/assets/devtools-ui/chunk.lPWRmvA-.js +0 -7
  383. package/assets/devtools-ui/chunk.lPWRmvA-.js.br +0 -0
  384. package/assets/devtools-ui/chunk.p3HJvugM.js +0 -1
  385. package/assets/devtools-ui/chunk.p3HJvugM.js.br +0 -0
  386. package/assets/devtools-ui/chunk.r_Xoa_CI.js +0 -1
  387. package/assets/devtools-ui/chunk.r_Xoa_CI.js.br +0 -0
  388. package/assets/devtools-ui/chunk.sRNuTYXb.js +0 -1
  389. package/assets/devtools-ui/chunk.sRNuTYXb.js.br +0 -0
  390. package/assets/devtools-ui/chunk.tUjcyX5C.js +0 -1
  391. package/assets/devtools-ui/chunk.tUjcyX5C.js.br +0 -0
  392. package/assets/devtools-ui/chunk.thjBxvCA.js +0 -1
  393. package/assets/devtools-ui/chunk.thjBxvCA.js.br +0 -0
  394. package/assets/devtools-ui/entry.GYhBVRpC.js +0 -78
  395. package/assets/devtools-ui/entry.GYhBVRpC.js.br +0 -0
  396. package/src/server/links/services/DefinitionsPool.spec.ts +0 -86
  397. package/src/server/links/services/DefinitionsPool.ts +0 -43
@@ -0,0 +1,7 @@
1
+ var la=Object.defineProperty;var r=(e,t)=>la(e,"name",{value:t,configurable:!0});import{bj as wr,bg as ua,R as da,e as z,j as $}from"./entry.Cxc5QLCU.js";function se(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)(o=se(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}r(se,"cc");var fa={value:r(()=>{},"value")};function Ut(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new Dt(n)}r(Ut,"dispatch");function Dt(e){this._=e}r(Dt,"Dispatch");function ha(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",i=n.indexOf(".");if(i>=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}r(ha,"parseTypenames$1");Dt.prototype=Ut.prototype={constructor:Dt,on:r(function(e,t){var n=this._,o=ha(e+"",n),i,s=-1,a=o.length;if(arguments.length<2){for(;++s<a;)if((i=(e=o[s]).type)&&(i=ga(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++s<a;)if(i=(e=o[s]).type)n[i]=ho(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ho(n[i],e.name,null);return this},"on"),copy:r(function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Dt(e)},"copy"),call:r(function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),o=0,i,s;o<i;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(s=this._[e],o=0,i=s.length;o<i;++o)s[o].value.apply(t,n)},"call"),apply:r(function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],i=0,s=o.length;i<s;++i)o[i].value.apply(t,n)},"apply")};function ga(e,t){for(var n=0,o=e.length,i;n<o;++n)if((i=e[n]).name===t)return i.value}r(ga,"get$1");function ho(e,t,n){for(var o=0,i=e.length;o<i;++o)if(e[o].name===t){e[o]=fa,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}r(ho,"set$1");var Nn="http://www.w3.org/1999/xhtml";const go={svg:"http://www.w3.org/2000/svg",xhtml:Nn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Kt(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),go.hasOwnProperty(t)?{space:go[t],local:e}:e}r(Kt,"namespace");function pa(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Nn&&t.documentElement.namespaceURI===Nn?t.createElement(e):t.createElementNS(n,e)}}r(pa,"creatorInherit");function ma(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}r(ma,"creatorFixed");function vr(e){var t=Kt(e);return(t.local?ma:pa)(t)}r(vr,"creator");function ya(){}r(ya,"none");function Vn(e){return e==null?ya:function(){return this.querySelector(e)}}r(Vn,"selector");function xa(e){typeof e!="function"&&(e=Vn(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var s=t[i],a=s.length,c=o[i]=new Array(a),u,l,f=0;f<a;++f)(u=s[f])&&(l=e.call(u,u.__data__,f,s))&&("__data__"in u&&(l.__data__=u.__data__),c[f]=l);return new ue(o,this._parents)}r(xa,"selection_select");function wa(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}r(wa,"array");function va(){return[]}r(va,"empty");function br(e){return e==null?va:function(){return this.querySelectorAll(e)}}r(br,"selectorAll");function ba(e){return function(){return wa(e.apply(this,arguments))}}r(ba,"arrayAll");function _a(e){typeof e=="function"?e=ba(e):e=br(e);for(var t=this._groups,n=t.length,o=[],i=[],s=0;s<n;++s)for(var a=t[s],c=a.length,u,l=0;l<c;++l)(u=a[l])&&(o.push(e.call(u,u.__data__,l,a)),i.push(u));return new ue(o,i)}r(_a,"selection_selectAll");function _r(e){return function(){return this.matches(e)}}r(_r,"matcher");function Er(e){return function(t){return t.matches(e)}}r(Er,"childMatcher");var Ea=Array.prototype.find;function Sa(e){return function(){return Ea.call(this.children,e)}}r(Sa,"childFind");function Na(){return this.firstElementChild}r(Na,"childFirst");function Ca(e){return this.select(e==null?Na:Sa(typeof e=="function"?e:Er(e)))}r(Ca,"selection_selectChild");var Ma=Array.prototype.filter;function Ia(){return Array.from(this.children)}r(Ia,"children");function ka(e){return function(){return Ma.call(this.children,e)}}r(ka,"childrenFilter");function Aa(e){return this.selectAll(e==null?Ia:ka(typeof e=="function"?e:Er(e)))}r(Aa,"selection_selectChildren");function $a(e){typeof e!="function"&&(e=_r(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var s=t[i],a=s.length,c=o[i]=[],u,l=0;l<a;++l)(u=s[l])&&e.call(u,u.__data__,l,s)&&c.push(u);return new ue(o,this._parents)}r($a,"selection_filter");function Sr(e){return new Array(e.length)}r(Sr,"sparse");function Pa(){return new ue(this._enter||this._groups.map(Sr),this._parents)}r(Pa,"selection_enter");function Lt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}r(Lt,"EnterNode");Lt.prototype={constructor:Lt,appendChild:r(function(e){return this._parent.insertBefore(e,this._next)},"appendChild"),insertBefore:r(function(e,t){return this._parent.insertBefore(e,t)},"insertBefore"),querySelector:r(function(e){return this._parent.querySelector(e)},"querySelector"),querySelectorAll:r(function(e){return this._parent.querySelectorAll(e)},"querySelectorAll")};function Da(e){return function(){return e}}r(Da,"constant$3");function Ta(e,t,n,o,i,s){for(var a=0,c,u=t.length,l=s.length;a<l;++a)(c=t[a])?(c.__data__=s[a],o[a]=c):n[a]=new Lt(e,s[a]);for(;a<u;++a)(c=t[a])&&(i[a]=c)}r(Ta,"bindIndex");function za(e,t,n,o,i,s,a){var c,u,l=new Map,f=t.length,d=s.length,h=new Array(f),p;for(c=0;c<f;++c)(u=t[c])&&(h[c]=p=a.call(u,u.__data__,c,t)+"",l.has(p)?i[c]=u:l.set(p,u));for(c=0;c<d;++c)p=a.call(e,s[c],c,s)+"",(u=l.get(p))?(o[c]=u,u.__data__=s[c],l.delete(p)):n[c]=new Lt(e,s[c]);for(c=0;c<f;++c)(u=t[c])&&l.get(h[c])===u&&(i[c]=u)}r(za,"bindKey");function Ha(e){return e.__data__}r(Ha,"datum");function Ra(e,t){if(!arguments.length)return Array.from(this,Ha);var n=t?za:Ta,o=this._parents,i=this._groups;typeof e!="function"&&(e=Da(e));for(var s=i.length,a=new Array(s),c=new Array(s),u=new Array(s),l=0;l<s;++l){var f=o[l],d=i[l],h=d.length,p=La(e.call(f,f&&f.__data__,l,o)),m=p.length,w=c[l]=new Array(m),v=a[l]=new Array(m),y=u[l]=new Array(h);n(f,d,w,v,y,p,t);for(var _=0,g=0,x,N;_<m;++_)if(x=w[_]){for(_>=g&&(g=_+1);!(N=v[g])&&++g<m;);x._next=N||null}}return a=new ue(a,o),a._enter=c,a._exit=u,a}r(Ra,"selection_data");function La(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}r(La,"arraylike");function Va(){return new ue(this._exit||this._groups.map(Sr),this._parents)}r(Va,"selection_exit");function Oa(e,t,n){var o=this.enter(),i=this,s=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?s.remove():n(s),o&&i?o.merge(i).order():i}r(Oa,"selection_join");function Ba(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,i=n.length,s=o.length,a=Math.min(i,s),c=new Array(i),u=0;u<a;++u)for(var l=n[u],f=o[u],d=l.length,h=c[u]=new Array(d),p,m=0;m<d;++m)(p=l[m]||f[m])&&(h[m]=p);for(;u<i;++u)c[u]=n[u];return new ue(c,this._parents)}r(Ba,"selection_merge");function Fa(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],i=o.length-1,s=o[i],a;--i>=0;)(a=o[i])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}r(Fa,"selection_order");function ja(e){e||(e=Xa);function t(d,h){return d&&h?e(d.__data__,h.__data__):!d-!h}r(t,"compareNode");for(var n=this._groups,o=n.length,i=new Array(o),s=0;s<o;++s){for(var a=n[s],c=a.length,u=i[s]=new Array(c),l,f=0;f<c;++f)(l=a[f])&&(u[f]=l);u.sort(t)}return new ue(i,this._parents).order()}r(ja,"selection_sort");function Xa(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}r(Xa,"ascending");function Ya(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}r(Ya,"selection_call");function Za(){return Array.from(this)}r(Za,"selection_nodes");function Wa(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,s=o.length;i<s;++i){var a=o[i];if(a)return a}return null}r(Wa,"selection_node");function qa(){let e=0;for(const t of this)++e;return e}r(qa,"selection_size");function Ga(){return!this.node()}r(Ga,"selection_empty");function Ua(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var i=t[n],s=0,a=i.length,c;s<a;++s)(c=i[s])&&e.call(c,c.__data__,s,i);return this}r(Ua,"selection_each");function Ka(e){return function(){this.removeAttribute(e)}}r(Ka,"attrRemove$1");function Qa(e){return function(){this.removeAttributeNS(e.space,e.local)}}r(Qa,"attrRemoveNS$1");function Ja(e,t){return function(){this.setAttribute(e,t)}}r(Ja,"attrConstant$1");function ec(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}r(ec,"attrConstantNS$1");function tc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}r(tc,"attrFunction$1");function nc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}r(nc,"attrFunctionNS$1");function oc(e,t){var n=Kt(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?Qa:Ka:typeof t=="function"?n.local?nc:tc:n.local?ec:Ja)(n,t))}r(oc,"selection_attr");function Nr(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}r(Nr,"defaultView");function rc(e){return function(){this.style.removeProperty(e)}}r(rc,"styleRemove$1");function ic(e,t,n){return function(){this.style.setProperty(e,t,n)}}r(ic,"styleConstant$1");function sc(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}r(sc,"styleFunction$1");function ac(e,t,n){return arguments.length>1?this.each((t==null?rc:typeof t=="function"?sc:ic)(e,t,n??"")):Ye(this.node(),e)}r(ac,"selection_style");function Ye(e,t){return e.style.getPropertyValue(t)||Nr(e).getComputedStyle(e,null).getPropertyValue(t)}r(Ye,"styleValue");function cc(e){return function(){delete this[e]}}r(cc,"propertyRemove");function lc(e,t){return function(){this[e]=t}}r(lc,"propertyConstant");function uc(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}r(uc,"propertyFunction");function dc(e,t){return arguments.length>1?this.each((t==null?cc:typeof t=="function"?uc:lc)(e,t)):this.node()[e]}r(dc,"selection_property");function Cr(e){return e.trim().split(/^|\s+/)}r(Cr,"classArray");function On(e){return e.classList||new Mr(e)}r(On,"classList");function Mr(e){this._node=e,this._names=Cr(e.getAttribute("class")||"")}r(Mr,"ClassList");Mr.prototype={add:r(function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:r(function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:r(function(e){return this._names.indexOf(e)>=0},"contains")};function Ir(e,t){for(var n=On(e),o=-1,i=t.length;++o<i;)n.add(t[o])}r(Ir,"classedAdd");function kr(e,t){for(var n=On(e),o=-1,i=t.length;++o<i;)n.remove(t[o])}r(kr,"classedRemove");function fc(e){return function(){Ir(this,e)}}r(fc,"classedTrue");function hc(e){return function(){kr(this,e)}}r(hc,"classedFalse");function gc(e,t){return function(){(t.apply(this,arguments)?Ir:kr)(this,e)}}r(gc,"classedFunction");function pc(e,t){var n=Cr(e+"");if(arguments.length<2){for(var o=On(this.node()),i=-1,s=n.length;++i<s;)if(!o.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?gc:t?fc:hc)(n,t))}r(pc,"selection_classed");function mc(){this.textContent=""}r(mc,"textRemove");function yc(e){return function(){this.textContent=e}}r(yc,"textConstant$1");function xc(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}r(xc,"textFunction$1");function wc(e){return arguments.length?this.each(e==null?mc:(typeof e=="function"?xc:yc)(e)):this.node().textContent}r(wc,"selection_text");function vc(){this.innerHTML=""}r(vc,"htmlRemove");function bc(e){return function(){this.innerHTML=e}}r(bc,"htmlConstant");function _c(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}r(_c,"htmlFunction");function Ec(e){return arguments.length?this.each(e==null?vc:(typeof e=="function"?_c:bc)(e)):this.node().innerHTML}r(Ec,"selection_html");function Sc(){this.nextSibling&&this.parentNode.appendChild(this)}r(Sc,"raise");function Nc(){return this.each(Sc)}r(Nc,"selection_raise");function Cc(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}r(Cc,"lower");function Mc(){return this.each(Cc)}r(Mc,"selection_lower");function Ic(e){var t=typeof e=="function"?e:vr(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}r(Ic,"selection_append");function kc(){return null}r(kc,"constantNull");function Ac(e,t){var n=typeof e=="function"?e:vr(e),o=t==null?kc:typeof t=="function"?t:Vn(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}r(Ac,"selection_insert");function $c(){var e=this.parentNode;e&&e.removeChild(this)}r($c,"remove");function Pc(){return this.each($c)}r(Pc,"selection_remove");function Dc(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}r(Dc,"selection_cloneShallow");function Tc(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}r(Tc,"selection_cloneDeep");function zc(e){return this.select(e?Tc:Dc)}r(zc,"selection_clone");function Hc(e){return arguments.length?this.property("__data__",e):this.node().__data__}r(Hc,"selection_datum");function Rc(e){return function(t){e.call(this,t,this.__data__)}}r(Rc,"contextListener");function Lc(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}r(Lc,"parseTypenames");function Vc(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,s;n<i;++n)s=t[n],(!e.type||s.type===e.type)&&s.name===e.name?this.removeEventListener(s.type,s.listener,s.options):t[++o]=s;++o?t.length=o:delete this.__on}}}r(Vc,"onRemove");function Oc(e,t,n){return function(){var o=this.__on,i,s=Rc(t);if(o){for(var a=0,c=o.length;a<c;++a)if((i=o[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=n),i.value=t;return}}this.addEventListener(e.type,s,n),i={type:e.type,name:e.name,value:t,listener:s,options:n},o?o.push(i):this.__on=[i]}}r(Oc,"onAdd");function Bc(e,t,n){var o=Lc(e+""),i,s=o.length,a;if(arguments.length<2){var c=this.node().__on;if(c){for(var u=0,l=c.length,f;u<l;++u)for(i=0,f=c[u];i<s;++i)if((a=o[i]).type===f.type&&a.name===f.name)return f.value}return}for(c=t?Oc:Vc,i=0;i<s;++i)this.each(c(o[i],t,n));return this}r(Bc,"selection_on");function Ar(e,t,n){var o=Nr(e),i=o.CustomEvent;typeof i=="function"?i=new i(t,n):(i=o.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}r(Ar,"dispatchEvent");function Fc(e,t){return function(){return Ar(this,e,t)}}r(Fc,"dispatchConstant");function jc(e,t){return function(){return Ar(this,e,t.apply(this,arguments))}}r(jc,"dispatchFunction");function Xc(e,t){return this.each((typeof t=="function"?jc:Fc)(e,t))}r(Xc,"selection_dispatch");function*Yc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,s=o.length,a;i<s;++i)(a=o[i])&&(yield a)}r(Yc,"selection_iterator");var $r=[null];function ue(e,t){this._groups=e,this._parents=t}r(ue,"Selection$1");function yt(){return new ue([[document.documentElement]],$r)}r(yt,"selection");function Zc(){return this}r(Zc,"selection_selection");ue.prototype=yt.prototype={constructor:ue,select:xa,selectAll:_a,selectChild:Ca,selectChildren:Aa,filter:$a,data:Ra,enter:Pa,exit:Va,join:Oa,merge:Ba,selection:Zc,order:Fa,sort:ja,call:Ya,nodes:Za,node:Wa,size:qa,empty:Ga,each:Ua,attr:oc,style:ac,property:dc,classed:pc,text:wc,html:Ec,raise:Nc,lower:Mc,append:Ic,insert:Ac,remove:Pc,clone:zc,datum:Hc,on:Bc,dispatch:Xc,[Symbol.iterator]:Yc};function le(e){return typeof e=="string"?new ue([[document.querySelector(e)]],[document.documentElement]):new ue([[e]],$r)}r(le,"select");function Wc(e){let t;for(;t=e.sourceEvent;)e=t;return e}r(Wc,"sourceEvent");function de(e,t){if(e=Wc(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}r(de,"pointer");const qc={passive:!1},ct={capture:!0,passive:!1};function fn(e){e.stopImmediatePropagation()}r(fn,"nopropagation$1");function je(e){e.preventDefault(),e.stopImmediatePropagation()}r(je,"noevent$1");function Pr(e){var t=e.document.documentElement,n=le(e).on("dragstart.drag",je,ct);"onselectstart"in t?n.on("selectstart.drag",je,ct):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}r(Pr,"dragDisable");function Dr(e,t){var n=e.document.documentElement,o=le(e).on("dragstart.drag",null);t&&(o.on("click.drag",je,ct),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}r(Dr,"yesdrag");const St=r(e=>()=>e,"constant$2");function Cn(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:s,x:a,y:c,dx:u,dy:l,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:f}})}r(Cn,"DragEvent");Cn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Gc(e){return!e.ctrlKey&&!e.button}r(Gc,"defaultFilter$1");function Uc(){return this.parentNode}r(Uc,"defaultContainer");function Kc(e,t){return t??{x:e.x,y:e.y}}r(Kc,"defaultSubject");function Qc(){return navigator.maxTouchPoints||"ontouchstart"in this}r(Qc,"defaultTouchable$1");function Tr(){var e=Gc,t=Uc,n=Kc,o=Qc,i={},s=Ut("start","drag","end"),a=0,c,u,l,f,d=0;function h(x){x.on("mousedown.drag",p).filter(o).on("touchstart.drag",v).on("touchmove.drag",y,qc).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}r(h,"drag");function p(x,N){if(!(f||!e.call(this,x,N))){var E=g(this,t.call(this,x,N),x,N,"mouse");E&&(le(x.view).on("mousemove.drag",m,ct).on("mouseup.drag",w,ct),Pr(x.view),fn(x),l=!1,c=x.clientX,u=x.clientY,E("start",x))}}r(p,"mousedowned");function m(x){if(je(x),!l){var N=x.clientX-c,E=x.clientY-u;l=N*N+E*E>d}i.mouse("drag",x)}r(m,"mousemoved");function w(x){le(x.view).on("mousemove.drag mouseup.drag",null),Dr(x.view,l),je(x),i.mouse("end",x)}r(w,"mouseupped");function v(x,N){if(e.call(this,x,N)){var E=x.changedTouches,C=t.call(this,x,N),D=E.length,T,B;for(T=0;T<D;++T)(B=g(this,C,x,N,E[T].identifier,E[T]))&&(fn(x),B("start",x,E[T]))}}r(v,"touchstarted");function y(x){var N=x.changedTouches,E=N.length,C,D;for(C=0;C<E;++C)(D=i[N[C].identifier])&&(je(x),D("drag",x,N[C]))}r(y,"touchmoved");function _(x){var N=x.changedTouches,E=N.length,C,D;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),C=0;C<E;++C)(D=i[N[C].identifier])&&(fn(x),D("end",x,N[C]))}r(_,"touchended");function g(x,N,E,C,D,T){var B=s.copy(),A=de(T||E,N),H,L,b;if((b=n.call(x,new Cn("beforestart",{sourceEvent:E,target:h,identifier:D,active:a,x:A[0],y:A[1],dx:0,dy:0,dispatch:B}),C))!=null)return H=b.x-A[0]||0,L=b.y-A[1]||0,r(function M(S,k,I){var P=A,R;switch(S){case"start":i[D]=M,R=a++;break;case"end":delete i[D],--a;case"drag":A=de(I||k,N),R=a;break}B.call(S,x,new Cn(S,{sourceEvent:k,subject:b,target:h,identifier:D,active:R,x:A[0]+H,y:A[1]+L,dx:A[0]-P[0],dy:A[1]-P[1],dispatch:B}),C)},"gesture")}return r(g,"beforestart"),h.filter=function(x){return arguments.length?(e=typeof x=="function"?x:St(!!x),h):e},h.container=function(x){return arguments.length?(t=typeof x=="function"?x:St(x),h):t},h.subject=function(x){return arguments.length?(n=typeof x=="function"?x:St(x),h):n},h.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:St(!!x),h):o},h.on=function(){var x=s.on.apply(s,arguments);return x===s?h:x},h.clickDistance=function(x){return arguments.length?(d=(x=+x)*x,h):Math.sqrt(d)},h}r(Tr,"drag");function Bn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}r(Bn,"define");function zr(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}r(zr,"extend");function xt(){}r(xt,"Color");var lt=.7,Vt=1/lt,Xe="\\s*([+-]?\\d+)\\s*",ut="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ye="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Jc=/^#([0-9a-f]{3,8})$/,el=new RegExp(`^rgb\\(${Xe},${Xe},${Xe}\\)$`),tl=new RegExp(`^rgb\\(${ye},${ye},${ye}\\)$`),nl=new RegExp(`^rgba\\(${Xe},${Xe},${Xe},${ut}\\)$`),ol=new RegExp(`^rgba\\(${ye},${ye},${ye},${ut}\\)$`),rl=new RegExp(`^hsl\\(${ut},${ye},${ye}\\)$`),il=new RegExp(`^hsla\\(${ut},${ye},${ye},${ut}\\)$`),po={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};Bn(xt,ze,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:mo,formatHex:mo,formatHex8:sl,formatHsl:al,formatRgb:yo,toString:yo});function mo(){return this.rgb().formatHex()}r(mo,"color_formatHex");function sl(){return this.rgb().formatHex8()}r(sl,"color_formatHex8");function al(){return Hr(this).formatHsl()}r(al,"color_formatHsl");function yo(){return this.rgb().formatRgb()}r(yo,"color_formatRgb");function ze(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Jc.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?xo(t):n===3?new ce(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Nt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Nt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=el.exec(e))?new ce(t[1],t[2],t[3],1):(t=tl.exec(e))?new ce(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=nl.exec(e))?Nt(t[1],t[2],t[3],t[4]):(t=ol.exec(e))?Nt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=rl.exec(e))?bo(t[1],t[2]/100,t[3]/100,1):(t=il.exec(e))?bo(t[1],t[2]/100,t[3]/100,t[4]):po.hasOwnProperty(e)?xo(po[e]):e==="transparent"?new ce(NaN,NaN,NaN,0):null}r(ze,"color");function xo(e){return new ce(e>>16&255,e>>8&255,e&255,1)}r(xo,"rgbn");function Nt(e,t,n,o){return o<=0&&(e=t=n=NaN),new ce(e,t,n,o)}r(Nt,"rgba");function cl(e){return e instanceof xt||(e=ze(e)),e?(e=e.rgb(),new ce(e.r,e.g,e.b,e.opacity)):new ce}r(cl,"rgbConvert");function Mn(e,t,n,o){return arguments.length===1?cl(e):new ce(e,t,n,o??1)}r(Mn,"rgb");function ce(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}r(ce,"Rgb");Bn(ce,Mn,zr(xt,{brighter(e){return e=e==null?Vt:Math.pow(Vt,e),new ce(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?lt:Math.pow(lt,e),new ce(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ce(De(this.r),De(this.g),De(this.b),Ot(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:wo,formatHex:wo,formatHex8:ll,formatRgb:vo,toString:vo}));function wo(){return`#${Pe(this.r)}${Pe(this.g)}${Pe(this.b)}`}r(wo,"rgb_formatHex");function ll(){return`#${Pe(this.r)}${Pe(this.g)}${Pe(this.b)}${Pe((isNaN(this.opacity)?1:this.opacity)*255)}`}r(ll,"rgb_formatHex8");function vo(){const e=Ot(this.opacity);return`${e===1?"rgb(":"rgba("}${De(this.r)}, ${De(this.g)}, ${De(this.b)}${e===1?")":`, ${e})`}`}r(vo,"rgb_formatRgb");function Ot(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}r(Ot,"clampa");function De(e){return Math.max(0,Math.min(255,Math.round(e)||0))}r(De,"clampi");function Pe(e){return e=De(e),(e<16?"0":"")+e.toString(16)}r(Pe,"hex");function bo(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fe(e,t,n,o)}r(bo,"hsla");function Hr(e){if(e instanceof fe)return new fe(e.h,e.s,e.l,e.opacity);if(e instanceof xt||(e=ze(e)),!e)return new fe;if(e instanceof fe)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),s=Math.max(t,n,o),a=NaN,c=s-i,u=(s+i)/2;return c?(t===s?a=(n-o)/c+(n<o)*6:n===s?a=(o-t)/c+2:a=(t-n)/c+4,c/=u<.5?s+i:2-s-i,a*=60):c=u>0&&u<1?0:a,new fe(a,c,u,e.opacity)}r(Hr,"hslConvert");function ul(e,t,n,o){return arguments.length===1?Hr(e):new fe(e,t,n,o??1)}r(ul,"hsl");function fe(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}r(fe,"Hsl");Bn(fe,ul,zr(xt,{brighter(e){return e=e==null?Vt:Math.pow(Vt,e),new fe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?lt:Math.pow(lt,e),new fe(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new ce(hn(e>=240?e-240:e+120,i,o),hn(e,i,o),hn(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new fe(_o(this.h),Ct(this.s),Ct(this.l),Ot(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 e=Ot(this.opacity);return`${e===1?"hsl(":"hsla("}${_o(this.h)}, ${Ct(this.s)*100}%, ${Ct(this.l)*100}%${e===1?")":`, ${e})`}`}}));function _o(e){return e=(e||0)%360,e<0?e+360:e}r(_o,"clamph");function Ct(e){return Math.max(0,Math.min(1,e||0))}r(Ct,"clampt");function hn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}r(hn,"hsl2rgb");const Fn=r(e=>()=>e,"constant$1");function dl(e,t){return function(n){return e+n*t}}r(dl,"linear");function fl(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}r(fl,"exponential");function hl(e){return(e=+e)==1?Rr:function(t,n){return n-t?fl(t,n,e):Fn(isNaN(t)?n:t)}}r(hl,"gamma");function Rr(e,t){var n=t-e;return n?dl(e,n):Fn(isNaN(e)?t:e)}r(Rr,"nogamma");const Bt=r((function e(t){var n=hl(t);function o(i,s){var a=n((i=Mn(i)).r,(s=Mn(s)).r),c=n(i.g,s.g),u=n(i.b,s.b),l=Rr(i.opacity,s.opacity);return function(f){return i.r=a(f),i.g=c(f),i.b=u(f),i.opacity=l(f),i+""}}return r(o,"rgb$1"),o.gamma=e,o}),"rgbGamma")(1);function gl(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),i;return function(s){for(i=0;i<n;++i)o[i]=e[i]*(1-s)+t[i]*s;return o}}r(gl,"numberArray");function pl(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}r(pl,"isNumberArray");function ml(e,t){var n=t?t.length:0,o=e?Math.min(n,e.length):0,i=new Array(o),s=new Array(n),a;for(a=0;a<o;++a)i[a]=st(e[a],t[a]);for(;a<n;++a)s[a]=t[a];return function(c){for(a=0;a<o;++a)s[a]=i[a](c);return s}}r(ml,"genericArray");function yl(e,t){var n=new Date;return e=+e,t=+t,function(o){return n.setTime(e*(1-o)+t*o),n}}r(yl,"date");function me(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}r(me,"interpolateNumber");function xl(e,t){var n={},o={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=st(e[i],t[i]):o[i]=t[i];return function(s){for(i in n)o[i]=n[i](s);return o}}r(xl,"object");var In=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,gn=new RegExp(In.source,"g");function wl(e){return function(){return e}}r(wl,"zero");function vl(e){return function(t){return e(t)+""}}r(vl,"one");function Lr(e,t){var n=In.lastIndex=gn.lastIndex=0,o,i,s,a=-1,c=[],u=[];for(e=e+"",t=t+"";(o=In.exec(e))&&(i=gn.exec(t));)(s=i.index)>n&&(s=t.slice(n,s),c[a]?c[a]+=s:c[++a]=s),(o=o[0])===(i=i[0])?c[a]?c[a]+=i:c[++a]=i:(c[++a]=null,u.push({i:a,x:me(o,i)})),n=gn.lastIndex;return n<t.length&&(s=t.slice(n),c[a]?c[a]+=s:c[++a]=s),c.length<2?u[0]?vl(u[0].x):wl(t):(t=u.length,function(l){for(var f=0,d;f<t;++f)c[(d=u[f]).i]=d.x(l);return c.join("")})}r(Lr,"interpolateString");function st(e,t){var n=typeof t,o;return t==null||n==="boolean"?Fn(t):(n==="number"?me:n==="string"?(o=ze(t))?(t=o,Bt):Lr:t instanceof ze?Bt:t instanceof Date?yl:pl(t)?gl:Array.isArray(t)?ml:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?xl:me)(e,t)}r(st,"interpolate$1");var Eo=180/Math.PI,kn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vr(e,t,n,o,i,s){var a,c,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*o)&&(n-=e*u,o-=t*u),(c=Math.sqrt(n*n+o*o))&&(n/=c,o/=c,u/=c),e*o<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:s,rotate:Math.atan2(t,e)*Eo,skewX:Math.atan(u)*Eo,scaleX:a,scaleY:c}}r(Vr,"decompose");var Mt;function bl(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?kn:Vr(t.a,t.b,t.c,t.d,t.e,t.f)}r(bl,"parseCss");function _l(e){return e==null||(Mt||(Mt=document.createElementNS("http://www.w3.org/2000/svg","g")),Mt.setAttribute("transform",e),!(e=Mt.transform.baseVal.consolidate()))?kn:(e=e.matrix,Vr(e.a,e.b,e.c,e.d,e.e,e.f))}r(_l,"parseSvg");function Or(e,t,n,o){function i(l){return l.length?l.pop()+" ":""}r(i,"pop");function s(l,f,d,h,p,m){if(l!==d||f!==h){var w=p.push("translate(",null,t,null,n);m.push({i:w-4,x:me(l,d)},{i:w-2,x:me(f,h)})}else(d||h)&&p.push("translate("+d+t+h+n)}r(s,"translate");function a(l,f,d,h){l!==f?(l-f>180?f+=360:f-l>180&&(l+=360),h.push({i:d.push(i(d)+"rotate(",null,o)-2,x:me(l,f)})):f&&d.push(i(d)+"rotate("+f+o)}r(a,"rotate");function c(l,f,d,h){l!==f?h.push({i:d.push(i(d)+"skewX(",null,o)-2,x:me(l,f)}):f&&d.push(i(d)+"skewX("+f+o)}r(c,"skewX");function u(l,f,d,h,p,m){if(l!==d||f!==h){var w=p.push(i(p)+"scale(",null,",",null,")");m.push({i:w-4,x:me(l,d)},{i:w-2,x:me(f,h)})}else(d!==1||h!==1)&&p.push(i(p)+"scale("+d+","+h+")")}return r(u,"scale"),function(l,f){var d=[],h=[];return l=e(l),f=e(f),s(l.translateX,l.translateY,f.translateX,f.translateY,d,h),a(l.rotate,f.rotate,d,h),c(l.skewX,f.skewX,d,h),u(l.scaleX,l.scaleY,f.scaleX,f.scaleY,d,h),l=f=null,function(p){for(var m=-1,w=h.length,v;++m<w;)d[(v=h[m]).i]=v.x(p);return d.join("")}}}r(Or,"interpolateTransform");var El=Or(bl,"px, ","px)","deg)"),Sl=Or(_l,", ",")",")"),Nl=1e-12;function So(e){return((e=Math.exp(e))+1/e)/2}r(So,"cosh");function Cl(e){return((e=Math.exp(e))-1/e)/2}r(Cl,"sinh");function Ml(e){return((e=Math.exp(2*e))-1)/(e+1)}r(Ml,"tanh");const Tt=r((function e(t,n,o){function i(s,a){var c=s[0],u=s[1],l=s[2],f=a[0],d=a[1],h=a[2],p=f-c,m=d-u,w=p*p+m*m,v,y;if(w<Nl)y=Math.log(h/l)/t,v=r(function(C){return[c+C*p,u+C*m,l*Math.exp(t*C*y)]},"i");else{var _=Math.sqrt(w),g=(h*h-l*l+o*w)/(2*l*n*_),x=(h*h-l*l-o*w)/(2*h*n*_),N=Math.log(Math.sqrt(g*g+1)-g),E=Math.log(Math.sqrt(x*x+1)-x);y=(E-N)/t,v=r(function(C){var D=C*y,T=So(N),B=l/(n*_)*(T*Ml(t*D+N)-Cl(N));return[c+B*p,u+B*m,l*T/So(t*D+N)]},"i")}return v.duration=y*1e3*t/Math.SQRT2,v}return r(i,"zoom"),i.rho=function(s){var a=Math.max(.001,+s),c=a*a,u=c*c;return e(a,c,u)},i}),"zoomRho")(Math.SQRT2,2,4);var Ze=0,rt=0,nt=0,Br=1e3,Ft,it,jt=0,He=0,Qt=0,dt=typeof performance=="object"&&performance.now?performance:Date,Fr=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function jn(){return He||(Fr(Il),He=dt.now()+Qt)}r(jn,"now");function Il(){He=0}r(Il,"clearNow");function Xt(){this._call=this._time=this._next=null}r(Xt,"Timer");Xt.prototype=jr.prototype={constructor:Xt,restart:r(function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?jn():+n)+(t==null?0:+t),!this._next&&it!==this&&(it?it._next=this:Ft=this,it=this),this._call=e,this._time=n,An()},"restart"),stop:r(function(){this._call&&(this._call=null,this._time=1/0,An())},"stop")};function jr(e,t,n){var o=new Xt;return o.restart(e,t,n),o}r(jr,"timer");function kl(){jn(),++Ze;for(var e=Ft,t;e;)(t=He-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ze}r(kl,"timerFlush");function No(){He=(jt=dt.now())+Qt,Ze=rt=0;try{kl()}finally{Ze=0,$l(),He=0}}r(No,"wake");function Al(){var e=dt.now(),t=e-jt;t>Br&&(Qt-=t,jt=e)}r(Al,"poke");function $l(){for(var e,t=Ft,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Ft=n);it=e,An(o)}r($l,"nap");function An(e){if(!Ze){rt&&(rt=clearTimeout(rt));var t=e-He;t>24?(e<1/0&&(rt=setTimeout(No,e-dt.now()-Qt)),nt&&(nt=clearInterval(nt))):(nt||(jt=dt.now(),nt=setInterval(Al,Br)),Ze=1,Fr(No))}}r(An,"sleep");function Co(e,t,n){var o=new Xt;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}r(Co,"timeout");var Pl=Ut("start","end","cancel","interrupt"),Dl=[],Xr=0,Mo=1,$n=2,zt=3,Io=4,Pn=5,Ht=6;function Jt(e,t,n,o,i,s){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;Tl(e,n,{name:t,index:o,group:i,on:Pl,tween:Dl,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Xr})}r(Jt,"schedule");function Xn(e,t){var n=pe(e,t);if(n.state>Xr)throw new Error("too late; already scheduled");return n}r(Xn,"init");function we(e,t){var n=pe(e,t);if(n.state>zt)throw new Error("too late; already running");return n}r(we,"set");function pe(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}r(pe,"get");function Tl(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=jr(s,0,n.time);function s(l){n.state=Mo,n.timer.restart(a,n.delay,n.time),n.delay<=l&&a(l-n.delay)}r(s,"schedule");function a(l){var f,d,h,p;if(n.state!==Mo)return u();for(f in o)if(p=o[f],p.name===n.name){if(p.state===zt)return Co(a);p.state===Io?(p.state=Ht,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete o[f]):+f<t&&(p.state=Ht,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete o[f])}if(Co(function(){n.state===zt&&(n.state=Io,n.timer.restart(c,n.delay,n.time),c(l))}),n.state=$n,n.on.call("start",e,e.__data__,n.index,n.group),n.state===$n){for(n.state=zt,i=new Array(h=n.tween.length),f=0,d=-1;f<h;++f)(p=n.tween[f].value.call(e,e.__data__,n.index,n.group))&&(i[++d]=p);i.length=d+1}}r(a,"start");function c(l){for(var f=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(u),n.state=Pn,1),d=-1,h=i.length;++d<h;)i[d].call(e,f);n.state===Pn&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}r(c,"tick");function u(){n.state=Ht,n.timer.stop(),delete o[t];for(var l in o)return;delete e.__transition}r(u,"stop")}r(Tl,"create");function Rt(e,t){var n=e.__transition,o,i,s=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((o=n[a]).name!==t){s=!1;continue}i=o.state>$n&&o.state<Pn,o.state=Ht,o.timer.stop(),o.on.call(i?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[a]}s&&delete e.__transition}}r(Rt,"interrupt");function zl(e){return this.each(function(){Rt(this,e)})}r(zl,"selection_interrupt");function Hl(e,t){var n,o;return function(){var i=we(this,e),s=i.tween;if(s!==n){o=n=s;for(var a=0,c=o.length;a<c;++a)if(o[a].name===t){o=o.slice(),o.splice(a,1);break}}i.tween=o}}r(Hl,"tweenRemove");function Rl(e,t,n){var o,i;if(typeof n!="function")throw new Error;return function(){var s=we(this,e),a=s.tween;if(a!==o){i=(o=a).slice();for(var c={name:t,value:n},u=0,l=i.length;u<l;++u)if(i[u].name===t){i[u]=c;break}u===l&&i.push(c)}s.tween=i}}r(Rl,"tweenFunction");function Ll(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=pe(this.node(),n).tween,i=0,s=o.length,a;i<s;++i)if((a=o[i]).name===e)return a.value;return null}return this.each((t==null?Hl:Rl)(n,e,t))}r(Ll,"transition_tween");function Yn(e,t,n){var o=e._id;return e.each(function(){var i=we(this,o);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return pe(i,o).value[t]}}r(Yn,"tweenValue");function Yr(e,t){var n;return(typeof t=="number"?me:t instanceof ze?Bt:(n=ze(t))?(t=n,Bt):Lr)(e,t)}r(Yr,"interpolate");function Vl(e){return function(){this.removeAttribute(e)}}r(Vl,"attrRemove");function Ol(e){return function(){this.removeAttributeNS(e.space,e.local)}}r(Ol,"attrRemoveNS");function Bl(e,t,n){var o,i=n+"",s;return function(){var a=this.getAttribute(e);return a===i?null:a===o?s:s=t(o=a,n)}}r(Bl,"attrConstant");function Fl(e,t,n){var o,i=n+"",s;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===o?s:s=t(o=a,n)}}r(Fl,"attrConstantNS");function jl(e,t,n){var o,i,s;return function(){var a,c=n(this),u;return c==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=c+"",a===u?null:a===o&&u===i?s:(i=u,s=t(o=a,c)))}}r(jl,"attrFunction");function Xl(e,t,n){var o,i,s;return function(){var a,c=n(this),u;return c==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=c+"",a===u?null:a===o&&u===i?s:(i=u,s=t(o=a,c)))}}r(Xl,"attrFunctionNS");function Yl(e,t){var n=Kt(e),o=n==="transform"?Sl:Yr;return this.attrTween(e,typeof t=="function"?(n.local?Xl:jl)(n,o,Yn(this,"attr."+e,t)):t==null?(n.local?Ol:Vl)(n):(n.local?Fl:Bl)(n,o,t))}r(Yl,"transition_attr");function Zl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}r(Zl,"attrInterpolate");function Wl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}r(Wl,"attrInterpolateNS");function ql(e,t){var n,o;function i(){var s=t.apply(this,arguments);return s!==o&&(n=(o=s)&&Wl(e,s)),n}return r(i,"tween"),i._value=t,i}r(ql,"attrTweenNS");function Gl(e,t){var n,o;function i(){var s=t.apply(this,arguments);return s!==o&&(n=(o=s)&&Zl(e,s)),n}return r(i,"tween"),i._value=t,i}r(Gl,"attrTween");function Ul(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=Kt(e);return this.tween(n,(o.local?ql:Gl)(o,t))}r(Ul,"transition_attrTween");function Kl(e,t){return function(){Xn(this,e).delay=+t.apply(this,arguments)}}r(Kl,"delayFunction");function Ql(e,t){return t=+t,function(){Xn(this,e).delay=t}}r(Ql,"delayConstant");function Jl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Kl:Ql)(t,e)):pe(this.node(),t).delay}r(Jl,"transition_delay");function eu(e,t){return function(){we(this,e).duration=+t.apply(this,arguments)}}r(eu,"durationFunction");function tu(e,t){return t=+t,function(){we(this,e).duration=t}}r(tu,"durationConstant");function nu(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?eu:tu)(t,e)):pe(this.node(),t).duration}r(nu,"transition_duration");function ou(e,t){if(typeof t!="function")throw new Error;return function(){we(this,e).ease=t}}r(ou,"easeConstant");function ru(e){var t=this._id;return arguments.length?this.each(ou(t,e)):pe(this.node(),t).ease}r(ru,"transition_ease");function iu(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;we(this,e).ease=n}}r(iu,"easeVarying");function su(e){if(typeof e!="function")throw new Error;return this.each(iu(this._id,e))}r(su,"transition_easeVarying");function au(e){typeof e!="function"&&(e=_r(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var s=t[i],a=s.length,c=o[i]=[],u,l=0;l<a;++l)(u=s[l])&&e.call(u,u.__data__,l,s)&&c.push(u);return new Ee(o,this._parents,this._name,this._id)}r(au,"transition_filter");function cu(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,i=n.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var u=t[c],l=n[c],f=u.length,d=a[c]=new Array(f),h,p=0;p<f;++p)(h=u[p]||l[p])&&(d[p]=h);for(;c<o;++c)a[c]=t[c];return new Ee(a,this._parents,this._name,this._id)}r(cu,"transition_merge");function lu(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}r(lu,"start");function uu(e,t,n){var o,i,s=lu(t)?Xn:we;return function(){var a=s(this,e),c=a.on;c!==o&&(i=(o=c).copy()).on(t,n),a.on=i}}r(uu,"onFunction");function du(e,t){var n=this._id;return arguments.length<2?pe(this.node(),n).on.on(e):this.each(uu(n,e,t))}r(du,"transition_on");function fu(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}r(fu,"removeFunction");function hu(){return this.on("end.remove",fu(this._id))}r(hu,"transition_remove");function gu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Vn(e));for(var o=this._groups,i=o.length,s=new Array(i),a=0;a<i;++a)for(var c=o[a],u=c.length,l=s[a]=new Array(u),f,d,h=0;h<u;++h)(f=c[h])&&(d=e.call(f,f.__data__,h,c))&&("__data__"in f&&(d.__data__=f.__data__),l[h]=d,Jt(l[h],t,n,h,l,pe(f,n)));return new Ee(s,this._parents,t,n)}r(gu,"transition_select");function pu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=br(e));for(var o=this._groups,i=o.length,s=[],a=[],c=0;c<i;++c)for(var u=o[c],l=u.length,f,d=0;d<l;++d)if(f=u[d]){for(var h=e.call(f,f.__data__,d,u),p,m=pe(f,n),w=0,v=h.length;w<v;++w)(p=h[w])&&Jt(p,t,n,w,h,m);s.push(h),a.push(f)}return new Ee(s,a,t,n)}r(pu,"transition_selectAll");var mu=yt.prototype.constructor;function yu(){return new mu(this._groups,this._parents)}r(yu,"transition_selection");function xu(e,t){var n,o,i;return function(){var s=Ye(this,e),a=(this.style.removeProperty(e),Ye(this,e));return s===a?null:s===n&&a===o?i:i=t(n=s,o=a)}}r(xu,"styleNull");function Zr(e){return function(){this.style.removeProperty(e)}}r(Zr,"styleRemove");function wu(e,t,n){var o,i=n+"",s;return function(){var a=Ye(this,e);return a===i?null:a===o?s:s=t(o=a,n)}}r(wu,"styleConstant");function vu(e,t,n){var o,i,s;return function(){var a=Ye(this,e),c=n(this),u=c+"";return c==null&&(u=c=(this.style.removeProperty(e),Ye(this,e))),a===u?null:a===o&&u===i?s:(i=u,s=t(o=a,c))}}r(vu,"styleFunction");function bu(e,t){var n,o,i,s="style."+t,a="end."+s,c;return function(){var u=we(this,e),l=u.on,f=u.value[s]==null?c||(c=Zr(t)):void 0;(l!==n||i!==f)&&(o=(n=l).copy()).on(a,i=f),u.on=o}}r(bu,"styleMaybeRemove");function _u(e,t,n){var o=(e+="")=="transform"?El:Yr;return t==null?this.styleTween(e,xu(e,o)).on("end.style."+e,Zr(e)):typeof t=="function"?this.styleTween(e,vu(e,o,Yn(this,"style."+e,t))).each(bu(this._id,e)):this.styleTween(e,wu(e,o,t),n).on("end.style."+e,null)}r(_u,"transition_style");function Eu(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}r(Eu,"styleInterpolate");function Su(e,t,n){var o,i;function s(){var a=t.apply(this,arguments);return a!==i&&(o=(i=a)&&Eu(e,a,n)),o}return r(s,"tween"),s._value=t,s}r(Su,"styleTween");function Nu(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,Su(e,t,n??""))}r(Nu,"transition_styleTween");function Cu(e){return function(){this.textContent=e}}r(Cu,"textConstant");function Mu(e){return function(){var t=e(this);this.textContent=t??""}}r(Mu,"textFunction");function Iu(e){return this.tween("text",typeof e=="function"?Mu(Yn(this,"text",e)):Cu(e==null?"":e+""))}r(Iu,"transition_text");function ku(e){return function(t){this.textContent=e.call(this,t)}}r(ku,"textInterpolate");function Au(e){var t,n;function o(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&ku(i)),t}return r(o,"tween"),o._value=e,o}r(Au,"textTween");function $u(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Au(e))}r($u,"transition_textTween");function Pu(){for(var e=this._name,t=this._id,n=Wr(),o=this._groups,i=o.length,s=0;s<i;++s)for(var a=o[s],c=a.length,u,l=0;l<c;++l)if(u=a[l]){var f=pe(u,t);Jt(u,e,n,l,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Ee(o,this._parents,e,n)}r(Pu,"transition_transition");function Du(){var e,t,n=this,o=n._id,i=n.size();return new Promise(function(s,a){var c={value:a},u={value:r(function(){--i===0&&s()},"value")};n.each(function(){var l=we(this,o),f=l.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(c),t._.interrupt.push(c),t._.end.push(u)),l.on=t}),i===0&&s()})}r(Du,"transition_end");var Tu=0;function Ee(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}r(Ee,"Transition");function Wr(){return++Tu}r(Wr,"newId");var be=yt.prototype;Ee.prototype={constructor:Ee,select:gu,selectAll:pu,selectChild:be.selectChild,selectChildren:be.selectChildren,filter:au,merge:cu,selection:yu,transition:Pu,call:be.call,nodes:be.nodes,node:be.node,size:be.size,empty:be.empty,each:be.each,on:du,attr:Yl,attrTween:Ul,style:_u,styleTween:Nu,text:Iu,textTween:$u,remove:hu,tween:Ll,delay:Jl,duration:nu,ease:ru,easeVarying:su,end:Du,[Symbol.iterator]:be[Symbol.iterator]};function zu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}r(zu,"cubicInOut");var Hu={time:null,delay:0,duration:250,ease:zu};function Ru(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}r(Ru,"inherit");function Lu(e){var t,n;e instanceof Ee?(t=e._id,e=e._name):(t=Wr(),(n=Hu).time=jn(),e=e==null?null:e+"");for(var o=this._groups,i=o.length,s=0;s<i;++s)for(var a=o[s],c=a.length,u,l=0;l<c;++l)(u=a[l])&&Jt(u,e,t,l,a,n||Ru(u,t));return new Ee(o,this._parents,e,t)}r(Lu,"selection_transition");yt.prototype.interrupt=zl;yt.prototype.transition=Lu;const It=r(e=>()=>e,"constant");function Vu(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}r(Vu,"ZoomEvent");function _e(e,t,n){this.k=e,this.x=t,this.y=n}r(_e,"Transform");_e.prototype={constructor:_e,scale:r(function(e){return e===1?this:new _e(this.k*e,this.x,this.y)},"scale"),translate:r(function(e,t){return e===0&t===0?this:new _e(this.k,this.x+this.k*e,this.y+this.k*t)},"translate"),apply:r(function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},"apply"),applyX:r(function(e){return e*this.k+this.x},"applyX"),applyY:r(function(e){return e*this.k+this.y},"applyY"),invert:r(function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},"invert"),invertX:r(function(e){return(e-this.x)/this.k},"invertX"),invertY:r(function(e){return(e-this.y)/this.k},"invertY"),rescaleX:r(function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},"rescaleX"),rescaleY:r(function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},"rescaleY"),toString:r(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};var en=new _e(1,0,0);qr.prototype=_e.prototype;function qr(e){for(;!e.__zoom;)if(!(e=e.parentNode))return en;return e.__zoom}r(qr,"transform");function pn(e){e.stopImmediatePropagation()}r(pn,"nopropagation");function ot(e){e.preventDefault(),e.stopImmediatePropagation()}r(ot,"noevent");function Ou(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}r(Ou,"defaultFilter");function Bu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}r(Bu,"defaultExtent");function ko(){return this.__zoom||en}r(ko,"defaultTransform");function Fu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}r(Fu,"defaultWheelDelta");function ju(){return navigator.maxTouchPoints||"ontouchstart"in this}r(ju,"defaultTouchable");function Xu(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),a>s?(s+a)/2:Math.min(0,s)||Math.max(0,a))}r(Xu,"defaultConstrain");function Gr(){var e=Ou,t=Bu,n=Xu,o=Fu,i=ju,s=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],c=250,u=Tt,l=Ut("start","zoom","end"),f,d,h,p=500,m=150,w=0,v=10;function y(b){b.property("__zoom",ko).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",B).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",H).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}r(y,"zoom"),y.transform=function(b,M,S,k){var I=b.selection?b.selection():b;I.property("__zoom",ko),b!==I?N(b,M,S,k):I.interrupt().each(function(){E(this,arguments).event(k).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(b,M,S,k){y.scaleTo(b,function(){var I=this.__zoom.k,P=typeof M=="function"?M.apply(this,arguments):M;return I*P},S,k)},y.scaleTo=function(b,M,S,k){y.transform(b,function(){var I=t.apply(this,arguments),P=this.__zoom,R=S==null?x(I):typeof S=="function"?S.apply(this,arguments):S,O=P.invert(R),V=typeof M=="function"?M.apply(this,arguments):M;return n(g(_(P,V),R,O),I,a)},S,k)},y.translateBy=function(b,M,S,k){y.transform(b,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof S=="function"?S.apply(this,arguments):S),t.apply(this,arguments),a)},null,k)},y.translateTo=function(b,M,S,k,I){y.transform(b,function(){var P=t.apply(this,arguments),R=this.__zoom,O=k==null?x(P):typeof k=="function"?k.apply(this,arguments):k;return n(en.translate(O[0],O[1]).scale(R.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof S=="function"?-S.apply(this,arguments):-S),P,a)},k,I)};function _(b,M){return M=Math.max(s[0],Math.min(s[1],M)),M===b.k?b:new _e(M,b.x,b.y)}r(_,"scale");function g(b,M,S){var k=M[0]-S[0]*b.k,I=M[1]-S[1]*b.k;return k===b.x&&I===b.y?b:new _e(b.k,k,I)}r(g,"translate");function x(b){return[(+b[0][0]+ +b[1][0])/2,(+b[0][1]+ +b[1][1])/2]}r(x,"centroid");function N(b,M,S,k){b.on("start.zoom",function(){E(this,arguments).event(k).start()}).on("interrupt.zoom end.zoom",function(){E(this,arguments).event(k).end()}).tween("zoom",function(){var I=this,P=arguments,R=E(I,P).event(k),O=t.apply(I,P),V=S==null?x(O):typeof S=="function"?S.apply(I,P):S,X=Math.max(O[1][0]-O[0][0],O[1][1]-O[0][1]),j=I.__zoom,q=typeof M=="function"?M.apply(I,P):M,K=u(j.invert(V).concat(X/j.k),q.invert(V).concat(X/q.k));return function(W){if(W===1)W=q;else{var F=K(W),Y=X/F[2];W=new _e(Y,V[0]-F[0]*Y,V[1]-F[1]*Y)}R.zoom(null,W)}})}r(N,"schedule");function E(b,M,S){return!S&&b.__zooming||new C(b,M)}r(E,"gesture");function C(b,M){this.that=b,this.args=M,this.active=0,this.sourceEvent=null,this.extent=t.apply(b,M),this.taps=0}r(C,"Gesture"),C.prototype={event:r(function(b){return b&&(this.sourceEvent=b),this},"event"),start:r(function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},"start"),zoom:r(function(b,M){return this.mouse&&b!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&b!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&b!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},"zoom"),end:r(function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},"end"),emit:r(function(b){var M=le(this.that).datum();l.call(b,this.that,new Vu(b,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:l}),M)},"emit")};function D(b,...M){if(!e.apply(this,arguments))return;var S=E(this,M).event(b),k=this.__zoom,I=Math.max(s[0],Math.min(s[1],k.k*Math.pow(2,o.apply(this,arguments)))),P=de(b);if(S.wheel)(S.mouse[0][0]!==P[0]||S.mouse[0][1]!==P[1])&&(S.mouse[1]=k.invert(S.mouse[0]=P)),clearTimeout(S.wheel);else{if(k.k===I)return;S.mouse=[P,k.invert(P)],Rt(this),S.start()}ot(b),S.wheel=setTimeout(R,m),S.zoom("mouse",n(g(_(k,I),S.mouse[0],S.mouse[1]),S.extent,a));function R(){S.wheel=null,S.end()}r(R,"wheelidled")}r(D,"wheeled");function T(b,...M){if(h||!e.apply(this,arguments))return;var S=b.currentTarget,k=E(this,M,!0).event(b),I=le(b.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",X,!0),P=de(b,S),R=b.clientX,O=b.clientY;Pr(b.view),pn(b),k.mouse=[P,this.__zoom.invert(P)],Rt(this),k.start();function V(j){if(ot(j),!k.moved){var q=j.clientX-R,K=j.clientY-O;k.moved=q*q+K*K>w}k.event(j).zoom("mouse",n(g(k.that.__zoom,k.mouse[0]=de(j,S),k.mouse[1]),k.extent,a))}r(V,"mousemoved");function X(j){I.on("mousemove.zoom mouseup.zoom",null),Dr(j.view,k.moved),ot(j),k.event(j).end()}r(X,"mouseupped")}r(T,"mousedowned");function B(b,...M){if(e.apply(this,arguments)){var S=this.__zoom,k=de(b.changedTouches?b.changedTouches[0]:b,this),I=S.invert(k),P=S.k*(b.shiftKey?.5:2),R=n(g(_(S,P),k,I),t.apply(this,M),a);ot(b),c>0?le(this).transition().duration(c).call(N,R,k,b):le(this).call(y.transform,R,k,b)}}r(B,"dblclicked");function A(b,...M){if(e.apply(this,arguments)){var S=b.touches,k=S.length,I=E(this,M,b.changedTouches.length===k).event(b),P,R,O,V;for(pn(b),R=0;R<k;++R)O=S[R],V=de(O,this),V=[V,this.__zoom.invert(V),O.identifier],I.touch0?!I.touch1&&I.touch0[2]!==V[2]&&(I.touch1=V,I.taps=0):(I.touch0=V,P=!0,I.taps=1+!!f);f&&(f=clearTimeout(f)),P&&(I.taps<2&&(d=V[0],f=setTimeout(function(){f=null},p)),Rt(this),I.start())}}r(A,"touchstarted");function H(b,...M){if(this.__zooming){var S=E(this,M).event(b),k=b.changedTouches,I=k.length,P,R,O,V;for(ot(b),P=0;P<I;++P)R=k[P],O=de(R,this),S.touch0&&S.touch0[2]===R.identifier?S.touch0[0]=O:S.touch1&&S.touch1[2]===R.identifier&&(S.touch1[0]=O);if(R=S.that.__zoom,S.touch1){var X=S.touch0[0],j=S.touch0[1],q=S.touch1[0],K=S.touch1[1],W=(W=q[0]-X[0])*W+(W=q[1]-X[1])*W,F=(F=K[0]-j[0])*F+(F=K[1]-j[1])*F;R=_(R,Math.sqrt(W/F)),O=[(X[0]+q[0])/2,(X[1]+q[1])/2],V=[(j[0]+K[0])/2,(j[1]+K[1])/2]}else if(S.touch0)O=S.touch0[0],V=S.touch0[1];else return;S.zoom("touch",n(g(R,O,V),S.extent,a))}}r(H,"touchmoved");function L(b,...M){if(this.__zooming){var S=E(this,M).event(b),k=b.changedTouches,I=k.length,P,R;for(pn(b),h&&clearTimeout(h),h=setTimeout(function(){h=null},p),P=0;P<I;++P)R=k[P],S.touch0&&S.touch0[2]===R.identifier?delete S.touch0:S.touch1&&S.touch1[2]===R.identifier&&delete S.touch1;if(S.touch1&&!S.touch0&&(S.touch0=S.touch1,delete S.touch1),S.touch0)S.touch0[1]=this.__zoom.invert(S.touch0[0]);else if(S.end(),S.taps===2&&(R=de(R,this),Math.hypot(d[0]-R[0],d[1]-R[1])<v)){var O=le(this).on("dblclick.zoom");O&&O.apply(this,arguments)}}}return r(L,"touchended"),y.wheelDelta=function(b){return arguments.length?(o=typeof b=="function"?b:It(+b),y):o},y.filter=function(b){return arguments.length?(e=typeof b=="function"?b:It(!!b),y):e},y.touchable=function(b){return arguments.length?(i=typeof b=="function"?b:It(!!b),y):i},y.extent=function(b){return arguments.length?(t=typeof b=="function"?b:It([[+b[0][0],+b[0][1]],[+b[1][0],+b[1][1]]]),y):t},y.scaleExtent=function(b){return arguments.length?(s[0]=+b[0],s[1]=+b[1],y):[s[0],s[1]]},y.translateExtent=function(b){return arguments.length?(a[0][0]=+b[0][0],a[1][0]=+b[1][0],a[0][1]=+b[0][1],a[1][1]=+b[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(b){return arguments.length?(n=b,y):n},y.duration=function(b){return arguments.length?(c=+b,y):c},y.interpolate=function(b){return arguments.length?(u=b,y):u},y.on=function(){var b=l.on.apply(l,arguments);return b===l?y:b},y.clickDistance=function(b){return arguments.length?(w=(b=+b)*b,y):Math.sqrt(w)},y.tapDistance=function(b){return arguments.length?(v=+b,y):v},y}r(Gr,"zoom");const xe={error001:r(()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001","error001"),error002:r(()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.","error002"),error003:r(e=>`Node type "${e}" not found. Using fallback type "default".`,"error003"),error004:r(()=>"The React Flow parent container needs a width and a height to render the graph.","error004"),error005:r(()=>"Only child nodes can use a parent extent.","error005"),error006:r(()=>"Can't create edge. An edge needs a source and a target.","error006"),error007:r(e=>`The old edge with id=${e} does not exist.`,"error007"),error009:r(e=>`Marker type "${e}" doesn't exist.`,"error009"),error008:r((e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,"error008"),error010:r(()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.","error010"),error011:r(e=>`Edge type "${e}" not found. Using fallback type "default".`,"error011"),error012:r(e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,"error012"),error013:r((e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,"error013"),error014:r(()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.","error014"),error015:r(()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.","error015")},ft=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ur=["Enter"," ","Escape"],Kr={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":r(({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"node.a11yDescription.ariaLiveMessage"),"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var We;(function(e){e.Strict="strict",e.Loose="loose"})(We||(We={}));var Te;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Te||(Te={}));var ht;(function(e){e.Partial="partial",e.Full="full"})(ht||(ht={}));const Qr={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ie;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Ie||(Ie={}));var Yt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Yt||(Yt={}));var Z;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Z||(Z={}));const Ao={[Z.Left]:Z.Right,[Z.Right]:Z.Left,[Z.Top]:Z.Bottom,[Z.Bottom]:Z.Top};function Jr(e){return e===null?null:e?"valid":"invalid"}r(Jr,"getConnectionStatus");const ei=r(e=>"id"in e&&"source"in e&&"target"in e,"isEdgeBase"),Yu=r(e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),"isNodeBase"),Zn=r(e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),"isInternalNodeBase"),wt=r((e,t=[0,0])=>{const{width:n,height:o}=Se(e),i=e.origin??t,s=n*i[0],a=o*i[1];return{x:e.position.x-s,y:e.position.y-a}},"getNodePositionWithOrigin"),Zu=r((e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,i)=>{const s=typeof i=="string";let a=!t.nodeLookup&&!s?i:void 0;t.nodeLookup&&(a=s?t.nodeLookup.get(i):Zn(i)?i:t.nodeLookup.get(i.id));const c=a?Zt(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return tn(o,c)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return nn(n)},"getNodesBounds"),vt=r((e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=tn(n,Zt(i)),o=!0)}),o?nn(n):{x:0,y:0,width:0,height:0}},"getInternalNodesBounds"),Wn=r((e,t,[n,o,i]=[0,0,1],s=!1,a=!1)=>{const c={..._t(t,[n,o,i]),width:t.width/i,height:t.height/i},u=[];for(const l of e.values()){const{measured:f,selectable:d=!0,hidden:h=!1}=l;if(a&&!d||h)continue;const p=f.width??l.width??l.initialWidth??null,m=f.height??l.height??l.initialHeight??null,w=gt(c,Ge(l)),v=(p??0)*(m??0),y=s&&w>0;(!l.internals.handleBounds||y||w>=v||l.dragging)&&u.push(l)}return u},"getNodesInside"),Wu=r((e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))},"getConnectedEdges");function qu(e,t){const n=new Map,o=t?.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&(t?.includeHiddenNodes||!i.hidden)&&(!o||o.has(i.id))&&n.set(i.id,i)}),n}r(qu,"getFitViewNodes");async function Gu({nodes:e,width:t,height:n,panZoom:o,minZoom:i,maxZoom:s},a){if(e.size===0)return Promise.resolve(!0);const c=qu(e,a),u=vt(c),l=qn(u,t,n,a?.minZoom??i,a?.maxZoom??s,a?.padding??.1);return await o.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}r(Gu,"fitViewport");function ti({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:i,onError:s}){const a=n.get(e),c=a.parentId?n.get(a.parentId):void 0,{x:u,y:l}=c?c.internals.positionAbsolute:{x:0,y:0},f=a.origin??o;let d=a.extent||i;if(a.extent==="parent"&&!a.expandParent)if(!c)s?.("005",xe.error005());else{const p=c.measured.width,m=c.measured.height;p&&m&&(d=[[u,l],[u+p,l+m]])}else c&&Ue(a.extent)&&(d=[[a.extent[0][0]+u,a.extent[0][1]+l],[a.extent[1][0]+u,a.extent[1][1]+l]]);const h=Ue(d)?Re(t,d,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&s?.("015",xe.error015()),{position:{x:h.x-u+(a.measured.width??0)*f[0],y:h.y-l+(a.measured.height??0)*f[1]},positionAbsolute:h}}r(ti,"calculateNodePosition");async function Uu({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:i}){const s=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const p=s.has(h.id),m=!p&&h.parentId&&a.find(w=>w.id===h.parentId);(p||m)&&a.push(h)}const c=new Set(t.map(h=>h.id)),u=o.filter(h=>h.deletable!==!1),f=Wu(a,u);for(const h of u)c.has(h.id)&&!f.find(m=>m.id===h.id)&&f.push(h);if(!i)return{edges:f,nodes:a};const d=await i({nodes:a,edges:f});return typeof d=="boolean"?d?{edges:f,nodes:a}:{edges:[],nodes:[]}:d}r(Uu,"getElementsToRemove");const qe=r((e,t=0,n=1)=>Math.min(Math.max(e,t),n),"clamp"),Re=r((e={x:0,y:0},t,n)=>({x:qe(e.x,t[0][0],t[1][0]-(n?.width??0)),y:qe(e.y,t[0][1],t[1][1]-(n?.height??0))}),"clampPosition");function ni(e,t,n){const{width:o,height:i}=Se(n),{x:s,y:a}=n.internals.positionAbsolute;return Re(e,[[s,a],[s+o,a+i]],t)}r(ni,"clampPositionToParent");const $o=r((e,t,n)=>e<t?qe(Math.abs(e-t),1,t)/t:e>n?-qe(Math.abs(e-n),1,t)/t:0,"calcAutoPanVelocity"),oi=r((e,t,n=15,o=40)=>{const i=$o(e.x,o,t.width-o)*n,s=$o(e.y,o,t.height-o)*n;return[i,s]},"calcAutoPan"),tn=r((e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),"getBoundsOfBoxes"),Dn=r(({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),"rectToBox"),nn=r(({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),"boxToRect"),Ge=r((e,t=[0,0])=>{const{x:n,y:o}=Zn(e)?e.internals.positionAbsolute:wt(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},"nodeToRect"),Zt=r((e,t=[0,0])=>{const{x:n,y:o}=Zn(e)?e.internals.positionAbsolute:wt(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},"nodeToBox"),ri=r((e,t)=>nn(tn(Dn(e),Dn(t))),"getBoundsOfRects"),gt=r((e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},"getOverlappingArea"),Po=r(e=>he(e.width)&&he(e.height)&&he(e.x)&&he(e.y),"isRectObject"),he=r(e=>!isNaN(e)&&isFinite(e),"isNumeric"),Ku=r((e,t)=>{},"devWarn"),bt=r((e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),"snapPosition"),_t=r(({x:e,y:t},[n,o,i],s=!1,a=[1,1])=>{const c={x:(e-n)/i,y:(t-o)/i};return s?bt(c,a):c},"pointToRendererPoint"),Wt=r(({x:e,y:t},[n,o,i])=>({x:e*i+n,y:t*i+o}),"rendererPointToPoint");function Oe(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}r(Oe,"parsePadding");function Qu(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=Oe(e,n),i=Oe(e,t);return{top:o,right:i,bottom:o,left:i,x:i*2,y:o*2}}if(typeof e=="object"){const o=Oe(e.top??e.y??0,n),i=Oe(e.bottom??e.y??0,n),s=Oe(e.left??e.x??0,t),a=Oe(e.right??e.x??0,t);return{top:o,right:a,bottom:i,left:s,x:s+a,y:o+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}r(Qu,"parsePaddings");function Ju(e,t,n,o,i,s){const{x:a,y:c}=Wt(e,[t,n,o]),{x:u,y:l}=Wt({x:e.x+e.width,y:e.y+e.height},[t,n,o]),f=i-u,d=s-l;return{left:Math.floor(a),top:Math.floor(c),right:Math.floor(f),bottom:Math.floor(d)}}r(Ju,"calculateAppliedPaddings");const qn=r((e,t,n,o,i,s)=>{const a=Qu(s,t,n),c=(t-a.x)/e.width,u=(n-a.y)/e.height,l=Math.min(c,u),f=qe(l,o,i),d=e.x+e.width/2,h=e.y+e.height/2,p=t/2-d*f,m=n/2-h*f,w=Ju(e,p,m,f,t,n),v={left:Math.min(w.left-a.left,0),top:Math.min(w.top-a.top,0),right:Math.min(w.right-a.right,0),bottom:Math.min(w.bottom-a.bottom,0)};return{x:p-v.left+v.right,y:m-v.top+v.bottom,zoom:f}},"getViewportForBounds"),pt=r(()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0,"isMacOs");function Ue(e){return e!=null&&e!=="parent"}r(Ue,"isCoordinateExtent");function Se(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}r(Se,"getNodeDimensions");function ii(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}r(ii,"nodeHasDimensions");function si(e,t={width:0,height:0},n,o,i){const s={...e},a=o.get(n);if(a){const c=a.origin||i;s.x+=a.internals.positionAbsolute.x-(t.width??0)*c[0],s.y+=a.internals.positionAbsolute.y-(t.height??0)*c[1]}return s}r(si,"evaluateAbsolutePosition");function Do(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}r(Do,"areSetsEqual");function ed(){let e,t;return{promise:new Promise((o,i)=>{e=o,t=i}),resolve:e,reject:t}}r(ed,"withResolvers");function td(e){return{...Kr,...e||{}}}r(td,"mergeAriaLabelConfig");function at(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:i}){const{x:s,y:a}=ge(e),c=_t({x:s-(i?.left??0),y:a-(i?.top??0)},o),{x:u,y:l}=n?bt(c,t):c;return{xSnapped:u,ySnapped:l,...c}}r(at,"getPointerPosition");const Gn=r(e=>({width:e.offsetWidth,height:e.offsetHeight}),"getDimensions"),ai=r(e=>e?.getRootNode?.()||window?.document,"getHostForElement"),nd=["INPUT","SELECT","TEXTAREA"];function ci(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:nd.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}r(ci,"isInputDOMNode");const li=r(e=>"clientX"in e,"isMouseEvent"),ge=r((e,t)=>{const n=li(e),o=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:i-(t?.top??0)}},"getEventPosition"),To=r((e,t,n,o,i)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(a=>{const c=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:i,position:a.getAttribute("data-handlepos"),x:(c.left-n.left)/o,y:(c.top-n.top)/o,...Gn(a)}})},"getHandleBounds");function ui({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:i,sourceControlY:s,targetControlX:a,targetControlY:c}){const u=e*.125+i*.375+a*.375+n*.125,l=t*.125+s*.375+c*.375+o*.125,f=Math.abs(u-e),d=Math.abs(l-t);return[u,l,f,d]}r(ui,"getBezierEdgeCenter");function kt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}r(kt,"calculateControlOffset");function zo({pos:e,x1:t,y1:n,x2:o,y2:i,c:s}){switch(e){case Z.Left:return[t-kt(t-o,s),n];case Z.Right:return[t+kt(o-t,s),n];case Z.Top:return[t,n-kt(n-i,s)];case Z.Bottom:return[t,n+kt(i-n,s)]}}r(zo,"getControlWithCurvature");function di({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:o,targetY:i,targetPosition:s=Z.Top,curvature:a=.25}){const[c,u]=zo({pos:n,x1:e,y1:t,x2:o,y2:i,c:a}),[l,f]=zo({pos:s,x1:o,y1:i,x2:e,y2:t,c:a}),[d,h,p,m]=ui({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:c,sourceControlY:u,targetControlX:l,targetControlY:f});return[`M${e},${t} C${c},${u} ${l},${f} ${o},${i}`,d,h,p,m]}r(di,"getBezierPath");function fi({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,s=n<e?n+i:n-i,a=Math.abs(o-t)/2,c=o<t?o+a:o-a;return[s,c,i,a]}r(fi,"getEdgeCenter");function od({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:i=!1,zIndexMode:s="basic"}){if(s==="manual")return o;const a=i&&n?o+1e3:o,c=Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0);return a+c}r(od,"getElevatedEdgeZIndex");function rd({sourceNode:e,targetNode:t,width:n,height:o,transform:i}){const s=tn(Zt(e),Zt(t));s.x===s.x2&&(s.x2+=1),s.y===s.y2&&(s.y2+=1);const a={x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:o/i[2]};return gt(a,nn(s))>0}r(rd,"isEdgeVisible");const id=r(({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,"getEdgeId"),sd=r((e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),"connectionExists"),ad=r((e,t,n={})=>{if(!e.source||!e.target)return t;const o=n.getEdgeId||id;let i;return ei(e)?i={...e}:i={...e,id:o(e)},sd(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))},"addEdge");function hi({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[i,s,a,c]=fi({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,i,s,a,c]}r(hi,"getStraightPath");const Ho={[Z.Left]:{x:-1,y:0},[Z.Right]:{x:1,y:0},[Z.Top]:{x:0,y:-1},[Z.Bottom]:{x:0,y:1}},cd=r(({source:e,sourcePosition:t=Z.Bottom,target:n})=>t===Z.Left||t===Z.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},"getDirection"),Ro=r((e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),"distance");function ld({source:e,sourcePosition:t=Z.Bottom,target:n,targetPosition:o=Z.Top,center:i,offset:s,stepPosition:a}){const c=Ho[t],u=Ho[o],l={x:e.x+c.x*s,y:e.y+c.y*s},f={x:n.x+u.x*s,y:n.y+u.y*s},d=cd({source:l,sourcePosition:t,target:f}),h=d.x!==0?"x":"y",p=d[h];let m=[],w,v;const y={x:0,y:0},_={x:0,y:0},[,,g,x]=fi({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(c[h]*u[h]===-1){h==="x"?(w=i.x??l.x+(f.x-l.x)*a,v=i.y??(l.y+f.y)/2):(w=i.x??(l.x+f.x)/2,v=i.y??l.y+(f.y-l.y)*a);const E=[{x:w,y:l.y},{x:w,y:f.y}],C=[{x:l.x,y:v},{x:f.x,y:v}];c[h]===p?m=h==="x"?E:C:m=h==="x"?C:E}else{const E=[{x:l.x,y:f.y}],C=[{x:f.x,y:l.y}];if(h==="x"?m=c.x===p?C:E:m=c.y===p?E:C,t===o){const H=Math.abs(e[h]-n[h]);if(H<=s){const L=Math.min(s-1,s-H);c[h]===p?y[h]=(l[h]>e[h]?-1:1)*L:_[h]=(f[h]>n[h]?-1:1)*L}}if(t!==o){const H=h==="x"?"y":"x",L=c[h]===u[H],b=l[H]>f[H],M=l[H]<f[H];(c[h]===1&&(!L&&b||L&&M)||c[h]!==1&&(!L&&M||L&&b))&&(m=h==="x"?E:C)}const D={x:l.x+y.x,y:l.y+y.y},T={x:f.x+_.x,y:f.y+_.y},B=Math.max(Math.abs(D.x-m[0].x),Math.abs(T.x-m[0].x)),A=Math.max(Math.abs(D.y-m[0].y),Math.abs(T.y-m[0].y));B>=A?(w=(D.x+T.x)/2,v=m[0].y):(w=m[0].x,v=(D.y+T.y)/2)}return[[e,{x:l.x+y.x,y:l.y+y.y},...m,{x:f.x+_.x,y:f.y+_.y},n],w,v,g,x]}r(ld,"getPoints");function ud(e,t,n,o){const i=Math.min(Ro(e,t)/2,Ro(t,n)/2,o),{x:s,y:a}=t;if(e.x===s&&s===n.x||e.y===a&&a===n.y)return`L${s} ${a}`;if(e.y===a){const l=e.x<n.x?-1:1,f=e.y<n.y?1:-1;return`L ${s+i*l},${a}Q ${s},${a} ${s},${a+i*f}`}const c=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${s},${a+i*u}Q ${s},${a} ${s+i*c},${a}`}r(ud,"getBend");function Tn({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:o,targetY:i,targetPosition:s=Z.Top,borderRadius:a=5,centerX:c,centerY:u,offset:l=20,stepPosition:f=.5}){const[d,h,p,m,w]=ld({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:i},targetPosition:s,center:{x:c,y:u},offset:l,stepPosition:f});return[d.reduce((y,_,g)=>{let x="";return g>0&&g<d.length-1?x=ud(d[g-1],_,d[g+1],a):x=`${g===0?"M":"L"}${_.x} ${_.y}`,y+=x,y},""),h,p,m,w]}r(Tn,"getSmoothStepPath");function Lo(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}r(Lo,"isNodeInitialized");function dd(e){const{sourceNode:t,targetNode:n}=e;if(!Lo(t)||!Lo(n))return null;const o=t.internals.handleBounds||Vo(t.handles),i=n.internals.handleBounds||Vo(n.handles),s=Oo(o?.source??[],e.sourceHandle),a=Oo(e.connectionMode===We.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!s||!a)return e.onError?.("008",xe.error008(s?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const c=s?.position||Z.Bottom,u=a?.position||Z.Top,l=Le(t,s,c),f=Le(n,a,u);return{sourceX:l.x,sourceY:l.y,targetX:f.x,targetY:f.y,sourcePosition:c,targetPosition:u}}r(dd,"getEdgePosition");function Vo(e){if(!e)return null;const t=[],n=[];for(const o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&n.push(o);return{source:t,target:n}}r(Vo,"toHandleBounds");function Le(e,t,n=Z.Left,o=!1){const i=(t?.x??0)+e.internals.positionAbsolute.x,s=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:c}=t??Se(e);if(o)return{x:i+a/2,y:s+c/2};switch(t?.position??n){case Z.Top:return{x:i+a/2,y:s};case Z.Right:return{x:i+a,y:s+c/2};case Z.Bottom:return{x:i+a/2,y:s+c};case Z.Left:return{x:i,y:s+c/2}}}r(Le,"getHandlePosition");function Oo(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}r(Oo,"getHandle$1");function zn(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}r(zn,"getMarkerId");function fd(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:i}){const s=new Set;return e.reduce((a,c)=>([c.markerStart||o,c.markerEnd||i].forEach(u=>{if(u&&typeof u=="object"){const l=zn(u,t);s.has(l)||(a.push({id:l,color:u.color||n,...u}),s.add(l))}}),a),[]).sort((a,c)=>a.id.localeCompare(c.id))}r(fd,"createMarkerIds");const gi=1e3,hd=10,Un={nodeOrigin:[0,0],nodeExtent:ft,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},gd={...Un,checkEquality:!0};function Kn(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}r(Kn,"mergeObjects");function pd(e,t,n){const o=Kn(Un,n);for(const i of e.values())if(i.parentId)Jn(i,e,t,o);else{const s=wt(i,o.nodeOrigin),a=Ue(i.extent)?i.extent:o.nodeExtent,c=Re(s,a,Se(i));i.internals.positionAbsolute=c}}r(pd,"updateAbsolutePositions");function md(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],o=[];for(const i of e.handles){const s={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(s):i.type==="target"&&o.push(s)}return{source:n,target:o}}r(md,"parseHandles");function Qn(e){return e==="manual"}r(Qn,"isManualZIndexMode");function Hn(e,t,n,o={}){const i=Kn(gd,o),s={i:0},a=new Map(t),c=i?.elevateNodesOnSelect&&!Qn(i.zIndexMode)?gi:0;let u=e.length>0;t.clear(),n.clear();for(const l of e){let f=a.get(l.id);if(i.checkEquality&&l===f?.internals.userNode)t.set(l.id,f);else{const d=wt(l,i.nodeOrigin),h=Ue(l.extent)?l.extent:i.nodeExtent,p=Re(d,h,Se(l));f={...i.defaults,...l,measured:{width:l.measured?.width,height:l.measured?.height},internals:{positionAbsolute:p,handleBounds:md(l,f),z:pi(l,c,i.zIndexMode),userNode:l}},t.set(l.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(u=!1),l.parentId&&Jn(f,t,n,o,s)}return u}r(Hn,"adoptUserNodes");function yd(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}r(yd,"updateParentLookup");function Jn(e,t,n,o,i){const{elevateNodesOnSelect:s,nodeOrigin:a,nodeExtent:c,zIndexMode:u}=Kn(Un,o),l=e.parentId,f=t.get(l);if(!f){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}yd(e,n),i&&!f.parentId&&f.internals.rootParentIndex===void 0&&u==="auto"&&(f.internals.rootParentIndex=++i.i,f.internals.z=f.internals.z+i.i*hd),i&&f.internals.rootParentIndex!==void 0&&(i.i=f.internals.rootParentIndex);const d=s&&!Qn(u)?gi:0,{x:h,y:p,z:m}=xd(e,f,a,c,d,u),{positionAbsolute:w}=e.internals,v=h!==w.x||p!==w.y;(v||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:h,y:p}:w,z:m}})}r(Jn,"updateChildNode");function pi(e,t,n){const o=he(e.zIndex)?e.zIndex:0;return Qn(n)?o:o+(e.selected?t:0)}r(pi,"calculateZ");function xd(e,t,n,o,i,s){const{x:a,y:c}=t.internals.positionAbsolute,u=Se(e),l=wt(e,n),f=Ue(e.extent)?Re(l,e.extent,u):l;let d=Re({x:a+f.x,y:c+f.y},o,u);e.extent==="parent"&&(d=ni(d,u,t));const h=pi(e,i,s),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=h?p+1:h}}r(xd,"calculateChildXYZ");function eo(e,t,n,o=[0,0]){const i=[],s=new Map;for(const a of e){const c=t.get(a.parentId);if(!c)continue;const u=s.get(a.parentId)?.expandedRect??Ge(c),l=ri(u,a.rect);s.set(a.parentId,{expandedRect:l,parent:c})}return s.size>0&&s.forEach(({expandedRect:a,parent:c},u)=>{const l=c.internals.positionAbsolute,f=Se(c),d=c.origin??o,h=a.x<l.x?Math.round(Math.abs(l.x-a.x)):0,p=a.y<l.y?Math.round(Math.abs(l.y-a.y)):0,m=Math.max(f.width,Math.round(a.width)),w=Math.max(f.height,Math.round(a.height)),v=(m-f.width)*d[0],y=(w-f.height)*d[1];(h>0||p>0||v||y)&&(i.push({id:u,type:"position",position:{x:c.position.x-h+v,y:c.position.y-p+y}}),n.get(u)?.forEach(_=>{e.some(g=>g.id===_.id)||i.push({id:_.id,type:"position",position:{x:_.position.x+h,y:_.position.y+p}})})),(f.width<a.width||f.height<a.height||h||p)&&i.push({id:u,type:"dimensions",setAttributes:!0,dimensions:{width:m+(h?d[0]*h-v:0),height:w+(p?d[1]*p-y:0)}})}),i}r(eo,"handleExpandParent");function wd(e,t,n,o,i,s,a){const c=o?.querySelector(".xyflow__viewport");let u=!1;if(!c)return{changes:[],updatedInternals:u};const l=[],f=window.getComputedStyle(c),{m22:d}=new window.DOMMatrixReadOnly(f.transform),h=[];for(const p of e.values()){const m=t.get(p.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),u=!0;continue}const w=Gn(p.nodeElement),v=m.measured.width!==w.width||m.measured.height!==w.height;if(!!(w.width&&w.height&&(v||!m.internals.handleBounds||p.force))){const _=p.nodeElement.getBoundingClientRect(),g=Ue(m.extent)?m.extent:s;let{positionAbsolute:x}=m.internals;m.parentId&&m.extent==="parent"?x=ni(x,w,t.get(m.parentId)):g&&(x=Re(x,g,w));const N={...m,measured:w,internals:{...m.internals,positionAbsolute:x,handleBounds:{source:To("source",p.nodeElement,_,d,m.id),target:To("target",p.nodeElement,_,d,m.id)}}};t.set(m.id,N),m.parentId&&Jn(N,t,n,{nodeOrigin:i,zIndexMode:a}),u=!0,v&&(l.push({id:m.id,type:"dimensions",dimensions:w}),m.expandParent&&m.parentId&&h.push({id:m.id,parentId:m.parentId,rect:Ge(N,i)}))}}if(h.length>0){const p=eo(h,t,n,i);l.push(...p)}return{changes:l,updatedInternals:u}}r(wd,"updateNodeInternals");async function vd({delta:e,panZoom:t,transform:n,translateExtent:o,width:i,height:s}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,s]],o),c=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(c)}r(vd,"panBy");function Bo(e,t,n,o,i,s){let a=i;const c=o.get(a)||new Map;o.set(a,c.set(n,t)),a=`${i}-${e}`;const u=o.get(a)||new Map;if(o.set(a,u.set(n,t)),s){a=`${i}-${e}-${s}`;const l=o.get(a)||new Map;o.set(a,l.set(n,t))}}r(Bo,"addConnectionToLookup");function mi(e,t,n){e.clear(),t.clear();for(const o of n){const{source:i,target:s,sourceHandle:a=null,targetHandle:c=null}=o,u={edgeId:o.id,source:i,target:s,sourceHandle:a,targetHandle:c},l=`${i}-${a}--${s}-${c}`,f=`${s}-${c}--${i}-${a}`;Bo("source",u,f,e,i,a),Bo("target",u,l,e,s,c),t.set(o.id,o)}}r(mi,"updateConnectionLookup");function yi(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:yi(n,t):!1}r(yi,"isParentSelected");function Fo(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)return!1;o=o?.parentElement}while(o);return!1}r(Fo,"hasSelector");function bd(e,t,n,o){const i=new Map;for(const[s,a]of e)if((a.selected||a.id===o)&&(!a.parentId||!yi(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const c=e.get(s);c&&i.set(s,{id:s,position:c.position||{x:0,y:0},distance:{x:n.x-c.internals.positionAbsolute.x,y:n.y-c.internals.positionAbsolute.y},extent:c.extent,parentId:c.parentId,origin:c.origin,expandParent:c.expandParent,internals:{positionAbsolute:c.internals.positionAbsolute||{x:0,y:0}},measured:{width:c.measured.width??0,height:c.measured.height??0}})}return i}r(bd,"getDragItems");function mn({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){const i=[];for(const[a,c]of t){const u=n.get(a)?.internals.userNode;u&&i.push({...u,position:c.position,dragging:o})}if(!e)return[i[0],i];const s=n.get(e)?.internals.userNode;return[s?{...s,position:t.get(e)?.position||s.position,dragging:o}:i[0],i]}r(mn,"getEventHandlerParams");function _d({dragItems:e,snapGrid:t,x:n,y:o}){const i=e.values().next().value;if(!i)return null;const s={x:n-i.distance.x,y:o-i.distance.y},a=bt(s,t);return{x:a.x-s.x,y:a.y-s.y}}r(_d,"calculateSnapOffset");function Ed({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:i}){let s={x:null,y:null},a=0,c=new Map,u=!1,l={x:0,y:0},f=null,d=!1,h=null,p=!1,m=!1,w=null;function v({noDragClassName:_,handleSelector:g,domNode:x,isSelectable:N,nodeId:E,nodeClickDistance:C=0}){h=le(x);function D({x:H,y:L}){const{nodeLookup:b,nodeExtent:M,snapGrid:S,snapToGrid:k,nodeOrigin:I,onNodeDrag:P,onSelectionDrag:R,onError:O,updateNodePositions:V}=t();s={x:H,y:L};let X=!1;const j=c.size>1,q=j&&M?Dn(vt(c)):null,K=j&&k?_d({dragItems:c,snapGrid:S,x:H,y:L}):null;for(const[W,F]of c){if(!b.has(W))continue;let Y={x:H-F.distance.x,y:L-F.distance.y};k&&(Y=K?{x:Math.round(Y.x+K.x),y:Math.round(Y.y+K.y)}:bt(Y,S));let J=null;if(j&&M&&!F.extent&&q){const{positionAbsolute:U}=F.internals,te=U.x-q.x+M[0][0],oe=U.x+F.measured.width-q.x2+M[1][0],ne=U.y-q.y+M[0][1],ae=U.y+F.measured.height-q.y2+M[1][1];J=[[te,ne],[oe,ae]]}const{position:Q,positionAbsolute:G}=ti({nodeId:W,nextPosition:Y,nodeLookup:b,nodeExtent:J||M,nodeOrigin:I,onError:O});X=X||F.position.x!==Q.x||F.position.y!==Q.y,F.position=Q,F.internals.positionAbsolute=G}if(m=m||X,!!X&&(V(c,!0),w&&(o||P||!E&&R))){const[W,F]=mn({nodeId:E,dragItems:c,nodeLookup:b});o?.(w,c,W,F),P?.(w,W,F),E||R?.(w,F)}}r(D,"updateNodes");async function T(){if(!f)return;const{transform:H,panBy:L,autoPanSpeed:b,autoPanOnNodeDrag:M}=t();if(!M){u=!1,cancelAnimationFrame(a);return}const[S,k]=oi(l,f,b);(S!==0||k!==0)&&(s.x=(s.x??0)-S/H[2],s.y=(s.y??0)-k/H[2],await L({x:S,y:k})&&D(s)),a=requestAnimationFrame(T)}r(T,"autoPan");function B(H){const{nodeLookup:L,multiSelectionActive:b,nodesDraggable:M,transform:S,snapGrid:k,snapToGrid:I,selectNodesOnDrag:P,onNodeDragStart:R,onSelectionDragStart:O,unselectNodesAndEdges:V}=t();d=!0,(!P||!N)&&!b&&E&&(L.get(E)?.selected||V()),N&&P&&E&&e?.(E);const X=at(H.sourceEvent,{transform:S,snapGrid:k,snapToGrid:I,containerBounds:f});if(s=X,c=bd(L,M,X,E),c.size>0&&(n||R||!E&&O)){const[j,q]=mn({nodeId:E,dragItems:c,nodeLookup:L});n?.(H.sourceEvent,c,j,q),R?.(H.sourceEvent,j,q),E||O?.(H.sourceEvent,q)}}r(B,"startDrag");const A=Tr().clickDistance(C).on("start",H=>{const{domNode:L,nodeDragThreshold:b,transform:M,snapGrid:S,snapToGrid:k}=t();f=L?.getBoundingClientRect()||null,p=!1,m=!1,w=H.sourceEvent,b===0&&B(H),s=at(H.sourceEvent,{transform:M,snapGrid:S,snapToGrid:k,containerBounds:f}),l=ge(H.sourceEvent,f)}).on("drag",H=>{const{autoPanOnNodeDrag:L,transform:b,snapGrid:M,snapToGrid:S,nodeDragThreshold:k,nodeLookup:I}=t(),P=at(H.sourceEvent,{transform:b,snapGrid:M,snapToGrid:S,containerBounds:f});if(w=H.sourceEvent,(H.sourceEvent.type==="touchmove"&&H.sourceEvent.touches.length>1||E&&!I.has(E))&&(p=!0),!p){if(!u&&L&&d&&(u=!0,T()),!d){const R=ge(H.sourceEvent,f),O=R.x-l.x,V=R.y-l.y;Math.sqrt(O*O+V*V)>k&&B(H)}(s.x!==P.xSnapped||s.y!==P.ySnapped)&&c&&d&&(l=ge(H.sourceEvent,f),D(P))}}).on("end",H=>{if(!(!d||p)&&(u=!1,d=!1,cancelAnimationFrame(a),c.size>0)){const{nodeLookup:L,updateNodePositions:b,onNodeDragStop:M,onSelectionDragStop:S}=t();if(m&&(b(c,!1),m=!1),i||M||!E&&S){const[k,I]=mn({nodeId:E,dragItems:c,nodeLookup:L,dragging:!1});i?.(H.sourceEvent,c,k,I),M?.(H.sourceEvent,k,I),E||S?.(H.sourceEvent,I)}}}).filter(H=>{const L=H.target;return!H.button&&(!_||!Fo(L,`.${_}`,x))&&(!g||Fo(L,g,x))});h.call(A)}r(v,"update");function y(){h?.on(".drag",null)}return r(y,"destroy"),{update:v,destroy:y}}r(Ed,"XYDrag");function Sd(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())gt(i,Ge(s))>0&&o.push(s);return o}r(Sd,"getNodesWithinDistance");const Nd=250;function Cd(e,t,n,o){let i=[],s=1/0;const a=Sd(e,n,t+Nd);for(const c of a){const u=[...c.internals.handleBounds?.source??[],...c.internals.handleBounds?.target??[]];for(const l of u){if(o.nodeId===l.nodeId&&o.type===l.type&&o.id===l.id)continue;const{x:f,y:d}=Le(c,l,l.position,!0),h=Math.sqrt(Math.pow(f-e.x,2)+Math.pow(d-e.y,2));h>t||(h<s?(i=[{...l,x:f,y:d}],s=h):h===s&&i.push({...l,x:f,y:d}))}}if(!i.length)return null;if(i.length>1){const c=o.type==="source"?"target":"source";return i.find(u=>u.type===c)??i[0]}return i[0]}r(Cd,"getClosestHandle");function xi(e,t,n,o,i,s=!1){const a=o.get(e);if(!a)return null;const c=i==="strict"?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],u=(n?c?.find(l=>l.id===n):c?.[0])??null;return u&&s?{...u,...Le(a,u,u.position,!0)}:u}r(xi,"getHandle");function wi(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}r(wi,"getHandleType");function Md(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}r(Md,"isConnectionValid");const vi=r(()=>!0,"alwaysValid");function Id(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:i,edgeUpdaterType:s,isTarget:a,domNode:c,nodeLookup:u,lib:l,autoPanOnConnect:f,flowId:d,panBy:h,cancelConnection:p,onConnectStart:m,onConnect:w,onConnectEnd:v,isValidConnection:y=vi,onReconnectEnd:_,updateConnection:g,getTransform:x,getFromHandle:N,autoPanSpeed:E,dragThreshold:C=1,handleDomNode:D}){const T=ai(e.target);let B=0,A;const{x:H,y:L}=ge(e),b=wi(s,D),M=c?.getBoundingClientRect();let S=!1;if(!M||!b)return;const k=xi(i,b,o,u,t);if(!k)return;let I=ge(e,M),P=!1,R=null,O=!1,V=null;function X(){if(!f||!M)return;const[Q,G]=oi(I,M,E);h({x:Q,y:G}),B=requestAnimationFrame(X)}r(X,"autoPan");const j={...k,nodeId:i,type:b,position:k.position},q=u.get(i);let W={inProgress:!0,isValid:null,from:Le(q,j,Z.Left,!0),fromHandle:j,fromPosition:j.position,fromNode:q,to:I,toHandle:null,toPosition:Ao[j.position],toNode:null,pointer:I};function F(){S=!0,g(W),m?.(e,{nodeId:i,handleId:o,handleType:b})}r(F,"startConnection"),C===0&&F();function Y(Q){if(!S){const{x:ae,y:Ne}=ge(Q),ve=ae-H,Ae=Ne-L;if(!(ve*ve+Ae*Ae>C*C))return;F()}if(!N()||!j){J(Q);return}const G=x();I=ge(Q,M),A=Cd(_t(I,G,!1,[1,1]),n,u,j),P||(X(),P=!0);const U=bi(Q,{handle:A,connectionMode:t,fromNodeId:i,fromHandleId:o,fromType:a?"target":"source",isValidConnection:y,doc:T,lib:l,flowId:d,nodeLookup:u});V=U.handleDomNode,R=U.connection,O=Md(!!A,U.isValid);const te=u.get(i),oe=te?Le(te,j,Z.Left,!0):W.from,ne={...W,from:oe,isValid:O,to:U.toHandle&&O?Wt({x:U.toHandle.x,y:U.toHandle.y},G):I,toHandle:U.toHandle,toPosition:O&&U.toHandle?U.toHandle.position:Ao[j.position],toNode:U.toHandle?u.get(U.toHandle.nodeId):null,pointer:I};g(ne),W=ne}r(Y,"onPointerMove");function J(Q){if(!("touches"in Q&&Q.touches.length>0)){if(S){(A||V)&&R&&O&&w?.(R);const{inProgress:G,...U}=W,te={...U,toPosition:W.toHandle?W.toPosition:null};v?.(Q,te),s&&_?.(Q,te)}p(),cancelAnimationFrame(B),P=!1,O=!1,R=null,V=null,T.removeEventListener("mousemove",Y),T.removeEventListener("mouseup",J),T.removeEventListener("touchmove",Y),T.removeEventListener("touchend",J)}}r(J,"onPointerUp"),T.addEventListener("mousemove",Y),T.addEventListener("mouseup",J),T.addEventListener("touchmove",Y),T.addEventListener("touchend",J)}r(Id,"onPointerDown");function bi(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:s,doc:a,lib:c,flowId:u,isValidConnection:l=vi,nodeLookup:f}){const d=s==="target",h=t?a.querySelector(`.${c}-flow__handle[data-id="${u}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=ge(e),w=a.elementFromPoint(p,m),v=w?.classList.contains(`${c}-flow__handle`)?w:h,y={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const _=wi(void 0,v),g=v.getAttribute("data-nodeid"),x=v.getAttribute("data-handleid"),N=v.classList.contains("connectable"),E=v.classList.contains("connectableend");if(!g||!_)return y;const C={source:d?g:o,sourceHandle:d?x:i,target:d?o:g,targetHandle:d?i:x};y.connection=C;const T=N&&E&&(n===We.Strict?d&&_==="source"||!d&&_==="target":g!==o||x!==i);y.isValid=T&&l(C),y.toHandle=xi(g,_,x,f,n,!0)}return y}r(bi,"isValidHandle");const Rn={onPointerDown:Id,isValid:bi};function kd({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const i=le(e);function s({translateExtent:c,width:u,height:l,zoomStep:f=1,pannable:d=!0,zoomable:h=!0,inversePan:p=!1}){const m=r(g=>{if(g.sourceEvent.type!=="wheel"||!t)return;const x=n(),N=g.sourceEvent.ctrlKey&&pt()?10:1,E=-g.sourceEvent.deltaY*(g.sourceEvent.deltaMode===1?.05:g.sourceEvent.deltaMode?1:.002)*f,C=x[2]*Math.pow(2,E*N);t.scaleTo(C)},"zoomHandler");let w=[0,0];const v=r(g=>{(g.sourceEvent.type==="mousedown"||g.sourceEvent.type==="touchstart")&&(w=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY])},"panStartHandler"),y=r(g=>{const x=n();if(g.sourceEvent.type!=="mousemove"&&g.sourceEvent.type!=="touchmove"||!t)return;const N=[g.sourceEvent.clientX??g.sourceEvent.touches[0].clientX,g.sourceEvent.clientY??g.sourceEvent.touches[0].clientY],E=[N[0]-w[0],N[1]-w[1]];w=N;const C=o()*Math.max(x[2],Math.log(x[2]))*(p?-1:1),D={x:x[0]-E[0]*C,y:x[1]-E[1]*C},T=[[0,0],[u,l]];t.setViewportConstrained({x:D.x,y:D.y,zoom:x[2]},T,c)},"panHandler"),_=Gr().on("start",v).on("zoom",d?y:null).on("zoom.wheel",h?m:null);i.call(_,{})}r(s,"update");function a(){i.on("zoom",null)}return r(a,"destroy"),{update:s,destroy:a,pointer:de}}r(kd,"XYMinimap");const on=r(e=>({x:e.x,y:e.y,zoom:e.k}),"transformToViewport"),yn=r(({x:e,y:t,zoom:n})=>en.translate(e,t).scale(n),"viewportToTransform"),Be=r((e,t)=>e.target.closest(`.${t}`),"isWrappedWithClass"),_i=r((e,t)=>t===2&&Array.isArray(e)&&e.includes(2),"isRightClickPan"),Ad=r(e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,"defaultEase"),xn=r((e,t=0,n=Ad,o=()=>{})=>{const i=typeof t=="number"&&t>0;return i||o(),i?e.transition().duration(t).ease(n).on("end",o):e},"getD3Transition"),Ei=r(e=>{const t=e.ctrlKey&&pt()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},"wheelDelta");function $d({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:i,panOnScrollSpeed:s,zoomOnPinch:a,onPanZoomStart:c,onPanZoom:u,onPanZoomEnd:l}){return f=>{if(Be(f,t))return f.ctrlKey&&f.preventDefault(),!1;f.preventDefault(),f.stopImmediatePropagation();const d=n.property("__zoom").k||1;if(f.ctrlKey&&a){const v=de(f),y=Ei(f),_=d*Math.pow(2,y);o.scaleTo(n,_,v,f);return}const h=f.deltaMode===1?20:1;let p=i===Te.Vertical?0:f.deltaX*h,m=i===Te.Horizontal?0:f.deltaY*h;!pt()&&f.shiftKey&&i!==Te.Vertical&&(p=f.deltaY*h,m=0),o.translateBy(n,-(p/d)*s,-(m/d)*s,{internal:!0});const w=on(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(u?.(f,w),e.panScrollTimeout=setTimeout(()=>{l?.(f,w),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,c?.(f,w))}}r($d,"createPanOnScrollHandler");function Pd({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,i){const s=o.type==="wheel",a=!t&&s&&!o.ctrlKey,c=Be(o,e);if(o.ctrlKey&&s&&c&&o.preventDefault(),a||c)return null;o.preventDefault(),n.call(this,o,i)}}r(Pd,"createZoomOnScrollHandler");function Dd({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const i=on(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,i)}}r(Dd,"createPanZoomStartHandler");function Td({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:i}){return s=>{e.usedRightMouseButton=!!(n&&_i(t,e.mouseButton??0)),s.sourceEvent?.sync||o([s.transform.x,s.transform.y,s.transform.k]),i&&!s.sourceEvent?.internal&&i?.(s.sourceEvent,on(s.transform))}}r(Td,"createPanZoomHandler");function zd({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:i,onPaneContextMenu:s}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,s&&_i(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&s(a.sourceEvent),e.usedRightMouseButton=!1,o(!1),i)){const c=on(a.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(a.sourceEvent,c)},n?150:0)}}}r(zd,"createPanZoomEndHandler");function Hd({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:i,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:c,noPanClassName:u,lib:l,connectionInProgress:f}){return d=>{const h=e||t,p=n&&d.ctrlKey,m=d.type==="wheel";if(d.button===1&&d.type==="mousedown"&&(Be(d,`${l}-flow__node`)||Be(d,`${l}-flow__edge`)))return!0;if(!o&&!h&&!i&&!s&&!n||a||f&&!m||Be(d,c)&&m||Be(d,u)&&(!m||i&&m&&!e)||!n&&d.ctrlKey&&m)return!1;if(!n&&d.type==="touchstart"&&d.touches?.length>1)return d.preventDefault(),!1;if(!h&&!i&&!p&&m||!o&&(d.type==="mousedown"||d.type==="touchstart")||Array.isArray(o)&&!o.includes(d.button)&&d.type==="mousedown")return!1;const w=Array.isArray(o)&&o.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||m)&&w}}r(Hd,"createFilter");function Rd({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:i,onPanZoom:s,onPanZoomStart:a,onPanZoomEnd:c,onDraggingChange:u}){const l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},f=e.getBoundingClientRect(),d=Gr().scaleExtent([t,n]).translateExtent(o),h=le(e).call(d);_({x:i.x,y:i.y,zoom:qe(i.zoom,t,n)},[[0,0],[f.width,f.height]],o);const p=h.on("wheel.zoom"),m=h.on("dblclick.zoom");d.wheelDelta(Ei);function w(A,H){return h?new Promise(L=>{d?.interpolate(H?.interpolate==="linear"?st:Tt).transform(xn(h,H?.duration,H?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}r(w,"setTransform");function v({noWheelClassName:A,noPanClassName:H,onPaneContextMenu:L,userSelectionActive:b,panOnScroll:M,panOnDrag:S,panOnScrollMode:k,panOnScrollSpeed:I,preventScrolling:P,zoomOnPinch:R,zoomOnScroll:O,zoomOnDoubleClick:V,zoomActivationKeyPressed:X,lib:j,onTransformChange:q,connectionInProgress:K,paneClickDistance:W,selectionOnDrag:F}){b&&!l.isZoomingOrPanning&&y();const Y=M&&!X&&!b;d.clickDistance(F?1/0:!he(W)||W<0?0:W);const J=Y?$d({zoomPanValues:l,noWheelClassName:A,d3Selection:h,d3Zoom:d,panOnScrollMode:k,panOnScrollSpeed:I,zoomOnPinch:R,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:c}):Pd({noWheelClassName:A,preventScrolling:P,d3ZoomHandler:p});if(h.on("wheel.zoom",J,{passive:!1}),!b){const G=Dd({zoomPanValues:l,onDraggingChange:u,onPanZoomStart:a});d.on("start",G);const U=Td({zoomPanValues:l,panOnDrag:S,onPaneContextMenu:!!L,onPanZoom:s,onTransformChange:q});d.on("zoom",U);const te=zd({zoomPanValues:l,panOnDrag:S,panOnScroll:M,onPaneContextMenu:L,onPanZoomEnd:c,onDraggingChange:u});d.on("end",te)}const Q=Hd({zoomActivationKeyPressed:X,panOnDrag:S,zoomOnScroll:O,panOnScroll:M,zoomOnDoubleClick:V,zoomOnPinch:R,userSelectionActive:b,noPanClassName:H,noWheelClassName:A,lib:j,connectionInProgress:K});d.filter(Q),V?h.on("dblclick.zoom",m):h.on("dblclick.zoom",null)}r(v,"update");function y(){d.on("zoom",null)}r(y,"destroy");async function _(A,H,L){const b=yn(A),M=d?.constrain()(b,H,L);return M&&await w(M),new Promise(S=>S(M))}r(_,"setViewportConstrained");async function g(A,H){const L=yn(A);return await w(L,H),new Promise(b=>b(L))}r(g,"setViewport");function x(A){if(h){const H=yn(A),L=h.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&d?.transform(h,H,null,{sync:!0})}}r(x,"syncViewport");function N(){const A=h?qr(h.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}r(N,"getViewport");function E(A,H){return h?new Promise(L=>{d?.interpolate(H?.interpolate==="linear"?st:Tt).scaleTo(xn(h,H?.duration,H?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}r(E,"scaleTo");function C(A,H){return h?new Promise(L=>{d?.interpolate(H?.interpolate==="linear"?st:Tt).scaleBy(xn(h,H?.duration,H?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}r(C,"scaleBy");function D(A){d?.scaleExtent(A)}r(D,"setScaleExtent");function T(A){d?.translateExtent(A)}r(T,"setTranslateExtent");function B(A){const H=!he(A)||A<0?0:A;d?.clickDistance(H)}return r(B,"setClickDistance"),{update:v,destroy:y,setViewport:g,setViewportConstrained:_,getViewport:N,scaleTo:E,scaleBy:C,setScaleExtent:D,setTranslateExtent:T,syncViewport:x,setClickDistance:B}}r(Rd,"XYPanZoom");var Ke;(function(e){e.Line="line",e.Handle="handle"})(Ke||(Ke={}));function Ld({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:i,affectsY:s}){const a=e-t,c=n-o,u=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&i&&(u[0]=u[0]*-1),c&&s&&(u[1]=u[1]*-1),u}r(Ld,"getResizeDirection");function jo(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:i}}r(jo,"getControlDirection");function Ce(e,t){return Math.max(0,t-e)}r(Ce,"getLowerExtentClamp");function Me(e,t){return Math.max(0,e-t)}r(Me,"getUpperExtentClamp");function At(e,t,n){return Math.max(0,t-e,e-n)}r(At,"getSizeClamp");function Xo(e,t){return e?!t:t}r(Xo,"xor");function Vd(e,t,n,o,i,s,a,c){let{affectsX:u,affectsY:l}=t;const{isHorizontal:f,isVertical:d}=t,h=f&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:w,maxWidth:v,minHeight:y,maxHeight:_}=o,{x:g,y:x,width:N,height:E,aspectRatio:C}=e;let D=Math.floor(f?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0);const B=N+(u?-D:D),A=E+(l?-T:T),H=-s[0]*N,L=-s[1]*E;let b=At(B,w,v),M=At(A,y,_);if(a){let I=0,P=0;u&&D<0?I=Ce(g+D+H,a[0][0]):!u&&D>0&&(I=Me(g+B+H,a[1][0])),l&&T<0?P=Ce(x+T+L,a[0][1]):!l&&T>0&&(P=Me(x+A+L,a[1][1])),b=Math.max(b,I),M=Math.max(M,P)}if(c){let I=0,P=0;u&&D>0?I=Me(g+D,c[0][0]):!u&&D<0&&(I=Ce(g+B,c[1][0])),l&&T>0?P=Me(x+T,c[0][1]):!l&&T<0&&(P=Ce(x+A,c[1][1])),b=Math.max(b,I),M=Math.max(M,P)}if(i){if(f){const I=At(B/C,y,_)*C;if(b=Math.max(b,I),a){let P=0;!u&&!l||u&&!l&&h?P=Me(x+L+B/C,a[1][1])*C:P=Ce(x+L+(u?D:-D)/C,a[0][1])*C,b=Math.max(b,P)}if(c){let P=0;!u&&!l||u&&!l&&h?P=Ce(x+B/C,c[1][1])*C:P=Me(x+(u?D:-D)/C,c[0][1])*C,b=Math.max(b,P)}}if(d){const I=At(A*C,w,v)/C;if(M=Math.max(M,I),a){let P=0;!u&&!l||l&&!u&&h?P=Me(g+A*C+H,a[1][0])/C:P=Ce(g+(l?T:-T)*C+H,a[0][0])/C,M=Math.max(M,P)}if(c){let P=0;!u&&!l||l&&!u&&h?P=Ce(g+A*C,c[1][0])/C:P=Me(g+(l?T:-T)*C,c[0][0])/C,M=Math.max(M,P)}}}T=T+(T<0?M:-M),D=D+(D<0?b:-b),i&&(h?B>A*C?T=(Xo(u,l)?-D:D)/C:D=(Xo(u,l)?-T:T)*C:f?(T=D/C,l=u):(D=T*C,u=l));const S=u?g+D:g,k=l?x+T:x;return{width:N+(u?-D:D),height:E+(l?-T:T),x:s[0]*D*(u?-1:1)+S,y:s[1]*T*(l?-1:1)+k}}r(Vd,"getDimensionsAfterResize");const Si={width:0,height:0,x:0,y:0},Od={...Si,pointerX:0,pointerY:0,aspectRatio:1};function Bd(e){return[[0,0],[e.measured.width,e.measured.height]]}r(Bd,"nodeToParentExtent");function Fd(e,t,n){const o=t.position.x+e.position.x,i=t.position.y+e.position.y,s=e.measured.width??0,a=e.measured.height??0,c=n[0]*s,u=n[1]*a;return[[o-c,i-u],[o+s-c,i+a-u]]}r(Fd,"nodeToChildExtent");function jd({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:i}){const s=le(e);let a={controlDirection:jo("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function c({controlPosition:l,boundaries:f,keepAspectRatio:d,resizeDirection:h,onResizeStart:p,onResize:m,onResizeEnd:w,shouldResize:v}){let y={...Si},_={...Od};a={boundaries:f,resizeDirection:h,keepAspectRatio:d,controlDirection:jo(l)};let g,x=null,N=[],E,C,D,T=!1;const B=Tr().on("start",A=>{const{nodeLookup:H,transform:L,snapGrid:b,snapToGrid:M,nodeOrigin:S,paneDomNode:k}=n();if(g=H.get(t),!g)return;x=k?.getBoundingClientRect()??null;const{xSnapped:I,ySnapped:P}=at(A.sourceEvent,{transform:L,snapGrid:b,snapToGrid:M,containerBounds:x});y={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},_={...y,pointerX:I,pointerY:P,aspectRatio:y.width/y.height},E=void 0,g.parentId&&(g.extent==="parent"||g.expandParent)&&(E=H.get(g.parentId),C=E&&g.extent==="parent"?Bd(E):void 0),N=[],D=void 0;for(const[R,O]of H)if(O.parentId===t&&(N.push({id:R,position:{...O.position},extent:O.extent}),O.extent==="parent"||O.expandParent)){const V=Fd(O,g,O.origin??S);D?D=[[Math.min(V[0][0],D[0][0]),Math.min(V[0][1],D[0][1])],[Math.max(V[1][0],D[1][0]),Math.max(V[1][1],D[1][1])]]:D=V}p?.(A,{...y})}).on("drag",A=>{const{transform:H,snapGrid:L,snapToGrid:b,nodeOrigin:M}=n(),S=at(A.sourceEvent,{transform:H,snapGrid:L,snapToGrid:b,containerBounds:x}),k=[];if(!g)return;const{x:I,y:P,width:R,height:O}=y,V={},X=g.origin??M,{width:j,height:q,x:K,y:W}=Vd(_,a.controlDirection,S,a.boundaries,a.keepAspectRatio,X,C,D),F=j!==R,Y=q!==O,J=K!==I&&F,Q=W!==P&&Y;if(!J&&!Q&&!F&&!Y)return;if((J||Q||X[0]===1||X[1]===1)&&(V.x=J?K:y.x,V.y=Q?W:y.y,y.x=V.x,y.y=V.y,N.length>0)){const oe=K-I,ne=W-P;for(const ae of N)ae.position={x:ae.position.x-oe+X[0]*(j-R),y:ae.position.y-ne+X[1]*(q-O)},k.push(ae)}if((F||Y)&&(V.width=F&&(!a.resizeDirection||a.resizeDirection==="horizontal")?j:y.width,V.height=Y&&(!a.resizeDirection||a.resizeDirection==="vertical")?q:y.height,y.width=V.width,y.height=V.height),E&&g.expandParent){const oe=X[0]*(V.width??0);V.x&&V.x<oe&&(y.x=oe,_.x=_.x-(V.x-oe));const ne=X[1]*(V.height??0);V.y&&V.y<ne&&(y.y=ne,_.y=_.y-(V.y-ne))}const G=Ld({width:y.width,prevWidth:R,height:y.height,prevHeight:O,affectsX:a.controlDirection.affectsX,affectsY:a.controlDirection.affectsY}),U={...y,direction:G};v?.(A,U)!==!1&&(T=!0,m?.(A,U),o(V,k))}).on("end",A=>{T&&(w?.(A,{...y}),i?.({...y}),T=!1)});s.call(B)}r(c,"update");function u(){s.on(".drag",null)}return r(u,"destroy"),{update:c,destroy:u}}r(jd,"XYResizer");var wn={exports:{}},vn={},bn={exports:{}},_n={};var Yo;function Xd(){if(Yo)return _n;Yo=1;var e=wr();function t(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}r(t,"is");var n=typeof Object.is=="function"?Object.is:t,o=e.useState,i=e.useEffect,s=e.useLayoutEffect,a=e.useDebugValue;function c(d,h){var p=h(),m=o({inst:{value:p,getSnapshot:h}}),w=m[0].inst,v=m[1];return s(function(){w.value=p,w.getSnapshot=h,u(w)&&v({inst:w})},[d,p,h]),i(function(){return u(w)&&v({inst:w}),d(function(){u(w)&&v({inst:w})})},[d]),a(p),p}r(c,"useSyncExternalStore$2");function u(d){var h=d.getSnapshot;d=d.value;try{var p=h();return!n(d,p)}catch{return!0}}r(u,"checkIfSnapshotChanged");function l(d,h){return h()}r(l,"useSyncExternalStore$1");var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:c;return _n.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,_n}r(Xd,"requireUseSyncExternalStoreShim_production");var Zo;function Yd(){return Zo||(Zo=1,bn.exports=Xd()),bn.exports}r(Yd,"requireShim");var Wo;function Zd(){if(Wo)return vn;Wo=1;var e=wr(),t=Yd();function n(l,f){return l===f&&(l!==0||1/l===1/f)||l!==l&&f!==f}r(n,"is");var o=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,s=e.useRef,a=e.useEffect,c=e.useMemo,u=e.useDebugValue;return vn.useSyncExternalStoreWithSelector=function(l,f,d,h,p){var m=s(null);if(m.current===null){var w={hasValue:!1,value:null};m.current=w}else w=m.current;m=c(function(){function y(E){if(!_){if(_=!0,g=E,E=h(E),p!==void 0&&w.hasValue){var C=w.value;if(p(C,E))return x=C}return x=E}if(C=x,o(g,E))return C;var D=h(E);return p!==void 0&&p(C,D)?(g=E,C):(g=E,x=D)}r(y,"memoizedSelector");var _=!1,g,x,N=d===void 0?null:d;return[function(){return y(f())},N===null?void 0:function(){return y(N())}]},[f,d,h,p]);var v=i(l,m[0],m[1]);return a(function(){w.hasValue=!0,w.value=v},[v]),u(v),v},vn}r(Zd,"requireWithSelector_production");var qo;function Wd(){return qo||(qo=1,wn.exports=Zd()),wn.exports}r(Wd,"requireWithSelector");var qd=Wd();const Gd=ua(qd),Ud={},Go=r(e=>{let t;const n=new Set,o=r((f,d)=>{const h=typeof f=="function"?f(t):f;if(!Object.is(h,t)){const p=t;t=d??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(m=>m(t,p))}},"setState"),i=r(()=>t,"getState"),u={setState:o,getState:i,getInitialState:r(()=>l,"getInitialState"),subscribe:r(f=>(n.add(f),()=>n.delete(f)),"subscribe"),destroy:r(()=>{(Ud?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()},"destroy")},l=t=e(o,i,u);return u},"createStoreImpl"),Kd=r(e=>e?Go(e):Go,"createStore$1"),{useDebugValue:Qd}=da,{useSyncExternalStoreWithSelector:Jd}=Gd,ef=r(e=>e,"identity");function Ni(e,t=ef,n){const o=Jd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Qd(o),o}r(Ni,"useStoreWithEqualityFn");const Uo=r((e,t)=>{const n=Kd(e),o=r((i,s=t)=>Ni(n,i,s),"useBoundStoreWithEqualityFn");return Object.assign(o,n),o},"createWithEqualityFnImpl"),tf=r((e,t)=>e?Uo(e,t):Uo,"createWithEqualityFn");function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,i]of e)if(!Object.is(i,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}r(re,"shallow$1");const rn=z.createContext(null),nf=rn.Provider,Ci=xe.error001();function ee(e,t){const n=z.useContext(rn);if(n===null)throw new Error(Ci);return Ni(n,e,t)}r(ee,"useStore");function ie(){const e=z.useContext(rn);if(e===null)throw new Error(Ci);return z.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}r(ie,"useStoreApi");const Ko={display:"none"},of={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Mi="react-flow__node-desc",Ii="react-flow__edge-desc",rf="react-flow__aria-live",sf=r(e=>e.ariaLiveMessage,"ariaLiveSelector"),af=r(e=>e.ariaLabelConfig,"ariaLabelConfigSelector");function cf({rfId:e}){const t=ee(sf);return $.jsx("div",{id:`${rf}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:of,children:t})}r(cf,"AriaLiveMessage");function lf({rfId:e,disableKeyboardA11y:t}){const n=ee(af);return $.jsxs($.Fragment,{children:[$.jsx("div",{id:`${Mi}-${e}`,style:Ko,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),$.jsx("div",{id:`${Ii}-${e}`,style:Ko,children:n["edge.a11yDescription.default"]}),!t&&$.jsx(cf,{rfId:e})]})}r(lf,"A11yDescriptions");const sn=z.forwardRef(({position:e="top-left",children:t,className:n,style:o,...i},s)=>{const a=`${e}`.split("-");return $.jsx("div",{className:se(["react-flow__panel",n,...a]),style:o,ref:s,...i,children:t})});sn.displayName="Panel";function uf({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:$.jsx(sn,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:$.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}r(uf,"Attribution");const df=r(e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},"selector$m"),$t=r(e=>e.id,"selectId");function ff(e,t){return re(e.selectedNodes.map($t),t.selectedNodes.map($t))&&re(e.selectedEdges.map($t),t.selectedEdges.map($t))}r(ff,"areEqual");function hf({onSelectionChange:e}){const t=ie(),{selectedNodes:n,selectedEdges:o}=ee(df,ff);return z.useEffect(()=>{const i={nodes:n,edges:o};e?.(i),t.getState().onSelectionChangeHandlers.forEach(s=>s(i))},[n,o,e]),null}r(hf,"SelectionListenerInner");const gf=r(e=>!!e.onSelectionChangeHandlers,"changeSelector");function pf({onSelectionChange:e}){const t=ee(gf);return e||t?$.jsx(hf,{onSelectionChange:e}):null}r(pf,"SelectionListener");const ki=[0,0],mf={x:0,y:0,zoom:1},yf=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Qo=[...yf,"rfId"],xf=r(e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),"selector$l"),Jo={translateExtent:ft,nodeOrigin:ki,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function wf(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:i,setTranslateExtent:s,setNodeExtent:a,reset:c,setDefaultNodesAndEdges:u}=ee(xf,re),l=ie();z.useEffect(()=>(u(e.defaultNodes,e.defaultEdges),()=>{f.current=Jo,c()}),[]);const f=z.useRef(Jo);return z.useEffect(()=>{for(const d of Qo){const h=e[d],p=f.current[d];h!==p&&(typeof e[d]>"u"||(d==="nodes"?t(h):d==="edges"?n(h):d==="minZoom"?o(h):d==="maxZoom"?i(h):d==="translateExtent"?s(h):d==="nodeExtent"?a(h):d==="ariaLabelConfig"?l.setState({ariaLabelConfig:td(h)}):d==="fitView"?l.setState({fitViewQueued:h}):d==="fitViewOptions"?l.setState({fitViewOptions:h}):l.setState({[d]:h})))}f.current=e},Qo.map(d=>e[d])),null}r(wf,"StoreUpdater");function er(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}r(er,"getMediaQuery");function vf(e){const[t,n]=z.useState(e==="system"?null:e);return z.useEffect(()=>{if(e!=="system"){n(e);return}const o=er(),i=r(()=>n(o?.matches?"dark":"light"),"updateColorModeClass");return i(),o?.addEventListener("change",i),()=>{o?.removeEventListener("change",i)}},[e]),t!==null?t:er()?.matches?"dark":"light"}r(vf,"useColorModeClass");const tr=typeof document<"u"?document:null;function mt(e=null,t={target:tr,actInsideInputWithModifier:!0}){const[n,o]=z.useState(!1),i=z.useRef(!1),s=z.useRef(new Set([])),[a,c]=z.useMemo(()=>{if(e!==null){const l=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.replace("+",`
2
+ `).replace(`
3
+
4
+ `,`
5
+ +`).split(`
6
+ `)),f=l.reduce((d,h)=>d.concat(...h),[]);return[l,f]}return[[],[]]},[e]);return z.useEffect(()=>{const u=t?.target??tr,l=t?.actInsideInputWithModifier??!0;if(e!==null){const f=r(p=>{if(i.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!i.current||i.current&&!l)&&ci(p))return!1;const w=or(p.code,c);if(s.current.add(p[w]),nr(a,s.current,!1)){const v=p.composedPath?.()?.[0]||p.target,y=v?.nodeName==="BUTTON"||v?.nodeName==="A";t.preventDefault!==!1&&(i.current||!y)&&p.preventDefault(),o(!0)}},"downHandler"),d=r(p=>{const m=or(p.code,c);nr(a,s.current,!0)?(o(!1),s.current.clear()):s.current.delete(p[m]),p.key==="Meta"&&s.current.clear(),i.current=!1},"upHandler"),h=r(()=>{s.current.clear(),o(!1)},"resetHandler");return u?.addEventListener("keydown",f),u?.addEventListener("keyup",d),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{u?.removeEventListener("keydown",f),u?.removeEventListener("keyup",d),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),n}r(mt,"useKeyPress");function nr(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(i=>t.has(i)))}r(nr,"isMatchingKey");function or(e,t){return t.includes(e)?"code":"key"}r(or,"useKeyOrCode");const bf=r(()=>{const e=ie();return z.useMemo(()=>({zoomIn:r(t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},"zoomIn"),zoomOut:r(t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},"zoomOut"),zoomTo:r((t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},"zoomTo"),getZoom:r(()=>e.getState().transform[2],"getZoom"),setViewport:r(async(t,n)=>{const{transform:[o,i,s],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??o,y:t.y??i,zoom:t.zoom??s},n),Promise.resolve(!0)):Promise.resolve(!1)},"setViewport"),getViewport:r(()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},"getViewport"),setCenter:r(async(t,n,o)=>e.getState().setCenter(t,n,o),"setCenter"),fitBounds:r(async(t,n)=>{const{width:o,height:i,minZoom:s,maxZoom:a,panZoom:c}=e.getState(),u=qn(t,o,i,s,a,n?.padding??.1);return c?(await c.setViewport(u,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},"fitBounds"),screenToFlowPosition:r((t,n={})=>{const{transform:o,snapGrid:i,snapToGrid:s,domNode:a}=e.getState();if(!a)return t;const{x:c,y:u}=a.getBoundingClientRect(),l={x:t.x-c,y:t.y-u},f=n.snapGrid??i,d=n.snapToGrid??s;return _t(l,o,d,f)},"screenToFlowPosition"),flowToScreenPosition:r(t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:i,y:s}=o.getBoundingClientRect(),a=Wt(t,n);return{x:a.x+i,y:a.y+s}},"flowToScreenPosition")}),[])},"useViewportHelper");function Ai(e,t){const n=[],o=new Map,i=[];for(const s of e)if(s.type==="add"){i.push(s);continue}else if(s.type==="remove"||s.type==="replace")o.set(s.id,[s]);else{const a=o.get(s.id);a?a.push(s):o.set(s.id,[s])}for(const s of t){const a=o.get(s.id);if(!a){n.push(s);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const c={...s};for(const u of a)_f(u,c);n.push(c)}return i.length&&i.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}r(Ai,"applyChanges");function _f(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}r(_f,"applyChange");function $i(e,t){return Ai(e,t)}r($i,"applyNodeChanges");function Pi(e,t){return Ai(e,t)}r(Pi,"applyEdgeChanges");function $e(e,t){return{id:e,type:"select",selected:t}}r($e,"createSelectionChange");function Fe(e,t=new Set,n=!1){const o=[];for(const[i,s]of e){const a=t.has(i);!(s.selected===void 0&&!a)&&s.selected!==a&&(n&&(s.selected=a),o.push($e(s.id,a)))}return o}r(Fe,"getSelectionChanges");function rr({items:e=[],lookup:t}){const n=[],o=new Map(e.map(i=>[i.id,i]));for(const[i,s]of e.entries()){const a=t.get(s.id),c=a?.internals?.userNode??a;c!==void 0&&c!==s&&n.push({id:s.id,item:s,type:"replace"}),c===void 0&&n.push({item:s,type:"add",index:i})}for(const[i]of t)o.get(i)===void 0&&n.push({id:i,type:"remove"});return n}r(rr,"getElementsDiffChanges");function ir(e){return{id:e.id,type:"remove"}}r(ir,"elementToRemoveChange");const sr=r(e=>Yu(e),"isNode"),Ef=r(e=>ei(e),"isEdge");function Di(e){return z.forwardRef(e)}r(Di,"fixedForwardRef");const Sf=typeof window<"u"?z.useLayoutEffect:z.useEffect;function ar(e){const[t,n]=z.useState(BigInt(0)),[o]=z.useState(()=>Nf(()=>n(i=>i+BigInt(1))));return Sf(()=>{const i=o.get();i.length&&(e(i),o.reset())},[t]),o}r(ar,"useQueue");function Nf(e){let t=[];return{get:r(()=>t,"get"),reset:r(()=>{t=[]},"reset"),push:r(n=>{t.push(n),e()},"push")}}r(Nf,"createQueue");const Ti=z.createContext(null);function Cf({children:e}){const t=ie(),n=z.useCallback(c=>{const{nodes:u=[],setNodes:l,hasDefaultNodes:f,onNodesChange:d,nodeLookup:h,fitViewQueued:p,onNodesChangeMiddlewareMap:m}=t.getState();let w=u;for(const y of c)w=typeof y=="function"?y(w):y;let v=rr({items:w,lookup:h});for(const y of m.values())v=y(v);f&&l(w),v.length>0?d?.(v):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:_,setNodes:g}=t.getState();y&&g(_)})},[]),o=ar(n),i=z.useCallback(c=>{const{edges:u=[],setEdges:l,hasDefaultEdges:f,onEdgesChange:d,edgeLookup:h}=t.getState();let p=u;for(const m of c)p=typeof m=="function"?m(p):m;f?l(p):d&&d(rr({items:p,lookup:h}))},[]),s=ar(i),a=z.useMemo(()=>({nodeQueue:o,edgeQueue:s}),[]);return $.jsx(Ti.Provider,{value:a,children:e})}r(Cf,"BatchProvider");function Mf(){const e=z.useContext(Ti);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}r(Mf,"useBatchContext");const If=r(e=>!!e.panZoom,"selector$k");function to(){const e=bf(),t=ie(),n=Mf(),o=ee(If),i=z.useMemo(()=>{const s=r(d=>t.getState().nodeLookup.get(d),"getInternalNode"),a=r(d=>{n.nodeQueue.push(d)},"setNodes"),c=r(d=>{n.edgeQueue.push(d)},"setEdges"),u=r(d=>{const{nodeLookup:h,nodeOrigin:p}=t.getState(),m=sr(d)?d:h.get(d.id),w=m.parentId?si(m.position,m.measured,m.parentId,h,p):m.position,v={...m,position:w,width:m.measured?.width??m.width,height:m.measured?.height??m.height};return Ge(v)},"getNodeRect"),l=r((d,h,p={replace:!1})=>{a(m=>m.map(w=>{if(w.id===d){const v=typeof h=="function"?h(w):h;return p.replace&&sr(v)?v:{...w,...v}}return w}))},"updateNode"),f=r((d,h,p={replace:!1})=>{c(m=>m.map(w=>{if(w.id===d){const v=typeof h=="function"?h(w):h;return p.replace&&Ef(v)?v:{...w,...v}}return w}))},"updateEdge");return{getNodes:r(()=>t.getState().nodes.map(d=>({...d})),"getNodes"),getNode:r(d=>s(d)?.internals.userNode,"getNode"),getInternalNode:s,getEdges:r(()=>{const{edges:d=[]}=t.getState();return d.map(h=>({...h}))},"getEdges"),getEdge:r(d=>t.getState().edgeLookup.get(d),"getEdge"),setNodes:a,setEdges:c,addNodes:r(d=>{const h=Array.isArray(d)?d:[d];n.nodeQueue.push(p=>[...p,...h])},"addNodes"),addEdges:r(d=>{const h=Array.isArray(d)?d:[d];n.edgeQueue.push(p=>[...p,...h])},"addEdges"),toObject:r(()=>{const{nodes:d=[],edges:h=[],transform:p}=t.getState(),[m,w,v]=p;return{nodes:d.map(y=>({...y})),edges:h.map(y=>({...y})),viewport:{x:m,y:w,zoom:v}}},"toObject"),deleteElements:r(async({nodes:d=[],edges:h=[]})=>{const{nodes:p,edges:m,onNodesDelete:w,onEdgesDelete:v,triggerNodeChanges:y,triggerEdgeChanges:_,onDelete:g,onBeforeDelete:x}=t.getState(),{nodes:N,edges:E}=await Uu({nodesToRemove:d,edgesToRemove:h,nodes:p,edges:m,onBeforeDelete:x}),C=E.length>0,D=N.length>0;if(C){const T=E.map(ir);v?.(E),_(T)}if(D){const T=N.map(ir);w?.(N),y(T)}return(D||C)&&g?.({nodes:N,edges:E}),{deletedNodes:N,deletedEdges:E}},"deleteElements"),getIntersectingNodes:r((d,h=!0,p)=>{const m=Po(d),w=m?d:u(d),v=p!==void 0;return w?(p||t.getState().nodes).filter(y=>{const _=t.getState().nodeLookup.get(y.id);if(_&&!m&&(y.id===d.id||!_.internals.positionAbsolute))return!1;const g=Ge(v?y:_),x=gt(g,w);return h&&x>0||x>=g.width*g.height||x>=w.width*w.height}):[]},"getIntersectingNodes"),isNodeIntersecting:r((d,h,p=!0)=>{const w=Po(d)?d:u(d);if(!w)return!1;const v=gt(w,h);return p&&v>0||v>=h.width*h.height||v>=w.width*w.height},"isNodeIntersecting"),updateNode:l,updateNodeData:r((d,h,p={replace:!1})=>{l(d,m=>{const w=typeof h=="function"?h(m):h;return p.replace?{...m,data:w}:{...m,data:{...m.data,...w}}},p)},"updateNodeData"),updateEdge:f,updateEdgeData:r((d,h,p={replace:!1})=>{f(d,m=>{const w=typeof h=="function"?h(m):h;return p.replace?{...m,data:w}:{...m,data:{...m.data,...w}}},p)},"updateEdgeData"),getNodesBounds:r(d=>{const{nodeLookup:h,nodeOrigin:p}=t.getState();return Zu(d,{nodeLookup:h,nodeOrigin:p})},"getNodesBounds"),getHandleConnections:r(({type:d,id:h,nodeId:p})=>Array.from(t.getState().connectionLookup.get(`${p}-${d}${h?`-${h}`:""}`)?.values()??[]),"getHandleConnections"),getNodeConnections:r(({type:d,handleId:h,nodeId:p})=>Array.from(t.getState().connectionLookup.get(`${p}${d?h?`-${d}-${h}`:`-${d}`:""}`)?.values()??[]),"getNodeConnections"),fitView:r(async d=>{const h=t.getState().fitViewResolver??ed();return t.setState({fitViewQueued:!0,fitViewOptions:d,fitViewResolver:h}),n.nodeQueue.push(p=>[...p]),h.promise},"fitView")}},[]);return z.useMemo(()=>({...i,...e,viewportInitialized:o}),[o])}r(to,"useReactFlow");const cr=r(e=>e.selected,"selected"),kf=typeof window<"u"?window:void 0;function Af({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=ie(),{deleteElements:o}=to(),i=mt(e,{actInsideInputWithModifier:!1}),s=mt(t,{target:kf});z.useEffect(()=>{if(i){const{edges:a,nodes:c}=n.getState();o({nodes:c.filter(cr),edges:a.filter(cr)}),n.setState({nodesSelectionActive:!1})}},[i]),z.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}r(Af,"useGlobalKeyHandler");function $f(e){const t=ie();z.useEffect(()=>{const n=r(()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const o=Gn(e.current);(o.height===0||o.width===0)&&t.getState().onError?.("004",xe.error004()),t.setState({width:o.width||500,height:o.height||500})},"updateDimensions");if(e.current){n(),window.addEventListener("resize",n);const o=new ResizeObserver(()=>n());return o.observe(e.current),()=>{window.removeEventListener("resize",n),o&&e.current&&o.unobserve(e.current)}}},[])}r($f,"useResizeHandler");const an={position:"absolute",width:"100%",height:"100%",top:0,left:0},Pf=r(e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress}),"selector$j");function Df({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:i=.5,panOnScrollMode:s=Te.Free,zoomOnDoubleClick:a=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:l,minZoom:f,maxZoom:d,zoomActivationKeyCode:h,preventScrolling:p=!0,children:m,noWheelClassName:w,noPanClassName:v,onViewportChange:y,isControlledViewport:_,paneClickDistance:g,selectionOnDrag:x}){const N=ie(),E=z.useRef(null),{userSelectionActive:C,lib:D,connectionInProgress:T}=ee(Pf,re),B=mt(h),A=z.useRef();$f(E);const H=z.useCallback(L=>{y?.({x:L[0],y:L[1],zoom:L[2]}),_||N.setState({transform:L})},[y,_]);return z.useEffect(()=>{if(E.current){A.current=Rd({domNode:E.current,minZoom:f,maxZoom:d,translateExtent:l,viewport:u,onDraggingChange:r(S=>N.setState(k=>k.paneDragging===S?k:{paneDragging:S}),"onDraggingChange"),onPanZoomStart:r((S,k)=>{const{onViewportChangeStart:I,onMoveStart:P}=N.getState();P?.(S,k),I?.(k)},"onPanZoomStart"),onPanZoom:r((S,k)=>{const{onViewportChange:I,onMove:P}=N.getState();P?.(S,k),I?.(k)},"onPanZoom"),onPanZoomEnd:r((S,k)=>{const{onViewportChangeEnd:I,onMoveEnd:P}=N.getState();P?.(S,k),I?.(k)},"onPanZoomEnd")});const{x:L,y:b,zoom:M}=A.current.getViewport();return N.setState({panZoom:A.current,transform:[L,b,M],domNode:E.current.closest(".react-flow")}),()=>{A.current?.destroy()}}},[]),z.useEffect(()=>{A.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:i,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:c,zoomActivationKeyPressed:B,preventScrolling:p,noPanClassName:v,userSelectionActive:C,noWheelClassName:w,lib:D,onTransformChange:H,connectionInProgress:T,selectionOnDrag:x,paneClickDistance:g})},[e,t,n,o,i,s,a,c,B,p,v,C,w,D,H,T,x,g]),$.jsx("div",{className:"react-flow__renderer",ref:E,style:an,children:m})}r(Df,"ZoomPane");const Tf=r(e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect}),"selector$i");function zf(){const{userSelectionActive:e,userSelectionRect:t}=ee(Tf,re);return e&&t?$.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}r(zf,"UserSelection");const En=r((e,t)=>n=>{n.target===t.current&&e?.(n)},"wrapHandler"),Hf=r(e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging}),"selector$h");function Rf({isSelecting:e,selectionKeyPressed:t,selectionMode:n=ht.Full,panOnDrag:o,paneClickDistance:i,selectionOnDrag:s,onSelectionStart:a,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:l,onPaneScroll:f,onPaneMouseEnter:d,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){const w=ie(),{userSelectionActive:v,elementsSelectable:y,dragging:_,connectionInProgress:g}=ee(Hf,re),x=y&&(e||v),N=z.useRef(null),E=z.useRef(),C=z.useRef(new Set),D=z.useRef(new Set),T=z.useRef(!1),B=r(I=>{if(T.current||g){T.current=!1;return}u?.(I),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},"onClick"),A=r(I=>{if(Array.isArray(o)&&o?.includes(2)){I.preventDefault();return}l?.(I)},"onContextMenu"),H=f?I=>f(I):void 0,L=r(I=>{T.current&&(I.stopPropagation(),T.current=!1)},"onClickCapture"),b=r(I=>{const{domNode:P}=w.getState();if(E.current=P?.getBoundingClientRect(),!E.current)return;const R=I.target===N.current;if(!R&&!!I.target.closest(".nokey")||!e||!(s&&R||t)||I.button!==0||!I.isPrimary)return;I.target?.setPointerCapture?.(I.pointerId),T.current=!1;const{x:X,y:j}=ge(I.nativeEvent,E.current);w.setState({userSelectionRect:{width:0,height:0,startX:X,startY:j,x:X,y:j}}),R||(I.stopPropagation(),I.preventDefault())},"onPointerDownCapture"),M=r(I=>{const{userSelectionRect:P,transform:R,nodeLookup:O,edgeLookup:V,connectionLookup:X,triggerNodeChanges:j,triggerEdgeChanges:q,defaultEdgeOptions:K,resetSelectedElements:W}=w.getState();if(!E.current||!P)return;const{x:F,y:Y}=ge(I.nativeEvent,E.current),{startX:J,startY:Q}=P;if(!T.current){const ne=t?0:i;if(Math.hypot(F-J,Y-Q)<=ne)return;W(),a?.(I)}T.current=!0;const G={startX:J,startY:Q,x:F<J?F:J,y:Y<Q?Y:Q,width:Math.abs(F-J),height:Math.abs(Y-Q)},U=C.current,te=D.current;C.current=new Set(Wn(O,G,R,n===ht.Partial,!0).map(ne=>ne.id)),D.current=new Set;const oe=K?.selectable??!0;for(const ne of C.current){const ae=X.get(ne);if(ae)for(const{edgeId:Ne}of ae.values()){const ve=V.get(Ne);ve&&(ve.selectable??oe)&&D.current.add(Ne)}}if(!Do(U,C.current)){const ne=Fe(O,C.current,!0);j(ne)}if(!Do(te,D.current)){const ne=Fe(V,D.current);q(ne)}w.setState({userSelectionRect:G,userSelectionActive:!0,nodesSelectionActive:!1})},"onPointerMove"),S=r(I=>{I.button===0&&(I.target?.releasePointerCapture?.(I.pointerId),!v&&I.target===N.current&&w.getState().userSelectionRect&&B?.(I),w.setState({userSelectionActive:!1,userSelectionRect:null}),T.current&&(c?.(I),w.setState({nodesSelectionActive:C.current.size>0})))},"onPointerUp"),k=o===!0||Array.isArray(o)&&o.includes(0);return $.jsxs("div",{className:se(["react-flow__pane",{draggable:k,dragging:_,selection:e}]),onClick:x?void 0:En(B,N),onContextMenu:En(A,N),onWheel:En(H,N),onPointerEnter:x?void 0:d,onPointerMove:x?M:h,onPointerUp:x?S:void 0,onPointerDownCapture:x?b:void 0,onClickCapture:x?L:void 0,onPointerLeave:p,ref:N,style:an,children:[m,$.jsx(zf,{})]})}r(Rf,"Pane");function Ln({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:i,unselectNodesAndEdges:s,multiSelectionActive:a,nodeLookup:c,onError:u}=t.getState(),l=c.get(e);if(!l){u?.("012",xe.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&a)&&(s({nodes:[l],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):i([e])}r(Ln,"handleNodeClick");function zi({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:s,nodeClickDistance:a}){const c=ie(),[u,l]=z.useState(!1),f=z.useRef();return z.useEffect(()=>{f.current=Ed({getStoreItems:r(()=>c.getState(),"getStoreItems"),onNodeMouseDown:r(d=>{Ln({id:d,store:c,nodeRef:e})},"onNodeMouseDown"),onDragStart:r(()=>{l(!0)},"onDragStart"),onDragStop:r(()=>{l(!1)},"onDragStop")})},[]),z.useEffect(()=>{if(!(t||!e.current||!f.current))return f.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:s,nodeId:i,nodeClickDistance:a}),()=>{f.current?.destroy()}},[n,o,t,s,e,i,a]),u}r(zi,"useDrag");const Lf=r(e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u"),"selectedAndDraggable");function Hi(){const e=ie();return z.useCallback(n=>{const{nodeExtent:o,snapToGrid:i,snapGrid:s,nodesDraggable:a,onError:c,updateNodePositions:u,nodeLookup:l,nodeOrigin:f}=e.getState(),d=new Map,h=Lf(a),p=i?s[0]:5,m=i?s[1]:5,w=n.direction.x*p*n.factor,v=n.direction.y*m*n.factor;for(const[,y]of l){if(!h(y))continue;let _={x:y.internals.positionAbsolute.x+w,y:y.internals.positionAbsolute.y+v};i&&(_=bt(_,s));const{position:g,positionAbsolute:x}=ti({nodeId:y.id,nextPosition:_,nodeLookup:l,nodeExtent:o,nodeOrigin:f,onError:c});y.position=g,y.internals.positionAbsolute=x,d.set(y.id,y)}u(d)},[])}r(Hi,"useMoveSelectedNodes");const no=z.createContext(null),Vf=no.Provider;no.Consumer;const Ri=r(()=>z.useContext(no),"useNodeId"),Of=r(e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),"selector$g"),Bf=r((e,t,n)=>o=>{const{connectionClickStartHandle:i,connectionMode:s,connection:a}=o,{fromHandle:c,toHandle:u,isValid:l}=a,f=u?.nodeId===e&&u?.id===t&&u?.type===n;return{connectingFrom:c?.nodeId===e&&c?.id===t&&c?.type===n,connectingTo:f,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:s===We.Strict?c?.type!==n:e!==c?.nodeId||t!==c?.id,connectionInProcess:!!c,clickConnectionInProcess:!!i,valid:f&&l}},"connectingSelector");function Ff({type:e="source",position:t=Z.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:s=!0,id:a,onConnect:c,children:u,className:l,onMouseDown:f,onTouchStart:d,...h},p){const m=a||null,w=e==="target",v=ie(),y=Ri(),{connectOnClick:_,noPanClassName:g,rfId:x}=ee(Of,re),{connectingFrom:N,connectingTo:E,clickConnecting:C,isPossibleEndHandle:D,connectionInProcess:T,clickConnectionInProcess:B,valid:A}=ee(Bf(y,m,e),re);y||v.getState().onError?.("010",xe.error010());const H=r(M=>{const{defaultEdgeOptions:S,onConnect:k,hasDefaultEdges:I}=v.getState(),P={...S,...M};if(I){const{edges:R,setEdges:O}=v.getState();O(ad(P,R))}k?.(P),c?.(P)},"onConnectExtended"),L=r(M=>{if(!y)return;const S=li(M.nativeEvent);if(i&&(S&&M.button===0||!S)){const k=v.getState();Rn.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:k.autoPanOnConnect,connectionMode:k.connectionMode,connectionRadius:k.connectionRadius,domNode:k.domNode,nodeLookup:k.nodeLookup,lib:k.lib,isTarget:w,handleId:m,nodeId:y,flowId:k.rfId,panBy:k.panBy,cancelConnection:k.cancelConnection,onConnectStart:k.onConnectStart,onConnectEnd:r((...I)=>v.getState().onConnectEnd?.(...I),"onConnectEnd"),updateConnection:k.updateConnection,onConnect:H,isValidConnection:n||((...I)=>v.getState().isValidConnection?.(...I)??!0),getTransform:r(()=>v.getState().transform,"getTransform"),getFromHandle:r(()=>v.getState().connection.fromHandle,"getFromHandle"),autoPanSpeed:k.autoPanSpeed,dragThreshold:k.connectionDragThreshold})}S?f?.(M):d?.(M)},"onPointerDown"),b=r(M=>{const{onClickConnectStart:S,onClickConnectEnd:k,connectionClickStartHandle:I,connectionMode:P,isValidConnection:R,lib:O,rfId:V,nodeLookup:X,connection:j}=v.getState();if(!y||!I&&!i)return;if(!I){S?.(M.nativeEvent,{nodeId:y,handleId:m,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:y,type:e,id:m}});return}const q=ai(M.target),K=n||R,{connection:W,isValid:F}=Rn.isValid(M.nativeEvent,{handle:{nodeId:y,id:m,type:e},connectionMode:P,fromNodeId:I.nodeId,fromHandleId:I.id||null,fromType:I.type,isValidConnection:K,flowId:V,doc:q,lib:O,nodeLookup:X});F&&W&&H(W);const Y=structuredClone(j);delete Y.inProgress,Y.toPosition=Y.toHandle?Y.toHandle.position:null,k?.(M,Y),v.setState({connectionClickStartHandle:null})},"onClick");return $.jsx("div",{"data-handleid":m,"data-nodeid":y,"data-handlepos":t,"data-id":`${x}-${y}-${m}-${e}`,className:se(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,l,{source:!w,target:w,connectable:o,connectablestart:i,connectableend:s,clickconnecting:C,connectingfrom:N,connectingto:E,valid:A,connectionindicator:o&&(!T||D)&&(T||B?s:i)}]),onMouseDown:L,onTouchStart:L,onClick:_?b:void 0,ref:p,...h,children:u})}r(Ff,"HandleComponent");const qt=z.memo(Di(Ff));function jf({data:e,isConnectable:t,sourcePosition:n=Z.Bottom}){return $.jsxs($.Fragment,{children:[e?.label,$.jsx(qt,{type:"source",position:n,isConnectable:t})]})}r(jf,"InputNode");function Xf({data:e,isConnectable:t,targetPosition:n=Z.Top,sourcePosition:o=Z.Bottom}){return $.jsxs($.Fragment,{children:[$.jsx(qt,{type:"target",position:n,isConnectable:t}),e?.label,$.jsx(qt,{type:"source",position:o,isConnectable:t})]})}r(Xf,"DefaultNode");function Yf(){return null}r(Yf,"GroupNode");function Zf({data:e,isConnectable:t,targetPosition:n=Z.Top}){return $.jsxs($.Fragment,{children:[$.jsx(qt,{type:"target",position:n,isConnectable:t}),e?.label]})}r(Zf,"OutputNode");const Gt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},lr={input:jf,default:Xf,output:Zf,group:Yf};function Wf(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}r(Wf,"getNodeInlineStyleDimensions");const qf=r(e=>{const{width:t,height:n,x:o,y:i}=vt(e.nodeLookup,{filter:r(s=>!!s.selected,"filter")});return{width:he(t)?t:null,height:he(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${i}px)`}},"selector$f");function Gf({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=ie(),{width:i,height:s,transformString:a,userSelectionActive:c}=ee(qf,re),u=Hi(),l=z.useRef(null);z.useEffect(()=>{n||l.current?.focus({preventScroll:!0})},[n]);const f=!c&&i!==null&&s!==null;if(zi({nodeRef:l,disabled:!f}),!f)return null;const d=e?p=>{const m=o.getState().nodes.filter(w=>w.selected);e(p,m)}:void 0,h=r(p=>{Object.prototype.hasOwnProperty.call(Gt,p.key)&&(p.preventDefault(),u({direction:Gt[p.key],factor:p.shiftKey?4:1}))},"onKeyDown");return $.jsx("div",{className:se(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:$.jsx("div",{ref:l,className:"react-flow__nodesselection-rect",onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:s}})})}r(Gf,"NodesSelection");const ur=typeof window<"u"?window:void 0,Uf=r(e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive}),"selector$e");function Li({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:a,paneClickDistance:c,deleteKeyCode:u,selectionKeyCode:l,selectionOnDrag:f,selectionMode:d,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:w,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:_,zoomOnPinch:g,panOnScroll:x,panOnScrollSpeed:N,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:D,defaultViewport:T,translateExtent:B,minZoom:A,maxZoom:H,preventScrolling:L,onSelectionContextMenu:b,noWheelClassName:M,noPanClassName:S,disableKeyboardA11y:k,onViewportChange:I,isControlledViewport:P}){const{nodesSelectionActive:R,userSelectionActive:O}=ee(Uf,re),V=mt(l,{target:ur}),X=mt(w,{target:ur}),j=X||D,q=X||x,K=f&&j!==!0,W=V||O||K;return Af({deleteKeyCode:u,multiSelectionKeyCode:m}),$.jsx(Df,{onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:_,zoomOnPinch:g,panOnScroll:q,panOnScrollSpeed:N,panOnScrollMode:E,zoomOnDoubleClick:C,panOnDrag:!V&&j,defaultViewport:T,translateExtent:B,minZoom:A,maxZoom:H,zoomActivationKeyCode:v,preventScrolling:L,noWheelClassName:M,noPanClassName:S,onViewportChange:I,isControlledViewport:P,paneClickDistance:c,selectionOnDrag:K,children:$.jsxs(Rf,{onSelectionStart:h,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:s,onPaneScroll:a,panOnDrag:j,isSelecting:!!W,selectionMode:d,selectionKeyPressed:V,paneClickDistance:c,selectionOnDrag:K,children:[e,R&&$.jsx(Gf,{onSelectionContextMenu:b,noPanClassName:S,disableKeyboardA11y:k})]})})}r(Li,"FlowRendererComponent");Li.displayName="FlowRenderer";const Kf=z.memo(Li),Qf=r(e=>t=>e?Wn(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys()),"selector$d");function Jf(e){return ee(z.useCallback(Qf(e),[e]),re)}r(Jf,"useVisibleNodeIds");const eh=r(e=>e.updateNodeInternals,"selector$c");function th(){const e=ee(eh),[t]=z.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const o=new Map;n.forEach(i=>{const s=i.target.getAttribute("data-id");o.set(s,{id:s,nodeElement:i.target,force:!0})}),e(o)}));return z.useEffect(()=>()=>{t?.disconnect()},[t]),t}r(th,"useResizeObserver");function nh({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){const i=ie(),s=z.useRef(null),a=z.useRef(null),c=z.useRef(e.sourcePosition),u=z.useRef(e.targetPosition),l=z.useRef(t),f=n&&!!e.internals.handleBounds;return z.useEffect(()=>{s.current&&!e.hidden&&(!f||a.current!==s.current)&&(a.current&&o?.unobserve(a.current),o?.observe(s.current),a.current=s.current)},[f,e.hidden]),z.useEffect(()=>()=>{a.current&&(o?.unobserve(a.current),a.current=null)},[]),z.useEffect(()=>{if(s.current){const d=l.current!==t,h=c.current!==e.sourcePosition,p=u.current!==e.targetPosition;(d||h||p)&&(l.current=t,c.current=e.sourcePosition,u.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}r(nh,"useNodeObserver");function oh({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:i,onContextMenu:s,onDoubleClick:a,nodesDraggable:c,elementsSelectable:u,nodesConnectable:l,nodesFocusable:f,resizeObserver:d,noDragClassName:h,noPanClassName:p,disableKeyboardA11y:m,rfId:w,nodeTypes:v,nodeClickDistance:y,onError:_}){const{node:g,internals:x,isParent:N}=ee(F=>{const Y=F.nodeLookup.get(e),J=F.parentLookup.has(e);return{node:Y,internals:Y.internals,isParent:J}},re);let E=g.type||"default",C=v?.[E]||lr[E];C===void 0&&(_?.("003",xe.error003(E)),E="default",C=v?.default||lr.default);const D=!!(g.draggable||c&&typeof g.draggable>"u"),T=!!(g.selectable||u&&typeof g.selectable>"u"),B=!!(g.connectable||l&&typeof g.connectable>"u"),A=!!(g.focusable||f&&typeof g.focusable>"u"),H=ie(),L=ii(g),b=nh({node:g,nodeType:E,hasDimensions:L,resizeObserver:d}),M=zi({nodeRef:b,disabled:g.hidden||!D,noDragClassName:h,handleSelector:g.dragHandle,nodeId:e,isSelectable:T,nodeClickDistance:y}),S=Hi();if(g.hidden)return null;const k=Se(g),I=Wf(g),P=T||D||t||n||o||i,R=n?F=>n(F,{...x.userNode}):void 0,O=o?F=>o(F,{...x.userNode}):void 0,V=i?F=>i(F,{...x.userNode}):void 0,X=s?F=>s(F,{...x.userNode}):void 0,j=a?F=>a(F,{...x.userNode}):void 0,q=r(F=>{const{selectNodesOnDrag:Y,nodeDragThreshold:J}=H.getState();T&&(!Y||!D||J>0)&&Ln({id:e,store:H,nodeRef:b}),t&&t(F,{...x.userNode})},"onSelectNodeHandler"),K=r(F=>{if(!(ci(F.nativeEvent)||m)){if(Ur.includes(F.key)&&T){const Y=F.key==="Escape";Ln({id:e,store:H,unselect:Y,nodeRef:b})}else if(D&&g.selected&&Object.prototype.hasOwnProperty.call(Gt,F.key)){F.preventDefault();const{ariaLabelConfig:Y}=H.getState();H.setState({ariaLiveMessage:Y["node.a11yDescription.ariaLiveMessage"]({direction:F.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),S({direction:Gt[F.key],factor:F.shiftKey?4:1})}}},"onKeyDown"),W=r(()=>{if(m||!b.current?.matches(":focus-visible"))return;const{transform:F,width:Y,height:J,autoPanOnNodeFocus:Q,setCenter:G}=H.getState();if(!Q)return;Wn(new Map([[e,g]]),{x:0,y:0,width:Y,height:J},F,!0).length>0||G(g.position.x+k.width/2,g.position.y+k.height/2,{zoom:F[2]})},"onFocus");return $.jsx("div",{className:se(["react-flow__node",`react-flow__node-${E}`,{[p]:D},g.className,{selected:g.selected,selectable:T,parent:N,draggable:D,dragging:M}]),ref:b,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:P?"all":"none",visibility:L?"visible":"hidden",...g.style,...I},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:R,onMouseMove:O,onMouseLeave:V,onContextMenu:X,onClick:q,onDoubleClick:j,onKeyDown:A?K:void 0,tabIndex:A?0:void 0,onFocus:A?W:void 0,role:g.ariaRole??(A?"group":void 0),"aria-roledescription":"node","aria-describedby":m?void 0:`${Mi}-${w}`,"aria-label":g.ariaLabel,...g.domAttributes,children:$.jsx(Vf,{value:e,children:$.jsx(C,{id:e,data:g.data,type:E,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:g.selected??!1,selectable:T,draggable:D,deletable:g.deletable??!0,isConnectable:B,sourcePosition:g.sourcePosition,targetPosition:g.targetPosition,dragging:M,dragHandle:g.dragHandle,zIndex:x.z,parentId:g.parentId,...k})})})}r(oh,"NodeWrapper");var rh=z.memo(oh);const ih=r(e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError}),"selector$b");function Vi(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,onError:s}=ee(ih,re),a=Jf(e.onlyRenderVisibleElements),c=th();return $.jsx("div",{className:"react-flow__nodes",style:an,children:a.map(u=>$.jsx(rh,{id:u,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:c,nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:s},u))})}r(Vi,"NodeRendererComponent");Vi.displayName="NodeRenderer";const sh=z.memo(Vi);function ah(e){return ee(z.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const o=[];if(n.width&&n.height)for(const i of n.edges){const s=n.nodeLookup.get(i.source),a=n.nodeLookup.get(i.target);s&&a&&rd({sourceNode:s,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&o.push(i.id)}return o},[e]),re)}r(ah,"useVisibleEdgeIds");const ch=r(({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return $.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},"ArrowSymbol"),lh=r(({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return $.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},"ArrowClosedSymbol"),dr={[Yt.Arrow]:ch,[Yt.ArrowClosed]:lh};function uh(e){const t=ie();return z.useMemo(()=>Object.prototype.hasOwnProperty.call(dr,e)?dr[e]:(t.getState().onError?.("009",xe.error009(e)),null),[e])}r(uh,"useMarkerSymbol");const dh=r(({id:e,type:t,color:n,width:o=12.5,height:i=12.5,markerUnits:s="strokeWidth",strokeWidth:a,orient:c="auto-start-reverse"})=>{const u=uh(t);return u?$.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:$.jsx(u,{color:n,strokeWidth:a})}):null},"Marker"),Oi=r(({defaultColor:e,rfId:t})=>{const n=ee(s=>s.edges),o=ee(s=>s.defaultEdgeOptions),i=z.useMemo(()=>fd(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return i.length?$.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:$.jsx("defs",{children:i.map(s=>$.jsx(dh,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null},"MarkerDefinitions");Oi.displayName="MarkerDefinitions";var fh=z.memo(Oi);function Bi({x:e,y:t,label:n,labelStyle:o,labelShowBg:i=!0,labelBgStyle:s,labelBgPadding:a=[2,4],labelBgBorderRadius:c=2,children:u,className:l,...f}){const[d,h]=z.useState({x:1,y:0,width:0,height:0}),p=se(["react-flow__edge-textwrapper",l]),m=z.useRef(null);return z.useEffect(()=>{if(m.current){const w=m.current.getBBox();h({x:w.x,y:w.y,width:w.width,height:w.height})}},[n]),n?$.jsxs("g",{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:p,visibility:d.width?"visible":"hidden",...f,children:[i&&$.jsx("rect",{width:d.width+2*a[0],x:-a[0],y:-a[1],height:d.height+2*a[1],className:"react-flow__edge-textbg",style:s,rx:c,ry:c}),$.jsx("text",{className:"react-flow__edge-text",y:d.height/2,dy:"0.3em",ref:m,style:o,children:n}),u]}):null}r(Bi,"EdgeTextComponent");Bi.displayName="EdgeText";const hh=z.memo(Bi);function cn({path:e,labelX:t,labelY:n,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:l=20,...f}){return $.jsxs($.Fragment,{children:[$.jsx("path",{...f,d:e,fill:"none",className:se(["react-flow__edge-path",f.className])}),l?$.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:l,className:"react-flow__edge-interaction"}):null,o&&he(t)&&he(n)?$.jsx(hh,{x:t,y:n,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:c,labelBgBorderRadius:u}):null]})}r(cn,"BaseEdge");function fr({pos:e,x1:t,y1:n,x2:o,y2:i}){return e===Z.Left||e===Z.Right?[.5*(t+o),n]:[t,.5*(n+i)]}r(fr,"getControl");function Fi({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:o,targetY:i,targetPosition:s=Z.Top}){const[a,c]=fr({pos:n,x1:e,y1:t,x2:o,y2:i}),[u,l]=fr({pos:s,x1:o,y1:i,x2:e,y2:t}),[f,d,h,p]=ui({sourceX:e,sourceY:t,targetX:o,targetY:i,sourceControlX:a,sourceControlY:c,targetControlX:u,targetControlY:l});return[`M${e},${t} C${a},${c} ${u},${l} ${o},${i}`,f,d,h,p]}r(Fi,"getSimpleBezierPath");function ji(e){return z.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:s,sourcePosition:a,targetPosition:c,label:u,labelStyle:l,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:v,interactionWidth:y})=>{const[_,g,x]=Fi({sourceX:n,sourceY:o,sourcePosition:a,targetX:i,targetY:s,targetPosition:c}),N=e.isInternal?void 0:t;return $.jsx(cn,{id:N,path:_,labelX:g,labelY:x,label:u,labelStyle:l,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:v,interactionWidth:y})})}r(ji,"createSimpleBezierEdge");const gh=ji({isInternal:!1}),Xi=ji({isInternal:!0});gh.displayName="SimpleBezierEdge";Xi.displayName="SimpleBezierEdgeInternal";function Yi(e){return z.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:s,label:a,labelStyle:c,labelShowBg:u,labelBgStyle:l,labelBgPadding:f,labelBgBorderRadius:d,style:h,sourcePosition:p=Z.Bottom,targetPosition:m=Z.Top,markerEnd:w,markerStart:v,pathOptions:y,interactionWidth:_})=>{const[g,x,N]=Tn({sourceX:n,sourceY:o,sourcePosition:p,targetX:i,targetY:s,targetPosition:m,borderRadius:y?.borderRadius,offset:y?.offset,stepPosition:y?.stepPosition}),E=e.isInternal?void 0:t;return $.jsx(cn,{id:E,path:g,labelX:x,labelY:N,label:a,labelStyle:c,labelShowBg:u,labelBgStyle:l,labelBgPadding:f,labelBgBorderRadius:d,style:h,markerEnd:w,markerStart:v,interactionWidth:_})})}r(Yi,"createSmoothStepEdge");const Zi=Yi({isInternal:!1}),Wi=Yi({isInternal:!0});Zi.displayName="SmoothStepEdge";Wi.displayName="SmoothStepEdgeInternal";function qi(e){return z.memo(({id:t,...n})=>{const o=e.isInternal?void 0:t;return $.jsx(Zi,{...n,id:o,pathOptions:z.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}r(qi,"createStepEdge");const ph=qi({isInternal:!1}),Gi=qi({isInternal:!0});ph.displayName="StepEdge";Gi.displayName="StepEdgeInternal";function Ui(e){return z.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:s,label:a,labelStyle:c,labelShowBg:u,labelBgStyle:l,labelBgPadding:f,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:m,interactionWidth:w})=>{const[v,y,_]=hi({sourceX:n,sourceY:o,targetX:i,targetY:s}),g=e.isInternal?void 0:t;return $.jsx(cn,{id:g,path:v,labelX:y,labelY:_,label:a,labelStyle:c,labelShowBg:u,labelBgStyle:l,labelBgPadding:f,labelBgBorderRadius:d,style:h,markerEnd:p,markerStart:m,interactionWidth:w})})}r(Ui,"createStraightEdge");const mh=Ui({isInternal:!1}),Ki=Ui({isInternal:!0});mh.displayName="StraightEdge";Ki.displayName="StraightEdgeInternal";function Qi(e){return z.memo(({id:t,sourceX:n,sourceY:o,targetX:i,targetY:s,sourcePosition:a=Z.Bottom,targetPosition:c=Z.Top,label:u,labelStyle:l,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:v,pathOptions:y,interactionWidth:_})=>{const[g,x,N]=di({sourceX:n,sourceY:o,sourcePosition:a,targetX:i,targetY:s,targetPosition:c,curvature:y?.curvature}),E=e.isInternal?void 0:t;return $.jsx(cn,{id:E,path:g,labelX:x,labelY:N,label:u,labelStyle:l,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:v,interactionWidth:_})})}r(Qi,"createBezierEdge");const yh=Qi({isInternal:!1}),Ji=Qi({isInternal:!0});yh.displayName="BezierEdge";Ji.displayName="BezierEdgeInternal";const hr={default:Ji,straight:Ki,step:Gi,smoothstep:Wi,simplebezier:Xi},gr={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},xh=r((e,t,n)=>n===Z.Left?e-t:n===Z.Right?e+t:e,"shiftX"),wh=r((e,t,n)=>n===Z.Top?e-t:n===Z.Bottom?e+t:e,"shiftY"),pr="react-flow__edgeupdater";function mr({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:s,onMouseOut:a,type:c}){return $.jsx("circle",{onMouseDown:i,onMouseEnter:s,onMouseOut:a,className:se([pr,`${pr}-${c}`]),cx:xh(t,o,e),cy:wh(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}r(mr,"EdgeAnchor");function vh({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:i,targetX:s,targetY:a,sourcePosition:c,targetPosition:u,onReconnect:l,onReconnectStart:f,onReconnectEnd:d,setReconnecting:h,setUpdateHover:p}){const m=ie(),w=r((x,N)=>{if(x.button!==0)return;const{autoPanOnConnect:E,domNode:C,connectionMode:D,connectionRadius:T,lib:B,onConnectStart:A,cancelConnection:H,nodeLookup:L,rfId:b,panBy:M,updateConnection:S}=m.getState(),k=N.type==="target",I=r((O,V)=>{h(!1),d?.(O,n,N.type,V)},"_onReconnectEnd"),P=r(O=>l?.(n,O),"onConnectEdge"),R=r((O,V)=>{h(!0),f?.(x,n,N.type),A?.(O,V)},"_onConnectStart");Rn.onPointerDown(x.nativeEvent,{autoPanOnConnect:E,connectionMode:D,connectionRadius:T,domNode:C,handleId:N.id,nodeId:N.nodeId,nodeLookup:L,isTarget:k,edgeUpdaterType:N.type,lib:B,flowId:b,cancelConnection:H,panBy:M,isValidConnection:r((...O)=>m.getState().isValidConnection?.(...O)??!0,"isValidConnection"),onConnect:P,onConnectStart:R,onConnectEnd:r((...O)=>m.getState().onConnectEnd?.(...O),"onConnectEnd"),onReconnectEnd:I,updateConnection:S,getTransform:r(()=>m.getState().transform,"getTransform"),getFromHandle:r(()=>m.getState().connection.fromHandle,"getFromHandle"),dragThreshold:m.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},"handleEdgeUpdater"),v=r(x=>w(x,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),"onReconnectSourceMouseDown"),y=r(x=>w(x,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),"onReconnectTargetMouseDown"),_=r(()=>p(!0),"onReconnectMouseEnter"),g=r(()=>p(!1),"onReconnectMouseOut");return $.jsxs($.Fragment,{children:[(e===!0||e==="source")&&$.jsx(mr,{position:c,centerX:o,centerY:i,radius:t,onMouseDown:v,onMouseEnter:_,onMouseOut:g,type:"source"}),(e===!0||e==="target")&&$.jsx(mr,{position:u,centerX:s,centerY:a,radius:t,onMouseDown:y,onMouseEnter:_,onMouseOut:g,type:"target"})]})}r(vh,"EdgeUpdateAnchors");function bh({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:i,onDoubleClick:s,onContextMenu:a,onMouseEnter:c,onMouseMove:u,onMouseLeave:l,reconnectRadius:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,rfId:m,edgeTypes:w,noPanClassName:v,onError:y,disableKeyboardA11y:_}){let g=ee(G=>G.edgeLookup.get(e));const x=ee(G=>G.defaultEdgeOptions);g=x?{...x,...g}:g;let N=g.type||"default",E=w?.[N]||hr[N];E===void 0&&(y?.("011",xe.error011(N)),N="default",E=w?.default||hr.default);const C=!!(g.focusable||t&&typeof g.focusable>"u"),D=typeof d<"u"&&(g.reconnectable||n&&typeof g.reconnectable>"u"),T=!!(g.selectable||o&&typeof g.selectable>"u"),B=z.useRef(null),[A,H]=z.useState(!1),[L,b]=z.useState(!1),M=ie(),{zIndex:S,sourceX:k,sourceY:I,targetX:P,targetY:R,sourcePosition:O,targetPosition:V}=ee(z.useCallback(G=>{const U=G.nodeLookup.get(g.source),te=G.nodeLookup.get(g.target);if(!U||!te)return{zIndex:g.zIndex,...gr};const oe=dd({id:e,sourceNode:U,targetNode:te,sourceHandle:g.sourceHandle||null,targetHandle:g.targetHandle||null,connectionMode:G.connectionMode,onError:y});return{zIndex:od({selected:g.selected,zIndex:g.zIndex,sourceNode:U,targetNode:te,elevateOnSelect:G.elevateEdgesOnSelect,zIndexMode:G.zIndexMode}),...oe||gr}},[g.source,g.target,g.sourceHandle,g.targetHandle,g.selected,g.zIndex]),re),X=z.useMemo(()=>g.markerStart?`url('#${zn(g.markerStart,m)}')`:void 0,[g.markerStart,m]),j=z.useMemo(()=>g.markerEnd?`url('#${zn(g.markerEnd,m)}')`:void 0,[g.markerEnd,m]);if(g.hidden||k===null||I===null||P===null||R===null)return null;const q=r(G=>{const{addSelectedEdges:U,unselectNodesAndEdges:te,multiSelectionActive:oe}=M.getState();T&&(M.setState({nodesSelectionActive:!1}),g.selected&&oe?(te({nodes:[],edges:[g]}),B.current?.blur()):U([e])),i&&i(G,g)},"onEdgeClick"),K=s?G=>{s(G,{...g})}:void 0,W=a?G=>{a(G,{...g})}:void 0,F=c?G=>{c(G,{...g})}:void 0,Y=u?G=>{u(G,{...g})}:void 0,J=l?G=>{l(G,{...g})}:void 0,Q=r(G=>{if(!_&&Ur.includes(G.key)&&T){const{unselectNodesAndEdges:U,addSelectedEdges:te}=M.getState();G.key==="Escape"?(B.current?.blur(),U({edges:[g]})):te([e])}},"onKeyDown");return $.jsx("svg",{style:{zIndex:S},children:$.jsxs("g",{className:se(["react-flow__edge",`react-flow__edge-${N}`,g.className,v,{selected:g.selected,animated:g.animated,inactive:!T&&!i,updating:A,selectable:T}]),onClick:q,onDoubleClick:K,onContextMenu:W,onMouseEnter:F,onMouseMove:Y,onMouseLeave:J,onKeyDown:C?Q:void 0,tabIndex:C?0:void 0,role:g.ariaRole??(C?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":g.ariaLabel===null?void 0:g.ariaLabel||`Edge from ${g.source} to ${g.target}`,"aria-describedby":C?`${Ii}-${m}`:void 0,ref:B,...g.domAttributes,children:[!L&&$.jsx(E,{id:e,source:g.source,target:g.target,type:g.type,selected:g.selected,animated:g.animated,selectable:T,deletable:g.deletable??!0,label:g.label,labelStyle:g.labelStyle,labelShowBg:g.labelShowBg,labelBgStyle:g.labelBgStyle,labelBgPadding:g.labelBgPadding,labelBgBorderRadius:g.labelBgBorderRadius,sourceX:k,sourceY:I,targetX:P,targetY:R,sourcePosition:O,targetPosition:V,data:g.data,style:g.style,sourceHandleId:g.sourceHandle,targetHandleId:g.targetHandle,markerStart:X,markerEnd:j,pathOptions:"pathOptions"in g?g.pathOptions:void 0,interactionWidth:g.interactionWidth}),D&&$.jsx(vh,{edge:g,isReconnectable:D,reconnectRadius:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,sourceX:k,sourceY:I,targetX:P,targetY:R,sourcePosition:O,targetPosition:V,setUpdateHover:H,setReconnecting:b})]})})}r(bh,"EdgeWrapper");var _h=z.memo(bh);const Eh=r(e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError}),"selector$a");function es({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:i,onReconnect:s,onEdgeContextMenu:a,onEdgeMouseEnter:c,onEdgeMouseMove:u,onEdgeMouseLeave:l,onEdgeClick:f,reconnectRadius:d,onEdgeDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:w}){const{edgesFocusable:v,edgesReconnectable:y,elementsSelectable:_,onError:g}=ee(Eh,re),x=ah(t);return $.jsxs("div",{className:"react-flow__edges",children:[$.jsx(fh,{defaultColor:e,rfId:n}),x.map(N=>$.jsx(_h,{id:N,edgesFocusable:v,edgesReconnectable:y,elementsSelectable:_,noPanClassName:i,onReconnect:s,onContextMenu:a,onMouseEnter:c,onMouseMove:u,onMouseLeave:l,onClick:f,reconnectRadius:d,onDoubleClick:h,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:g,edgeTypes:o,disableKeyboardA11y:w},N))]})}r(es,"EdgeRendererComponent");es.displayName="EdgeRenderer";const Sh=z.memo(es),Nh=r(e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,"selector$9");function Ch({children:e}){const t=ee(Nh);return $.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}r(Ch,"Viewport");function Mh(e){const t=to(),n=z.useRef(!1);z.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}r(Mh,"useOnInitHandler");const Ih=r(e=>e.panZoom?.syncViewport,"selector$8");function kh(e){const t=ee(Ih),n=ie();return z.useEffect(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}r(kh,"useViewportSync");function Ah(e){return e.connection.inProgress?{...e.connection,to:_t(e.connection.to,e.transform)}:{...e.connection}}r(Ah,"storeSelector$1");function $h(e){return Ah}r($h,"getSelector");function Ph(e){const t=$h();return ee(t,re)}r(Ph,"useConnection");const Dh=r(e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height}),"selector$7");function Th({containerStyle:e,style:t,type:n,component:o}){const{nodesConnectable:i,width:s,height:a,isValid:c,inProgress:u}=ee(Dh,re);return!(s&&i&&u)?null:$.jsx("svg",{style:e,width:s,height:a,className:"react-flow__connectionline react-flow__container",children:$.jsx("g",{className:se(["react-flow__connection",Jr(c)]),children:$.jsx(ts,{style:t,type:n,CustomComponent:o,isValid:c})})})}r(Th,"ConnectionLineWrapper");const ts=r(({style:e,type:t=Ie.Bezier,CustomComponent:n,isValid:o})=>{const{inProgress:i,from:s,fromNode:a,fromHandle:c,fromPosition:u,to:l,toNode:f,toHandle:d,toPosition:h,pointer:p}=Ph();if(!i)return;if(n)return $.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:c,fromX:s.x,fromY:s.y,toX:l.x,toY:l.y,fromPosition:u,toPosition:h,connectionStatus:Jr(o),toNode:f,toHandle:d,pointer:p});let m="";const w={sourceX:s.x,sourceY:s.y,sourcePosition:u,targetX:l.x,targetY:l.y,targetPosition:h};switch(t){case Ie.Bezier:[m]=di(w);break;case Ie.SimpleBezier:[m]=Fi(w);break;case Ie.Step:[m]=Tn({...w,borderRadius:0});break;case Ie.SmoothStep:[m]=Tn(w);break;default:[m]=hi(w)}return $.jsx("path",{d:m,fill:"none",className:"react-flow__connection-path",style:e})},"ConnectionLine");ts.displayName="ConnectionLine";const zh={};function yr(e=zh){z.useRef(e),ie(),z.useEffect(()=>{},[e])}r(yr,"useNodeOrEdgeTypesWarning");function Hh(){ie(),z.useRef(!1),z.useEffect(()=>{},[])}r(Hh,"useStylesLoadedWarning");function ns({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:i,onNodeDoubleClick:s,onEdgeDoubleClick:a,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:l,onNodeContextMenu:f,onSelectionContextMenu:d,onSelectionStart:h,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:w,connectionLineComponent:v,connectionLineContainerStyle:y,selectionKeyCode:_,selectionOnDrag:g,selectionMode:x,multiSelectionKeyCode:N,panActivationKeyCode:E,zoomActivationKeyCode:C,deleteKeyCode:D,onlyRenderVisibleElements:T,elementsSelectable:B,defaultViewport:A,translateExtent:H,minZoom:L,maxZoom:b,preventScrolling:M,defaultMarkerColor:S,zoomOnScroll:k,zoomOnPinch:I,panOnScroll:P,panOnScrollSpeed:R,panOnScrollMode:O,zoomOnDoubleClick:V,panOnDrag:X,onPaneClick:j,onPaneMouseEnter:q,onPaneMouseMove:K,onPaneMouseLeave:W,onPaneScroll:F,onPaneContextMenu:Y,paneClickDistance:J,nodeClickDistance:Q,onEdgeContextMenu:G,onEdgeMouseEnter:U,onEdgeMouseMove:te,onEdgeMouseLeave:oe,reconnectRadius:ne,onReconnect:ae,onReconnectStart:Ne,onReconnectEnd:ve,noDragClassName:Ae,noWheelClassName:Qe,noPanClassName:Je,disableKeyboardA11y:et,nodeExtent:ln,rfId:Et,viewport:Ve,onViewportChange:tt}){return yr(e),yr(t),Hh(),Mh(n),kh(Ve),$.jsx(Kf,{onPaneClick:j,onPaneMouseEnter:q,onPaneMouseMove:K,onPaneMouseLeave:W,onPaneContextMenu:Y,onPaneScroll:F,paneClickDistance:J,deleteKeyCode:D,selectionKeyCode:_,selectionOnDrag:g,selectionMode:x,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:N,panActivationKeyCode:E,zoomActivationKeyCode:C,elementsSelectable:B,zoomOnScroll:k,zoomOnPinch:I,zoomOnDoubleClick:V,panOnScroll:P,panOnScrollSpeed:R,panOnScrollMode:O,panOnDrag:X,defaultViewport:A,translateExtent:H,minZoom:L,maxZoom:b,onSelectionContextMenu:d,preventScrolling:M,noDragClassName:Ae,noWheelClassName:Qe,noPanClassName:Je,disableKeyboardA11y:et,onViewportChange:tt,isControlledViewport:!!Ve,children:$.jsxs(Ch,{children:[$.jsx(Sh,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:a,onReconnect:ae,onReconnectStart:Ne,onReconnectEnd:ve,onlyRenderVisibleElements:T,onEdgeContextMenu:G,onEdgeMouseEnter:U,onEdgeMouseMove:te,onEdgeMouseLeave:oe,reconnectRadius:ne,defaultMarkerColor:S,noPanClassName:Je,disableKeyboardA11y:et,rfId:Et}),$.jsx(Th,{style:w,type:m,component:v,containerStyle:y}),$.jsx("div",{className:"react-flow__edgelabel-renderer"}),$.jsx(sh,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:l,onNodeContextMenu:f,nodeClickDistance:Q,onlyRenderVisibleElements:T,noPanClassName:Je,noDragClassName:Ae,disableKeyboardA11y:et,nodeExtent:ln,rfId:Et}),$.jsx("div",{className:"react-flow__viewport-portal"})]})})}r(ns,"GraphViewComponent");ns.displayName="GraphView";const Rh=z.memo(ns),xr=r(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:s,fitView:a,fitViewOptions:c,minZoom:u=.5,maxZoom:l=2,nodeOrigin:f,nodeExtent:d,zIndexMode:h="basic"}={})=>{const p=new Map,m=new Map,w=new Map,v=new Map,y=o??t??[],_=n??e??[],g=f??[0,0],x=d??ft;mi(w,v,y);const N=Hn(_,p,m,{nodeOrigin:g,nodeExtent:x,zIndexMode:h});let E=[0,0,1];if(a&&i&&s){const C=vt(p,{filter:r(A=>!!((A.width||A.initialWidth)&&(A.height||A.initialHeight)),"filter")}),{x:D,y:T,zoom:B}=qn(C,i,s,u,l,c?.padding??.1);E=[D,T,B]}return{rfId:"1",width:i??0,height:s??0,transform:E,nodes:_,nodesInitialized:N,nodeLookup:p,parentLookup:m,edges:y,edgeLookup:v,connectionLookup:w,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:u,maxZoom:l,translateExtent:ft,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:We.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:g,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:c,fitViewResolver:null,connection:{...Qr},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ku,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Kr,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},"getInitialState"),Lh=r(({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:s,fitView:a,fitViewOptions:c,minZoom:u,maxZoom:l,nodeOrigin:f,nodeExtent:d,zIndexMode:h})=>tf((p,m)=>{async function w(){const{nodeLookup:v,panZoom:y,fitViewOptions:_,fitViewResolver:g,width:x,height:N,minZoom:E,maxZoom:C}=m();y&&(await Gu({nodes:v,width:x,height:N,panZoom:y,minZoom:E,maxZoom:C},_),g?.resolve(!0),p({fitViewResolver:null}))}return r(w,"resolveFitView"),{...xr({nodes:e,edges:t,width:i,height:s,fitView:a,fitViewOptions:c,minZoom:u,maxZoom:l,nodeOrigin:f,nodeExtent:d,defaultNodes:n,defaultEdges:o,zIndexMode:h}),setNodes:r(v=>{const{nodeLookup:y,parentLookup:_,nodeOrigin:g,elevateNodesOnSelect:x,fitViewQueued:N,zIndexMode:E}=m(),C=Hn(v,y,_,{nodeOrigin:g,nodeExtent:d,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:E});N&&C?(w(),p({nodes:v,nodesInitialized:C,fitViewQueued:!1,fitViewOptions:void 0})):p({nodes:v,nodesInitialized:C})},"setNodes"),setEdges:r(v=>{const{connectionLookup:y,edgeLookup:_}=m();mi(y,_,v),p({edges:v})},"setEdges"),setDefaultNodesAndEdges:r((v,y)=>{if(v){const{setNodes:_}=m();_(v),p({hasDefaultNodes:!0})}if(y){const{setEdges:_}=m();_(y),p({hasDefaultEdges:!0})}},"setDefaultNodesAndEdges"),updateNodeInternals:r(v=>{const{triggerNodeChanges:y,nodeLookup:_,parentLookup:g,domNode:x,nodeOrigin:N,nodeExtent:E,debug:C,fitViewQueued:D,zIndexMode:T}=m(),{changes:B,updatedInternals:A}=wd(v,_,g,x,N,E,T);A&&(pd(_,g,{nodeOrigin:N,nodeExtent:E,zIndexMode:T}),D?(w(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),B?.length>0&&(C&&console.log("React Flow: trigger node changes",B),y?.(B)))},"updateNodeInternals"),updateNodePositions:r((v,y=!1)=>{const _=[];let g=[];const{nodeLookup:x,triggerNodeChanges:N,connection:E,updateConnection:C,onNodesChangeMiddlewareMap:D}=m();for(const[T,B]of v){const A=x.get(T),H=!!(A?.expandParent&&A?.parentId&&B?.position),L={id:T,type:"position",position:H?{x:Math.max(0,B.position.x),y:Math.max(0,B.position.y)}:B.position,dragging:y};if(A&&E.inProgress&&E.fromNode.id===A.id){const b=Le(A,E.fromHandle,Z.Left,!0);C({...E,from:b})}H&&A.parentId&&_.push({id:T,parentId:A.parentId,rect:{...B.internals.positionAbsolute,width:B.measured.width??0,height:B.measured.height??0}}),g.push(L)}if(_.length>0){const{parentLookup:T,nodeOrigin:B}=m(),A=eo(_,x,T,B);g.push(...A)}for(const T of D.values())g=T(g);N(g)},"updateNodePositions"),triggerNodeChanges:r(v=>{const{onNodesChange:y,setNodes:_,nodes:g,hasDefaultNodes:x,debug:N}=m();if(v?.length){if(x){const E=$i(v,g);_(E)}N&&console.log("React Flow: trigger node changes",v),y?.(v)}},"triggerNodeChanges"),triggerEdgeChanges:r(v=>{const{onEdgesChange:y,setEdges:_,edges:g,hasDefaultEdges:x,debug:N}=m();if(v?.length){if(x){const E=Pi(v,g);_(E)}N&&console.log("React Flow: trigger edge changes",v),y?.(v)}},"triggerEdgeChanges"),addSelectedNodes:r(v=>{const{multiSelectionActive:y,edgeLookup:_,nodeLookup:g,triggerNodeChanges:x,triggerEdgeChanges:N}=m();if(y){const E=v.map(C=>$e(C,!0));x(E);return}x(Fe(g,new Set([...v]),!0)),N(Fe(_))},"addSelectedNodes"),addSelectedEdges:r(v=>{const{multiSelectionActive:y,edgeLookup:_,nodeLookup:g,triggerNodeChanges:x,triggerEdgeChanges:N}=m();if(y){const E=v.map(C=>$e(C,!0));N(E);return}N(Fe(_,new Set([...v]))),x(Fe(g,new Set,!0))},"addSelectedEdges"),unselectNodesAndEdges:r(({nodes:v,edges:y}={})=>{const{edges:_,nodes:g,nodeLookup:x,triggerNodeChanges:N,triggerEdgeChanges:E}=m(),C=v||g,D=y||_,T=[];for(const A of C){if(!A.selected)continue;const H=x.get(A.id);H&&(H.selected=!1),T.push($e(A.id,!1))}const B=[];for(const A of D)A.selected&&B.push($e(A.id,!1));N(T),E(B)},"unselectNodesAndEdges"),setMinZoom:r(v=>{const{panZoom:y,maxZoom:_}=m();y?.setScaleExtent([v,_]),p({minZoom:v})},"setMinZoom"),setMaxZoom:r(v=>{const{panZoom:y,minZoom:_}=m();y?.setScaleExtent([_,v]),p({maxZoom:v})},"setMaxZoom"),setTranslateExtent:r(v=>{m().panZoom?.setTranslateExtent(v),p({translateExtent:v})},"setTranslateExtent"),resetSelectedElements:r(()=>{const{edges:v,nodes:y,triggerNodeChanges:_,triggerEdgeChanges:g,elementsSelectable:x}=m();if(!x)return;const N=y.reduce((C,D)=>D.selected?[...C,$e(D.id,!1)]:C,[]),E=v.reduce((C,D)=>D.selected?[...C,$e(D.id,!1)]:C,[]);_(N),g(E)},"resetSelectedElements"),setNodeExtent:r(v=>{const{nodes:y,nodeLookup:_,parentLookup:g,nodeOrigin:x,elevateNodesOnSelect:N,nodeExtent:E,zIndexMode:C}=m();v[0][0]===E[0][0]&&v[0][1]===E[0][1]&&v[1][0]===E[1][0]&&v[1][1]===E[1][1]||(Hn(y,_,g,{nodeOrigin:x,nodeExtent:v,elevateNodesOnSelect:N,checkEquality:!1,zIndexMode:C}),p({nodeExtent:v}))},"setNodeExtent"),panBy:r(v=>{const{transform:y,width:_,height:g,panZoom:x,translateExtent:N}=m();return vd({delta:v,panZoom:x,transform:y,translateExtent:N,width:_,height:g})},"panBy"),setCenter:r(async(v,y,_)=>{const{width:g,height:x,maxZoom:N,panZoom:E}=m();if(!E)return Promise.resolve(!1);const C=typeof _?.zoom<"u"?_.zoom:N;return await E.setViewport({x:g/2-v*C,y:x/2-y*C,zoom:C},{duration:_?.duration,ease:_?.ease,interpolate:_?.interpolate}),Promise.resolve(!0)},"setCenter"),cancelConnection:r(()=>{p({connection:{...Qr}})},"cancelConnection"),updateConnection:r(v=>{p({connection:v})},"updateConnection"),reset:r(()=>p({...xr()}),"reset")}},Object.is),"createStore");function Vh({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:i,initialHeight:s,initialMinZoom:a,initialMaxZoom:c,initialFitViewOptions:u,fitView:l,nodeOrigin:f,nodeExtent:d,zIndexMode:h,children:p}){const[m]=z.useState(()=>Lh({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:i,height:s,fitView:l,minZoom:a,maxZoom:c,fitViewOptions:u,nodeOrigin:f,nodeExtent:d,zIndexMode:h}));return $.jsx(nf,{value:m,children:$.jsx(Cf,{children:p})})}r(Vh,"ReactFlowProvider");function Oh({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:i,width:s,height:a,fitView:c,fitViewOptions:u,minZoom:l,maxZoom:f,nodeOrigin:d,nodeExtent:h,zIndexMode:p}){return z.useContext(rn)?$.jsx($.Fragment,{children:e}):$.jsx(Vh,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:i,initialWidth:s,initialHeight:a,fitView:c,initialFitViewOptions:u,initialMinZoom:l,initialMaxZoom:f,nodeOrigin:d,nodeExtent:h,zIndexMode:p,children:e})}r(Oh,"Wrapper");const Bh={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Fh({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:s,edgeTypes:a,onNodeClick:c,onEdgeClick:u,onInit:l,onMove:f,onMoveStart:d,onMoveEnd:h,onConnect:p,onConnectStart:m,onConnectEnd:w,onClickConnectStart:v,onClickConnectEnd:y,onNodeMouseEnter:_,onNodeMouseMove:g,onNodeMouseLeave:x,onNodeContextMenu:N,onNodeDoubleClick:E,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:T,onNodesDelete:B,onEdgesDelete:A,onDelete:H,onSelectionChange:L,onSelectionDragStart:b,onSelectionDrag:M,onSelectionDragStop:S,onSelectionContextMenu:k,onSelectionStart:I,onSelectionEnd:P,onBeforeDelete:R,connectionMode:O,connectionLineType:V=Ie.Bezier,connectionLineStyle:X,connectionLineComponent:j,connectionLineContainerStyle:q,deleteKeyCode:K="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:F=!1,selectionMode:Y=ht.Full,panActivationKeyCode:J="Space",multiSelectionKeyCode:Q=pt()?"Meta":"Control",zoomActivationKeyCode:G=pt()?"Meta":"Control",snapToGrid:U,snapGrid:te,onlyRenderVisibleElements:oe=!1,selectNodesOnDrag:ne,nodesDraggable:ae,autoPanOnNodeFocus:Ne,nodesConnectable:ve,nodesFocusable:Ae,nodeOrigin:Qe=ki,edgesFocusable:Je,edgesReconnectable:et,elementsSelectable:ln=!0,defaultViewport:Et=mf,minZoom:Ve=.5,maxZoom:tt=2,translateExtent:oo=ft,preventScrolling:ss=!0,nodeExtent:un,defaultMarkerColor:as="#b1b1b7",zoomOnScroll:cs=!0,zoomOnPinch:ls=!0,panOnScroll:us=!1,panOnScrollSpeed:ds=.5,panOnScrollMode:fs=Te.Free,zoomOnDoubleClick:hs=!0,panOnDrag:gs=!0,onPaneClick:ps,onPaneMouseEnter:ms,onPaneMouseMove:ys,onPaneMouseLeave:xs,onPaneScroll:ws,onPaneContextMenu:vs,paneClickDistance:bs=1,nodeClickDistance:_s=0,children:Es,onReconnect:Ss,onReconnectStart:Ns,onReconnectEnd:Cs,onEdgeContextMenu:Ms,onEdgeDoubleClick:Is,onEdgeMouseEnter:ks,onEdgeMouseMove:As,onEdgeMouseLeave:$s,reconnectRadius:Ps=10,onNodesChange:Ds,onEdgesChange:Ts,noDragClassName:zs="nodrag",noWheelClassName:Hs="nowheel",noPanClassName:ro="nopan",fitView:io,fitViewOptions:so,connectOnClick:Rs,attributionPosition:Ls,proOptions:Vs,defaultEdgeOptions:Os,elevateNodesOnSelect:Bs=!0,elevateEdgesOnSelect:Fs=!1,disableKeyboardA11y:ao=!1,autoPanOnConnect:js,autoPanOnNodeDrag:Xs,autoPanSpeed:Ys,connectionRadius:Zs,isValidConnection:Ws,onError:qs,style:Gs,id:co,nodeDragThreshold:Us,connectionDragThreshold:Ks,viewport:Qs,onViewportChange:Js,width:ea,height:ta,colorMode:na="light",debug:oa,onScroll:lo,ariaLabelConfig:ra,zIndexMode:uo="basic",...ia},sa){const dn=co||"1",aa=vf(na),ca=z.useCallback(fo=>{fo.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),lo?.(fo)},[lo]);return $.jsx("div",{"data-testid":"rf__wrapper",...ia,onScroll:ca,style:{...Gs,...Bh},ref:sa,className:se(["react-flow",i,aa]),id:co,role:"application",children:$.jsxs(Oh,{nodes:e,edges:t,width:ea,height:ta,fitView:io,fitViewOptions:so,minZoom:Ve,maxZoom:tt,nodeOrigin:Qe,nodeExtent:un,zIndexMode:uo,children:[$.jsx(Rh,{onInit:l,onNodeClick:c,onEdgeClick:u,onNodeMouseEnter:_,onNodeMouseMove:g,onNodeMouseLeave:x,onNodeContextMenu:N,onNodeDoubleClick:E,nodeTypes:s,edgeTypes:a,connectionLineType:V,connectionLineStyle:X,connectionLineComponent:j,connectionLineContainerStyle:q,selectionKeyCode:W,selectionOnDrag:F,selectionMode:Y,deleteKeyCode:K,multiSelectionKeyCode:Q,panActivationKeyCode:J,zoomActivationKeyCode:G,onlyRenderVisibleElements:oe,defaultViewport:Et,translateExtent:oo,minZoom:Ve,maxZoom:tt,preventScrolling:ss,zoomOnScroll:cs,zoomOnPinch:ls,zoomOnDoubleClick:hs,panOnScroll:us,panOnScrollSpeed:ds,panOnScrollMode:fs,panOnDrag:gs,onPaneClick:ps,onPaneMouseEnter:ms,onPaneMouseMove:ys,onPaneMouseLeave:xs,onPaneScroll:ws,onPaneContextMenu:vs,paneClickDistance:bs,nodeClickDistance:_s,onSelectionContextMenu:k,onSelectionStart:I,onSelectionEnd:P,onReconnect:Ss,onReconnectStart:Ns,onReconnectEnd:Cs,onEdgeContextMenu:Ms,onEdgeDoubleClick:Is,onEdgeMouseEnter:ks,onEdgeMouseMove:As,onEdgeMouseLeave:$s,reconnectRadius:Ps,defaultMarkerColor:as,noDragClassName:zs,noWheelClassName:Hs,noPanClassName:ro,rfId:dn,disableKeyboardA11y:ao,nodeExtent:un,viewport:Qs,onViewportChange:Js}),$.jsx(wf,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:p,onConnectStart:m,onConnectEnd:w,onClickConnectStart:v,onClickConnectEnd:y,nodesDraggable:ae,autoPanOnNodeFocus:Ne,nodesConnectable:ve,nodesFocusable:Ae,edgesFocusable:Je,edgesReconnectable:et,elementsSelectable:ln,elevateNodesOnSelect:Bs,elevateEdgesOnSelect:Fs,minZoom:Ve,maxZoom:tt,nodeExtent:un,onNodesChange:Ds,onEdgesChange:Ts,snapToGrid:U,snapGrid:te,connectionMode:O,translateExtent:oo,connectOnClick:Rs,defaultEdgeOptions:Os,fitView:io,fitViewOptions:so,onNodesDelete:B,onEdgesDelete:A,onDelete:H,onNodeDragStart:C,onNodeDrag:D,onNodeDragStop:T,onSelectionDrag:M,onSelectionDragStart:b,onSelectionDragStop:S,onMove:f,onMoveStart:d,onMoveEnd:h,noPanClassName:ro,nodeOrigin:Qe,rfId:dn,autoPanOnConnect:js,autoPanOnNodeDrag:Xs,autoPanSpeed:Ys,onError:qs,connectionRadius:Zs,isValidConnection:Ws,selectNodesOnDrag:ne,nodeDragThreshold:Us,connectionDragThreshold:Ks,onBeforeDelete:R,debug:oa,ariaLabelConfig:ra,zIndexMode:uo}),$.jsx(pf,{onSelectionChange:L}),Es,$.jsx(uf,{proOptions:Vs,position:Ls}),$.jsx(lf,{rfId:dn,disableKeyboardA11y:ao})]})})}r(Fh,"ReactFlow");var mg=Di(Fh);function yg(e){const[t,n]=z.useState(e),o=z.useCallback(i=>n(s=>$i(i,s)),[]);return[t,n,o]}r(yg,"useNodesState");function xg(e){const[t,n]=z.useState(e),o=z.useCallback(i=>n(s=>Pi(i,s)),[]);return[t,n,o]}r(xg,"useEdgesState");function jh({dimensions:e,lineWidth:t,variant:n,className:o}){return $.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:se(["react-flow__background-pattern",n,o])})}r(jh,"LinePattern");function Xh({radius:e,className:t}){return $.jsx("circle",{cx:e,cy:e,r:e,className:se(["react-flow__background-pattern","dots",t])})}r(Xh,"DotPattern");var ke;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ke||(ke={}));const Yh={[ke.Dots]:1,[ke.Lines]:1,[ke.Cross]:6},Zh=r(e=>({transform:e.transform,patternId:`pattern-${e.rfId}`}),"selector$3");function os({id:e,variant:t=ke.Dots,gap:n=20,size:o,lineWidth:i=1,offset:s=0,color:a,bgColor:c,style:u,className:l,patternClassName:f}){const d=z.useRef(null),{transform:h,patternId:p}=ee(Zh,re),m=o||Yh[t],w=t===ke.Dots,v=t===ke.Cross,y=Array.isArray(n)?n:[n,n],_=[y[0]*h[2]||1,y[1]*h[2]||1],g=m*h[2],x=Array.isArray(s)?s:[s,s],N=v?[g,g]:_,E=[x[0]*h[2]||1+N[0]/2,x[1]*h[2]||1+N[1]/2],C=`${p}${e||""}`;return $.jsxs("svg",{className:se(["react-flow__background",l]),style:{...u,...an,"--xy-background-color-props":c,"--xy-background-pattern-color-props":a},ref:d,"data-testid":"rf__background",children:[$.jsx("pattern",{id:C,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${E[0]},-${E[1]})`,children:w?$.jsx(Xh,{radius:g/2,className:f}):$.jsx(jh,{dimensions:N,lineWidth:i,variant:t,className:f})}),$.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}r(os,"BackgroundComponent");os.displayName="Background";const wg=z.memo(os);function Wh(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:$.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}r(Wh,"PlusIcon");function qh(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:$.jsx("path",{d:"M0 0h32v4.2H0z"})})}r(qh,"MinusIcon");function Gh(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:$.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}r(Gh,"FitViewIcon");function Uh(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:$.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}r(Uh,"LockIcon");function Kh(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:$.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}r(Kh,"UnlockIcon");function Pt({children:e,className:t,...n}){return $.jsx("button",{type:"button",className:se(["react-flow__controls-button",t]),...n,children:e})}r(Pt,"ControlButton");const Qh=r(e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig}),"selector$2");function rs({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:s,onZoomOut:a,onFitView:c,onInteractiveChange:u,className:l,children:f,position:d="bottom-left",orientation:h="vertical","aria-label":p}){const m=ie(),{isInteractive:w,minZoomReached:v,maxZoomReached:y,ariaLabelConfig:_}=ee(Qh,re),{zoomIn:g,zoomOut:x,fitView:N}=to(),E=r(()=>{g(),s?.()},"onZoomInHandler"),C=r(()=>{x(),a?.()},"onZoomOutHandler"),D=r(()=>{N(i),c?.()},"onFitViewHandler"),T=r(()=>{m.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),u?.(!w)},"onToggleInteractivity"),B=h==="horizontal"?"horizontal":"vertical";return $.jsxs(sn,{className:se(["react-flow__controls",B,l]),position:d,style:e,"data-testid":"rf__controls","aria-label":p??_["controls.ariaLabel"],children:[t&&$.jsxs($.Fragment,{children:[$.jsx(Pt,{onClick:E,className:"react-flow__controls-zoomin",title:_["controls.zoomIn.ariaLabel"],"aria-label":_["controls.zoomIn.ariaLabel"],disabled:y,children:$.jsx(Wh,{})}),$.jsx(Pt,{onClick:C,className:"react-flow__controls-zoomout",title:_["controls.zoomOut.ariaLabel"],"aria-label":_["controls.zoomOut.ariaLabel"],disabled:v,children:$.jsx(qh,{})})]}),n&&$.jsx(Pt,{className:"react-flow__controls-fitview",onClick:D,title:_["controls.fitView.ariaLabel"],"aria-label":_["controls.fitView.ariaLabel"],children:$.jsx(Gh,{})}),o&&$.jsx(Pt,{className:"react-flow__controls-interactive",onClick:T,title:_["controls.interactive.ariaLabel"],"aria-label":_["controls.interactive.ariaLabel"],children:w?$.jsx(Kh,{}):$.jsx(Uh,{})}),f]})}r(rs,"ControlsComponent");rs.displayName="Controls";const vg=z.memo(rs);function Jh({id:e,x:t,y:n,width:o,height:i,style:s,color:a,strokeColor:c,strokeWidth:u,className:l,borderRadius:f,shapeRendering:d,selected:h,onClick:p}){const{background:m,backgroundColor:w}=s||{},v=a||m||w;return $.jsx("rect",{className:se(["react-flow__minimap-node",{selected:h},l]),x:t,y:n,rx:f,ry:f,width:o,height:i,style:{fill:v,stroke:c,strokeWidth:u},shapeRendering:d,onClick:p?y=>p(y,e):void 0})}r(Jh,"MiniMapNodeComponent");const eg=z.memo(Jh),tg=r(e=>e.nodes.map(t=>t.id),"selectorNodeIds"),Sn=r(e=>e instanceof Function?e:()=>e,"getAttrFunction");function ng({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:i,nodeComponent:s=eg,onClick:a}){const c=ee(tg,re),u=Sn(t),l=Sn(e),f=Sn(n),d=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return $.jsx($.Fragment,{children:c.map(h=>$.jsx(rg,{id:h,nodeColorFunc:u,nodeStrokeColorFunc:l,nodeClassNameFunc:f,nodeBorderRadius:o,nodeStrokeWidth:i,NodeComponent:s,onClick:a,shapeRendering:d},h))})}r(ng,"MiniMapNodes");function og({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:i,nodeStrokeWidth:s,shapeRendering:a,NodeComponent:c,onClick:u}){const{node:l,x:f,y:d,width:h,height:p}=ee(m=>{const w=m.nodeLookup.get(e);if(!w)return{node:void 0,x:0,y:0,width:0,height:0};const v=w.internals.userNode,{x:y,y:_}=w.internals.positionAbsolute,{width:g,height:x}=Se(v);return{node:v,x:y,y:_,width:g,height:x}},re);return!l||l.hidden||!ii(l)?null:$.jsx(c,{x:f,y:d,width:h,height:p,style:l.style,selected:!!l.selected,className:o(l),color:t(l),borderRadius:i,strokeColor:n(l),strokeWidth:s,shapeRendering:a,onClick:u,id:l.id})}r(og,"NodeComponentWrapperInner");const rg=z.memo(og);var ig=z.memo(ng);const sg=200,ag=150,cg=r(e=>!e.hidden,"filterHidden"),lg=r(e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?ri(vt(e.nodeLookup,{filter:cg}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},"selector$1"),ug="react-flow__minimap-desc";function is({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:i="",nodeBorderRadius:s=5,nodeStrokeWidth:a,nodeComponent:c,bgColor:u,maskColor:l,maskStrokeColor:f,maskStrokeWidth:d,position:h="bottom-right",onClick:p,onNodeClick:m,pannable:w=!1,zoomable:v=!1,ariaLabel:y,inversePan:_,zoomStep:g=1,offsetScale:x=5}){const N=ie(),E=z.useRef(null),{boundingRect:C,viewBB:D,rfId:T,panZoom:B,translateExtent:A,flowWidth:H,flowHeight:L,ariaLabelConfig:b}=ee(lg,re),M=e?.width??sg,S=e?.height??ag,k=C.width/M,I=C.height/S,P=Math.max(k,I),R=P*M,O=P*S,V=x*P,X=C.x-(R-C.width)/2-V,j=C.y-(O-C.height)/2-V,q=R+V*2,K=O+V*2,W=`${ug}-${T}`,F=z.useRef(0),Y=z.useRef();F.current=P,z.useEffect(()=>{if(E.current&&B)return Y.current=kd({domNode:E.current,panZoom:B,getTransform:r(()=>N.getState().transform,"getTransform"),getViewScale:r(()=>F.current,"getViewScale")}),()=>{Y.current?.destroy()}},[B]),z.useEffect(()=>{Y.current?.update({translateExtent:A,width:H,height:L,inversePan:_,pannable:w,zoomStep:g,zoomable:v})},[w,v,_,g,A,H,L]);const J=p?U=>{const[te,oe]=Y.current?.pointer(U)||[0,0];p(U,{x:te,y:oe})}:void 0,Q=m?z.useCallback((U,te)=>{const oe=N.getState().nodeLookup.get(te).internals.userNode;m(U,oe)},[]):void 0,G=y??b["minimap.ariaLabel"];return $.jsx(sn,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-stroke-width-props":typeof d=="number"?d*P:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:se(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:$.jsxs("svg",{width:M,height:S,viewBox:`${X} ${j} ${q} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":W,ref:E,onClick:J,children:[G&&$.jsx("title",{id:W,children:G}),$.jsx(ig,{onClick:Q,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:i,nodeStrokeWidth:a,nodeComponent:c}),$.jsx("path",{className:"react-flow__minimap-mask",d:`M${X-V},${j-V}h${q+V*2}v${K+V*2}h${-q-V*2}z
7
+ M${D.x},${D.y}h${D.width}v${D.height}h${-D.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}r(is,"MiniMapComponent");is.displayName="MiniMap";const bg=z.memo(is),dg=r(e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,"scaleSelector"),fg={[Ke.Line]:"right",[Ke.Handle]:"bottom-right"};function hg({nodeId:e,position:t,variant:n=Ke.Handle,className:o,style:i=void 0,children:s,color:a,minWidth:c=10,minHeight:u=10,maxWidth:l=Number.MAX_VALUE,maxHeight:f=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:h,autoScale:p=!0,shouldResize:m,onResizeStart:w,onResize:v,onResizeEnd:y}){const _=Ri(),g=typeof e=="string"?e:_,x=ie(),N=z.useRef(null),E=n===Ke.Handle,C=ee(z.useCallback(dg(E&&p),[E,p]),re),D=z.useRef(null),T=t??fg[n];z.useEffect(()=>{if(!(!N.current||!g))return D.current||(D.current=jd({domNode:N.current,nodeId:g,getStoreItems:r(()=>{const{nodeLookup:A,transform:H,snapGrid:L,snapToGrid:b,nodeOrigin:M,domNode:S}=x.getState();return{nodeLookup:A,transform:H,snapGrid:L,snapToGrid:b,nodeOrigin:M,paneDomNode:S}},"getStoreItems"),onChange:r((A,H)=>{const{triggerNodeChanges:L,nodeLookup:b,parentLookup:M,nodeOrigin:S}=x.getState(),k=[],I={x:A.x,y:A.y},P=b.get(g);if(P&&P.expandParent&&P.parentId){const R=P.origin??S,O=A.width??P.measured.width??0,V=A.height??P.measured.height??0,X={id:P.id,parentId:P.parentId,rect:{width:O,height:V,...si({x:A.x??P.position.x,y:A.y??P.position.y},{width:O,height:V},P.parentId,b,R)}},j=eo([X],b,M,S);k.push(...j),I.x=A.x?Math.max(R[0]*O,A.x):void 0,I.y=A.y?Math.max(R[1]*V,A.y):void 0}if(I.x!==void 0&&I.y!==void 0){const R={id:g,type:"position",position:{...I}};k.push(R)}if(A.width!==void 0&&A.height!==void 0){const O={id:g,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:A.width,height:A.height}};k.push(O)}for(const R of H){const O={...R,type:"position"};k.push(O)}L(k)},"onChange"),onEnd:r(({width:A,height:H})=>{const L={id:g,type:"dimensions",resizing:!1,dimensions:{width:A,height:H}};x.getState().triggerNodeChanges([L])},"onEnd")})),D.current.update({controlPosition:T,boundaries:{minWidth:c,minHeight:u,maxWidth:l,maxHeight:f},keepAspectRatio:d,resizeDirection:h,onResizeStart:w,onResize:v,onResizeEnd:y,shouldResize:m}),()=>{D.current?.destroy()}},[T,c,u,l,f,d,w,v,y,m]);const B=T.split("-");return $.jsx("div",{className:se(["react-flow__resize-control","nodrag",...B,n,o]),ref:N,style:{...i,scale:C,...a&&{[E?"backgroundColor":"borderColor"]:a}},children:s})}r(hg,"ResizeControl");z.memo(hg);export{wg as B,vg as C,qt as H,bg as M,Z as P,Vh as R,xg as a,ke as b,to as c,mg as i,yg as u};
@@ -0,0 +1 @@
1
+ var J=Object.defineProperty;var x=(s,e)=>J(s,"name",{value:e,configurable:!0});import{C as K,x as I,t as E,y,j as l,w as z,f as O,u as T,z as W,B as N,E as L,v as V,a as Q,b as U,c as X}from"./entry.Cxc5QLCU.js";import{g as j,a as A}from"./chunk.rc9m0y4-.js";const[P,D]=K("Grid component was not found in tree");var B={container:"m_8478a6da",root:"m_410352e9",inner:"m_dee7bd2f",col:"m_96bdd299"};const $=x((s,e)=>s==="content"?"auto":s==="auto"?"0rem":s?`${100/(e/s)}%`:void 0,"getColumnFlexBasis"),R=x((s,e,r)=>r||s==="auto"?"100%":s==="content"?"unset":$(s,e),"getColumnMaxWidth"),q=x((s,e)=>{if(s)return s==="auto"||e?"1":"auto"},"getColumnFlexGrow"),M=x((s,e)=>s===0?"0":s?`${100/(e/s)}%`:void 0,"getColumnOffset");function Y({span:s,order:e,offset:r,selector:a}){const v=I(),t=D(),d=t.breakpoints||v.breakpoints,u=j(s)===void 0?12:j(s),m=E({"--col-order":j(e)?.toString(),"--col-flex-grow":q(u,t.grow),"--col-flex-basis":$(u,t.columns),"--col-width":u==="content"?"auto":void 0,"--col-max-width":R(u,t.columns,t.grow),"--col-offset":M(j(r),t.columns)}),i=y(d).reduce((n,o)=>(n[o]||(n[o]={}),typeof e=="object"&&e[o]!==void 0&&(n[o]["--col-order"]=e[o]?.toString()),typeof s=="object"&&s[o]!==void 0&&(n[o]["--col-flex-grow"]=q(s[o],t.grow),n[o]["--col-flex-basis"]=$(s[o],t.columns),n[o]["--col-width"]=s[o]==="content"?"auto":void 0,n[o]["--col-max-width"]=R(s[o],t.columns,t.grow)),typeof r=="object"&&r[o]!==void 0&&(n[o]["--col-offset"]=M(r[o],t.columns)),n),{}),h=A(y(i),d).filter(n=>y(i[n.value]).length>0).map(n=>({query:t.type==="container"?`mantine-grid (min-width: ${d[n.value]})`:`(min-width: ${d[n.value]})`,styles:i[n.value]}));return l.jsx(z,{styles:m,media:t.type==="container"?void 0:h,container:t.type==="container"?h:void 0,selector:a})}x(Y,"GridColVariables");const Z={span:12},_=O((s,e)=>{const r=T("GridCol",Z,s),{classNames:a,className:v,style:t,styles:d,vars:g,span:u,order:m,offset:i,...c}=r,h=D(),n=W();return l.jsxs(l.Fragment,{children:[l.jsx(Y,{selector:`.${n}`,span:u,order:m,offset:i}),l.jsx(N,{ref:e,...h.getStyles("col",{className:L(v,n),style:t,classNames:a,styles:d}),...c})]})});_.classes=B;_.displayName="@mantine/core/GridCol";function F({gutter:s,selector:e,breakpoints:r,type:a}){const v=I(),t=r||v.breakpoints,d=E({"--grid-gutter":V(j(s))}),g=y(t).reduce((i,c)=>(i[c]||(i[c]={}),typeof s=="object"&&s[c]!==void 0&&(i[c]["--grid-gutter"]=V(s[c])),i),{}),m=A(y(g),t).filter(i=>y(g[i.value]).length>0).map(i=>({query:a==="container"?`mantine-grid (min-width: ${t[i.value]})`:`(min-width: ${t[i.value]})`,styles:g[i.value]}));return l.jsx(z,{styles:d,media:a==="container"?void 0:m,container:a==="container"?m:void 0,selector:e})}x(F,"GridVariables");const b={gutter:"md",grow:!1,columns:12},k=U((s,{justify:e,align:r,overflow:a})=>({root:{"--grid-justify":e,"--grid-align":r,"--grid-overflow":a}})),p=O((s,e)=>{const r=T("Grid",b,s),{classNames:a,className:v,style:t,styles:d,unstyled:g,vars:u,grow:m,gutter:i,columns:c,align:h,justify:n,children:o,breakpoints:C,type:G,attributes:H,...S}=r,f=Q({name:"Grid",classes:B,props:r,className:v,style:t,classNames:a,styles:d,unstyled:g,attributes:H,vars:u,varsResolver:k}),w=W();return G==="container"&&C?l.jsxs(P,{value:{getStyles:f,grow:m,columns:c,breakpoints:C,type:G},children:[l.jsx(F,{selector:`.${w}`,...r}),l.jsx("div",{...f("container"),children:l.jsx(N,{ref:e,...f("root",{className:w}),...S,children:l.jsx("div",{...f("inner"),children:o})})})]}):l.jsxs(P,{value:{getStyles:f,grow:m,columns:c,breakpoints:C,type:G},children:[l.jsx(F,{selector:`.${w}`,...r}),l.jsx(N,{ref:e,...f("root",{className:w}),...S,children:l.jsx("div",{...f("inner"),children:o})})]})});p.classes=B;p.displayName="@mantine/core/Grid";p.Col=_;const ss=[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 7v5l3 3",key:"svg-1"}]],ns=X("outline","clock","Clock",ss);export{p as G,ns as I};
@@ -1 +1 @@
1
- import{C as o}from"./entry.GYhBVRpC.js";const a=[["path",{d:"M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]],c=o("outline","copy","Copy",a);export{c as I};
1
+ import{c as o}from"./entry.Cxc5QLCU.js";const a=[["path",{d:"M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]],t=o("outline","copy","Copy",a);export{t as I};
@@ -0,0 +1 @@
1
+ var N=Object.defineProperty;var a=(t,o)=>N(t,"name",{value:o,configurable:!0});import{r as P,f as D,u as A,a as F,j as e,B as H,b as V,c as k,m as G,H as L,L as W,e as f,M as U,F as i,ao as O,ap as j,n as c,S as z,T as r,o as w}from"./entry.Cxc5QLCU.js";import{d as q}from"./chunk.BTXaIUlA.js";import{I as K,a as Q,b as J,c as X,d as I}from"./chunk.CZPo6v95.js";import{I as Y}from"./chunk.CFqIniwA.js";import{I as Z}from"./chunk.DMImnNjU.js";import{S as R}from"./chunk.rc9m0y4-.js";import{I as ee,G as S}from"./chunk.Dt8OsQey.js";const te=["h1","h2","h3","h4","h5","h6"],se=["xs","sm","md","lg","xl"];function oe(t,o){const s=o!==void 0?o:`h${t}`;return te.includes(s)?{fontSize:`var(--mantine-${s}-font-size)`,fontWeight:`var(--mantine-${s}-font-weight)`,lineHeight:`var(--mantine-${s}-line-height)`}:se.includes(s)?{fontSize:`var(--mantine-font-size-${s})`,fontWeight:`var(--mantine-h${t}-font-weight)`,lineHeight:`var(--mantine-h${t}-line-height)`}:{fontSize:P(s),fontWeight:`var(--mantine-h${t}-font-weight)`,lineHeight:`var(--mantine-h${t}-line-height)`}}a(oe,"getTitleSize");var T={root:"m_8a5d1357"};const ne={order:1},ae=V((t,{order:o,size:s,lineClamp:u,textWrap:p})=>{const d=oe(o||1,s);return{root:{"--title-fw":d.fontWeight,"--title-lh":d.lineHeight,"--title-fz":d.fontSize,"--title-line-clamp":typeof u=="number"?u.toString():void 0,"--title-text-wrap":p}}}),x=D((t,o)=>{const s=A("Title",ne,t),{classNames:u,className:p,style:d,styles:b,unstyled:$,order:h,vars:l,size:M,variant:n,lineClamp:m,textWrap:g,mod:y,attributes:C,...B}=s,E=F({name:"Title",props:s,classes:T,className:p,style:d,classNames:u,styles:b,unstyled:$,attributes:C,vars:l,varsResolver:ae});return[1,2,3,4,5,6].includes(h)?e.jsx(H,{...E("root"),component:`h${h}`,variant:n,ref:o,mod:[{order:h,"data-line-clamp":typeof m=="number"},y],size:M,...B}):null});x.classes=T;x.displayName="@mantine/core/Title";const re=[["path",{d:"M9 9v8.044a2 2 0 0 1 -2.996 1.734l-1.568 -.9a3 3 0 0 1 -1.436 -2.561v-6.635a3 3 0 0 1 1.436 -2.56l6 -3.667a3 3 0 0 1 3.128 0l6 3.667a3 3 0 0 1 1.436 2.561v6.634a3 3 0 0 1 -1.436 2.56l-6 3.667a3 3 0 0 1 -3.128 0",key:"svg-0"}],["path",{d:"M17 9h-3.5a1.5 1.5 0 0 0 0 3h2a1.5 1.5 0 0 1 0 3h-3.5",key:"svg-1"}]],le=k("outline","brand-nodejs","BrandNodejs",re);const ie=[["path",{d:"M5 6a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1l0 -12",key:"svg-0"}],["path",{d:"M9 9h6v6h-6l0 -6",key:"svg-1"}],["path",{d:"M3 10h2",key:"svg-2"}],["path",{d:"M3 14h2",key:"svg-3"}],["path",{d:"M10 3v2",key:"svg-4"}],["path",{d:"M14 3v2",key:"svg-5"}],["path",{d:"M21 10h-2",key:"svg-6"}],["path",{d:"M21 14h-2",key:"svg-7"}],["path",{d:"M14 21v-2",key:"svg-8"}],["path",{d:"M10 21v-2",key:"svg-9"}]],ce=k("outline","cpu","Cpu",ie);const de=[["path",{d:"M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054",key:"svg-0"}],["path",{d:"M4 20l3.5 -3.5",key:"svg-1"}],["path",{d:"M15 4l-3.5 3.5",key:"svg-2"}],["path",{d:"M20 9l-3.5 3.5",key:"svg-3"}]],he=k("outline","plug","Plug",de);const me=[["path",{d:"M3 7a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3",key:"svg-0"}],["path",{d:"M3 15a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3l0 -2",key:"svg-1"}],["path",{d:"M7 8l0 .01",key:"svg-2"}],["path",{d:"M7 16l0 .01",key:"svg-3"}]],ue=k("outline","server","Server",me),pe=a(t=>{if(t<60)return`${Math.floor(t)}s`;if(t<3600)return`${Math.floor(t/60)}m ${Math.floor(t%60)}s`;const o=Math.floor(t/3600),s=Math.floor(t%3600/60);return`${o}h ${s}m`},"formatUptime"),ge=a(t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,"formatBytes"),fe={ERROR:"red",WARN:"yellow",INFO:"blue",DEBUG:"gray",TRACE:"dimmed"},ve={http:"teal",db:"violet",error:"red"},_=a(t=>{if(!(!t||typeof t!="object")){if(t.status&&t.method&&t.path&&t.duration)return"http";if(t.type==="db:query")return"db"}},"detectEventType"),xe=a(t=>{const o=t.data,s=_(o);return s==="http"?`${o.method} ${o.path} → ${o.status} (${o.duration}ms)`:s==="db"?`${o.operation} (${Math.round(o.duration)}ms)`:t.message},"formatEvent"),we=a(()=>{const t=G(L),o=W(),[s,u]=f.useState(null),[p,d]=f.useState([]),[b,$]=f.useState([]),h=f.useCallback(async()=>{if(document.visibilityState==="visible")try{const[n,m,g]=await Promise.all([t.fetch("/__devtools/api/metadata",{schema:{response:q}}),t.fetch("/__devtools/api/logs?limit=10&level=DEBUG"),t.fetch("/__devtools/api/logs?limit=20&type=http,db")]);u(n.data),d(m.data?.logs??[]),$(g.data?.logs??[])}catch{}},[t]);f.useEffect(()=>{h();const n=setInterval(h,1e4);return()=>clearInterval(n)},[h]);const l=s?.system,M=f.useMemo(()=>s?[{label:"Actions",count:s.actions?.length??0,icon:K,color:"teal"},{label:"Pages",count:s.pages?.length??0,icon:Q,color:"blue"},{label:"Entities",count:s.entities?.length??0,icon:U,color:"violet"},{label:"Queues",count:s.queues?.length??0,icon:J,color:"orange"},{label:"Topics",count:s.topics?.length??0,icon:X,color:"pink"},{label:"Caches",count:s.caches?.length??0,icon:I,color:"cyan"},{label:"Providers",count:s.providers?.length??0,icon:he,color:"grape"},{label:"Atoms",count:s.atoms?.length??0,icon:Y,color:"lime"},{label:"Env Vars",count:s.envs?.length??0,icon:Z,color:"yellow"}]:[],[s]);return e.jsx(i,{p:"lg",w:"100%",flex:1,direction:"column",style:{overflow:"auto"},children:e.jsxs(i,{direction:"column",gap:"lg",children:[e.jsxs("div",{children:[e.jsx(x,{order:5,mb:"sm",c:"dimmed",tt:"uppercase",fz:"xs",fw:600,lts:1,children:"System"}),e.jsx(R,{cols:{base:2,sm:3,md:4,lg:6},spacing:"sm",children:l&&e.jsxs(e.Fragment,{children:[e.jsx(v,{icon:ue,label:"Runtime",value:l.runtime==="bun"?"Bun":"Node.js"}),e.jsx(v,{icon:le,label:"Version",value:l.nodeVersion}),e.jsx(v,{icon:O,label:"Mode",value:l.mode}),e.jsx(v,{icon:I,label:"Port",value:String(l.port)}),e.jsx(v,{icon:ee,label:"Uptime",value:pe(l.uptime)}),e.jsx(v,{icon:ce,label:"Memory",value:ge(l.memoryUsage)})]})})]}),e.jsxs(S,{gutter:"lg",children:[e.jsx(S.Col,{span:{base:12,md:7},children:e.jsxs(j,{padding:"md",radius:"md",style:{background:c.colors.surface,border:`1px solid ${c.colors.border}`},children:[e.jsx(x,{order:5,mb:"sm",c:"dimmed",tt:"uppercase",fz:"xs",fw:600,lts:1,children:"Recent Events"}),e.jsx(z,{h:280,children:e.jsxs(i,{direction:"column",gap:4,children:[b.length===0&&e.jsx(r,{c:"dimmed",fz:"sm",ta:"center",py:"xl",children:"No events yet"}),b.map((n,m)=>{const g=_(n.data)??"log";return e.jsxs(i,{gap:"xs",px:"xs",py:4,style:{borderRadius:4,cursor:"pointer",transition:"background 150ms"},onMouseEnter:a(y=>{y.currentTarget.style.background=`${c.colors.elevated}`},"onMouseEnter"),onMouseLeave:a(y=>{y.currentTarget.style.background="transparent"},"onMouseLeave"),children:[e.jsx(r,{fz:"xs",c:"dimmed",ff:"monospace",w:55,style:{flexShrink:0},children:new Date(n.timestamp).toLocaleTimeString("en",{hour12:!1})}),e.jsx(w,{size:"xs",variant:"light",color:ve[g]??"gray",style:{flexShrink:0},children:g==="http"?"HTTP":g==="db"?"DB":"LOG"}),e.jsx(r,{fz:"xs",ff:"monospace",truncate:!0,style:{flex:1},children:xe(n)})]},`${n.timestamp}-${m}`)})]})})]})}),e.jsx(S.Col,{span:{base:12,md:5},children:e.jsxs(j,{padding:"md",radius:"md",style:{background:c.colors.surface,border:`1px solid ${c.colors.border}`},children:[e.jsxs(i,{justify:"space-between",mb:"sm",children:[e.jsx(x,{order:5,c:"dimmed",tt:"uppercase",fz:"xs",fw:600,lts:1,children:"Recent Logs"}),e.jsx(r,{fz:"xs",c:"blue",style:{cursor:"pointer"},onClick:a(()=>o.push("/logs"),"onClick"),children:"View all"})]}),e.jsx(z,{h:280,children:e.jsxs(i,{direction:"column",gap:4,children:[p.length===0&&e.jsx(r,{c:"dimmed",fz:"sm",ta:"center",py:"xl",children:"No logs yet"}),p.map((n,m)=>e.jsxs(i,{gap:"xs",px:"xs",py:4,style:{borderRadius:4},children:[e.jsx(w,{size:"xs",variant:"light",color:fe[n.level]??"gray",w:50,style:{flexShrink:0},children:n.level}),e.jsx(r,{fz:"xs",c:"dimmed",w:80,truncate:!0,style:{flexShrink:0},children:n.module}),e.jsx(r,{fz:"xs",ff:"monospace",truncate:!0,style:{flex:1},children:n.message})]},`${n.timestamp}-${m}`))]})})]})})]}),e.jsxs("div",{children:[e.jsx(x,{order:5,mb:"sm",c:"dimmed",tt:"uppercase",fz:"xs",fw:600,lts:1,children:"Primitives"}),e.jsx(R,{cols:{base:2,sm:3,md:5},spacing:"sm",children:M.map(n=>e.jsx(j,{padding:"sm",radius:"md",style:{background:c.colors.surface,border:`1px solid ${c.colors.border}`},children:e.jsxs(i,{gap:"sm",children:[e.jsx(n.icon,{size:18,opacity:.5}),e.jsxs("div",{style:{flex:1},children:[e.jsx(r,{fz:"xs",c:"dimmed",children:n.label}),e.jsx(r,{fz:"lg",fw:700,lh:1.2,children:n.count})]})]})},n.label))})]})]})})},"DevDashboard"),v=a(({icon:t,label:o,value:s})=>e.jsx(j,{padding:"sm",radius:"md",style:{background:c.colors.surface,border:`1px solid ${c.colors.border}`},children:e.jsxs(i,{gap:"xs",children:[e.jsx(t,{size:16,opacity:.4}),e.jsxs("div",{children:[e.jsx(r,{fz:10,c:"dimmed",tt:"uppercase",lts:.5,children:o}),e.jsx(r,{fz:"sm",fw:600,ff:"monospace",lh:1.3,children:s})]})]})}),"StatCard");export{we as DevDashboard,we as default};