unleash-server 5.8.2 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1000) hide show
  1. package/dist/lib/addons/addon.d.ts.map +1 -1
  2. package/dist/lib/addons/addon.js +1 -0
  3. package/dist/lib/addons/addon.js.map +1 -1
  4. package/dist/lib/addons/datadog.d.ts.map +1 -1
  5. package/dist/lib/addons/datadog.js.map +1 -1
  6. package/dist/lib/addons/feature-event-formatter-md.d.ts.map +1 -1
  7. package/dist/lib/addons/feature-event-formatter-md.js +5 -1
  8. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.test.js +18 -0
  10. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  11. package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
  12. package/dist/lib/addons/slack-app-definition.js +1 -0
  13. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  14. package/dist/lib/addons/slack-app.test.js +9 -2
  15. package/dist/lib/addons/slack-app.test.js.map +1 -1
  16. package/dist/lib/addons/webhook-definition.d.ts.map +1 -1
  17. package/dist/lib/addons/webhook-definition.js +1 -0
  18. package/dist/lib/addons/webhook-definition.js.map +1 -1
  19. package/dist/lib/addons/webhook.js.map +1 -1
  20. package/dist/lib/app.d.ts +1 -1
  21. package/dist/lib/app.d.ts.map +1 -1
  22. package/dist/lib/app.js.map +1 -1
  23. package/dist/lib/create-config.d.ts.map +1 -1
  24. package/dist/lib/create-config.js +3 -1
  25. package/dist/lib/create-config.js.map +1 -1
  26. package/dist/lib/db/access-store.d.ts +1 -1
  27. package/dist/lib/db/access-store.d.ts.map +1 -1
  28. package/dist/lib/db/access-store.js +3 -4
  29. package/dist/lib/db/access-store.js.map +1 -1
  30. package/dist/lib/db/access-store.test.js +1 -1
  31. package/dist/lib/db/access-store.test.js.map +1 -1
  32. package/dist/lib/db/client-applications-store.d.ts.map +1 -1
  33. package/dist/lib/db/client-applications-store.js.map +1 -1
  34. package/dist/lib/db/client-instance-store.d.ts +1 -0
  35. package/dist/lib/db/client-instance-store.d.ts.map +1 -1
  36. package/dist/lib/db/client-instance-store.js +9 -0
  37. package/dist/lib/db/client-instance-store.js.map +1 -1
  38. package/dist/lib/db/event-store.d.ts +2 -95
  39. package/dist/lib/db/event-store.d.ts.map +1 -1
  40. package/dist/lib/db/event-store.js +21 -293
  41. package/dist/lib/db/event-store.js.map +1 -1
  42. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  43. package/dist/lib/db/feature-environment-store.js +7 -3
  44. package/dist/lib/db/feature-environment-store.js.map +1 -1
  45. package/dist/lib/db/feature-strategy-store.test.js +2 -6
  46. package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
  47. package/dist/lib/db/index.js +5 -5
  48. package/dist/lib/db/index.js.map +1 -1
  49. package/dist/lib/db/project-stats-store.d.ts +3 -3
  50. package/dist/lib/db/project-stats-store.d.ts.map +1 -1
  51. package/dist/lib/db/project-store.d.ts.map +1 -1
  52. package/dist/lib/db/project-store.js +10 -1
  53. package/dist/lib/db/project-store.js.map +1 -1
  54. package/dist/lib/db/role-store.d.ts +4 -4
  55. package/dist/lib/db/role-store.d.ts.map +1 -1
  56. package/dist/lib/db/segment-store.d.ts.map +1 -1
  57. package/dist/lib/db/segment-store.js +1 -2
  58. package/dist/lib/db/segment-store.js.map +1 -1
  59. package/dist/lib/db/segment-store.test.js +5 -3
  60. package/dist/lib/db/segment-store.test.js.map +1 -1
  61. package/dist/lib/db/transaction.d.ts +1 -1
  62. package/dist/lib/db/transaction.d.ts.map +1 -1
  63. package/dist/lib/domain/project-health/project-health.d.ts +2 -2
  64. package/dist/lib/domain/project-health/project-health.d.ts.map +1 -1
  65. package/dist/lib/error/archivedfeature-error.d.ts +7 -0
  66. package/dist/lib/error/archivedfeature-error.d.ts.map +1 -0
  67. package/dist/lib/error/archivedfeature-error.js +12 -0
  68. package/dist/lib/error/archivedfeature-error.js.map +1 -0
  69. package/dist/lib/error/permission-error.js +1 -2
  70. package/dist/lib/error/permission-error.js.map +1 -1
  71. package/dist/lib/features/access/createAccessService.d.ts +1 -1
  72. package/dist/lib/features/access/createAccessService.d.ts.map +1 -1
  73. package/dist/lib/features/access/createAccessService.js +2 -5
  74. package/dist/lib/features/access/createAccessService.js.map +1 -1
  75. package/dist/lib/features/change-request-access-service/createChangeRequestAccessReadModel.d.ts +1 -1
  76. package/dist/lib/features/change-request-access-service/createChangeRequestAccessReadModel.d.ts.map +1 -1
  77. package/dist/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.d.ts +1 -1
  78. package/dist/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.d.ts.map +1 -1
  79. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts.map +1 -1
  80. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js.map +1 -1
  81. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
  82. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
  83. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.js.map +1 -1
  84. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js.map +1 -1
  85. package/dist/lib/features/dependent-features/createDependentFeaturesService.d.ts.map +1 -1
  86. package/dist/lib/features/dependent-features/createDependentFeaturesService.js +3 -21
  87. package/dist/lib/features/dependent-features/createDependentFeaturesService.js.map +1 -1
  88. package/dist/lib/features/dependent-features/dependent-features-read-model-type.d.ts.map +1 -1
  89. package/dist/lib/features/dependent-features/dependent-features-read-model.d.ts.map +1 -1
  90. package/dist/lib/features/dependent-features/dependent-features-read-model.js.map +1 -1
  91. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts.map +1 -1
  92. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js.map +1 -1
  93. package/dist/lib/features/events/createEventsService.d.ts +6 -0
  94. package/dist/lib/features/events/createEventsService.d.ts.map +1 -0
  95. package/dist/lib/features/events/createEventsService.js +24 -0
  96. package/dist/lib/features/events/createEventsService.js.map +1 -0
  97. package/dist/lib/features/events/event-created-by-migration.test.d.ts +2 -0
  98. package/dist/lib/features/events/event-created-by-migration.test.d.ts.map +1 -0
  99. package/dist/lib/features/events/event-created-by-migration.test.js +130 -0
  100. package/dist/lib/features/events/event-created-by-migration.test.js.map +1 -0
  101. package/dist/lib/features/events/event-service.d.ts +35 -0
  102. package/dist/lib/features/events/event-service.d.ts.map +1 -0
  103. package/dist/lib/features/events/event-service.js +103 -0
  104. package/dist/lib/features/events/event-service.js.map +1 -0
  105. package/dist/lib/features/events/event-service.test.d.ts +2 -0
  106. package/dist/lib/features/events/event-service.test.d.ts.map +1 -0
  107. package/dist/lib/features/events/event-service.test.js +22 -0
  108. package/dist/lib/features/events/event-service.test.js.map +1 -0
  109. package/dist/lib/features/events/event-store.d.ts +100 -0
  110. package/dist/lib/features/events/event-store.d.ts.map +1 -0
  111. package/dist/lib/features/events/event-store.js +340 -0
  112. package/dist/lib/features/events/event-store.js.map +1 -0
  113. package/dist/lib/features/events/event-store.test.d.ts.map +1 -0
  114. package/dist/lib/{db → features/events}/event-store.test.js +9 -5
  115. package/dist/lib/features/events/event-store.test.js.map +1 -0
  116. package/dist/lib/features/export-import-toggles/createExportImportService.d.ts +1 -1
  117. package/dist/lib/features/export-import-toggles/createExportImportService.d.ts.map +1 -1
  118. package/dist/lib/features/export-import-toggles/createExportImportService.js +4 -6
  119. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  120. package/dist/lib/features/export-import-toggles/export-import-permissions.e2e.test.js.map +1 -1
  121. package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
  122. package/dist/lib/features/export-import-toggles/export-import-service.js +5 -1
  123. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  124. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +60 -0
  125. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
  126. package/dist/lib/features/export-import-toggles/import-permissions-service.d.ts.map +1 -1
  127. package/dist/lib/features/export-import-toggles/import-permissions-service.js.map +1 -1
  128. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +1 -1
  129. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -1
  130. package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
  131. package/dist/lib/features/feature-search/feature-search-controller.js +35 -38
  132. package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
  133. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
  134. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
  135. package/dist/lib/features/feature-search/feature.search.e2e.test.js +0 -1
  136. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  137. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.d.ts.map +1 -1
  138. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +1 -1
  139. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
  140. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +1 -1
  141. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  142. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +6 -6
  143. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  144. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +3 -2
  145. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
  146. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +3 -0
  147. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
  148. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +7 -4
  149. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  150. package/dist/lib/features/feature-toggle/feature-toggle-service.js +51 -7
  151. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  152. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts +2 -1
  153. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
  154. package/dist/lib/features/feature-toggle/feature-toggle-store.js +27 -0
  155. package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
  156. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +3 -0
  157. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
  158. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
  159. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +3 -3
  160. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
  161. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +36 -0
  162. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  163. package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts +2 -1
  164. package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts.map +1 -1
  165. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
  166. package/dist/lib/features/group/createGroupService.d.ts.map +1 -1
  167. package/dist/lib/features/group/createGroupService.js +3 -6
  168. package/dist/lib/features/group/createGroupService.js.map +1 -1
  169. package/dist/lib/features/index.d.ts +2 -0
  170. package/dist/lib/features/index.d.ts.map +1 -1
  171. package/dist/lib/features/index.js +2 -0
  172. package/dist/lib/features/index.js.map +1 -1
  173. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts +6 -0
  174. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -0
  175. package/dist/lib/features/instance-stats/createInstanceStatsService.js +129 -0
  176. package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -0
  177. package/dist/lib/features/instance-stats/getActiveUsers.d.ts +1 -1
  178. package/dist/lib/features/instance-stats/getActiveUsers.d.ts.map +1 -1
  179. package/dist/lib/features/instance-stats/getProductionChanges.d.ts +1 -1
  180. package/dist/lib/features/instance-stats/getProductionChanges.d.ts.map +1 -1
  181. package/dist/lib/features/instance-stats/getProductionChanges.js.map +1 -1
  182. package/dist/lib/features/instance-stats/instance-stats-service.d.ts +6 -1
  183. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  184. package/dist/lib/features/instance-stats/instance-stats-service.js +5 -2
  185. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  186. package/dist/lib/features/maintenance/maintenance-controller.d.ts +1 -1
  187. package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
  188. package/dist/lib/features/maintenance/maintenance-service.js +1 -1
  189. package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
  190. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.d.ts.map +1 -0
  191. package/dist/{test/e2e/services → lib/features/metrics/client-metrics}/client-metrics-service.e2e.test.js +6 -6
  192. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js.map +1 -0
  193. package/dist/lib/{types/stores/client-metrics-store-v2.d.ts → features/metrics/client-metrics/client-metrics-store-v2-type.d.ts} +13 -2
  194. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2-type.d.ts.map +1 -0
  195. package/dist/lib/{types/stores/client-metrics-store-v2.js → features/metrics/client-metrics/client-metrics-store-v2-type.js} +1 -1
  196. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2-type.js.map +1 -0
  197. package/dist/lib/{db → features/metrics/client-metrics}/client-metrics-store-v2.d.ts +15 -4
  198. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts.map +1 -0
  199. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.d.ts.map +1 -0
  200. package/dist/{test/e2e/stores → lib/features/metrics/client-metrics}/client-metrics-store-v2.e2e.test.js +2 -2
  201. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.js.map +1 -0
  202. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js +300 -0
  203. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js.map +1 -0
  204. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.d.ts +2 -0
  205. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.d.ts.map +1 -0
  206. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.js +202 -0
  207. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.test.js.map +1 -0
  208. package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.d.ts +7 -5
  209. package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts.map +1 -0
  210. package/dist/lib/features/metrics/client-metrics/client-metrics.e2e.test.d.ts.map +1 -0
  211. package/dist/{test/e2e/api/admin → lib/features/metrics/client-metrics}/client-metrics.e2e.test.js +8 -4
  212. package/dist/lib/features/metrics/client-metrics/client-metrics.e2e.test.js.map +1 -0
  213. package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.js +13 -9
  214. package/dist/lib/{routes/admin-api → features/metrics/client-metrics}/client-metrics.js.map +1 -1
  215. package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.d.ts +1 -1
  216. package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.d.ts.map +1 -0
  217. package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.js.map +1 -0
  218. package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.d.ts.map +1 -0
  219. package/dist/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.js.map +1 -0
  220. package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.d.ts +12 -1
  221. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts.map +1 -0
  222. package/dist/{test/fixtures → lib/features/metrics/client-metrics}/fake-client-metrics-store-v2.js +15 -0
  223. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js.map +1 -0
  224. package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.d.ts +11 -8
  225. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts.map +1 -0
  226. package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.js +54 -9
  227. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -0
  228. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.d.ts.map +1 -0
  229. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js +271 -0
  230. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js.map +1 -0
  231. package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.d.ts +9 -8
  232. package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -0
  233. package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.js +18 -5
  234. package/dist/lib/features/metrics/instance/instance-service.js.map +1 -0
  235. package/dist/lib/features/metrics/instance/instance-service.test.d.ts.map +1 -0
  236. package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.test.js +18 -15
  237. package/dist/lib/features/metrics/instance/instance-service.test.js.map +1 -0
  238. package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.d.ts +9 -7
  239. package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -0
  240. package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.js +51 -4
  241. package/dist/lib/features/metrics/instance/metrics.js.map +1 -0
  242. package/dist/lib/features/metrics/instance/metrics.test.d.ts.map +1 -0
  243. package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.test.js +124 -7
  244. package/dist/lib/features/metrics/instance/metrics.test.js.map +1 -0
  245. package/dist/lib/{services/client-metrics → features/metrics/instance}/models.d.ts +1 -1
  246. package/dist/lib/features/metrics/instance/models.d.ts.map +1 -0
  247. package/dist/lib/features/metrics/instance/models.js.map +1 -0
  248. package/dist/lib/{routes/client-api → features/metrics/instance}/register.d.ts +8 -8
  249. package/dist/lib/features/metrics/instance/register.d.ts.map +1 -0
  250. package/dist/lib/{routes/client-api → features/metrics/instance}/register.js +8 -7
  251. package/dist/lib/features/metrics/instance/register.js.map +1 -0
  252. package/dist/lib/features/metrics/instance/register.test.d.ts.map +1 -0
  253. package/dist/lib/{routes/client-api → features/metrics/instance}/register.test.js +20 -5
  254. package/dist/lib/features/metrics/instance/register.test.js.map +1 -0
  255. package/dist/lib/features/metrics/last-seen/createLastSeenService.d.ts.map +1 -0
  256. package/dist/lib/{services/client-metrics → features/metrics}/last-seen/createLastSeenService.js +2 -2
  257. package/dist/lib/features/metrics/last-seen/createLastSeenService.js.map +1 -0
  258. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts.map +1 -0
  259. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js.map +1 -0
  260. package/dist/lib/features/metrics/last-seen/fake-last-seen-store.d.ts.map +1 -0
  261. package/dist/lib/features/metrics/last-seen/fake-last-seen-store.js.map +1 -0
  262. package/dist/lib/features/metrics/last-seen/last-seen-read-model.d.ts.map +1 -0
  263. package/dist/lib/features/metrics/last-seen/last-seen-read-model.js.map +1 -0
  264. package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-service.d.ts +2 -2
  265. package/dist/lib/features/metrics/last-seen/last-seen-service.d.ts.map +1 -0
  266. package/dist/lib/features/metrics/last-seen/last-seen-service.js.map +1 -0
  267. package/dist/lib/features/metrics/last-seen/last-seen-store.d.ts.map +1 -0
  268. package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-store.js +1 -1
  269. package/dist/lib/features/metrics/last-seen/last-seen-store.js.map +1 -0
  270. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.d.ts.map +1 -0
  271. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.js.map +1 -0
  272. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.d.ts.map +1 -0
  273. package/dist/lib/features/metrics/last-seen/tests/last-seen-service.test.js.map +1 -0
  274. package/dist/lib/features/metrics/last-seen/types/last-seen-read-model-type.d.ts.map +1 -0
  275. package/dist/lib/features/metrics/last-seen/types/last-seen-read-model-type.js.map +1 -0
  276. package/dist/lib/features/metrics/last-seen/types/last-seen-store-type.d.ts.map +1 -0
  277. package/dist/lib/features/metrics/last-seen/types/last-seen-store-type.js.map +1 -0
  278. package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.d.ts +1 -1
  279. package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -0
  280. package/dist/lib/features/metrics/shared/schema.js.map +1 -0
  281. package/dist/lib/features/metrics/shared/schema.test.d.ts.map +1 -0
  282. package/dist/lib/features/metrics/shared/schema.test.js.map +1 -0
  283. package/dist/lib/features/playground/advanced-playground.test.js +12 -13
  284. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
  285. package/dist/lib/features/playground/feature-evaluator/client.d.ts +2 -2
  286. package/dist/lib/features/playground/feature-evaluator/client.d.ts.map +1 -1
  287. package/dist/lib/features/playground/feature-evaluator/client.js +17 -7
  288. package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -1
  289. package/dist/lib/features/playground/feature-evaluator/feature-evaluator.d.ts.map +1 -1
  290. package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js +3 -2
  291. package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js.map +1 -1
  292. package/dist/lib/features/playground/feature-evaluator/repository/index.d.ts.map +1 -1
  293. package/dist/lib/features/playground/feature-evaluator/repository/storage-provider.js.map +1 -1
  294. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +2 -2
  295. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts.map +1 -1
  296. package/dist/lib/features/playground/feature-evaluator/variant.d.ts +5 -0
  297. package/dist/lib/features/playground/feature-evaluator/variant.d.ts.map +1 -1
  298. package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -1
  299. package/dist/lib/features/playground/offline-unleash-client.d.ts +3 -3
  300. package/dist/lib/features/playground/offline-unleash-client.d.ts.map +1 -1
  301. package/dist/lib/features/playground/offline-unleash-client.js +5 -2
  302. package/dist/lib/features/playground/offline-unleash-client.js.map +1 -1
  303. package/dist/lib/features/playground/offline-unleash-client.test.js +1 -1
  304. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
  305. package/dist/lib/features/playground/playground-service.d.ts +6 -6
  306. package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
  307. package/dist/lib/features/playground/playground-service.js +7 -3
  308. package/dist/lib/features/playground/playground-service.js.map +1 -1
  309. package/dist/lib/features/playground/playground-view-model.d.ts +1 -1
  310. package/dist/lib/features/playground/playground-view-model.d.ts.map +1 -1
  311. package/dist/lib/features/playground/playground.d.ts.map +1 -1
  312. package/dist/lib/features/playground/playground.js +2 -1
  313. package/dist/lib/features/playground/playground.js.map +1 -1
  314. package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts +1 -1
  315. package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts.map +1 -1
  316. package/dist/lib/features/private-project/privateProjectStore.js +1 -1
  317. package/dist/lib/features/private-project/privateProjectStore.js.map +1 -1
  318. package/dist/lib/features/project/createProjectService.d.ts +1 -1
  319. package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
  320. package/dist/lib/features/project/createProjectService.js +2 -2
  321. package/dist/lib/features/project/createProjectService.js.map +1 -1
  322. package/dist/lib/features/project-environments/createEnvironmentService.d.ts.map +1 -1
  323. package/dist/lib/features/project-environments/createEnvironmentService.js +2 -8
  324. package/dist/lib/features/project-environments/createEnvironmentService.js.map +1 -1
  325. package/dist/lib/features/project-environments/environment-service.d.ts +1 -1
  326. package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
  327. package/dist/lib/features/project-environments/environment-service.test.js.map +1 -1
  328. package/dist/lib/features/project-environments/environment-store.d.ts.map +1 -1
  329. package/dist/lib/features/project-environments/environment-store.js +12 -0
  330. package/dist/lib/features/project-environments/environment-store.js.map +1 -1
  331. package/dist/lib/features/project-environments/environments.d.ts.map +1 -1
  332. package/dist/lib/features/scheduler/schedule-services.d.ts.map +1 -1
  333. package/dist/lib/features/scheduler/schedule-services.js +3 -1
  334. package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
  335. package/dist/lib/features/scheduler/scheduler-service.d.ts +2 -1
  336. package/dist/lib/features/scheduler/scheduler-service.d.ts.map +1 -1
  337. package/dist/lib/features/scheduler/scheduler-service.js +42 -13
  338. package/dist/lib/features/scheduler/scheduler-service.js.map +1 -1
  339. package/dist/lib/features/scheduler/scheduler-service.test.js +35 -2
  340. package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
  341. package/dist/lib/features/segment/createSegmentService.d.ts +1 -1
  342. package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
  343. package/dist/lib/features/segment/createSegmentService.js +2 -7
  344. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  345. package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
  346. package/dist/lib/features/segment/segment-controller.js +14 -25
  347. package/dist/lib/features/segment/segment-controller.js.map +1 -1
  348. package/dist/lib/features/tag-type/createTagTypeService.d.ts.map +1 -1
  349. package/dist/lib/features/tag-type/createTagTypeService.js +3 -17
  350. package/dist/lib/features/tag-type/createTagTypeService.js.map +1 -1
  351. package/dist/lib/features/tag-type/tag-type-service.d.ts +1 -1
  352. package/dist/lib/features/tag-type/tag-type-service.d.ts.map +1 -1
  353. package/dist/lib/features/tag-type/tag-types.e2e.test.js.map +1 -1
  354. package/dist/lib/metric-events.d.ts +3 -1
  355. package/dist/lib/metric-events.d.ts.map +1 -1
  356. package/dist/lib/metric-events.js +5 -1
  357. package/dist/lib/metric-events.js.map +1 -1
  358. package/dist/lib/metrics.d.ts +2 -3
  359. package/dist/lib/metrics.d.ts.map +1 -1
  360. package/dist/lib/metrics.js +150 -89
  361. package/dist/lib/metrics.js.map +1 -1
  362. package/dist/lib/metrics.test.js.map +1 -1
  363. package/dist/lib/middleware/api-token-middleware.d.ts +1 -1
  364. package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
  365. package/dist/lib/middleware/demo-authentication.d.ts +1 -1
  366. package/dist/lib/middleware/demo-authentication.d.ts.map +1 -1
  367. package/dist/lib/middleware/demo-authentication.js +6 -2
  368. package/dist/lib/middleware/demo-authentication.js.map +1 -1
  369. package/dist/lib/middleware/pat-middleware.d.ts +4 -1
  370. package/dist/lib/middleware/pat-middleware.d.ts.map +1 -1
  371. package/dist/lib/middleware/pat-middleware.js +0 -1
  372. package/dist/lib/middleware/pat-middleware.js.map +1 -1
  373. package/dist/lib/middleware/pat-middleware.test.js +5 -0
  374. package/dist/lib/middleware/pat-middleware.test.js.map +1 -1
  375. package/dist/lib/middleware/response-time-metrics.d.ts +1 -1
  376. package/dist/lib/middleware/response-time-metrics.d.ts.map +1 -1
  377. package/dist/lib/middleware/response-time-metrics.js.map +1 -1
  378. package/dist/lib/middleware/session-db.js.map +1 -1
  379. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +4 -0
  380. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts.map +1 -1
  381. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +4 -0
  382. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
  383. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +4 -0
  384. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts.map +1 -1
  385. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +8 -0
  386. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts.map +1 -1
  387. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -1
  388. package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
  389. package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
  390. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  391. package/dist/lib/openapi/spec/feature-type-count-schema.d.ts.map +1 -1
  392. package/dist/lib/openapi/spec/feature-type-count-schema.js.map +1 -1
  393. package/dist/lib/openapi/spec/feature-type-count-schema.test.js.map +1 -1
  394. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +18 -0
  395. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
  396. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +18 -0
  397. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  398. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +11 -0
  399. package/dist/lib/openapi/spec/playground-feature-schema.d.ts.map +1 -1
  400. package/dist/lib/openapi/spec/playground-feature-schema.js +11 -0
  401. package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
  402. package/dist/lib/openapi/spec/playground-response-schema.d.ts +11 -0
  403. package/dist/lib/openapi/spec/playground-response-schema.d.ts.map +1 -1
  404. package/dist/lib/openapi/spec/project-overview-schema.test.js.map +1 -1
  405. package/dist/lib/openapi/spec/project-schema.d.ts +15 -0
  406. package/dist/lib/openapi/spec/project-schema.d.ts.map +1 -1
  407. package/dist/lib/openapi/spec/project-schema.js +15 -0
  408. package/dist/lib/openapi/spec/project-schema.js.map +1 -1
  409. package/dist/lib/openapi/spec/projects-schema.d.ts +15 -0
  410. package/dist/lib/openapi/spec/projects-schema.d.ts.map +1 -1
  411. package/dist/lib/openapi/spec/proxy-feature-schema.d.ts +12 -1
  412. package/dist/lib/openapi/spec/proxy-feature-schema.d.ts.map +1 -1
  413. package/dist/lib/openapi/spec/proxy-feature-schema.js +12 -1
  414. package/dist/lib/openapi/spec/proxy-feature-schema.js.map +1 -1
  415. package/dist/lib/openapi/spec/proxy-features-schema.d.ts +12 -1
  416. package/dist/lib/openapi/spec/proxy-features-schema.d.ts.map +1 -1
  417. package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
  418. package/dist/lib/openapi/spec/state-schema.d.ts +15 -0
  419. package/dist/lib/openapi/spec/state-schema.d.ts.map +1 -1
  420. package/dist/lib/openapi/spec/ui-config-schema.d.ts +12 -1
  421. package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
  422. package/dist/lib/openapi/spec/variant-flag-schema.d.ts +12 -1
  423. package/dist/lib/openapi/spec/variant-flag-schema.d.ts.map +1 -1
  424. package/dist/lib/openapi/spec/variant-flag-schema.js +12 -1
  425. package/dist/lib/openapi/spec/variant-flag-schema.js.map +1 -1
  426. package/dist/lib/proxy/proxy-repository.d.ts.map +1 -1
  427. package/dist/lib/proxy/proxy-repository.js.map +1 -1
  428. package/dist/lib/routes/admin-api/addon.d.ts +1 -1
  429. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  430. package/dist/lib/routes/admin-api/api-token.d.ts +1 -0
  431. package/dist/lib/routes/admin-api/api-token.d.ts.map +1 -1
  432. package/dist/lib/routes/admin-api/api-token.js +5 -0
  433. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  434. package/dist/lib/routes/admin-api/api-token.test.d.ts +2 -0
  435. package/dist/lib/routes/admin-api/api-token.test.d.ts.map +1 -0
  436. package/dist/lib/routes/admin-api/api-token.test.js +105 -0
  437. package/dist/lib/routes/admin-api/api-token.test.js.map +1 -0
  438. package/dist/lib/routes/admin-api/config.d.ts +3 -1
  439. package/dist/lib/routes/admin-api/config.d.ts.map +1 -1
  440. package/dist/lib/routes/admin-api/config.js +15 -3
  441. package/dist/lib/routes/admin-api/config.js.map +1 -1
  442. package/dist/lib/routes/admin-api/config.test.js +44 -0
  443. package/dist/lib/routes/admin-api/config.test.js.map +1 -1
  444. package/dist/lib/routes/admin-api/context.d.ts +2 -2
  445. package/dist/lib/routes/admin-api/context.d.ts.map +1 -1
  446. package/dist/lib/routes/admin-api/context.js +1 -1
  447. package/dist/lib/routes/admin-api/context.js.map +1 -1
  448. package/dist/lib/routes/admin-api/context.test.js.map +1 -1
  449. package/dist/lib/routes/admin-api/index.js +1 -1
  450. package/dist/lib/routes/admin-api/index.js.map +1 -1
  451. package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
  452. package/dist/lib/routes/admin-api/instance-admin.js +4 -0
  453. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  454. package/dist/lib/routes/admin-api/metrics.d.ts.map +1 -1
  455. package/dist/lib/routes/admin-api/metrics.js +2 -1
  456. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  457. package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
  458. package/dist/lib/routes/admin-api/project/project-api.d.ts +1 -1
  459. package/dist/lib/routes/admin-api/project/project-api.d.ts.map +1 -1
  460. package/dist/lib/routes/admin-api/project/project-api.js.map +1 -1
  461. package/dist/lib/routes/admin-api/project/variants.d.ts +2 -2
  462. package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
  463. package/dist/lib/routes/admin-api/public-signup.test.js +14 -3
  464. package/dist/lib/routes/admin-api/public-signup.test.js.map +1 -1
  465. package/dist/lib/routes/admin-api/state.d.ts.map +1 -1
  466. package/dist/lib/routes/admin-api/state.js +1 -0
  467. package/dist/lib/routes/admin-api/state.js.map +1 -1
  468. package/dist/lib/routes/admin-api/tag.test.js.map +1 -1
  469. package/dist/lib/routes/admin-api/telemetry.d.ts +2 -2
  470. package/dist/lib/routes/admin-api/telemetry.d.ts.map +1 -1
  471. package/dist/lib/routes/client-api/index.js +2 -2
  472. package/dist/lib/routes/client-api/index.js.map +1 -1
  473. package/dist/lib/routes/controller.d.ts.map +1 -1
  474. package/dist/lib/routes/controller.js.map +1 -1
  475. package/dist/lib/routes/edge-api/index.js +2 -2
  476. package/dist/lib/routes/edge-api/index.js.map +1 -1
  477. package/dist/lib/routes/health-check.test.js.map +1 -1
  478. package/dist/lib/routes/public-invite.test.js +7 -2
  479. package/dist/lib/routes/public-invite.test.js.map +1 -1
  480. package/dist/lib/segments/segment-service-interface.d.ts +3 -3
  481. package/dist/lib/segments/segment-service-interface.d.ts.map +1 -1
  482. package/dist/lib/server-impl.d.ts.map +1 -1
  483. package/dist/lib/server-impl.js +4 -3
  484. package/dist/lib/server-impl.js.map +1 -1
  485. package/dist/lib/services/access-service.d.ts +10 -3
  486. package/dist/lib/services/access-service.d.ts.map +1 -1
  487. package/dist/lib/services/access-service.js.map +1 -1
  488. package/dist/lib/services/access-service.test.js +2 -5
  489. package/dist/lib/services/access-service.test.js.map +1 -1
  490. package/dist/lib/services/account-service.d.ts +1 -1
  491. package/dist/lib/services/account-service.d.ts.map +1 -1
  492. package/dist/lib/services/account-service.js.map +1 -1
  493. package/dist/lib/services/addon-service.d.ts +1 -1
  494. package/dist/lib/services/addon-service.d.ts.map +1 -1
  495. package/dist/lib/services/addon-service.test.js +6 -2
  496. package/dist/lib/services/addon-service.test.js.map +1 -1
  497. package/dist/lib/services/api-token-service.d.ts +9 -2
  498. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  499. package/dist/lib/services/api-token-service.js +22 -3
  500. package/dist/lib/services/api-token-service.js.map +1 -1
  501. package/dist/lib/services/api-token-service.test.js +20 -5
  502. package/dist/lib/services/api-token-service.test.js.map +1 -1
  503. package/dist/lib/services/context-service.d.ts +1 -1
  504. package/dist/lib/services/context-service.d.ts.map +1 -1
  505. package/dist/lib/services/context-service.js.map +1 -1
  506. package/dist/lib/services/email-service.d.ts +1 -1
  507. package/dist/lib/services/email-service.d.ts.map +1 -1
  508. package/dist/lib/services/email-service.js +5 -1
  509. package/dist/lib/services/email-service.js.map +1 -1
  510. package/dist/lib/services/event-service.d.ts +3 -18
  511. package/dist/lib/services/event-service.d.ts.map +1 -1
  512. package/dist/lib/services/event-service.js +21 -58
  513. package/dist/lib/services/event-service.js.map +1 -1
  514. package/dist/lib/services/favorites-service.d.ts +1 -1
  515. package/dist/lib/services/favorites-service.d.ts.map +1 -1
  516. package/dist/lib/services/feature-service-potentially-stale.test.js +1 -1
  517. package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -1
  518. package/dist/lib/services/feature-tag-service.d.ts +1 -1
  519. package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
  520. package/dist/lib/services/feature-type-service.d.ts +1 -1
  521. package/dist/lib/services/feature-type-service.d.ts.map +1 -1
  522. package/dist/lib/services/feature-type-service.js.map +1 -1
  523. package/dist/lib/services/group-service.d.ts +1 -1
  524. package/dist/lib/services/group-service.d.ts.map +1 -1
  525. package/dist/lib/services/index.d.ts +4 -4
  526. package/dist/lib/services/index.d.ts.map +1 -1
  527. package/dist/lib/services/index.js +9 -6
  528. package/dist/lib/services/index.js.map +1 -1
  529. package/dist/lib/services/pat-service.d.ts +1 -1
  530. package/dist/lib/services/pat-service.d.ts.map +1 -1
  531. package/dist/lib/services/project-service.d.ts +3 -3
  532. package/dist/lib/services/project-service.d.ts.map +1 -1
  533. package/dist/lib/services/proxy-service.d.ts.map +1 -1
  534. package/dist/lib/services/proxy-service.js.map +1 -1
  535. package/dist/lib/services/public-signup-token-service.d.ts +2 -2
  536. package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
  537. package/dist/lib/services/reset-token-service.js.map +1 -1
  538. package/dist/lib/services/segment-service.d.ts +2 -2
  539. package/dist/lib/services/segment-service.d.ts.map +1 -1
  540. package/dist/lib/services/segment-service.js +1 -2
  541. package/dist/lib/services/segment-service.js.map +1 -1
  542. package/dist/lib/services/setting-service.d.ts +1 -1
  543. package/dist/lib/services/setting-service.d.ts.map +1 -1
  544. package/dist/lib/services/state-service.d.ts +1 -1
  545. package/dist/lib/services/state-service.d.ts.map +1 -1
  546. package/dist/lib/services/state-service.js +1 -0
  547. package/dist/lib/services/state-service.js.map +1 -1
  548. package/dist/lib/services/state-service.test.js +14 -4
  549. package/dist/lib/services/state-service.test.js.map +1 -1
  550. package/dist/lib/services/state-util.d.ts.map +1 -1
  551. package/dist/lib/services/state-util.js.map +1 -1
  552. package/dist/lib/services/strategy-service.d.ts +1 -1
  553. package/dist/lib/services/strategy-service.d.ts.map +1 -1
  554. package/dist/lib/services/tag-service.d.ts +1 -1
  555. package/dist/lib/services/tag-service.d.ts.map +1 -1
  556. package/dist/lib/services/user-service.d.ts +1 -1
  557. package/dist/lib/services/user-service.d.ts.map +1 -1
  558. package/dist/lib/services/user-service.js +6 -3
  559. package/dist/lib/services/user-service.js.map +1 -1
  560. package/dist/lib/services/user-service.test.js +1 -1
  561. package/dist/lib/services/user-service.test.js.map +1 -1
  562. package/dist/lib/services/version-service.d.ts.map +1 -1
  563. package/dist/lib/services/version-service.js.map +1 -1
  564. package/dist/lib/types/api-user.d.ts +1 -0
  565. package/dist/lib/types/api-user.d.ts.map +1 -1
  566. package/dist/lib/types/api-user.js.map +1 -1
  567. package/dist/lib/types/core.d.ts +2 -1
  568. package/dist/lib/types/core.d.ts.map +1 -1
  569. package/dist/lib/types/core.js +10 -3
  570. package/dist/lib/types/core.js.map +1 -1
  571. package/dist/lib/types/core.test.d.ts +2 -0
  572. package/dist/lib/types/core.test.d.ts.map +1 -0
  573. package/dist/lib/types/core.test.js +62 -0
  574. package/dist/lib/types/core.test.js.map +1 -0
  575. package/dist/lib/types/events.d.ts +19 -2
  576. package/dist/lib/types/events.d.ts.map +1 -1
  577. package/dist/lib/types/events.js +10 -4
  578. package/dist/lib/types/events.js.map +1 -1
  579. package/dist/lib/types/experimental.d.ts +1 -1
  580. package/dist/lib/types/experimental.d.ts.map +1 -1
  581. package/dist/lib/types/experimental.js +29 -6
  582. package/dist/lib/types/experimental.js.map +1 -1
  583. package/dist/lib/types/model.d.ts +4 -1
  584. package/dist/lib/types/model.d.ts.map +1 -1
  585. package/dist/lib/types/models/api-token.js +1 -1
  586. package/dist/lib/types/models/api-token.js.map +1 -1
  587. package/dist/lib/types/no-auth-user.d.ts +0 -1
  588. package/dist/lib/types/no-auth-user.d.ts.map +1 -1
  589. package/dist/lib/types/no-auth-user.js +1 -3
  590. package/dist/lib/types/no-auth-user.js.map +1 -1
  591. package/dist/lib/types/option.d.ts +2 -1
  592. package/dist/lib/types/option.d.ts.map +1 -1
  593. package/dist/lib/types/permissions.d.ts +8 -0
  594. package/dist/lib/types/permissions.d.ts.map +1 -1
  595. package/dist/lib/types/permissions.js +9 -1
  596. package/dist/lib/types/permissions.js.map +1 -1
  597. package/dist/lib/types/services.d.ts +9 -9
  598. package/dist/lib/types/services.d.ts.map +1 -1
  599. package/dist/lib/types/stores/access-store.d.ts +1 -1
  600. package/dist/lib/types/stores/access-store.d.ts.map +1 -1
  601. package/dist/lib/types/stores/client-instance-store.d.ts +1 -0
  602. package/dist/lib/types/stores/client-instance-store.d.ts.map +1 -1
  603. package/dist/lib/types/stores/event-store.d.ts +2 -1
  604. package/dist/lib/types/stores/event-store.d.ts.map +1 -1
  605. package/dist/lib/types/stores/project-stats-store-type.d.ts +2 -2
  606. package/dist/lib/types/stores/project-stats-store-type.d.ts.map +1 -1
  607. package/dist/lib/types/stores/role-store.d.ts +1 -1
  608. package/dist/lib/types/stores/role-store.d.ts.map +1 -1
  609. package/dist/lib/types/stores/strategy-store.d.ts +1 -1
  610. package/dist/lib/types/stores/strategy-store.d.ts.map +1 -1
  611. package/dist/lib/types/stores.d.ts +2 -2
  612. package/dist/lib/types/stores.d.ts.map +1 -1
  613. package/dist/lib/util/anonymise.d.ts +1 -0
  614. package/dist/lib/util/anonymise.d.ts.map +1 -1
  615. package/dist/lib/util/anonymise.js +13 -1
  616. package/dist/lib/util/anonymise.js.map +1 -1
  617. package/dist/lib/util/constants.d.ts +1 -0
  618. package/dist/lib/util/constants.d.ts.map +1 -1
  619. package/dist/lib/util/constants.js +2 -1
  620. package/dist/lib/util/constants.js.map +1 -1
  621. package/dist/lib/util/extract-user.d.ts +6 -6
  622. package/dist/lib/util/extract-user.d.ts.map +1 -1
  623. package/dist/lib/util/extract-user.js +3 -1
  624. package/dist/lib/util/extract-user.js.map +1 -1
  625. package/dist/lib/util/flag-resolver.js +1 -1
  626. package/dist/lib/util/flag-resolver.js.map +1 -1
  627. package/dist/lib/util/flag-resolver.test.js +34 -0
  628. package/dist/lib/util/flag-resolver.test.js.map +1 -1
  629. package/dist/lib/util/index.d.ts +1 -1
  630. package/dist/lib/util/index.d.ts.map +1 -1
  631. package/dist/lib/util/index.js +1 -1
  632. package/dist/lib/util/index.js.map +1 -1
  633. package/dist/lib/util/metrics/createCounter.d.ts +15 -0
  634. package/dist/lib/util/metrics/createCounter.d.ts.map +1 -0
  635. package/dist/lib/util/metrics/createCounter.js +48 -0
  636. package/dist/lib/util/metrics/createCounter.js.map +1 -0
  637. package/dist/lib/util/metrics/createGauge.d.ts +15 -0
  638. package/dist/lib/util/metrics/createGauge.d.ts.map +1 -0
  639. package/dist/lib/util/metrics/createGauge.js +45 -0
  640. package/dist/lib/util/metrics/createGauge.js.map +1 -0
  641. package/dist/lib/util/metrics/createSummary.d.ts +14 -0
  642. package/dist/lib/util/metrics/createSummary.d.ts.map +1 -0
  643. package/dist/lib/util/metrics/createSummary.js +39 -0
  644. package/dist/lib/util/metrics/createSummary.js.map +1 -0
  645. package/dist/lib/util/metrics/index.d.ts +4 -0
  646. package/dist/lib/util/metrics/index.d.ts.map +1 -0
  647. package/dist/lib/util/metrics/index.js +20 -0
  648. package/dist/lib/util/metrics/index.js.map +1 -0
  649. package/dist/lib/util/omit-keys.d.ts.map +1 -1
  650. package/dist/lib/util/omit-keys.js.map +1 -1
  651. package/dist/lib/util/time-utils.d.ts +1 -0
  652. package/dist/lib/util/time-utils.d.ts.map +1 -1
  653. package/dist/lib/util/time-utils.js +11 -1
  654. package/dist/lib/util/time-utils.js.map +1 -1
  655. package/dist/lib/util/time-utils.test.js +7 -0
  656. package/dist/lib/util/time-utils.test.js.map +1 -1
  657. package/dist/lib/util/timer.test.js.map +1 -1
  658. package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.html.mustache +91 -206
  659. package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.plain.mustache +4 -0
  660. package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.html.mustache +83 -202
  661. package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.plain.mustache +0 -1
  662. package/dist/migrations/20240108151652-add-daily-metrics.d.ts +3 -0
  663. package/dist/migrations/20240108151652-add-daily-metrics.d.ts.map +1 -0
  664. package/dist/migrations/20240108151652-add-daily-metrics.js +40 -0
  665. package/dist/migrations/20240108151652-add-daily-metrics.js.map +1 -0
  666. package/dist/migrations/20240109093021-incoming-webhooks-description.d.ts +3 -0
  667. package/dist/migrations/20240109093021-incoming-webhooks-description.d.ts.map +1 -0
  668. package/dist/migrations/20240109093021-incoming-webhooks-description.js +10 -0
  669. package/dist/migrations/20240109093021-incoming-webhooks-description.js.map +1 -0
  670. package/dist/migrations/20240109095348-add-reason-column-to-schedule.d.ts +3 -0
  671. package/dist/migrations/20240109095348-add-reason-column-to-schedule.d.ts.map +1 -0
  672. package/dist/migrations/20240109095348-add-reason-column-to-schedule.js +9 -0
  673. package/dist/migrations/20240109095348-add-reason-column-to-schedule.js.map +1 -0
  674. package/dist/migrations/20240111075911-update-system-user-email.d.ts +3 -0
  675. package/dist/migrations/20240111075911-update-system-user-email.d.ts.map +1 -0
  676. package/dist/migrations/20240111075911-update-system-user-email.js +8 -0
  677. package/dist/migrations/20240111075911-update-system-user-email.js.map +1 -0
  678. package/dist/migrations/20240111125100-automated-actions.d.ts +3 -0
  679. package/dist/migrations/20240111125100-automated-actions.d.ts.map +1 -0
  680. package/dist/migrations/20240111125100-automated-actions.js +39 -0
  681. package/dist/migrations/20240111125100-automated-actions.js.map +1 -0
  682. package/dist/migrations/20240116104456-drop-unused-column-permissionid.d.ts +3 -0
  683. package/dist/migrations/20240116104456-drop-unused-column-permissionid.d.ts.map +1 -0
  684. package/dist/migrations/20240116104456-drop-unused-column-permissionid.js +14 -0
  685. package/dist/migrations/20240116104456-drop-unused-column-permissionid.js.map +1 -0
  686. package/dist/migrations/20240116154700-unleash-admin-token-user.d.ts +3 -0
  687. package/dist/migrations/20240116154700-unleash-admin-token-user.d.ts.map +1 -0
  688. package/dist/migrations/20240116154700-unleash-admin-token-user.js +15 -0
  689. package/dist/migrations/20240116154700-unleash-admin-token-user.js.map +1 -0
  690. package/dist/migrations/20240117093601-add-more-granular-project-permissions.d.ts +3 -0
  691. package/dist/migrations/20240117093601-add-more-granular-project-permissions.d.ts.map +1 -0
  692. package/dist/migrations/20240117093601-add-more-granular-project-permissions.js +27 -0
  693. package/dist/migrations/20240117093601-add-more-granular-project-permissions.js.map +1 -0
  694. package/dist/migrations/20240118093611-missing-primary-keys.d.ts +3 -0
  695. package/dist/migrations/20240118093611-missing-primary-keys.d.ts.map +1 -0
  696. package/dist/migrations/20240118093611-missing-primary-keys.js +17 -0
  697. package/dist/migrations/20240118093611-missing-primary-keys.js.map +1 -0
  698. package/dist/migrations/20240119171200-action-states.d.ts +3 -0
  699. package/dist/migrations/20240119171200-action-states.d.ts.map +1 -0
  700. package/dist/migrations/20240119171200-action-states.js +23 -0
  701. package/dist/migrations/20240119171200-action-states.js.map +1 -0
  702. package/dist/migrations/20240124123000-add-enabled-to-action-sets.d.ts +3 -0
  703. package/dist/migrations/20240124123000-add-enabled-to-action-sets.d.ts.map +1 -0
  704. package/dist/migrations/20240124123000-add-enabled-to-action-sets.js +12 -0
  705. package/dist/migrations/20240124123000-add-enabled-to-action-sets.js.map +1 -0
  706. package/dist/migrations/20240125084701-add-user-trends.d.ts +3 -0
  707. package/dist/migrations/20240125084701-add-user-trends.d.ts.map +1 -0
  708. package/dist/migrations/20240125084701-add-user-trends.js +14 -0
  709. package/dist/migrations/20240125084701-add-user-trends.js.map +1 -0
  710. package/dist/migrations/20240125085703-users-table-increae-image-url-size.d.ts +3 -0
  711. package/dist/migrations/20240125085703-users-table-increae-image-url-size.d.ts.map +1 -0
  712. package/dist/migrations/20240125085703-users-table-increae-image-url-size.js +14 -0
  713. package/dist/migrations/20240125085703-users-table-increae-image-url-size.js.map +1 -0
  714. package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.d.ts +3 -0
  715. package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.d.ts.map +1 -0
  716. package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.js +18 -0
  717. package/dist/migrations/20240125090553-events-fix-incorrectly-assigned-sysuser-id.js.map +1 -0
  718. package/dist/migrations/20240125100000-events-system-user-old2new.d.ts +3 -0
  719. package/dist/migrations/20240125100000-events-system-user-old2new.d.ts.map +1 -0
  720. package/dist/migrations/20240125100000-events-system-user-old2new.js +10 -0
  721. package/dist/migrations/20240125100000-events-system-user-old2new.js.map +1 -0
  722. package/dist/migrations/20240126095544-add-flag-trends.d.ts +3 -0
  723. package/dist/migrations/20240126095544-add-flag-trends.d.ts.map +1 -0
  724. package/dist/migrations/20240126095544-add-flag-trends.js +17 -0
  725. package/dist/migrations/20240126095544-add-flag-trends.js.map +1 -0
  726. package/dist/migrations/20240130104757-flag-trends-health-time-to-production.d.ts +3 -0
  727. package/dist/migrations/20240130104757-flag-trends-health-time-to-production.d.ts.map +1 -0
  728. package/dist/migrations/20240130104757-flag-trends-health-time-to-production.js +14 -0
  729. package/dist/migrations/20240130104757-flag-trends-health-time-to-production.js.map +1 -0
  730. package/dist/migrator.js +1 -1
  731. package/dist/migrator.js.map +1 -1
  732. package/dist/server-dev.js +2 -3
  733. package/dist/server-dev.js.map +1 -1
  734. package/dist/test/arbitraries.test.d.ts +2 -2
  735. package/dist/test/arbitraries.test.d.ts.map +1 -1
  736. package/dist/test/config/test-config.d.ts.map +1 -1
  737. package/dist/test/config/test-config.js +1 -0
  738. package/dist/test/config/test-config.js.map +1 -1
  739. package/dist/test/e2e/api/admin/addon.e2e.test.js +1 -1
  740. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  741. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +102 -0
  742. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  743. package/dist/test/e2e/api/admin/api-token.e2e.test.js +6 -0
  744. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  745. package/dist/test/e2e/api/admin/constraints.e2e.test.js.map +1 -1
  746. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  747. package/dist/test/e2e/api/admin/event.e2e.test.js +5 -1
  748. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  749. package/dist/test/e2e/api/admin/favorites.e2e.test.js.map +1 -1
  750. package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
  751. package/dist/test/e2e/api/admin/feature.auth.e2e.test.js.map +1 -1
  752. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
  753. package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
  754. package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +10 -4
  755. package/dist/test/e2e/api/admin/instance-admin.e2e.test.js.map +1 -1
  756. package/dist/test/e2e/api/admin/project/api-token.e2e.test.js.map +1 -1
  757. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  758. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +3 -7
  759. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
  760. package/dist/test/e2e/api/admin/segment.e2e.test.js +2 -5
  761. package/dist/test/e2e/api/admin/segment.e2e.test.js.map +1 -1
  762. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
  763. package/dist/test/e2e/api/admin/strategy.e2e.test.js.map +1 -1
  764. package/dist/test/e2e/api/admin/tags.e2e.test.js +1 -1
  765. package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
  766. package/dist/test/e2e/api/admin/user/pat.e2e.test.js +1 -1
  767. package/dist/test/e2e/api/admin/user/pat.e2e.test.js.map +1 -1
  768. package/dist/test/e2e/api/admin/user/user.test.js.map +1 -1
  769. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +1 -1
  770. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  771. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +1 -1
  772. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  773. package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
  774. package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
  775. package/dist/test/e2e/api/client/metricsV2.e2e.test.js +7 -6
  776. package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -1
  777. package/dist/test/e2e/api/client/register.e2e.test.js +1 -0
  778. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  779. package/dist/test/e2e/api/client/segment.e2e.test.js +1 -3
  780. package/dist/test/e2e/api/client/segment.e2e.test.js.map +1 -1
  781. package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
  782. package/dist/test/e2e/api/proxy/proxy.e2e.test.js +84 -14
  783. package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
  784. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  785. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.d.ts +2 -0
  786. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.d.ts.map +1 -0
  787. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js +223 -0
  788. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js.map +1 -0
  789. package/dist/test/e2e/health.e2e.test.js.map +1 -1
  790. package/dist/test/e2e/helpers/app.utils.d.ts +1 -1
  791. package/dist/test/e2e/helpers/app.utils.d.ts.map +1 -1
  792. package/dist/test/e2e/helpers/database-init.d.ts +1 -1
  793. package/dist/test/e2e/helpers/database-init.d.ts.map +1 -1
  794. package/dist/test/e2e/helpers/database-init.js +2 -0
  795. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  796. package/dist/test/e2e/helpers/test-helper.d.ts +4 -2
  797. package/dist/test/e2e/helpers/test-helper.d.ts.map +1 -1
  798. package/dist/test/e2e/helpers/test-helper.js.map +1 -1
  799. package/dist/test/e2e/migrator.e2e.test.js +27 -1
  800. package/dist/test/e2e/migrator.e2e.test.js.map +1 -1
  801. package/dist/test/e2e/routes/routes.test.js.map +1 -1
  802. package/dist/test/e2e/services/access-service.e2e.test.js +26 -8
  803. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  804. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  805. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  806. package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
  807. package/dist/test/e2e/services/playground-service.test.d.ts +2 -2
  808. package/dist/test/e2e/services/playground-service.test.d.ts.map +1 -1
  809. package/dist/test/e2e/services/playground-service.test.js +7 -6
  810. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  811. package/dist/test/e2e/services/project-health-service.e2e.test.js +0 -5
  812. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  813. package/dist/test/e2e/services/reset-token-service.e2e.test.js +6 -6
  814. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  815. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  816. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  817. package/dist/test/e2e/services/state-service.e2e.test.js +9 -7
  818. package/dist/test/e2e/services/state-service.e2e.test.js.map +1 -1
  819. package/dist/test/e2e/services/user-service.e2e.test.js +48 -1
  820. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  821. package/dist/test/e2e/stores/client-application-store.e2e.test.js +6 -2
  822. package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
  823. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  824. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +76 -0
  825. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
  826. package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
  827. package/dist/test/e2e/stores/feature-toggle-client-store.e2e.test.js +1 -1
  828. package/dist/test/e2e/stores/feature-toggle-client-store.e2e.test.js.map +1 -1
  829. package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
  830. package/dist/test/e2e/stores/project-store.e2e.test.js.map +1 -1
  831. package/dist/test/e2e/stores/setting-store.e2e.test.js.map +1 -1
  832. package/dist/test/e2e/stores/user-feedback-store.e2e.test.js.map +1 -1
  833. package/dist/test/e2e/stores/user-splash-store.e2e.test.js.map +1 -1
  834. package/dist/test/e2e/stores/user-store.e2e.test.js +4 -3
  835. package/dist/test/e2e/stores/user-store.e2e.test.js.map +1 -1
  836. package/dist/test/e2e/system-user-migration.test.js +1 -1
  837. package/dist/test/fixtures/fake-access-store.d.ts +1 -1
  838. package/dist/test/fixtures/fake-access-store.d.ts.map +1 -1
  839. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  840. package/dist/test/fixtures/fake-client-instance-store.d.ts +1 -0
  841. package/dist/test/fixtures/fake-client-instance-store.d.ts.map +1 -1
  842. package/dist/test/fixtures/fake-client-instance-store.js +3 -0
  843. package/dist/test/fixtures/fake-client-instance-store.js.map +1 -1
  844. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  845. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  846. package/dist/test/fixtures/fake-event-store.js +3 -0
  847. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  848. package/dist/test/fixtures/fake-favorite-features-store.d.ts.map +1 -1
  849. package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -1
  850. package/dist/test/fixtures/fake-favorite-projects-store.d.ts.map +1 -1
  851. package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -1
  852. package/dist/test/fixtures/fake-project-stats-store.d.ts +2 -2
  853. package/dist/test/fixtures/fake-project-stats-store.d.ts.map +1 -1
  854. package/dist/test/fixtures/fake-project-store.d.ts +1 -1
  855. package/dist/test/fixtures/fake-project-store.d.ts.map +1 -1
  856. package/dist/test/fixtures/fake-project-store.js +8 -1
  857. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  858. package/dist/test/fixtures/fake-role-store.d.ts +4 -4
  859. package/dist/test/fixtures/fake-role-store.d.ts.map +1 -1
  860. package/dist/test/fixtures/fake-strategies-store.js +1 -1
  861. package/dist/test/fixtures/fake-strategies-store.js.map +1 -1
  862. package/dist/test/fixtures/store.js +2 -2
  863. package/dist/test/fixtures/store.js.map +1 -1
  864. package/frontend/build/index.html +2 -2
  865. package/frontend/build/static/AdvancedPlayground-DoQ1u8B6.js +4 -0
  866. package/frontend/build/static/{CreateProject-aN-UGdcb.js → CreateProject-iLBz5afO.js} +2 -2
  867. package/frontend/build/static/{FeatureArchiveDialog-eHyhx7Yo.js → FeatureArchiveDialog-NSAcrt7Z.js} +2 -2
  868. package/frontend/build/static/FeatureMetricsChart-UhDepK_o.js +2 -0
  869. package/frontend/build/static/FeatureViewLazyExport-SpKYIb_J.js +25 -0
  870. package/frontend/build/static/LazyAdminExport-w5iLam_A.js +44 -0
  871. package/frontend/build/static/LazyProjectExport-iqGbEmyw.js +27 -0
  872. package/frontend/build/static/LineChartComponent-rG1KLVNr.js +1 -0
  873. package/frontend/build/static/NetworkOverview-7SCGp57r.js +1304 -0
  874. package/frontend/build/static/NetworkTraffic-awTd8Zg5.js +1 -0
  875. package/frontend/build/static/ReactJSONEditor-N-DWXE0h.js +106 -0
  876. package/frontend/build/static/RoleCell-mJ7DV61l.js +1 -0
  877. package/frontend/build/static/{StrategyItemContainer-JoMPKX3L.js → StrategyItemContainer-wxQbaPXr.js} +1 -1
  878. package/frontend/build/static/changeRequestProcessWithSchedule-ZryCFkCp.svg +1 -0
  879. package/frontend/build/static/{flowchart-elk-definition-170a3958-NkZoK_zv.js → flowchart-elk-definition-170a3958-fa48ti80.js} +2 -2
  880. package/frontend/build/static/index-TzAeUmk4.js +10 -0
  881. package/frontend/build/static/index-p2PlVFLf.js +524 -0
  882. package/frontend/build/static/index-pAMHRYpv.js +1 -0
  883. package/frontend/build/static/is_dark-aAyqOy_I.js +1 -0
  884. package/frontend/build/static/{mindmap-definition-44684416-obuYUG0L.js → mindmap-definition-44684416-AfCKDD9v.js} +2 -2
  885. package/frontend/build/static/{style-gSb9cHBe.css → style-4Ai58kIl.css} +1 -1
  886. package/frontend/build/static/{timeline-definition-8e5a9bc6-33WsNwwr.js → timeline-definition-8e5a9bc6-NKNlIEgm.js} +2 -2
  887. package/frontend/build/static/uniqueId-ebLYlRiD.js +1 -0
  888. package/frontend/build/static/{unknownify-YD2Teyht.js → unknownify-g-QgUElr.js} +1 -1
  889. package/frontend/build/static/{useApiTokens-XTOY616x.js → useApiTokens-hvnEZWgJ.js} +1 -1
  890. package/frontend/build/static/{useProjectForm--jxh4Dtm.js → useProjectForm-zqz6LJw4.js} +1 -1
  891. package/frontend/build/static/vanilla-picker-P0dws0ou.js +8 -0
  892. package/frontend/package.json +32 -23
  893. package/package.json +10 -10
  894. package/dist/lib/db/client-metrics-store-v2.d.ts.map +0 -1
  895. package/dist/lib/db/client-metrics-store-v2.js +0 -173
  896. package/dist/lib/db/client-metrics-store-v2.js.map +0 -1
  897. package/dist/lib/db/event-store.test.d.ts.map +0 -1
  898. package/dist/lib/db/event-store.test.js.map +0 -1
  899. package/dist/lib/routes/admin-api/client-metrics.d.ts.map +0 -1
  900. package/dist/lib/routes/client-api/metrics.d.ts.map +0 -1
  901. package/dist/lib/routes/client-api/metrics.js.map +0 -1
  902. package/dist/lib/routes/client-api/metrics.test.d.ts.map +0 -1
  903. package/dist/lib/routes/client-api/metrics.test.js.map +0 -1
  904. package/dist/lib/routes/client-api/register.d.ts.map +0 -1
  905. package/dist/lib/routes/client-api/register.js.map +0 -1
  906. package/dist/lib/routes/client-api/register.test.d.ts.map +0 -1
  907. package/dist/lib/routes/client-api/register.test.js.map +0 -1
  908. package/dist/lib/services/client-metrics/instance-service.d.ts.map +0 -1
  909. package/dist/lib/services/client-metrics/instance-service.js.map +0 -1
  910. package/dist/lib/services/client-metrics/instance-service.test.d.ts.map +0 -1
  911. package/dist/lib/services/client-metrics/instance-service.test.js.map +0 -1
  912. package/dist/lib/services/client-metrics/last-seen/createLastSeenService.d.ts.map +0 -1
  913. package/dist/lib/services/client-metrics/last-seen/createLastSeenService.js.map +0 -1
  914. package/dist/lib/services/client-metrics/last-seen/fake-last-seen-read-model.d.ts.map +0 -1
  915. package/dist/lib/services/client-metrics/last-seen/fake-last-seen-read-model.js.map +0 -1
  916. package/dist/lib/services/client-metrics/last-seen/fake-last-seen-store.d.ts.map +0 -1
  917. package/dist/lib/services/client-metrics/last-seen/fake-last-seen-store.js.map +0 -1
  918. package/dist/lib/services/client-metrics/last-seen/last-seen-read-model.d.ts.map +0 -1
  919. package/dist/lib/services/client-metrics/last-seen/last-seen-read-model.js.map +0 -1
  920. package/dist/lib/services/client-metrics/last-seen/last-seen-service.d.ts.map +0 -1
  921. package/dist/lib/services/client-metrics/last-seen/last-seen-service.js.map +0 -1
  922. package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts.map +0 -1
  923. package/dist/lib/services/client-metrics/last-seen/last-seen-store.js.map +0 -1
  924. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.d.ts.map +0 -1
  925. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js.map +0 -1
  926. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.test.d.ts.map +0 -1
  927. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.test.js.map +0 -1
  928. package/dist/lib/services/client-metrics/last-seen/types/last-seen-read-model-type.d.ts.map +0 -1
  929. package/dist/lib/services/client-metrics/last-seen/types/last-seen-read-model-type.js.map +0 -1
  930. package/dist/lib/services/client-metrics/last-seen/types/last-seen-store-type.d.ts.map +0 -1
  931. package/dist/lib/services/client-metrics/last-seen/types/last-seen-store-type.js.map +0 -1
  932. package/dist/lib/services/client-metrics/metrics-service-v2.d.ts.map +0 -1
  933. package/dist/lib/services/client-metrics/metrics-service-v2.js.map +0 -1
  934. package/dist/lib/services/client-metrics/metrics-service-v2.test.d.ts.map +0 -1
  935. package/dist/lib/services/client-metrics/metrics-service-v2.test.js +0 -99
  936. package/dist/lib/services/client-metrics/metrics-service-v2.test.js.map +0 -1
  937. package/dist/lib/services/client-metrics/models.d.ts.map +0 -1
  938. package/dist/lib/services/client-metrics/models.js.map +0 -1
  939. package/dist/lib/services/client-metrics/schema.d.ts.map +0 -1
  940. package/dist/lib/services/client-metrics/schema.js.map +0 -1
  941. package/dist/lib/services/client-metrics/schema.test.d.ts.map +0 -1
  942. package/dist/lib/services/client-metrics/schema.test.js.map +0 -1
  943. package/dist/lib/types/stores/client-metrics-store-v2.d.ts.map +0 -1
  944. package/dist/lib/types/stores/client-metrics-store-v2.js.map +0 -1
  945. package/dist/lib/util/collapseHourlyMetrics.d.ts.map +0 -1
  946. package/dist/lib/util/collapseHourlyMetrics.js.map +0 -1
  947. package/dist/lib/util/collapseHourlyMetrics.test.d.ts.map +0 -1
  948. package/dist/lib/util/collapseHourlyMetrics.test.js.map +0 -1
  949. package/dist/test/e2e/api/admin/client-metrics.e2e.test.d.ts.map +0 -1
  950. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +0 -1
  951. package/dist/test/e2e/services/client-metrics-service.e2e.test.d.ts.map +0 -1
  952. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +0 -1
  953. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.d.ts.map +0 -1
  954. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +0 -1
  955. package/dist/test/fixtures/fake-client-metrics-store-v2.d.ts.map +0 -1
  956. package/dist/test/fixtures/fake-client-metrics-store-v2.js.map +0 -1
  957. package/frontend/build/static/AdvancedPlayground-FxfPUa2V.js +0 -13
  958. package/frontend/build/static/FeatureMetricsChart-ExGq1eXl.js +0 -2
  959. package/frontend/build/static/FeatureViewLazyExport-S8mj8m0z.js +0 -25
  960. package/frontend/build/static/LazyAdminExport-fpVZFnP9.js +0 -44
  961. package/frontend/build/static/LazyProjectExport-_QSE5C5m.js +0 -25
  962. package/frontend/build/static/NetworkOverview-ylTzmeDg.js +0 -1304
  963. package/frontend/build/static/NetworkTraffic-qj5h7JRk.js +0 -1
  964. package/frontend/build/static/ReactJSONEditor-E59dRBYR.js +0 -129
  965. package/frontend/build/static/RoleCell-TGTVkKHO.js +0 -1
  966. package/frontend/build/static/chartjs-adapter-date-fns.esm-JSlDxtwH.js +0 -23
  967. package/frontend/build/static/index-JVRlSBvr.js +0 -501
  968. package/frontend/build/static/is_dark-gjUQW15t.js +0 -1
  969. /package/dist/lib/{db → features/events}/event-store.test.d.ts +0 -0
  970. /package/dist/{test/e2e/services → lib/features/metrics/client-metrics}/client-metrics-service.e2e.test.d.ts +0 -0
  971. /package/dist/{test/e2e/stores → lib/features/metrics/client-metrics}/client-metrics-store-v2.e2e.test.d.ts +0 -0
  972. /package/dist/{test/e2e/api/admin → lib/features/metrics/client-metrics}/client-metrics.e2e.test.d.ts +0 -0
  973. /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.js +0 -0
  974. /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.test.d.ts +0 -0
  975. /package/dist/lib/{util → features/metrics/client-metrics}/collapseHourlyMetrics.test.js +0 -0
  976. /package/dist/lib/{services → features/metrics}/client-metrics/metrics-service-v2.test.d.ts +0 -0
  977. /package/dist/lib/{services/client-metrics → features/metrics/instance}/instance-service.test.d.ts +0 -0
  978. /package/dist/lib/{routes/client-api → features/metrics/instance}/metrics.test.d.ts +0 -0
  979. /package/dist/lib/{services/client-metrics → features/metrics/instance}/models.js +0 -0
  980. /package/dist/lib/{routes/client-api → features/metrics/instance}/register.test.d.ts +0 -0
  981. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/createLastSeenService.d.ts +0 -0
  982. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-read-model.d.ts +0 -0
  983. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-read-model.js +0 -0
  984. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-store.d.ts +0 -0
  985. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/fake-last-seen-store.js +0 -0
  986. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-read-model.d.ts +0 -0
  987. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-read-model.js +0 -0
  988. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-service.js +0 -0
  989. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/last-seen-store.d.ts +0 -0
  990. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.e2e.test.d.ts +0 -0
  991. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.e2e.test.js +0 -0
  992. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.test.d.ts +0 -0
  993. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/tests/last-seen-service.test.js +0 -0
  994. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-read-model-type.d.ts +0 -0
  995. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-read-model-type.js +0 -0
  996. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-store-type.d.ts +0 -0
  997. /package/dist/lib/{services/client-metrics → features/metrics}/last-seen/types/last-seen-store-type.js +0 -0
  998. /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.js +0 -0
  999. /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.test.d.ts +0 -0
  1000. /package/dist/lib/{services/client-metrics → features/metrics/shared}/schema.test.js +0 -0
@@ -0,0 +1,1304 @@
1
+ import{h3 as gm,g$ as kl,g as wl,h4 as ym,h5 as mm,h6 as bm,cD as tu,s as Dd,r as Hc,j as to,ch as _m,h7 as xm,gp as vm,C as km,J as wm,h8 as Tm,h9 as Em}from"./index-p2PlVFLf.js";import{z as eu,A as Nd,B as Id,C as Cm,D as Sm,E as Md,F as Am,G as Lm,b as Rd,H as Tl,I as Fd,h as Bm,J as Od,K as Dm,L as Nm,M as Im,i as ts,N as Mm,O as Rm,P as Fm,Q as T1,d as vo,R as ko,S as Om,T as Pd,U as Pm,g as Vd,V as Vm,a as iu,c as El,W as Ym,k as qr,l as zm,X as Um,Y as Wm,Z as Yd,_ as zd,$ as Hm,a0 as Ud,a1 as qm,a2 as Gm,a3 as Wd,a4 as Xm,a5 as jm,a6 as nc,a7 as Hd,w as $m,a8 as Km,a9 as Qm,aa as Ms,p as jn,s as Me,r as _n,u as Cl,n as E1,v as ru,y as Ea,o as wo,x as Sl,q as nu}from"./uniqueId-ebLYlRiD.js";import{u as Zm,a as qd}from"./unknownify-g-QgUElr.js";const Jm=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t3(t){return typeof t=="string"&&Jm.test(t)}function e3(t){if(!t3(t))throw TypeError("Invalid UUID");let e;const i=new Uint8Array(16);return i[0]=(e=parseInt(t.slice(0,8),16))>>>24,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=e&255,i[4]=(e=parseInt(t.slice(9,13),16))>>>8,i[5]=e&255,i[6]=(e=parseInt(t.slice(14,18),16))>>>8,i[7]=e&255,i[8]=(e=parseInt(t.slice(19,23),16))>>>8,i[9]=e&255,i[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,i[11]=e/4294967296&255,i[12]=e>>>24&255,i[13]=e>>>16&255,i[14]=e>>>8&255,i[15]=e&255,i}function i3(t){t=unescape(encodeURIComponent(t));const e=[];for(let i=0;i<t.length;++i)e.push(t.charCodeAt(i));return e}const r3="6ba7b810-9dad-11d1-80b4-00c04fd430c8",n3="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function s3(t,e,i){function r(n,s,a,o){var l;if(typeof n=="string"&&(n=i3(n)),typeof s=="string"&&(s=e3(s)),((l=s)===null||l===void 0?void 0:l.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let h=new Uint8Array(16+n.length);if(h.set(s),h.set(n,s.length),h=i(h),h[6]=h[6]&15|e,h[8]=h[8]&63|128,a){o=o||0;for(let u=0;u<16;++u)a[o+u]=h[u];return a}return gm(h)}try{r.name=t}catch{}return r.DNS=r3,r.URL=n3,r}function a3(t,e,i,r){switch(t){case 0:return e&i^~e&r;case 1:return e^i^r;case 2:return e&i^e&r^i&r;case 3:return e^i^r}}function sc(t,e){return t<<e|t>>>32-e}function o3(t){const e=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const a=unescape(encodeURIComponent(t));t=[];for(let o=0;o<a.length;++o)t.push(a.charCodeAt(o))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);const r=t.length/4+2,n=Math.ceil(r/16),s=new Array(n);for(let a=0;a<n;++a){const o=new Uint32Array(16);for(let l=0;l<16;++l)o[l]=t[a*64+l*4]<<24|t[a*64+l*4+1]<<16|t[a*64+l*4+2]<<8|t[a*64+l*4+3];s[a]=o}s[n-1][14]=(t.length-1)*8/Math.pow(2,32),s[n-1][14]=Math.floor(s[n-1][14]),s[n-1][15]=(t.length-1)*8&4294967295;for(let a=0;a<n;++a){const o=new Uint32Array(80);for(let p=0;p<16;++p)o[p]=s[a][p];for(let p=16;p<80;++p)o[p]=sc(o[p-3]^o[p-8]^o[p-14]^o[p-16],1);let l=i[0],h=i[1],u=i[2],d=i[3],f=i[4];for(let p=0;p<80;++p){const m=Math.floor(p/20),_=sc(l,5)+a3(m,h,u,d)+f+e[m]+o[p]>>>0;f=d,d=u,u=sc(h,30)>>>0,h=l,l=_}i[0]=i[0]+l>>>0,i[1]=i[1]+h>>>0,i[2]=i[2]+u>>>0,i[3]=i[3]+d>>>0,i[4]=i[4]+f>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,i[0]&255,i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,i[1]&255,i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,i[2]&255,i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,i[3]&255,i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,i[4]&255]}const l3=s3("v5",80,o3);function Gd(t,e,i,r){for(var n=t.length,s=i+(r?1:-1);r?s--:++s<n;)if(e(t[s],s,t))return s;return-1}function c3(t){return t!==t}function h3(t,e,i){for(var r=i-1,n=t.length;++r<n;)if(t[r]===e)return r;return-1}function u3(t,e,i){return e===e?h3(t,e,i):Gd(t,c3,i)}function d3(t,e){var i=t==null?0:t.length;return!!i&&u3(t,e,0)>-1}function f3(t){return eu(function(e,i){var r=-1,n=i.length,s=n>1?i[n-1]:void 0,a=n>2?i[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,a&&Nd(i[0],i[1],a)&&(s=n<3?void 0:s,n=1),e=Object(e);++r<n;){var o=i[r];o&&t(e,o,r,s)}return e})}function ms(t){var e=t==null?0:t.length;return e?Id(t,1):[]}function p3(t){return Cm(Sm(t,void 0,ms),t+"")}var g3="[object Object]",y3=Function.prototype,m3=Object.prototype,Xd=y3.toString,b3=m3.hasOwnProperty,_3=Xd.call(Object);function jd(t){if(!Md(t)||Am(t)!=g3)return!1;var e=Lm(t);if(e===null)return!0;var i=b3.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&Xd.call(i)==_3}function x3(t,e,i,r){var n=-1,s=t==null?0:t.length;for(r&&s&&(i=t[++n]);++n<s;)i=e(i,t[n],n,t);return i}var v3=4;function k3(t){return Rd(t,v3)}var w3=1,T3=4;function E3(t){return Rd(t,w3|T3)}var $d=Object.prototype,C3=$d.hasOwnProperty,Vn=eu(function(t,e){t=Object(t);var i=-1,r=e.length,n=r>2?e[2]:void 0;for(n&&Nd(e[0],e[1],n)&&(r=1);++i<r;)for(var s=e[i],a=Tl(s),o=-1,l=a.length;++o<l;){var h=a[o],u=t[h];(u===void 0||Fd(u,$d[h])&&!C3.call(t,h))&&(t[h]=s[h])}return t});function qc(t,e,i){(i!==void 0&&!Fd(t[e],i)||i===void 0&&!(e in t))&&Bm(t,e,i)}function Kd(t){return Md(t)&&Od(t)}function Gc(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}function S3(t){return Dm(t,Tl(t))}function A3(t,e,i,r,n,s,a){var o=Gc(t,i),l=Gc(e,i),h=a.get(l);if(h){qc(t,i,h);return}var u=s?s(o,l,i+"",t,e,a):void 0,d=u===void 0;if(d){var f=ts(l),p=!f&&Nm(l),m=!f&&!p&&Im(l);u=l,f||p||m?ts(o)?u=o:Kd(o)?u=Mm(o):p?(d=!1,u=Rm(l,!0)):m?(d=!1,u=Fm(l,!0)):u=[]:jd(l)||T1(l)?(u=o,T1(o)?u=S3(o):(!vo(o)||ko(o))&&(u=Om(l))):d=!1}d&&(a.set(l,u),n(u,l,r,s,a),a.delete(l)),qc(t,i,u)}function Qd(t,e,i,r,n){t!==e&&Pd(e,function(s,a){if(n||(n=new Pm),vo(s))A3(t,e,a,i,Qd,r,n);else{var o=r?r(Gc(t,a),s,a+"",t,e,n):void 0;o===void 0&&(o=s),qc(t,a,o)}},Tl)}function L3(t,e,i){for(var r=-1,n=t==null?0:t.length;++r<n;)if(i(e,t[r]))return!0;return!1}function ft(t,e){var i=ts(t)?Vm:iu;return i(t,Vd(e))}function B3(t,e){var i=[];return iu(t,function(r,n,s){e(r,n,s)&&i.push(r)}),i}function Sr(t,e){var i=ts(t)?Ym:B3;return i(t,El(e))}function D3(t){return function(e,i,r){var n=Object(e);if(!Od(e)){var s=El(i);e=qr(e),i=function(o){return s(n[o],o,n)}}var a=t(e,i,r);return a>-1?n[s?e[a]:a]:void 0}}var N3=Math.max;function I3(t,e,i){var r=t==null?0:t.length;if(!r)return-1;var n=i==null?0:zm(i);return n<0&&(n=N3(r+n,0)),Gd(t,El(e),n)}var su=D3(I3);function M3(t,e){return t==null?t:Pd(t,Vd(e),Tl)}function R3(t,e){return t>e}var F3=Object.prototype,O3=F3.hasOwnProperty;function P3(t,e){return t!=null&&O3.call(t,e)}function Zt(t,e){return t!=null&&Um(t,e,P3)}function V3(t,e){return Wm(e,function(i){return t[i]})}function Mr(t){return t==null?[]:V3(t,qr(t))}function Ae(t){return t===void 0}function xn(t){return t&&t.length?Yd(t,zd,R3):void 0}var Xc=f3(function(t,e,i){Qd(t,e,i)});function Js(t){return t&&t.length?Yd(t,zd,Hm):void 0}function Y3(t,e,i,r){if(!vo(t))return t;e=Ud(e,t);for(var n=-1,s=e.length,a=s-1,o=t;o!=null&&++n<s;){var l=qm(e[n]),h=i;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(n!=a){var u=o[l];h=r?r(u,l,o):void 0,h===void 0&&(h=vo(u)?u:Gm(e[n+1])?[]:{})}Wd(o,l,h),o=o[l]}return t}function z3(t,e,i){for(var r=-1,n=e.length,s={};++r<n;){var a=e[r],o=Xm(t,a);i(o,a)&&Y3(s,Ud(a,t),o)}return s}function U3(t,e){return z3(t,e,function(i,r){return jm(t,r)})}var ta=p3(function(t,e){return t==null?{}:U3(t,e)});function W3(t,e,i,r,n){return n(t,function(s,a,o){i=r?(r=!1,s):e(i,s,a,o)}),i}function Ca(t,e,i){var r=ts(t)?x3:W3,n=arguments.length<3;return r(t,El(e),i,n,iu)}var H3=1/0,q3=nc&&1/Hd(new nc([,-0]))[1]==H3?function(t){return new nc(t)}:$m,G3=200;function X3(t,e,i){var r=-1,n=d3,s=t.length,a=!0,o=[],l=o;if(i)a=!1,n=L3;else if(s>=G3){var h=e?null:q3(t);if(h)return Hd(h);a=!1,n=Qm,l=new Km}else l=e?[]:o;t:for(;++r<s;){var u=t[r],d=e?e(u):u;if(u=i||u!==0?u:0,a&&d===d){for(var f=l.length;f--;)if(l[f]===d)continue t;e&&l.push(d),o.push(u)}else n(l,d,i)||(l!==o&&l.push(d),o.push(u))}return o}var j3=eu(function(t){return X3(Id(t,1,Kd,!0))});function $3(t,e,i){for(var r=-1,n=t.length,s=e.length,a={};++r<n;){var o=r<s?e[r]:void 0;i(a,t[r],o)}return a}function K3(t,e){return $3(t||[],e||[],Wd)}function Zd(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var r=Array.from(typeof t=="string"?[t]:t);r[r.length-1]=r[r.length-1].replace(/\r?\n([\t ]*)$/,"");var n=r.reduce(function(o,l){var h=l.match(/\n([\t ]+|(?!\s).)/g);return h?o.concat(h.map(function(u){var d,f;return(f=(d=u.match(/[\t ]/g))===null||d===void 0?void 0:d.length)!==null&&f!==void 0?f:0})):o},[]);if(n.length){var s=new RegExp(`
2
+ [ ]{`+Math.min.apply(Math,n)+"}","g");r=r.map(function(o){return o.replace(s,`
3
+ `)})}r[0]=r[0].replace(/^\r?\n/,"");var a=r[0];return e.forEach(function(o,l){var h=a.match(/(?:^|\n)( *)$/),u=h?h[1]:"",d=o;typeof o=="string"&&o.includes(`
4
+ `)&&(d=String(o).split(`
5
+ `).map(function(f,p){return p===0?f:""+u+f}).join(`
6
+ `)),a+=d+r[l+1]}),a}var Jd={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(kl,function(){var i=1e3,r=6e4,n=36e5,s="millisecond",a="second",o="minute",l="hour",h="day",u="week",d="month",f="quarter",p="year",m="date",_="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,x={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(k){var g=["th","st","nd","rd"],B=k%100;return"["+k+(g[(B-20)%10]||g[B]||g[0])+"]"}},N=function(k,g,B){var y=String(k);return!y||y.length>=g?k:""+Array(g+1-y.length).join(B)+k},R={s:N,z:function(k){var g=-k.utcOffset(),B=Math.abs(g),y=Math.floor(B/60),M=B%60;return(g<=0?"+":"-")+N(y,2,"0")+":"+N(M,2,"0")},m:function k(g,B){if(g.date()<B.date())return-k(B,g);var y=12*(B.year()-g.year())+(B.month()-g.month()),M=g.clone().add(y,d),nt=B-M<0,Y=g.clone().add(y+(nt?-1:1),d);return+(-(y+(B-M)/(nt?M-Y:Y-M))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:d,y:p,w:u,d:h,D:m,h:l,m:o,s:a,ms:s,Q:f}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},P="en",V={};V[P]=x;var F=function(k){return k instanceof E},O=function k(g,B,y){var M;if(!g)return P;if(typeof g=="string"){var nt=g.toLowerCase();V[nt]&&(M=nt),B&&(V[nt]=B,M=nt);var Y=g.split("-");if(!M&&Y.length>1)return k(Y[0])}else{var Q=g.name;V[Q]=g,M=Q}return!y&&M&&(P=M),M||!y&&P},C=function(k,g){if(F(k))return k.clone();var B=typeof g=="object"?g:{};return B.date=k,B.args=arguments,new E(B)},S=R;S.l=O,S.i=F,S.w=function(k,g){return C(k,{locale:g.$L,utc:g.$u,x:g.$x,$offset:g.$offset})};var E=function(){function k(B){this.$L=O(B.locale,null,!0),this.parse(B)}var g=k.prototype;return g.parse=function(B){this.$d=function(y){var M=y.date,nt=y.utc;if(M===null)return new Date(NaN);if(S.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var Y=M.match(v);if(Y){var Q=Y[2]-1||0,J=(Y[7]||"0").substring(0,3);return nt?new Date(Date.UTC(Y[1],Q,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,J)):new Date(Y[1],Q,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,J)}}return new Date(M)}(B),this.$x=B.x||{},this.init()},g.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},g.$utils=function(){return S},g.isValid=function(){return this.$d.toString()!==_},g.isSame=function(B,y){var M=C(B);return this.startOf(y)<=M&&M<=this.endOf(y)},g.isAfter=function(B,y){return C(B)<this.startOf(y)},g.isBefore=function(B,y){return this.endOf(y)<C(B)},g.$g=function(B,y,M){return S.u(B)?this[y]:this.set(M,B)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(B,y){var M=this,nt=!!S.u(y)||y,Y=S.p(B),Q=function(X,j){var W=S.w(M.$u?Date.UTC(M.$y,j,X):new Date(M.$y,j,X),M);return nt?W:W.endOf(h)},J=function(X,j){return S.w(M.toDate()[X].apply(M.toDate("s"),(nt?[0,0,0,0]:[23,59,59,999]).slice(j)),M)},$=this.$W,tt=this.$M,ot=this.$D,at="set"+(this.$u?"UTC":"");switch(Y){case p:return nt?Q(1,0):Q(31,11);case d:return nt?Q(1,tt):Q(0,tt+1);case u:var U=this.$locale().weekStart||0,Tt=($<U?$+7:$)-U;return Q(nt?ot-Tt:ot+(6-Tt),tt);case h:case m:return J(at+"Hours",0);case l:return J(at+"Minutes",1);case o:return J(at+"Seconds",2);case a:return J(at+"Milliseconds",3);default:return this.clone()}},g.endOf=function(B){return this.startOf(B,!1)},g.$set=function(B,y){var M,nt=S.p(B),Y="set"+(this.$u?"UTC":""),Q=(M={},M[h]=Y+"Date",M[m]=Y+"Date",M[d]=Y+"Month",M[p]=Y+"FullYear",M[l]=Y+"Hours",M[o]=Y+"Minutes",M[a]=Y+"Seconds",M[s]=Y+"Milliseconds",M)[nt],J=nt===h?this.$D+(y-this.$W):y;if(nt===d||nt===p){var $=this.clone().set(m,1);$.$d[Q](J),$.init(),this.$d=$.set(m,Math.min(this.$D,$.daysInMonth())).$d}else Q&&this.$d[Q](J);return this.init(),this},g.set=function(B,y){return this.clone().$set(B,y)},g.get=function(B){return this[S.p(B)]()},g.add=function(B,y){var M,nt=this;B=Number(B);var Y=S.p(y),Q=function(tt){var ot=C(nt);return S.w(ot.date(ot.date()+Math.round(tt*B)),nt)};if(Y===d)return this.set(d,this.$M+B);if(Y===p)return this.set(p,this.$y+B);if(Y===h)return Q(1);if(Y===u)return Q(7);var J=(M={},M[o]=r,M[l]=n,M[a]=i,M)[Y]||1,$=this.$d.getTime()+B*J;return S.w($,this)},g.subtract=function(B,y){return this.add(-1*B,y)},g.format=function(B){var y=this,M=this.$locale();if(!this.isValid())return M.invalidDate||_;var nt=B||"YYYY-MM-DDTHH:mm:ssZ",Y=S.z(this),Q=this.$H,J=this.$m,$=this.$M,tt=M.weekdays,ot=M.months,at=function(j,W,z,A){return j&&(j[W]||j(y,nt))||z[W].slice(0,A)},U=function(j){return S.s(Q%12||12,j,"0")},Tt=M.meridiem||function(j,W,z){var A=j<12?"AM":"PM";return z?A.toLowerCase():A},X={YY:String(this.$y).slice(-2),YYYY:this.$y,M:$+1,MM:S.s($+1,2,"0"),MMM:at(M.monthsShort,$,ot,3),MMMM:at(ot,$),D:this.$D,DD:S.s(this.$D,2,"0"),d:String(this.$W),dd:at(M.weekdaysMin,this.$W,tt,2),ddd:at(M.weekdaysShort,this.$W,tt,3),dddd:tt[this.$W],H:String(Q),HH:S.s(Q,2,"0"),h:U(1),hh:U(2),a:Tt(Q,J,!0),A:Tt(Q,J,!1),m:String(J),mm:S.s(J,2,"0"),s:String(this.$s),ss:S.s(this.$s,2,"0"),SSS:S.s(this.$ms,3,"0"),Z:Y};return nt.replace(w,function(j,W){return W||X[j]||Y.replace(":","")})},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(B,y,M){var nt,Y=S.p(y),Q=C(B),J=(Q.utcOffset()-this.utcOffset())*r,$=this-Q,tt=S.m(this,Q);return tt=(nt={},nt[p]=tt/12,nt[d]=tt,nt[f]=tt/3,nt[u]=($-J)/6048e5,nt[h]=($-J)/864e5,nt[l]=$/n,nt[o]=$/r,nt[a]=$/i,nt)[Y]||$,M?tt:S.a(tt)},g.daysInMonth=function(){return this.endOf(d).$D},g.$locale=function(){return V[this.$L]},g.locale=function(B,y){if(!B)return this.$L;var M=this.clone(),nt=O(B,y,!0);return nt&&(M.$L=nt),M},g.clone=function(){return S.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},k}(),b=E.prototype;return C.prototype=b,[["$ms",s],["$s",a],["$m",o],["$H",l],["$W",h],["$M",d],["$y",p],["$D",m]].forEach(function(k){b[k[1]]=function(g){return this.$g(g,k[0],k[1])}}),C.extend=function(k,g){return k.$i||(k(g,E,C),k.$i=!0),C},C.locale=O,C.isDayjs=F,C.unix=function(k){return C(1e3*k)},C.en=V[P],C.Ls=V,C.p={},C})})(Jd);var Q3=Jd.exports;const mi=wl(Q3);var au={};Object.defineProperty(au,"__esModule",{value:!0});var zr=au.sanitizeUrl=void 0,Z3=/^([^\w]*)(javascript|data|vbscript)/im,J3=/&#(\w+)(^\w|;)?/g,t4=/&(newline|tab);/gi,e4=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,i4=/^.+(:|&colon;)/gim,r4=[".","/"];function n4(t){return r4.indexOf(t[0])>-1}function s4(t){return t.replace(J3,function(e,i){return String.fromCharCode(i)})}function a4(t){var e=s4(t||"").replace(t4,"").replace(e4,"").trim();if(!e)return"about:blank";if(n4(e))return e;var i=e.match(i4);if(!i)return e;var r=i[0];return Z3.test(r)?"about:blank":e}zr=au.sanitizeUrl=a4;function eo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function o4(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ou(t){let e,i,r;t.length!==2?(e=eo,i=(o,l)=>eo(t(o),l),r=(o,l)=>t(o)-l):(e=t===eo||t===o4?t:l4,i=t,r=t);function n(o,l,h=0,u=o.length){if(h<u){if(e(l,l)!==0)return u;do{const d=h+u>>>1;i(o[d],l)<0?h=d+1:u=d}while(h<u)}return h}function s(o,l,h=0,u=o.length){if(h<u){if(e(l,l)!==0)return u;do{const d=h+u>>>1;i(o[d],l)<=0?h=d+1:u=d}while(h<u)}return h}function a(o,l,h=0,u=o.length){const d=n(o,l,h,u-1);return d>h&&r(o[d-1],l)>-r(o[d],l)?d-1:d}return{left:n,center:a,right:s}}function l4(){return 0}function c4(t){return t===null?NaN:+t}const h4=ou(eo),u4=h4.right;ou(c4).center;class C1 extends Map{constructor(e,i=p4){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:i}}),e!=null)for(const[r,n]of e)this.set(r,n)}get(e){return super.get(S1(this,e))}has(e){return super.has(S1(this,e))}set(e,i){return super.set(d4(this,e),i)}delete(e){return super.delete(f4(this,e))}}function S1({_intern:t,_key:e},i){const r=e(i);return t.has(r)?t.get(r):i}function d4({_intern:t,_key:e},i){const r=e(i);return t.has(r)?t.get(r):(t.set(r,i),i)}function f4({_intern:t,_key:e},i){const r=e(i);return t.has(r)&&(i=t.get(r),t.delete(r)),i}function p4(t){return t!==null&&typeof t=="object"?t.valueOf():t}const g4=Math.sqrt(50),y4=Math.sqrt(10),m4=Math.sqrt(2);function To(t,e,i){const r=(e-t)/Math.max(0,i),n=Math.floor(Math.log10(r)),s=r/Math.pow(10,n),a=s>=g4?10:s>=y4?5:s>=m4?2:1;let o,l,h;return n<0?(h=Math.pow(10,-n)/a,o=Math.round(t*h),l=Math.round(e*h),o/h<t&&++o,l/h>e&&--l,h=-h):(h=Math.pow(10,n)*a,o=Math.round(t/h),l=Math.round(e/h),o*h<t&&++o,l*h>e&&--l),l<o&&.5<=i&&i<2?To(t,e,i*2):[o,l,h]}function b4(t,e,i){if(e=+e,t=+t,i=+i,!(i>0))return[];if(t===e)return[t];const r=e<t,[n,s,a]=r?To(e,t,i):To(t,e,i);if(!(s>=n))return[];const o=s-n+1,l=new Array(o);if(r)if(a<0)for(let h=0;h<o;++h)l[h]=(s-h)/-a;else for(let h=0;h<o;++h)l[h]=(s-h)*a;else if(a<0)for(let h=0;h<o;++h)l[h]=(n+h)/-a;else for(let h=0;h<o;++h)l[h]=(n+h)*a;return l}function jc(t,e,i){return e=+e,t=+t,i=+i,To(t,e,i)[2]}function $c(t,e,i){e=+e,t=+t,i=+i;const r=e<t,n=r?jc(e,t,i):jc(t,e,i);return(r?-1:1)*(n<0?1/-n:n)}function _4(t,e){let i;if(e===void 0)for(const r of t)r!=null&&(i<r||i===void 0&&r>=r)&&(i=r);else{let r=-1;for(let n of t)(n=e(n,++r,t))!=null&&(i<n||i===void 0&&n>=n)&&(i=n)}return i}function x4(t,e){let i;if(e===void 0)for(const r of t)r!=null&&(i>r||i===void 0&&r>=r)&&(i=r);else{let r=-1;for(let n of t)(n=e(n,++r,t))!=null&&(i>n||i===void 0&&n>=n)&&(i=n)}return i}function v4(t){return t}var io=1,ac=2,Kc=3,za=4,A1=1e-6;function k4(t){return"translate("+t+",0)"}function w4(t){return"translate(0,"+t+")"}function T4(t){return e=>+t(e)}function E4(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),i=>+t(i)+e}function C4(){return!this.__axis}function tf(t,e){var i=[],r=null,n=null,s=6,a=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===io||t===za?-1:1,u=t===za||t===ac?"x":"y",d=t===io||t===Kc?k4:w4;function f(p){var m=r??(e.ticks?e.ticks.apply(e,i):e.domain()),_=n??(e.tickFormat?e.tickFormat.apply(e,i):v4),v=Math.max(s,0)+o,w=e.range(),x=+w[0]+l,N=+w[w.length-1]+l,R=(e.bandwidth?E4:T4)(e.copy(),l),P=p.selection?p.selection():p,V=P.selectAll(".domain").data([null]),F=P.selectAll(".tick").data(m,e).order(),O=F.exit(),C=F.enter().append("g").attr("class","tick"),S=F.select("line"),E=F.select("text");V=V.merge(V.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),F=F.merge(C),S=S.merge(C.append("line").attr("stroke","currentColor").attr(u+"2",h*s)),E=E.merge(C.append("text").attr("fill","currentColor").attr(u,h*v).attr("dy",t===io?"0em":t===Kc?"0.71em":"0.32em")),p!==P&&(V=V.transition(p),F=F.transition(p),S=S.transition(p),E=E.transition(p),O=O.transition(p).attr("opacity",A1).attr("transform",function(b){return isFinite(b=R(b))?d(b+l):this.getAttribute("transform")}),C.attr("opacity",A1).attr("transform",function(b){var k=this.parentNode.__axis;return d((k&&isFinite(k=k(b))?k:R(b))+l)})),O.remove(),V.attr("d",t===za||t===ac?a?"M"+h*a+","+x+"H"+l+"V"+N+"H"+h*a:"M"+l+","+x+"V"+N:a?"M"+x+","+h*a+"V"+l+"H"+N+"V"+h*a:"M"+x+","+l+"H"+N),F.attr("opacity",1).attr("transform",function(b){return d(R(b)+l)}),S.attr(u+"2",h*s),E.attr(u,h*v).text(_),P.filter(C4).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ac?"start":t===za?"end":"middle"),P.each(function(){this.__axis=R})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return i=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(i=p==null?[]:Array.from(p),f):i.slice()},f.tickValues=function(p){return arguments.length?(r=p==null?null:Array.from(p),f):r&&r.slice()},f.tickFormat=function(p){return arguments.length?(n=p,f):n},f.tickSize=function(p){return arguments.length?(s=a=+p,f):s},f.tickSizeInner=function(p){return arguments.length?(s=+p,f):s},f.tickSizeOuter=function(p){return arguments.length?(a=+p,f):a},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function S4(t){return tf(io,t)}function A4(t){return tf(Kc,t)}var L4={value:()=>{}};function ef(){for(var t=0,e=arguments.length,i={},r;t<e;++t){if(!(r=arguments[t]+"")||r in i||/[\s.]/.test(r))throw new Error("illegal type: "+r);i[r]=[]}return new ro(i)}function ro(t){this._=t}function B4(t,e){return t.trim().split(/^|\s+/).map(function(i){var r="",n=i.indexOf(".");if(n>=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}ro.prototype=ef.prototype={constructor:ro,on:function(t,e){var i=this._,r=B4(t+"",i),n,s=-1,a=r.length;if(arguments.length<2){for(;++s<a;)if((n=(t=r[s]).type)&&(n=D4(i[n],t.name)))return n;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++s<a;)if(n=(t=r[s]).type)i[n]=L1(i[n],t.name,e);else if(e==null)for(n in i)i[n]=L1(i[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var i in e)t[i]=e[i].slice();return new ro(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var i=new Array(n),r=0,n,s;r<n;++r)i[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(s=this._[t],r=0,n=s.length;r<n;++r)s[r].value.apply(e,i)},apply:function(t,e,i){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],n=0,s=r.length;n<s;++n)r[n].value.apply(e,i)}};function D4(t,e){for(var i=0,r=t.length,n;i<r;++i)if((n=t[i]).name===e)return n.value}function L1(t,e,i){for(var r=0,n=t.length;r<n;++r)if(t[r].name===e){t[r]=L4,t=t.slice(0,r).concat(t.slice(r+1));break}return i!=null&&t.push({name:e,value:i}),t}var Qc="http://www.w3.org/1999/xhtml";const B1={svg:"http://www.w3.org/2000/svg",xhtml:Qc,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Al(t){var e=t+="",i=e.indexOf(":");return i>=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),B1.hasOwnProperty(e)?{space:B1[e],local:t}:t}function N4(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===Qc&&e.documentElement.namespaceURI===Qc?e.createElement(t):e.createElementNS(i,t)}}function I4(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function rf(t){var e=Al(t);return(e.local?I4:N4)(e)}function M4(){}function lu(t){return t==null?M4:function(){return this.querySelector(t)}}function R4(t){typeof t!="function"&&(t=lu(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n<i;++n)for(var s=e[n],a=s.length,o=r[n]=new Array(a),l,h,u=0;u<a;++u)(l=s[u])&&(h=t.call(l,l.__data__,u,s))&&("__data__"in l&&(h.__data__=l.__data__),o[u]=h);return new hi(r,this._parents)}function nf(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function F4(){return[]}function sf(t){return t==null?F4:function(){return this.querySelectorAll(t)}}function O4(t){return function(){return nf(t.apply(this,arguments))}}function P4(t){typeof t=="function"?t=O4(t):t=sf(t);for(var e=this._groups,i=e.length,r=[],n=[],s=0;s<i;++s)for(var a=e[s],o=a.length,l,h=0;h<o;++h)(l=a[h])&&(r.push(t.call(l,l.__data__,h,a)),n.push(l));return new hi(r,n)}function af(t){return function(){return this.matches(t)}}function of(t){return function(e){return e.matches(t)}}var V4=Array.prototype.find;function Y4(t){return function(){return V4.call(this.children,t)}}function z4(){return this.firstElementChild}function U4(t){return this.select(t==null?z4:Y4(typeof t=="function"?t:of(t)))}var W4=Array.prototype.filter;function H4(){return Array.from(this.children)}function q4(t){return function(){return W4.call(this.children,t)}}function G4(t){return this.selectAll(t==null?H4:q4(typeof t=="function"?t:of(t)))}function X4(t){typeof t!="function"&&(t=af(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n<i;++n)for(var s=e[n],a=s.length,o=r[n]=[],l,h=0;h<a;++h)(l=s[h])&&t.call(l,l.__data__,h,s)&&o.push(l);return new hi(r,this._parents)}function lf(t){return new Array(t.length)}function j4(){return new hi(this._enter||this._groups.map(lf),this._parents)}function Eo(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Eo.prototype={constructor:Eo,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function $4(t){return function(){return t}}function K4(t,e,i,r,n,s){for(var a=0,o,l=e.length,h=s.length;a<h;++a)(o=e[a])?(o.__data__=s[a],r[a]=o):i[a]=new Eo(t,s[a]);for(;a<l;++a)(o=e[a])&&(n[a]=o)}function Q4(t,e,i,r,n,s,a){var o,l,h=new Map,u=e.length,d=s.length,f=new Array(u),p;for(o=0;o<u;++o)(l=e[o])&&(f[o]=p=a.call(l,l.__data__,o,e)+"",h.has(p)?n[o]=l:h.set(p,l));for(o=0;o<d;++o)p=a.call(t,s[o],o,s)+"",(l=h.get(p))?(r[o]=l,l.__data__=s[o],h.delete(p)):i[o]=new Eo(t,s[o]);for(o=0;o<u;++o)(l=e[o])&&h.get(f[o])===l&&(n[o]=l)}function Z4(t){return t.__data__}function J4(t,e){if(!arguments.length)return Array.from(this,Z4);var i=e?Q4:K4,r=this._parents,n=this._groups;typeof t!="function"&&(t=$4(t));for(var s=n.length,a=new Array(s),o=new Array(s),l=new Array(s),h=0;h<s;++h){var u=r[h],d=n[h],f=d.length,p=t5(t.call(u,u&&u.__data__,h,r)),m=p.length,_=o[h]=new Array(m),v=a[h]=new Array(m),w=l[h]=new Array(f);i(u,d,_,v,w,p,e);for(var x=0,N=0,R,P;x<m;++x)if(R=_[x]){for(x>=N&&(N=x+1);!(P=v[N])&&++N<m;);R._next=P||null}}return a=new hi(a,r),a._enter=o,a._exit=l,a}function t5(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function e5(){return new hi(this._exit||this._groups.map(lf),this._parents)}function i5(t,e,i){var r=this.enter(),n=this,s=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),i==null?s.remove():i(s),r&&n?r.merge(n).order():n}function r5(t){for(var e=t.selection?t.selection():t,i=this._groups,r=e._groups,n=i.length,s=r.length,a=Math.min(n,s),o=new Array(n),l=0;l<a;++l)for(var h=i[l],u=r[l],d=h.length,f=o[l]=new Array(d),p,m=0;m<d;++m)(p=h[m]||u[m])&&(f[m]=p);for(;l<n;++l)o[l]=i[l];return new hi(o,this._parents)}function n5(){for(var t=this._groups,e=-1,i=t.length;++e<i;)for(var r=t[e],n=r.length-1,s=r[n],a;--n>=0;)(a=r[n])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function s5(t){t||(t=a5);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var i=this._groups,r=i.length,n=new Array(r),s=0;s<r;++s){for(var a=i[s],o=a.length,l=n[s]=new Array(o),h,u=0;u<o;++u)(h=a[u])&&(l[u]=h);l.sort(e)}return new hi(n,this._parents).order()}function a5(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function o5(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function l5(){return Array.from(this)}function c5(){for(var t=this._groups,e=0,i=t.length;e<i;++e)for(var r=t[e],n=0,s=r.length;n<s;++n){var a=r[n];if(a)return a}return null}function h5(){let t=0;for(const e of this)++t;return t}function u5(){return!this.node()}function d5(t){for(var e=this._groups,i=0,r=e.length;i<r;++i)for(var n=e[i],s=0,a=n.length,o;s<a;++s)(o=n[s])&&t.call(o,o.__data__,s,n);return this}function f5(t){return function(){this.removeAttribute(t)}}function p5(t){return function(){this.removeAttributeNS(t.space,t.local)}}function g5(t,e){return function(){this.setAttribute(t,e)}}function y5(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function m5(t,e){return function(){var i=e.apply(this,arguments);i==null?this.removeAttribute(t):this.setAttribute(t,i)}}function b5(t,e){return function(){var i=e.apply(this,arguments);i==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,i)}}function _5(t,e){var i=Al(t);if(arguments.length<2){var r=this.node();return i.local?r.getAttributeNS(i.space,i.local):r.getAttribute(i)}return this.each((e==null?i.local?p5:f5:typeof e=="function"?i.local?b5:m5:i.local?y5:g5)(i,e))}function cf(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function x5(t){return function(){this.style.removeProperty(t)}}function v5(t,e,i){return function(){this.style.setProperty(t,e,i)}}function k5(t,e,i){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,i)}}function w5(t,e,i){return arguments.length>1?this.each((e==null?x5:typeof e=="function"?k5:v5)(t,e,i??"")):es(this.node(),t)}function es(t,e){return t.style.getPropertyValue(e)||cf(t).getComputedStyle(t,null).getPropertyValue(e)}function T5(t){return function(){delete this[t]}}function E5(t,e){return function(){this[t]=e}}function C5(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function S5(t,e){return arguments.length>1?this.each((e==null?T5:typeof e=="function"?C5:E5)(t,e)):this.node()[t]}function hf(t){return t.trim().split(/^|\s+/)}function cu(t){return t.classList||new uf(t)}function uf(t){this._node=t,this._names=hf(t.getAttribute("class")||"")}uf.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function df(t,e){for(var i=cu(t),r=-1,n=e.length;++r<n;)i.add(e[r])}function ff(t,e){for(var i=cu(t),r=-1,n=e.length;++r<n;)i.remove(e[r])}function A5(t){return function(){df(this,t)}}function L5(t){return function(){ff(this,t)}}function B5(t,e){return function(){(e.apply(this,arguments)?df:ff)(this,t)}}function D5(t,e){var i=hf(t+"");if(arguments.length<2){for(var r=cu(this.node()),n=-1,s=i.length;++n<s;)if(!r.contains(i[n]))return!1;return!0}return this.each((typeof e=="function"?B5:e?A5:L5)(i,e))}function N5(){this.textContent=""}function I5(t){return function(){this.textContent=t}}function M5(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function R5(t){return arguments.length?this.each(t==null?N5:(typeof t=="function"?M5:I5)(t)):this.node().textContent}function F5(){this.innerHTML=""}function O5(t){return function(){this.innerHTML=t}}function P5(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function V5(t){return arguments.length?this.each(t==null?F5:(typeof t=="function"?P5:O5)(t)):this.node().innerHTML}function Y5(){this.nextSibling&&this.parentNode.appendChild(this)}function z5(){return this.each(Y5)}function U5(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function W5(){return this.each(U5)}function H5(t){var e=typeof t=="function"?t:rf(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function q5(){return null}function G5(t,e){var i=typeof t=="function"?t:rf(t),r=e==null?q5:typeof e=="function"?e:lu(e);return this.select(function(){return this.insertBefore(i.apply(this,arguments),r.apply(this,arguments)||null)})}function X5(){var t=this.parentNode;t&&t.removeChild(this)}function j5(){return this.each(X5)}function $5(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function K5(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Q5(t){return this.select(t?K5:$5)}function Z5(t){return arguments.length?this.property("__data__",t):this.node().__data__}function J5(t){return function(e){t.call(this,e,this.__data__)}}function tb(t){return t.trim().split(/^|\s+/).map(function(e){var i="",r=e.indexOf(".");return r>=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function eb(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,s;i<n;++i)s=e[i],(!t.type||s.type===t.type)&&s.name===t.name?this.removeEventListener(s.type,s.listener,s.options):e[++r]=s;++r?e.length=r:delete this.__on}}}function ib(t,e,i){return function(){var r=this.__on,n,s=J5(e);if(r){for(var a=0,o=r.length;a<o;++a)if((n=r[a]).type===t.type&&n.name===t.name){this.removeEventListener(n.type,n.listener,n.options),this.addEventListener(n.type,n.listener=s,n.options=i),n.value=e;return}}this.addEventListener(t.type,s,i),n={type:t.type,name:t.name,value:e,listener:s,options:i},r?r.push(n):this.__on=[n]}}function rb(t,e,i){var r=tb(t+""),n,s=r.length,a;if(arguments.length<2){var o=this.node().__on;if(o){for(var l=0,h=o.length,u;l<h;++l)for(n=0,u=o[l];n<s;++n)if((a=r[n]).type===u.type&&a.name===u.name)return u.value}return}for(o=e?ib:eb,n=0;n<s;++n)this.each(o(r[n],e,i));return this}function pf(t,e,i){var r=cf(t),n=r.CustomEvent;typeof n=="function"?n=new n(e,i):(n=r.document.createEvent("Event"),i?(n.initEvent(e,i.bubbles,i.cancelable),n.detail=i.detail):n.initEvent(e,!1,!1)),t.dispatchEvent(n)}function nb(t,e){return function(){return pf(this,t,e)}}function sb(t,e){return function(){return pf(this,t,e.apply(this,arguments))}}function ab(t,e){return this.each((typeof e=="function"?sb:nb)(t,e))}function*ob(){for(var t=this._groups,e=0,i=t.length;e<i;++e)for(var r=t[e],n=0,s=r.length,a;n<s;++n)(a=r[n])&&(yield a)}var hu=[null];function hi(t,e){this._groups=t,this._parents=e}function Sa(){return new hi([[document.documentElement]],hu)}function lb(){return this}hi.prototype=Sa.prototype={constructor:hi,select:R4,selectAll:P4,selectChild:U4,selectChildren:G4,filter:X4,data:J4,enter:j4,exit:e5,join:i5,merge:r5,selection:lb,order:n5,sort:s5,call:o5,nodes:l5,node:c5,size:h5,empty:u5,each:d5,attr:_5,style:w5,property:S5,classed:D5,text:R5,html:V5,raise:z5,lower:W5,append:H5,insert:G5,remove:j5,clone:Q5,datum:Z5,on:rb,dispatch:ab,[Symbol.iterator]:ob};function _t(t){return typeof t=="string"?new hi([[document.querySelector(t)]],[document.documentElement]):new hi([[t]],hu)}function uu(t){return typeof t=="string"?new hi([document.querySelectorAll(t)],[document.documentElement]):new hi([nf(t)],hu)}function Aa(t,e,i){t.prototype=e.prototype=i,i.constructor=t}function Ll(t,e){var i=Object.create(t.prototype);for(var r in e)i[r]=e[r];return i}function Dn(){}var ea=.7,Co=1/ea,$n="\\s*([+-]?\\d+)\\s*",ia="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",sr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cb=/^#([0-9a-f]{3,8})$/,hb=new RegExp(`^rgb\\(${$n},${$n},${$n}\\)$`),ub=new RegExp(`^rgb\\(${sr},${sr},${sr}\\)$`),db=new RegExp(`^rgba\\(${$n},${$n},${$n},${ia}\\)$`),fb=new RegExp(`^rgba\\(${sr},${sr},${sr},${ia}\\)$`),pb=new RegExp(`^hsl\\(${ia},${sr},${sr}\\)$`),gb=new RegExp(`^hsla\\(${ia},${sr},${sr},${ia}\\)$`),D1={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};Aa(Dn,vn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:N1,formatHex:N1,formatHex8:yb,formatHsl:mb,formatRgb:I1,toString:I1});function N1(){return this.rgb().formatHex()}function yb(){return this.rgb().formatHex8()}function mb(){return yf(this).formatHsl()}function I1(){return this.rgb().formatRgb()}function vn(t){var e,i;return t=(t+"").trim().toLowerCase(),(e=cb.exec(t))?(i=e[1].length,e=parseInt(e[1],16),i===6?M1(e):i===3?new ii(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?Ua(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?Ua(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=hb.exec(t))?new ii(e[1],e[2],e[3],1):(e=ub.exec(t))?new ii(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=db.exec(t))?Ua(e[1],e[2],e[3],e[4]):(e=fb.exec(t))?Ua(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=pb.exec(t))?O1(e[1],e[2]/100,e[3]/100,1):(e=gb.exec(t))?O1(e[1],e[2]/100,e[3]/100,e[4]):D1.hasOwnProperty(t)?M1(D1[t]):t==="transparent"?new ii(NaN,NaN,NaN,0):null}function M1(t){return new ii(t>>16&255,t>>8&255,t&255,1)}function Ua(t,e,i,r){return r<=0&&(t=e=i=NaN),new ii(t,e,i,r)}function gf(t){return t instanceof Dn||(t=vn(t)),t?(t=t.rgb(),new ii(t.r,t.g,t.b,t.opacity)):new ii}function Zc(t,e,i,r){return arguments.length===1?gf(t):new ii(t,e,i,r??1)}function ii(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Aa(ii,Zc,Ll(Dn,{brighter(t){return t=t==null?Co:Math.pow(Co,t),new ii(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ea:Math.pow(ea,t),new ii(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ii(mn(this.r),mn(this.g),mn(this.b),So(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:R1,formatHex:R1,formatHex8:bb,formatRgb:F1,toString:F1}));function R1(){return`#${gn(this.r)}${gn(this.g)}${gn(this.b)}`}function bb(){return`#${gn(this.r)}${gn(this.g)}${gn(this.b)}${gn((isNaN(this.opacity)?1:this.opacity)*255)}`}function F1(){const t=So(this.opacity);return`${t===1?"rgb(":"rgba("}${mn(this.r)}, ${mn(this.g)}, ${mn(this.b)}${t===1?")":`, ${t})`}`}function So(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function mn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function gn(t){return t=mn(t),(t<16?"0":"")+t.toString(16)}function O1(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new Yi(t,e,i,r)}function yf(t){if(t instanceof Yi)return new Yi(t.h,t.s,t.l,t.opacity);if(t instanceof Dn||(t=vn(t)),!t)return new Yi;if(t instanceof Yi)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),s=Math.max(e,i,r),a=NaN,o=s-n,l=(s+n)/2;return o?(e===s?a=(i-r)/o+(i<r)*6:i===s?a=(r-e)/o+2:a=(e-i)/o+4,o/=l<.5?s+n:2-s-n,a*=60):o=l>0&&l<1?0:a,new Yi(a,o,l,t.opacity)}function _b(t,e,i,r){return arguments.length===1?yf(t):new Yi(t,e,i,r??1)}function Yi(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Aa(Yi,_b,Ll(Dn,{brighter(t){return t=t==null?Co:Math.pow(Co,t),new Yi(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ea:Math.pow(ea,t),new Yi(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new ii(oc(t>=240?t-240:t+120,n,r),oc(t,n,r),oc(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new Yi(P1(this.h),Wa(this.s),Wa(this.l),So(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=So(this.opacity);return`${t===1?"hsl(":"hsla("}${P1(this.h)}, ${Wa(this.s)*100}%, ${Wa(this.l)*100}%${t===1?")":`, ${t})`}`}}));function P1(t){return t=(t||0)%360,t<0?t+360:t}function Wa(t){return Math.max(0,Math.min(1,t||0))}function oc(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const xb=Math.PI/180,vb=180/Math.PI,Ao=18,mf=.96422,bf=1,_f=.82521,xf=4/29,Kn=6/29,vf=3*Kn*Kn,kb=Kn*Kn*Kn;function kf(t){if(t instanceof ar)return new ar(t.l,t.a,t.b,t.opacity);if(t instanceof Ar)return wf(t);t instanceof ii||(t=gf(t));var e=uc(t.r),i=uc(t.g),r=uc(t.b),n=lc((.2225045*e+.7168786*i+.0606169*r)/bf),s,a;return e===i&&i===r?s=a=n:(s=lc((.4360747*e+.3850649*i+.1430804*r)/mf),a=lc((.0139322*e+.0971045*i+.7141733*r)/_f)),new ar(116*n-16,500*(s-n),200*(n-a),t.opacity)}function wb(t,e,i,r){return arguments.length===1?kf(t):new ar(t,e,i,r??1)}function ar(t,e,i,r){this.l=+t,this.a=+e,this.b=+i,this.opacity=+r}Aa(ar,wb,Ll(Dn,{brighter(t){return new ar(this.l+Ao*(t??1),this.a,this.b,this.opacity)},darker(t){return new ar(this.l-Ao*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,i=isNaN(this.b)?t:t-this.b/200;return e=mf*cc(e),t=bf*cc(t),i=_f*cc(i),new ii(hc(3.1338561*e-1.6168667*t-.4906146*i),hc(-.9787684*e+1.9161415*t+.033454*i),hc(.0719453*e-.2289914*t+1.4052427*i),this.opacity)}}));function lc(t){return t>kb?Math.pow(t,1/3):t/vf+xf}function cc(t){return t>Kn?t*t*t:vf*(t-xf)}function hc(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function uc(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Tb(t){if(t instanceof Ar)return new Ar(t.h,t.c,t.l,t.opacity);if(t instanceof ar||(t=kf(t)),t.a===0&&t.b===0)return new Ar(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*vb;return new Ar(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Jc(t,e,i,r){return arguments.length===1?Tb(t):new Ar(t,e,i,r??1)}function Ar(t,e,i,r){this.h=+t,this.c=+e,this.l=+i,this.opacity=+r}function wf(t){if(isNaN(t.h))return new ar(t.l,0,0,t.opacity);var e=t.h*xb;return new ar(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Aa(Ar,Jc,Ll(Dn,{brighter(t){return new Ar(this.h,this.c,this.l+Ao*(t??1),this.opacity)},darker(t){return new Ar(this.h,this.c,this.l-Ao*(t??1),this.opacity)},rgb(){return wf(this).rgb()}}));const Bl=t=>()=>t;function Tf(t,e){return function(i){return t+i*e}}function Eb(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function Cb(t,e){var i=e-t;return i?Tf(t,i>180||i<-180?i-360*Math.round(i/360):i):Bl(isNaN(t)?e:t)}function Sb(t){return(t=+t)==1?Ws:function(e,i){return i-e?Eb(e,i,t):Bl(isNaN(e)?i:e)}}function Ws(t,e){var i=e-t;return i?Tf(t,i):Bl(isNaN(t)?e:t)}const Lo=function t(e){var i=Sb(e);function r(n,s){var a=i((n=Zc(n)).r,(s=Zc(s)).r),o=i(n.g,s.g),l=i(n.b,s.b),h=Ws(n.opacity,s.opacity);return function(u){return n.r=a(u),n.g=o(u),n.b=l(u),n.opacity=h(u),n+""}}return r.gamma=t,r}(1);function Ab(t,e){e||(e=[]);var i=t?Math.min(e.length,t.length):0,r=e.slice(),n;return function(s){for(n=0;n<i;++n)r[n]=t[n]*(1-s)+e[n]*s;return r}}function Lb(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Bb(t,e){var i=e?e.length:0,r=t?Math.min(i,t.length):0,n=new Array(r),s=new Array(i),a;for(a=0;a<r;++a)n[a]=du(t[a],e[a]);for(;a<i;++a)s[a]=e[a];return function(o){for(a=0;a<r;++a)s[a]=n[a](o);return s}}function Db(t,e){var i=new Date;return t=+t,e=+e,function(r){return i.setTime(t*(1-r)+e*r),i}}function Vi(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}function Nb(t,e){var i={},r={},n;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(n in e)n in t?i[n]=du(t[n],e[n]):r[n]=e[n];return function(s){for(n in i)r[n]=i[n](s);return r}}var th=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,dc=new RegExp(th.source,"g");function Ib(t){return function(){return t}}function Mb(t){return function(e){return t(e)+""}}function Ef(t,e){var i=th.lastIndex=dc.lastIndex=0,r,n,s,a=-1,o=[],l=[];for(t=t+"",e=e+"";(r=th.exec(t))&&(n=dc.exec(e));)(s=n.index)>i&&(s=e.slice(i,s),o[a]?o[a]+=s:o[++a]=s),(r=r[0])===(n=n[0])?o[a]?o[a]+=n:o[++a]=n:(o[++a]=null,l.push({i:a,x:Vi(r,n)})),i=dc.lastIndex;return i<e.length&&(s=e.slice(i),o[a]?o[a]+=s:o[++a]=s),o.length<2?l[0]?Mb(l[0].x):Ib(e):(e=l.length,function(h){for(var u=0,d;u<e;++u)o[(d=l[u]).i]=d.x(h);return o.join("")})}function du(t,e){var i=typeof e,r;return e==null||i==="boolean"?Bl(e):(i==="number"?Vi:i==="string"?(r=vn(e))?(e=r,Lo):Ef:e instanceof vn?Lo:e instanceof Date?Db:Lb(e)?Ab:Array.isArray(e)?Bb:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Nb:Vi)(t,e)}function Rb(t,e){return t=+t,e=+e,function(i){return Math.round(t*(1-i)+e*i)}}var V1=180/Math.PI,eh={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Cf(t,e,i,r,n,s){var a,o,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*i+e*r)&&(i-=t*l,r-=e*l),(o=Math.sqrt(i*i+r*r))&&(i/=o,r/=o,l/=o),t*r<e*i&&(t=-t,e=-e,l=-l,a=-a),{translateX:n,translateY:s,rotate:Math.atan2(e,t)*V1,skewX:Math.atan(l)*V1,scaleX:a,scaleY:o}}var Ha;function Fb(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?eh:Cf(e.a,e.b,e.c,e.d,e.e,e.f)}function Ob(t){return t==null||(Ha||(Ha=document.createElementNS("http://www.w3.org/2000/svg","g")),Ha.setAttribute("transform",t),!(t=Ha.transform.baseVal.consolidate()))?eh:(t=t.matrix,Cf(t.a,t.b,t.c,t.d,t.e,t.f))}function Sf(t,e,i,r){function n(h){return h.length?h.pop()+" ":""}function s(h,u,d,f,p,m){if(h!==d||u!==f){var _=p.push("translate(",null,e,null,i);m.push({i:_-4,x:Vi(h,d)},{i:_-2,x:Vi(u,f)})}else(d||f)&&p.push("translate("+d+e+f+i)}function a(h,u,d,f){h!==u?(h-u>180?u+=360:u-h>180&&(h+=360),f.push({i:d.push(n(d)+"rotate(",null,r)-2,x:Vi(h,u)})):u&&d.push(n(d)+"rotate("+u+r)}function o(h,u,d,f){h!==u?f.push({i:d.push(n(d)+"skewX(",null,r)-2,x:Vi(h,u)}):u&&d.push(n(d)+"skewX("+u+r)}function l(h,u,d,f,p,m){if(h!==d||u!==f){var _=p.push(n(p)+"scale(",null,",",null,")");m.push({i:_-4,x:Vi(h,d)},{i:_-2,x:Vi(u,f)})}else(d!==1||f!==1)&&p.push(n(p)+"scale("+d+","+f+")")}return function(h,u){var d=[],f=[];return h=t(h),u=t(u),s(h.translateX,h.translateY,u.translateX,u.translateY,d,f),a(h.rotate,u.rotate,d,f),o(h.skewX,u.skewX,d,f),l(h.scaleX,h.scaleY,u.scaleX,u.scaleY,d,f),h=u=null,function(p){for(var m=-1,_=f.length,v;++m<_;)d[(v=f[m]).i]=v.x(p);return d.join("")}}}var Pb=Sf(Fb,"px, ","px)","deg)"),Vb=Sf(Ob,", ",")",")");function Yb(t){return function(e,i){var r=t((e=Jc(e)).h,(i=Jc(i)).h),n=Ws(e.c,i.c),s=Ws(e.l,i.l),a=Ws(e.opacity,i.opacity);return function(o){return e.h=r(o),e.c=n(o),e.l=s(o),e.opacity=a(o),e+""}}}const zb=Yb(Cb);var is=0,Rs=0,Ts=0,Af=1e3,Bo,Fs,Do=0,kn=0,Dl=0,ra=typeof performance=="object"&&performance.now?performance:Date,Lf=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fu(){return kn||(Lf(Ub),kn=ra.now()+Dl)}function Ub(){kn=0}function No(){this._call=this._time=this._next=null}No.prototype=Bf.prototype={constructor:No,restart:function(t,e,i){if(typeof t!="function")throw new TypeError("callback is not a function");i=(i==null?fu():+i)+(e==null?0:+e),!this._next&&Fs!==this&&(Fs?Fs._next=this:Bo=this,Fs=this),this._call=t,this._time=i,ih()},stop:function(){this._call&&(this._call=null,this._time=1/0,ih())}};function Bf(t,e,i){var r=new No;return r.restart(t,e,i),r}function Wb(){fu(),++is;for(var t=Bo,e;t;)(e=kn-t._time)>=0&&t._call.call(void 0,e),t=t._next;--is}function Y1(){kn=(Do=ra.now())+Dl,is=Rs=0;try{Wb()}finally{is=0,qb(),kn=0}}function Hb(){var t=ra.now(),e=t-Do;e>Af&&(Dl-=e,Do=t)}function qb(){for(var t,e=Bo,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Bo=i);Fs=t,ih(r)}function ih(t){if(!is){Rs&&(Rs=clearTimeout(Rs));var e=t-kn;e>24?(t<1/0&&(Rs=setTimeout(Y1,t-ra.now()-Dl)),Ts&&(Ts=clearInterval(Ts))):(Ts||(Do=ra.now(),Ts=setInterval(Hb,Af)),is=1,Lf(Y1))}}function z1(t,e,i){var r=new No;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var Gb=ef("start","end","cancel","interrupt"),Xb=[],Df=0,U1=1,rh=2,no=3,W1=4,nh=5,so=6;function Nl(t,e,i,r,n,s){var a=t.__transition;if(!a)t.__transition={};else if(i in a)return;jb(t,i,{name:e,index:r,group:n,on:Gb,tween:Xb,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Df})}function pu(t,e){var i=$i(t,e);if(i.state>Df)throw new Error("too late; already scheduled");return i}function hr(t,e){var i=$i(t,e);if(i.state>no)throw new Error("too late; already running");return i}function $i(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function jb(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=Bf(s,0,i.time);function s(h){i.state=U1,i.timer.restart(a,i.delay,i.time),i.delay<=h&&a(h-i.delay)}function a(h){var u,d,f,p;if(i.state!==U1)return l();for(u in r)if(p=r[u],p.name===i.name){if(p.state===no)return z1(a);p.state===W1?(p.state=so,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[u]):+u<e&&(p.state=so,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[u])}if(z1(function(){i.state===no&&(i.state=W1,i.timer.restart(o,i.delay,i.time),o(h))}),i.state=rh,i.on.call("start",t,t.__data__,i.index,i.group),i.state===rh){for(i.state=no,n=new Array(f=i.tween.length),u=0,d=-1;u<f;++u)(p=i.tween[u].value.call(t,t.__data__,i.index,i.group))&&(n[++d]=p);n.length=d+1}}function o(h){for(var u=h<i.duration?i.ease.call(null,h/i.duration):(i.timer.restart(l),i.state=nh,1),d=-1,f=n.length;++d<f;)n[d].call(t,u);i.state===nh&&(i.on.call("end",t,t.__data__,i.index,i.group),l())}function l(){i.state=so,i.timer.stop(),delete r[e];for(var h in r)return;delete t.__transition}}function $b(t,e){var i=t.__transition,r,n,s=!0,a;if(i){e=e==null?null:e+"";for(a in i){if((r=i[a]).name!==e){s=!1;continue}n=r.state>rh&&r.state<nh,r.state=so,r.timer.stop(),r.on.call(n?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete i[a]}s&&delete t.__transition}}function Kb(t){return this.each(function(){$b(this,t)})}function Qb(t,e){var i,r;return function(){var n=hr(this,t),s=n.tween;if(s!==i){r=i=s;for(var a=0,o=r.length;a<o;++a)if(r[a].name===e){r=r.slice(),r.splice(a,1);break}}n.tween=r}}function Zb(t,e,i){var r,n;if(typeof i!="function")throw new Error;return function(){var s=hr(this,t),a=s.tween;if(a!==r){n=(r=a).slice();for(var o={name:e,value:i},l=0,h=n.length;l<h;++l)if(n[l].name===e){n[l]=o;break}l===h&&n.push(o)}s.tween=n}}function Jb(t,e){var i=this._id;if(t+="",arguments.length<2){for(var r=$i(this.node(),i).tween,n=0,s=r.length,a;n<s;++n)if((a=r[n]).name===t)return a.value;return null}return this.each((e==null?Qb:Zb)(i,t,e))}function gu(t,e,i){var r=t._id;return t.each(function(){var n=hr(this,r);(n.value||(n.value={}))[e]=i.apply(this,arguments)}),function(n){return $i(n,r).value[e]}}function Nf(t,e){var i;return(typeof e=="number"?Vi:e instanceof vn?Lo:(i=vn(e))?(e=i,Lo):Ef)(t,e)}function t_(t){return function(){this.removeAttribute(t)}}function e_(t){return function(){this.removeAttributeNS(t.space,t.local)}}function i_(t,e,i){var r,n=i+"",s;return function(){var a=this.getAttribute(t);return a===n?null:a===r?s:s=e(r=a,i)}}function r_(t,e,i){var r,n=i+"",s;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===r?s:s=e(r=a,i)}}function n_(t,e,i){var r,n,s;return function(){var a,o=i(this),l;return o==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=o+"",a===l?null:a===r&&l===n?s:(n=l,s=e(r=a,o)))}}function s_(t,e,i){var r,n,s;return function(){var a,o=i(this),l;return o==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=o+"",a===l?null:a===r&&l===n?s:(n=l,s=e(r=a,o)))}}function a_(t,e){var i=Al(t),r=i==="transform"?Vb:Nf;return this.attrTween(t,typeof e=="function"?(i.local?s_:n_)(i,r,gu(this,"attr."+t,e)):e==null?(i.local?e_:t_)(i):(i.local?r_:i_)(i,r,e))}function o_(t,e){return function(i){this.setAttribute(t,e.call(this,i))}}function l_(t,e){return function(i){this.setAttributeNS(t.space,t.local,e.call(this,i))}}function c_(t,e){var i,r;function n(){var s=e.apply(this,arguments);return s!==r&&(i=(r=s)&&l_(t,s)),i}return n._value=e,n}function h_(t,e){var i,r;function n(){var s=e.apply(this,arguments);return s!==r&&(i=(r=s)&&o_(t,s)),i}return n._value=e,n}function u_(t,e){var i="attr."+t;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(e==null)return this.tween(i,null);if(typeof e!="function")throw new Error;var r=Al(t);return this.tween(i,(r.local?c_:h_)(r,e))}function d_(t,e){return function(){pu(this,t).delay=+e.apply(this,arguments)}}function f_(t,e){return e=+e,function(){pu(this,t).delay=e}}function p_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?d_:f_)(e,t)):$i(this.node(),e).delay}function g_(t,e){return function(){hr(this,t).duration=+e.apply(this,arguments)}}function y_(t,e){return e=+e,function(){hr(this,t).duration=e}}function m_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?g_:y_)(e,t)):$i(this.node(),e).duration}function b_(t,e){if(typeof e!="function")throw new Error;return function(){hr(this,t).ease=e}}function __(t){var e=this._id;return arguments.length?this.each(b_(e,t)):$i(this.node(),e).ease}function x_(t,e){return function(){var i=e.apply(this,arguments);if(typeof i!="function")throw new Error;hr(this,t).ease=i}}function v_(t){if(typeof t!="function")throw new Error;return this.each(x_(this._id,t))}function k_(t){typeof t!="function"&&(t=af(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n<i;++n)for(var s=e[n],a=s.length,o=r[n]=[],l,h=0;h<a;++h)(l=s[h])&&t.call(l,l.__data__,h,s)&&o.push(l);return new Fr(r,this._parents,this._name,this._id)}function w_(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,i=t._groups,r=e.length,n=i.length,s=Math.min(r,n),a=new Array(r),o=0;o<s;++o)for(var l=e[o],h=i[o],u=l.length,d=a[o]=new Array(u),f,p=0;p<u;++p)(f=l[p]||h[p])&&(d[p]=f);for(;o<r;++o)a[o]=e[o];return new Fr(a,this._parents,this._name,this._id)}function T_(t){return(t+"").trim().split(/^|\s+/).every(function(e){var i=e.indexOf(".");return i>=0&&(e=e.slice(0,i)),!e||e==="start"})}function E_(t,e,i){var r,n,s=T_(e)?pu:hr;return function(){var a=s(this,t),o=a.on;o!==r&&(n=(r=o).copy()).on(e,i),a.on=n}}function C_(t,e){var i=this._id;return arguments.length<2?$i(this.node(),i).on.on(t):this.each(E_(i,t,e))}function S_(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function A_(){return this.on("end.remove",S_(this._id))}function L_(t){var e=this._name,i=this._id;typeof t!="function"&&(t=lu(t));for(var r=this._groups,n=r.length,s=new Array(n),a=0;a<n;++a)for(var o=r[a],l=o.length,h=s[a]=new Array(l),u,d,f=0;f<l;++f)(u=o[f])&&(d=t.call(u,u.__data__,f,o))&&("__data__"in u&&(d.__data__=u.__data__),h[f]=d,Nl(h[f],e,i,f,h,$i(u,i)));return new Fr(s,this._parents,e,i)}function B_(t){var e=this._name,i=this._id;typeof t!="function"&&(t=sf(t));for(var r=this._groups,n=r.length,s=[],a=[],o=0;o<n;++o)for(var l=r[o],h=l.length,u,d=0;d<h;++d)if(u=l[d]){for(var f=t.call(u,u.__data__,d,l),p,m=$i(u,i),_=0,v=f.length;_<v;++_)(p=f[_])&&Nl(p,e,i,_,f,m);s.push(f),a.push(u)}return new Fr(s,a,e,i)}var D_=Sa.prototype.constructor;function N_(){return new D_(this._groups,this._parents)}function I_(t,e){var i,r,n;return function(){var s=es(this,t),a=(this.style.removeProperty(t),es(this,t));return s===a?null:s===i&&a===r?n:n=e(i=s,r=a)}}function If(t){return function(){this.style.removeProperty(t)}}function M_(t,e,i){var r,n=i+"",s;return function(){var a=es(this,t);return a===n?null:a===r?s:s=e(r=a,i)}}function R_(t,e,i){var r,n,s;return function(){var a=es(this,t),o=i(this),l=o+"";return o==null&&(l=o=(this.style.removeProperty(t),es(this,t))),a===l?null:a===r&&l===n?s:(n=l,s=e(r=a,o))}}function F_(t,e){var i,r,n,s="style."+e,a="end."+s,o;return function(){var l=hr(this,t),h=l.on,u=l.value[s]==null?o||(o=If(e)):void 0;(h!==i||n!==u)&&(r=(i=h).copy()).on(a,n=u),l.on=r}}function O_(t,e,i){var r=(t+="")=="transform"?Pb:Nf;return e==null?this.styleTween(t,I_(t,r)).on("end.style."+t,If(t)):typeof e=="function"?this.styleTween(t,R_(t,r,gu(this,"style."+t,e))).each(F_(this._id,t)):this.styleTween(t,M_(t,r,e),i).on("end.style."+t,null)}function P_(t,e,i){return function(r){this.style.setProperty(t,e.call(this,r),i)}}function V_(t,e,i){var r,n;function s(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&P_(t,a,i)),r}return s._value=e,s}function Y_(t,e,i){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,V_(t,e,i??""))}function z_(t){return function(){this.textContent=t}}function U_(t){return function(){var e=t(this);this.textContent=e??""}}function W_(t){return this.tween("text",typeof t=="function"?U_(gu(this,"text",t)):z_(t==null?"":t+""))}function H_(t){return function(e){this.textContent=t.call(this,e)}}function q_(t){var e,i;function r(){var n=t.apply(this,arguments);return n!==i&&(e=(i=n)&&H_(n)),e}return r._value=t,r}function G_(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,q_(t))}function X_(){for(var t=this._name,e=this._id,i=Mf(),r=this._groups,n=r.length,s=0;s<n;++s)for(var a=r[s],o=a.length,l,h=0;h<o;++h)if(l=a[h]){var u=$i(l,e);Nl(l,t,i,h,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Fr(r,this._parents,t,i)}function j_(){var t,e,i=this,r=i._id,n=i.size();return new Promise(function(s,a){var o={value:a},l={value:function(){--n===0&&s()}};i.each(function(){var h=hr(this,r),u=h.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(o),e._.interrupt.push(o),e._.end.push(l)),h.on=e}),n===0&&s()})}var $_=0;function Fr(t,e,i,r){this._groups=t,this._parents=e,this._name=i,this._id=r}function Mf(){return++$_}var mr=Sa.prototype;Fr.prototype={constructor:Fr,select:L_,selectAll:B_,selectChild:mr.selectChild,selectChildren:mr.selectChildren,filter:k_,merge:w_,selection:N_,transition:X_,call:mr.call,nodes:mr.nodes,node:mr.node,size:mr.size,empty:mr.empty,each:mr.each,on:C_,attr:a_,attrTween:u_,style:O_,styleTween:Y_,text:W_,textTween:G_,remove:A_,tween:Jb,delay:p_,duration:m_,ease:__,easeVarying:v_,end:j_,[Symbol.iterator]:mr[Symbol.iterator]};function K_(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Q_={time:null,delay:0,duration:250,ease:K_};function Z_(t,e){for(var i;!(i=t.__transition)||!(i=i[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return i}function J_(t){var e,i;t instanceof Fr?(e=t._id,t=t._name):(e=Mf(),(i=Q_).time=fu(),t=t==null?null:t+"");for(var r=this._groups,n=r.length,s=0;s<n;++s)for(var a=r[s],o=a.length,l,h=0;h<o;++h)(l=a[h])&&Nl(l,t,e,h,a,i||Z_(l,e));return new Fr(r,this._parents,t,e)}Sa.prototype.interrupt=Kb;Sa.prototype.transition=J_;const sh=Math.PI,ah=2*sh,dn=1e-6,tx=ah-dn;function Rf(t){this._+=t[0];for(let e=1,i=t.length;e<i;++e)this._+=arguments[e]+t[e]}function ex(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Rf;const i=10**e;return function(r){this._+=r[0];for(let n=1,s=r.length;n<s;++n)this._+=Math.round(arguments[n]*i)/i+r[n]}}class ix{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?Rf:ex(e)}moveTo(e,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+i}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,i){this._append`L${this._x1=+e},${this._y1=+i}`}quadraticCurveTo(e,i,r,n){this._append`Q${+e},${+i},${this._x1=+r},${this._y1=+n}`}bezierCurveTo(e,i,r,n,s,a){this._append`C${+e},${+i},${+r},${+n},${this._x1=+s},${this._y1=+a}`}arcTo(e,i,r,n,s){if(e=+e,i=+i,r=+r,n=+n,s=+s,s<0)throw new Error(`negative radius: ${s}`);let a=this._x1,o=this._y1,l=r-e,h=n-i,u=a-e,d=o-i,f=u*u+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=i}`;else if(f>dn)if(!(Math.abs(d*l-h*u)>dn)||!s)this._append`L${this._x1=e},${this._y1=i}`;else{let p=r-a,m=n-o,_=l*l+h*h,v=p*p+m*m,w=Math.sqrt(_),x=Math.sqrt(f),N=s*Math.tan((sh-Math.acos((_+f-v)/(2*w*x)))/2),R=N/x,P=N/w;Math.abs(R-1)>dn&&this._append`L${e+R*u},${i+R*d}`,this._append`A${s},${s},0,0,${+(d*p>u*m)},${this._x1=e+P*l},${this._y1=i+P*h}`}}arc(e,i,r,n,s,a){if(e=+e,i=+i,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(n),l=r*Math.sin(n),h=e+o,u=i+l,d=1^a,f=a?n-s:s-n;this._x1===null?this._append`M${h},${u}`:(Math.abs(this._x1-h)>dn||Math.abs(this._y1-u)>dn)&&this._append`L${h},${u}`,r&&(f<0&&(f=f%ah+ah),f>tx?this._append`A${r},${r},0,1,${d},${e-o},${i-l}A${r},${r},0,1,${d},${this._x1=h},${this._y1=u}`:f>dn&&this._append`A${r},${r},0,${+(f>=sh)},${d},${this._x1=e+r*Math.cos(s)},${this._y1=i+r*Math.sin(s)}`)}rect(e,i,r,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+i}h${r=+r}v${+n}h${-r}Z`}toString(){return this._}}function rx(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function nx(t,e){return fetch(t,e).then(rx)}function sx(t){return(e,i)=>nx(e,i).then(r=>new DOMParser().parseFromString(r,t))}var ax=sx("image/svg+xml");function ox(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Io(t,e){if((i=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var i,r=t.slice(0,i);return[r.length>1?r[0]+r.slice(2):r,+t.slice(i+1)]}function rs(t){return t=Io(Math.abs(t)),t?t[1]:NaN}function lx(t,e){return function(i,r){for(var n=i.length,s=[],a=0,o=t[0],l=0;n>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),s.push(i.substring(n-=o,n+o)),!((l+=o+1)>r));)o=t[a=(a+1)%t.length];return s.reverse().join(e)}}function cx(t){return function(e){return e.replace(/[0-9]/g,function(i){return t[+i]})}}var hx=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Mo(t){if(!(e=hx.exec(t)))throw new Error("invalid format: "+t);var e;return new yu({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Mo.prototype=yu.prototype;function yu(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}yu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ux(t){t:for(var e=t.length,i=1,r=-1,n;i<e;++i)switch(t[i]){case".":r=n=i;break;case"0":r===0&&(r=i),n=i;break;default:if(!+t[i])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(n+1):t}var Ff;function dx(t,e){var i=Io(t,e);if(!i)return t+"";var r=i[0],n=i[1],s=n-(Ff=Math.max(-8,Math.min(8,Math.floor(n/3)))*3)+1,a=r.length;return s===a?r:s>a?r+new Array(s-a+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Io(t,Math.max(0,e+s-1))[0]}function H1(t,e){var i=Io(t,e);if(!i)return t+"";var r=i[0],n=i[1];return n<0?"0."+new Array(-n).join("0")+r:r.length>n+1?r.slice(0,n+1)+"."+r.slice(n+1):r+new Array(n-r.length+2).join("0")}const q1={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:ox,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>H1(t*100,e),r:H1,s:dx,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function G1(t){return t}var X1=Array.prototype.map,j1=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function fx(t){var e=t.grouping===void 0||t.thousands===void 0?G1:lx(X1.call(t.grouping,Number),t.thousands+""),i=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",n=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?G1:cx(X1.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Mo(d);var f=d.fill,p=d.align,m=d.sign,_=d.symbol,v=d.zero,w=d.width,x=d.comma,N=d.precision,R=d.trim,P=d.type;P==="n"?(x=!0,P="g"):q1[P]||(N===void 0&&(N=12),R=!0,P="g"),(v||f==="0"&&p==="=")&&(v=!0,f="0",p="=");var V=_==="$"?i:_==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",F=_==="$"?r:/[%p]/.test(P)?a:"",O=q1[P],C=/[defgprs%]/.test(P);N=N===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function S(E){var b=V,k=F,g,B,y;if(P==="c")k=O(E)+k,E="";else{E=+E;var M=E<0||1/E<0;if(E=isNaN(E)?l:O(Math.abs(E),N),R&&(E=ux(E)),M&&+E==0&&m!=="+"&&(M=!1),b=(M?m==="("?m:o:m==="-"||m==="("?"":m)+b,k=(P==="s"?j1[8+Ff/3]:"")+k+(M&&m==="("?")":""),C){for(g=-1,B=E.length;++g<B;)if(y=E.charCodeAt(g),48>y||y>57){k=(y===46?n+E.slice(g+1):E.slice(g))+k,E=E.slice(0,g);break}}}x&&!v&&(E=e(E,1/0));var nt=b.length+E.length+k.length,Y=nt<w?new Array(w-nt+1).join(f):"";switch(x&&v&&(E=e(Y+E,Y.length?w-k.length:1/0),Y=""),p){case"<":E=b+E+k+Y;break;case"=":E=b+Y+E+k;break;case"^":E=Y.slice(0,nt=Y.length>>1)+b+E+k+Y.slice(nt);break;default:E=Y+b+E+k;break}return s(E)}return S.toString=function(){return d+""},S}function u(d,f){var p=h((d=Mo(d),d.type="f",d)),m=Math.max(-8,Math.min(8,Math.floor(rs(f)/3)))*3,_=Math.pow(10,-m),v=j1[8+m/3];return function(w){return p(_*w)+v}}return{format:h,formatPrefix:u}}var qa,Of,Pf;px({thousands:",",grouping:[3],currency:["$",""]});function px(t){return qa=fx(t),Of=qa.format,Pf=qa.formatPrefix,qa}function gx(t){return Math.max(0,-rs(Math.abs(t)))}function yx(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rs(e)/3)))*3-rs(Math.abs(t)))}function mx(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,rs(e)-rs(t))+1}function mu(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const $1=Symbol("implicit");function Vf(){var t=new C1,e=[],i=[],r=$1;function n(s){let a=t.get(s);if(a===void 0){if(r!==$1)return r;t.set(s,a=e.push(s)-1)}return i[a%i.length]}return n.domain=function(s){if(!arguments.length)return e.slice();e=[],t=new C1;for(const a of s)t.has(a)||t.set(a,e.push(a)-1);return n},n.range=function(s){return arguments.length?(i=Array.from(s),n):i.slice()},n.unknown=function(s){return arguments.length?(r=s,n):r},n.copy=function(){return Vf(e,i).unknown(r)},mu.apply(n,arguments),n}function bx(t){return function(){return t}}function _x(t){return+t}var K1=[0,1];function zn(t){return t}function oh(t,e){return(e-=t=+t)?function(i){return(i-t)/e}:bx(isNaN(e)?NaN:.5)}function xx(t,e){var i;return t>e&&(i=t,t=e,e=i),function(r){return Math.max(t,Math.min(e,r))}}function vx(t,e,i){var r=t[0],n=t[1],s=e[0],a=e[1];return n<r?(r=oh(n,r),s=i(a,s)):(r=oh(r,n),s=i(s,a)),function(o){return s(r(o))}}function kx(t,e,i){var r=Math.min(t.length,e.length)-1,n=new Array(r),s=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)n[a]=oh(t[a],t[a+1]),s[a]=i(e[a],e[a+1]);return function(o){var l=u4(t,o,1,r)-1;return s[l](n[l](o))}}function Yf(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function wx(){var t=K1,e=K1,i=du,r,n,s,a=zn,o,l,h;function u(){var f=Math.min(t.length,e.length);return a!==zn&&(a=xx(t[0],t[f-1])),o=f>2?kx:vx,l=h=null,d}function d(f){return f==null||isNaN(f=+f)?s:(l||(l=o(t.map(r),e,i)))(r(a(f)))}return d.invert=function(f){return a(n((h||(h=o(e,t.map(r),Vi)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,_x),u()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),u()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),i=Rb,u()},d.clamp=function(f){return arguments.length?(a=f?!0:zn,u()):a!==zn},d.interpolate=function(f){return arguments.length?(i=f,u()):i},d.unknown=function(f){return arguments.length?(s=f,d):s},function(f,p){return r=f,n=p,u()}}function zf(){return wx()(zn,zn)}function Tx(t,e,i,r){var n=$c(t,e,i),s;switch(r=Mo(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(s=yx(n,a))&&(r.precision=s),Pf(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=mx(n,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=gx(n))&&(r.precision=s-(r.type==="%")*2);break}}return Of(r)}function Ex(t){var e=t.domain;return t.ticks=function(i){var r=e();return b4(r[0],r[r.length-1],i??10)},t.tickFormat=function(i,r){var n=e();return Tx(n[0],n[n.length-1],i??10,r)},t.nice=function(i){i==null&&(i=10);var r=e(),n=0,s=r.length-1,a=r[n],o=r[s],l,h,u=10;for(o<a&&(h=a,a=o,o=h,h=n,n=s,s=h);u-- >0;){if(h=jc(a,o,i),h===l)return r[n]=a,r[s]=o,e(r);if(h>0)a=Math.floor(a/h)*h,o=Math.ceil(o/h)*h;else if(h<0)a=Math.ceil(a*h)/h,o=Math.floor(o*h)/h;else break;l=h}return t},t}function Uf(){var t=zf();return t.copy=function(){return Yf(t,Uf())},mu.apply(t,arguments),Ex(t)}function Cx(t,e){t=t.slice();var i=0,r=t.length-1,n=t[i],s=t[r],a;return s<n&&(a=i,i=r,r=a,a=n,n=s,s=a),t[i]=e.floor(n),t[r]=e.ceil(s),t}const fc=new Date,pc=new Date;function ze(t,e,i,r){function n(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return n.floor=s=>(t(s=new Date(+s)),s),n.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),n.round=s=>{const a=n(s),o=n.ceil(s);return s-a<o-s?a:o},n.offset=(s,a)=>(e(s=new Date(+s),a==null?1:Math.floor(a)),s),n.range=(s,a,o)=>{const l=[];if(s=n.ceil(s),o=o==null?1:Math.floor(o),!(s<a)||!(o>0))return l;let h;do l.push(h=new Date(+s)),e(s,o),t(s);while(h<s&&s<a);return l},n.filter=s=>ze(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,o)=>{if(a>=a)if(o<0)for(;++o<=0;)for(;e(a,-1),!s(a););else for(;--o>=0;)for(;e(a,1),!s(a););}),i&&(n.count=(s,a)=>(fc.setTime(+s),pc.setTime(+a),t(fc),t(pc),Math.floor(i(fc,pc))),n.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?n.filter(r?a=>r(a)%s===0:a=>n.count(0,a)%s===0):n)),n}const Ro=ze(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ro.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?ze(e=>{e.setTime(Math.floor(e/t)*t)},(e,i)=>{e.setTime(+e+i*t)},(e,i)=>(i-e)/t):Ro);Ro.range;const Lr=1e3,Mi=Lr*60,Br=Mi*60,Or=Br*24,bu=Or*7,Q1=Or*30,gc=Or*365,Un=ze(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Lr)},(t,e)=>(e-t)/Lr,t=>t.getUTCSeconds());Un.range;const na=ze(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Lr)},(t,e)=>{t.setTime(+t+e*Mi)},(t,e)=>(e-t)/Mi,t=>t.getMinutes());na.range;const Sx=ze(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Mi)},(t,e)=>(e-t)/Mi,t=>t.getUTCMinutes());Sx.range;const sa=ze(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Lr-t.getMinutes()*Mi)},(t,e)=>{t.setTime(+t+e*Br)},(t,e)=>(e-t)/Br,t=>t.getHours());sa.range;const Ax=ze(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Br)},(t,e)=>(e-t)/Br,t=>t.getUTCHours());Ax.range;const wn=ze(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Mi)/Or,t=>t.getDate()-1);wn.range;const _u=ze(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Or,t=>t.getUTCDate()-1);_u.range;const Lx=ze(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Or,t=>Math.floor(t/Or));Lx.range;function Nn(t){return ze(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,i)=>{e.setDate(e.getDate()+i*7)},(e,i)=>(i-e-(i.getTimezoneOffset()-e.getTimezoneOffset())*Mi)/bu)}const ns=Nn(0),Fo=Nn(1),Bx=Nn(2),Dx=Nn(3),ss=Nn(4),Nx=Nn(5),Ix=Nn(6);ns.range;Fo.range;Bx.range;Dx.range;ss.range;Nx.range;Ix.range;function In(t){return ze(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,i)=>{e.setUTCDate(e.getUTCDate()+i*7)},(e,i)=>(i-e)/bu)}const Wf=In(0),Oo=In(1),Mx=In(2),Rx=In(3),as=In(4),Fx=In(5),Ox=In(6);Wf.range;Oo.range;Mx.range;Rx.range;as.range;Fx.range;Ox.range;const aa=ze(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());aa.range;const Px=ze(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Px.range;const Pr=ze(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Pr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ze(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,i)=>{e.setFullYear(e.getFullYear()+i*t)});Pr.range;const Tn=ze(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Tn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:ze(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,i)=>{e.setUTCFullYear(e.getUTCFullYear()+i*t)});Tn.range;function Vx(t,e,i,r,n,s){const a=[[Un,1,Lr],[Un,5,5*Lr],[Un,15,15*Lr],[Un,30,30*Lr],[s,1,Mi],[s,5,5*Mi],[s,15,15*Mi],[s,30,30*Mi],[n,1,Br],[n,3,3*Br],[n,6,6*Br],[n,12,12*Br],[r,1,Or],[r,2,2*Or],[i,1,bu],[e,1,Q1],[e,3,3*Q1],[t,1,gc]];function o(h,u,d){const f=u<h;f&&([h,u]=[u,h]);const p=d&&typeof d.range=="function"?d:l(h,u,d),m=p?p.range(h,+u+1):[];return f?m.reverse():m}function l(h,u,d){const f=Math.abs(u-h)/d,p=ou(([,,v])=>v).right(a,f);if(p===a.length)return t.every($c(h/gc,u/gc,d));if(p===0)return Ro.every(Math.max($c(h,u,d),1));const[m,_]=a[f/a[p-1][2]<a[p][2]/f?p-1:p];return m.every(_)}return[o,l]}const[Yx,zx]=Vx(Pr,aa,ns,wn,sa,na);function yc(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function mc(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Es(t,e,i){return{y:t,m:e,d:i,H:0,M:0,S:0,L:0}}function Ux(t){var e=t.dateTime,i=t.date,r=t.time,n=t.periods,s=t.days,a=t.shortDays,o=t.months,l=t.shortMonths,h=Cs(n),u=Ss(n),d=Cs(s),f=Ss(s),p=Cs(a),m=Ss(a),_=Cs(o),v=Ss(o),w=Cs(l),x=Ss(l),N={a:M,A:nt,b:Y,B:Q,c:null,d:r0,e:r0,f:u6,g:v6,G:w6,H:l6,I:c6,j:h6,L:Hf,m:d6,M:f6,p:J,q:$,Q:a0,s:o0,S:p6,u:g6,U:y6,V:m6,w:b6,W:_6,x:null,X:null,y:x6,Y:k6,Z:T6,"%":s0},R={a:tt,A:ot,b:at,B:U,c:null,d:n0,e:n0,f:A6,g:P6,G:Y6,H:E6,I:C6,j:S6,L:Gf,m:L6,M:B6,p:Tt,q:X,Q:a0,s:o0,S:D6,u:N6,U:I6,V:M6,w:R6,W:F6,x:null,X:null,y:O6,Y:V6,Z:z6,"%":s0},P={a:S,A:E,b,B:k,c:g,d:e0,e:e0,f:n6,g:t0,G:J1,H:i0,I:i0,j:t6,L:r6,m:Jx,M:e6,p:C,q:Zx,Q:a6,s:o6,S:i6,u:Xx,U:jx,V:$x,w:Gx,W:Kx,x:B,X:y,y:t0,Y:J1,Z:Qx,"%":s6};N.x=V(i,N),N.X=V(r,N),N.c=V(e,N),R.x=V(i,R),R.X=V(r,R),R.c=V(e,R);function V(j,W){return function(z){var A=[],I=-1,q=0,L=j.length,st,T,Dt;for(z instanceof Date||(z=new Date(+z));++I<L;)j.charCodeAt(I)===37&&(A.push(j.slice(q,I)),(T=Z1[st=j.charAt(++I)])!=null?st=j.charAt(++I):T=st==="e"?" ":"0",(Dt=W[st])&&(st=Dt(z,T)),A.push(st),q=I+1);return A.push(j.slice(q,I)),A.join("")}}function F(j,W){return function(z){var A=Es(1900,void 0,1),I=O(A,j,z+="",0),q,L;if(I!=z.length)return null;if("Q"in A)return new Date(A.Q);if("s"in A)return new Date(A.s*1e3+("L"in A?A.L:0));if(W&&!("Z"in A)&&(A.Z=0),"p"in A&&(A.H=A.H%12+A.p*12),A.m===void 0&&(A.m="q"in A?A.q:0),"V"in A){if(A.V<1||A.V>53)return null;"w"in A||(A.w=1),"Z"in A?(q=mc(Es(A.y,0,1)),L=q.getUTCDay(),q=L>4||L===0?Oo.ceil(q):Oo(q),q=_u.offset(q,(A.V-1)*7),A.y=q.getUTCFullYear(),A.m=q.getUTCMonth(),A.d=q.getUTCDate()+(A.w+6)%7):(q=yc(Es(A.y,0,1)),L=q.getDay(),q=L>4||L===0?Fo.ceil(q):Fo(q),q=wn.offset(q,(A.V-1)*7),A.y=q.getFullYear(),A.m=q.getMonth(),A.d=q.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),L="Z"in A?mc(Es(A.y,0,1)).getUTCDay():yc(Es(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(L+5)%7:A.w+A.U*7-(L+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,mc(A)):yc(A)}}function O(j,W,z,A){for(var I=0,q=W.length,L=z.length,st,T;I<q;){if(A>=L)return-1;if(st=W.charCodeAt(I++),st===37){if(st=W.charAt(I++),T=P[st in Z1?W.charAt(I++):st],!T||(A=T(j,z,A))<0)return-1}else if(st!=z.charCodeAt(A++))return-1}return A}function C(j,W,z){var A=h.exec(W.slice(z));return A?(j.p=u.get(A[0].toLowerCase()),z+A[0].length):-1}function S(j,W,z){var A=p.exec(W.slice(z));return A?(j.w=m.get(A[0].toLowerCase()),z+A[0].length):-1}function E(j,W,z){var A=d.exec(W.slice(z));return A?(j.w=f.get(A[0].toLowerCase()),z+A[0].length):-1}function b(j,W,z){var A=w.exec(W.slice(z));return A?(j.m=x.get(A[0].toLowerCase()),z+A[0].length):-1}function k(j,W,z){var A=_.exec(W.slice(z));return A?(j.m=v.get(A[0].toLowerCase()),z+A[0].length):-1}function g(j,W,z){return O(j,e,W,z)}function B(j,W,z){return O(j,i,W,z)}function y(j,W,z){return O(j,r,W,z)}function M(j){return a[j.getDay()]}function nt(j){return s[j.getDay()]}function Y(j){return l[j.getMonth()]}function Q(j){return o[j.getMonth()]}function J(j){return n[+(j.getHours()>=12)]}function $(j){return 1+~~(j.getMonth()/3)}function tt(j){return a[j.getUTCDay()]}function ot(j){return s[j.getUTCDay()]}function at(j){return l[j.getUTCMonth()]}function U(j){return o[j.getUTCMonth()]}function Tt(j){return n[+(j.getUTCHours()>=12)]}function X(j){return 1+~~(j.getUTCMonth()/3)}return{format:function(j){var W=V(j+="",N);return W.toString=function(){return j},W},parse:function(j){var W=F(j+="",!1);return W.toString=function(){return j},W},utcFormat:function(j){var W=V(j+="",R);return W.toString=function(){return j},W},utcParse:function(j){var W=F(j+="",!0);return W.toString=function(){return j},W}}}var Z1={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Wx=/^%/,Hx=/[\\^$*+?|[\]().{}]/g;function ue(t,e,i){var r=t<0?"-":"",n=(r?-t:t)+"",s=n.length;return r+(s<i?new Array(i-s+1).join(e)+n:n)}function qx(t){return t.replace(Hx,"\\$&")}function Cs(t){return new RegExp("^(?:"+t.map(qx).join("|")+")","i")}function Ss(t){return new Map(t.map((e,i)=>[e.toLowerCase(),i]))}function Gx(t,e,i){var r=je.exec(e.slice(i,i+1));return r?(t.w=+r[0],i+r[0].length):-1}function Xx(t,e,i){var r=je.exec(e.slice(i,i+1));return r?(t.u=+r[0],i+r[0].length):-1}function jx(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.U=+r[0],i+r[0].length):-1}function $x(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.V=+r[0],i+r[0].length):-1}function Kx(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.W=+r[0],i+r[0].length):-1}function J1(t,e,i){var r=je.exec(e.slice(i,i+4));return r?(t.y=+r[0],i+r[0].length):-1}function t0(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),i+r[0].length):-1}function Qx(t,e,i){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(i,i+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),i+r[0].length):-1}function Zx(t,e,i){var r=je.exec(e.slice(i,i+1));return r?(t.q=r[0]*3-3,i+r[0].length):-1}function Jx(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.m=r[0]-1,i+r[0].length):-1}function e0(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.d=+r[0],i+r[0].length):-1}function t6(t,e,i){var r=je.exec(e.slice(i,i+3));return r?(t.m=0,t.d=+r[0],i+r[0].length):-1}function i0(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.H=+r[0],i+r[0].length):-1}function e6(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.M=+r[0],i+r[0].length):-1}function i6(t,e,i){var r=je.exec(e.slice(i,i+2));return r?(t.S=+r[0],i+r[0].length):-1}function r6(t,e,i){var r=je.exec(e.slice(i,i+3));return r?(t.L=+r[0],i+r[0].length):-1}function n6(t,e,i){var r=je.exec(e.slice(i,i+6));return r?(t.L=Math.floor(r[0]/1e3),i+r[0].length):-1}function s6(t,e,i){var r=Wx.exec(e.slice(i,i+1));return r?i+r[0].length:-1}function a6(t,e,i){var r=je.exec(e.slice(i));return r?(t.Q=+r[0],i+r[0].length):-1}function o6(t,e,i){var r=je.exec(e.slice(i));return r?(t.s=+r[0],i+r[0].length):-1}function r0(t,e){return ue(t.getDate(),e,2)}function l6(t,e){return ue(t.getHours(),e,2)}function c6(t,e){return ue(t.getHours()%12||12,e,2)}function h6(t,e){return ue(1+wn.count(Pr(t),t),e,3)}function Hf(t,e){return ue(t.getMilliseconds(),e,3)}function u6(t,e){return Hf(t,e)+"000"}function d6(t,e){return ue(t.getMonth()+1,e,2)}function f6(t,e){return ue(t.getMinutes(),e,2)}function p6(t,e){return ue(t.getSeconds(),e,2)}function g6(t){var e=t.getDay();return e===0?7:e}function y6(t,e){return ue(ns.count(Pr(t)-1,t),e,2)}function qf(t){var e=t.getDay();return e>=4||e===0?ss(t):ss.ceil(t)}function m6(t,e){return t=qf(t),ue(ss.count(Pr(t),t)+(Pr(t).getDay()===4),e,2)}function b6(t){return t.getDay()}function _6(t,e){return ue(Fo.count(Pr(t)-1,t),e,2)}function x6(t,e){return ue(t.getFullYear()%100,e,2)}function v6(t,e){return t=qf(t),ue(t.getFullYear()%100,e,2)}function k6(t,e){return ue(t.getFullYear()%1e4,e,4)}function w6(t,e){var i=t.getDay();return t=i>=4||i===0?ss(t):ss.ceil(t),ue(t.getFullYear()%1e4,e,4)}function T6(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ue(e/60|0,"0",2)+ue(e%60,"0",2)}function n0(t,e){return ue(t.getUTCDate(),e,2)}function E6(t,e){return ue(t.getUTCHours(),e,2)}function C6(t,e){return ue(t.getUTCHours()%12||12,e,2)}function S6(t,e){return ue(1+_u.count(Tn(t),t),e,3)}function Gf(t,e){return ue(t.getUTCMilliseconds(),e,3)}function A6(t,e){return Gf(t,e)+"000"}function L6(t,e){return ue(t.getUTCMonth()+1,e,2)}function B6(t,e){return ue(t.getUTCMinutes(),e,2)}function D6(t,e){return ue(t.getUTCSeconds(),e,2)}function N6(t){var e=t.getUTCDay();return e===0?7:e}function I6(t,e){return ue(Wf.count(Tn(t)-1,t),e,2)}function Xf(t){var e=t.getUTCDay();return e>=4||e===0?as(t):as.ceil(t)}function M6(t,e){return t=Xf(t),ue(as.count(Tn(t),t)+(Tn(t).getUTCDay()===4),e,2)}function R6(t){return t.getUTCDay()}function F6(t,e){return ue(Oo.count(Tn(t)-1,t),e,2)}function O6(t,e){return ue(t.getUTCFullYear()%100,e,2)}function P6(t,e){return t=Xf(t),ue(t.getUTCFullYear()%100,e,2)}function V6(t,e){return ue(t.getUTCFullYear()%1e4,e,4)}function Y6(t,e){var i=t.getUTCDay();return t=i>=4||i===0?as(t):as.ceil(t),ue(t.getUTCFullYear()%1e4,e,4)}function z6(){return"+0000"}function s0(){return"%"}function a0(t){return+t}function o0(t){return Math.floor(+t/1e3)}var On,Po;U6({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function U6(t){return On=Ux(t),Po=On.format,On.parse,On.utcFormat,On.utcParse,On}function W6(t){return new Date(t)}function H6(t){return t instanceof Date?+t:+new Date(+t)}function jf(t,e,i,r,n,s,a,o,l,h){var u=zf(),d=u.invert,f=u.domain,p=h(".%L"),m=h(":%S"),_=h("%I:%M"),v=h("%I %p"),w=h("%a %d"),x=h("%b %d"),N=h("%B"),R=h("%Y");function P(V){return(l(V)<V?p:o(V)<V?m:a(V)<V?_:s(V)<V?v:r(V)<V?n(V)<V?w:x:i(V)<V?N:R)(V)}return u.invert=function(V){return new Date(d(V))},u.domain=function(V){return arguments.length?f(Array.from(V,H6)):f().map(W6)},u.ticks=function(V){var F=f();return t(F[0],F[F.length-1],V??10)},u.tickFormat=function(V,F){return F==null?P:h(F)},u.nice=function(V){var F=f();return(!V||typeof V.range!="function")&&(V=e(F[0],F[F.length-1],V??10)),V?f(Cx(F,V)):u},u.copy=function(){return Yf(u,jf(t,e,i,r,n,s,a,o,l,h))},u}function q6(){return mu.apply(jf(Yx,zx,Pr,aa,ns,wn,sa,na,Un,Po).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Se(t){return function(){return t}}const l0=Math.abs,Ze=Math.atan2,ln=Math.cos,G6=Math.max,bc=Math.min,Ji=Math.sin,Wn=Math.sqrt,Je=1e-12,oa=Math.PI,Vo=oa/2,ao=2*oa;function X6(t){return t>1?0:t<-1?oa:Math.acos(t)}function c0(t){return t>=1?Vo:t<=-1?-Vo:Math.asin(t)}function $f(t){let e=3;return t.digits=function(i){if(!arguments.length)return e;if(i==null)e=null;else{const r=Math.floor(i);if(!(r>=0))throw new RangeError(`invalid digits: ${i}`);e=r}return t},()=>new ix(e)}function j6(t){return t.innerRadius}function $6(t){return t.outerRadius}function K6(t){return t.startAngle}function Q6(t){return t.endAngle}function Z6(t){return t&&t.padAngle}function J6(t,e,i,r,n,s,a,o){var l=i-t,h=r-e,u=a-n,d=o-s,f=d*l-u*h;if(!(f*f<Je))return f=(u*(e-s)-d*(t-n))/f,[t+f*l,e+f*h]}function Ga(t,e,i,r,n,s,a){var o=t-i,l=e-r,h=(a?s:-s)/Wn(o*o+l*l),u=h*l,d=-h*o,f=t+u,p=e+d,m=i+u,_=r+d,v=(f+m)/2,w=(p+_)/2,x=m-f,N=_-p,R=x*x+N*N,P=n-s,V=f*_-m*p,F=(N<0?-1:1)*Wn(G6(0,P*P*R-V*V)),O=(V*N-x*F)/R,C=(-V*x-N*F)/R,S=(V*N+x*F)/R,E=(-V*x+N*F)/R,b=O-v,k=C-w,g=S-v,B=E-w;return b*b+k*k>g*g+B*B&&(O=S,C=E),{cx:O,cy:C,x01:-u,y01:-d,x11:O*(n/P-1),y11:C*(n/P-1)}}function lh(){var t=j6,e=$6,i=Se(0),r=null,n=K6,s=Q6,a=Z6,o=null,l=$f(h);function h(){var u,d,f=+t.apply(this,arguments),p=+e.apply(this,arguments),m=n.apply(this,arguments)-Vo,_=s.apply(this,arguments)-Vo,v=l0(_-m),w=_>m;if(o||(o=u=l()),p<f&&(d=p,p=f,f=d),!(p>Je))o.moveTo(0,0);else if(v>ao-Je)o.moveTo(p*ln(m),p*Ji(m)),o.arc(0,0,p,m,_,!w),f>Je&&(o.moveTo(f*ln(_),f*Ji(_)),o.arc(0,0,f,_,m,w));else{var x=m,N=_,R=m,P=_,V=v,F=v,O=a.apply(this,arguments)/2,C=O>Je&&(r?+r.apply(this,arguments):Wn(f*f+p*p)),S=bc(l0(p-f)/2,+i.apply(this,arguments)),E=S,b=S,k,g;if(C>Je){var B=c0(C/f*Ji(O)),y=c0(C/p*Ji(O));(V-=B*2)>Je?(B*=w?1:-1,R+=B,P-=B):(V=0,R=P=(m+_)/2),(F-=y*2)>Je?(y*=w?1:-1,x+=y,N-=y):(F=0,x=N=(m+_)/2)}var M=p*ln(x),nt=p*Ji(x),Y=f*ln(P),Q=f*Ji(P);if(S>Je){var J=p*ln(N),$=p*Ji(N),tt=f*ln(R),ot=f*Ji(R),at;if(v<oa)if(at=J6(M,nt,tt,ot,J,$,Y,Q)){var U=M-at[0],Tt=nt-at[1],X=J-at[0],j=$-at[1],W=1/Ji(X6((U*X+Tt*j)/(Wn(U*U+Tt*Tt)*Wn(X*X+j*j)))/2),z=Wn(at[0]*at[0]+at[1]*at[1]);E=bc(S,(f-z)/(W-1)),b=bc(S,(p-z)/(W+1))}else E=b=0}F>Je?b>Je?(k=Ga(tt,ot,M,nt,p,b,w),g=Ga(J,$,Y,Q,p,b,w),o.moveTo(k.cx+k.x01,k.cy+k.y01),b<S?o.arc(k.cx,k.cy,b,Ze(k.y01,k.x01),Ze(g.y01,g.x01),!w):(o.arc(k.cx,k.cy,b,Ze(k.y01,k.x01),Ze(k.y11,k.x11),!w),o.arc(0,0,p,Ze(k.cy+k.y11,k.cx+k.x11),Ze(g.cy+g.y11,g.cx+g.x11),!w),o.arc(g.cx,g.cy,b,Ze(g.y11,g.x11),Ze(g.y01,g.x01),!w))):(o.moveTo(M,nt),o.arc(0,0,p,x,N,!w)):o.moveTo(M,nt),!(f>Je)||!(V>Je)?o.lineTo(Y,Q):E>Je?(k=Ga(Y,Q,J,$,f,-E,w),g=Ga(M,nt,tt,ot,f,-E,w),o.lineTo(k.cx+k.x01,k.cy+k.y01),E<S?o.arc(k.cx,k.cy,E,Ze(k.y01,k.x01),Ze(g.y01,g.x01),!w):(o.arc(k.cx,k.cy,E,Ze(k.y01,k.x01),Ze(k.y11,k.x11),!w),o.arc(0,0,f,Ze(k.cy+k.y11,k.cx+k.x11),Ze(g.cy+g.y11,g.cx+g.x11),w),o.arc(g.cx,g.cy,E,Ze(g.y11,g.x11),Ze(g.y01,g.x01),!w))):o.arc(0,0,f,P,R,w)}if(o.closePath(),u)return o=null,u+""||null}return h.centroid=function(){var u=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,d=(+n.apply(this,arguments)+ +s.apply(this,arguments))/2-oa/2;return[ln(d)*u,Ji(d)*u]},h.innerRadius=function(u){return arguments.length?(t=typeof u=="function"?u:Se(+u),h):t},h.outerRadius=function(u){return arguments.length?(e=typeof u=="function"?u:Se(+u),h):e},h.cornerRadius=function(u){return arguments.length?(i=typeof u=="function"?u:Se(+u),h):i},h.padRadius=function(u){return arguments.length?(r=u==null?null:typeof u=="function"?u:Se(+u),h):r},h.startAngle=function(u){return arguments.length?(n=typeof u=="function"?u:Se(+u),h):n},h.endAngle=function(u){return arguments.length?(s=typeof u=="function"?u:Se(+u),h):s},h.padAngle=function(u){return arguments.length?(a=typeof u=="function"?u:Se(+u),h):a},h.context=function(u){return arguments.length?(o=u??null,h):o},h}function Kf(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Qf(t){this._context=t}Qf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function ki(t){return new Qf(t)}function tv(t){return t[0]}function ev(t){return t[1]}function bs(t,e){var i=Se(!0),r=null,n=ki,s=null,a=$f(o);t=typeof t=="function"?t:t===void 0?tv:Se(t),e=typeof e=="function"?e:e===void 0?ev:Se(e);function o(l){var h,u=(l=Kf(l)).length,d,f=!1,p;for(r==null&&(s=n(p=a())),h=0;h<=u;++h)!(h<u&&i(d=l[h],h,l))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(d,h,l),+e(d,h,l));if(p)return s=null,p+""||null}return o.x=function(l){return arguments.length?(t=typeof l=="function"?l:Se(+l),o):t},o.y=function(l){return arguments.length?(e=typeof l=="function"?l:Se(+l),o):e},o.defined=function(l){return arguments.length?(i=typeof l=="function"?l:Se(!!l),o):i},o.curve=function(l){return arguments.length?(n=l,r!=null&&(s=n(r)),o):n},o.context=function(l){return arguments.length?(l==null?r=s=null:s=n(r=l),o):r},o}function iv(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function rv(t){return t}function nv(){var t=rv,e=iv,i=null,r=Se(0),n=Se(ao),s=Se(0);function a(o){var l,h=(o=Kf(o)).length,u,d,f=0,p=new Array(h),m=new Array(h),_=+r.apply(this,arguments),v=Math.min(ao,Math.max(-ao,n.apply(this,arguments)-_)),w,x=Math.min(Math.abs(v)/h,s.apply(this,arguments)),N=x*(v<0?-1:1),R;for(l=0;l<h;++l)(R=m[p[l]=l]=+t(o[l],l,o))>0&&(f+=R);for(e!=null?p.sort(function(P,V){return e(m[P],m[V])}):i!=null&&p.sort(function(P,V){return i(o[P],o[V])}),l=0,d=f?(v-h*N)/f:0;l<h;++l,_=w)u=p[l],R=m[u],w=_+(R>0?R*d:0)+N,m[u]={data:o[u],index:l,value:R,startAngle:_,endAngle:w,padAngle:x};return m}return a.value=function(o){return arguments.length?(t=typeof o=="function"?o:Se(+o),a):t},a.sortValues=function(o){return arguments.length?(e=o,i=null,a):e},a.sort=function(o){return arguments.length?(i=o,e=null,a):i},a.startAngle=function(o){return arguments.length?(r=typeof o=="function"?o:Se(+o),a):r},a.endAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Se(+o),a):n},a.padAngle=function(o){return arguments.length?(s=typeof o=="function"?o:Se(+o),a):s},a}class Zf{constructor(e,i){this._context=e,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function sv(t){return new Zf(t,!0)}function av(t){return new Zf(t,!1)}function tn(){}function Yo(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function Il(t){this._context=t}Il.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Yo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Yo(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function os(t){return new Il(t)}function Jf(t){this._context=t}Jf.prototype={areaStart:tn,areaEnd:tn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Yo(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function ov(t){return new Jf(t)}function t2(t){this._context=t}t2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Yo(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function lv(t){return new t2(t)}function e2(t,e){this._basis=new Il(t),this._beta=e}e2.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],s=t[i]-r,a=e[i]-n,o=-1,l;++o<=i;)l=o/i,this._basis.point(this._beta*t[o]+(1-this._beta)*(r+l*s),this._beta*e[o]+(1-this._beta)*(n+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const cv=function t(e){function i(r){return e===1?new Il(r):new e2(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function zo(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function xu(t,e){this._context=t,this._k=(1-e)/6}xu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:zo(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:zo(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const hv=function t(e){function i(r){return new xu(r,e)}return i.tension=function(r){return t(+r)},i}(0);function vu(t,e){this._context=t,this._k=(1-e)/6}vu.prototype={areaStart:tn,areaEnd:tn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:zo(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const uv=function t(e){function i(r){return new vu(r,e)}return i.tension=function(r){return t(+r)},i}(0);function ku(t,e){this._context=t,this._k=(1-e)/6}ku.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:zo(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const dv=function t(e){function i(r){return new ku(r,e)}return i.tension=function(r){return t(+r)},i}(0);function wu(t,e,i){var r=t._x1,n=t._y1,s=t._x2,a=t._y2;if(t._l01_a>Je){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Je){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);s=(s*h+t._x1*t._l23_2a-e*t._l12_2a)/u,a=(a*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,s,a,t._x2,t._y2)}function i2(t,e){this._context=t,this._alpha=e}i2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wu(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const fv=function t(e){function i(r){return e?new i2(r,e):new xu(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function r2(t,e){this._context=t,this._alpha=e}r2.prototype={areaStart:tn,areaEnd:tn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wu(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const pv=function t(e){function i(r){return e?new r2(r,e):new vu(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function n2(t,e){this._context=t,this._alpha=e}n2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wu(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const gv=function t(e){function i(r){return e?new n2(r,e):new ku(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function s2(t){this._context=t}s2.prototype={areaStart:tn,areaEnd:tn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function yv(t){return new s2(t)}function h0(t){return t<0?-1:1}function u0(t,e,i){var r=t._x1-t._x0,n=e-t._x1,s=(t._y1-t._y0)/(r||n<0&&-0),a=(i-t._y1)/(n||r<0&&-0),o=(s*n+a*r)/(r+n);return(h0(s)+h0(a))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs(o))||0}function d0(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function _c(t,e,i){var r=t._x0,n=t._y0,s=t._x1,a=t._y1,o=(s-r)/3;t._context.bezierCurveTo(r+o,n+o*e,s-o,a-o*i,s,a)}function Uo(t){this._context=t}Uo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:_c(this,this._t0,d0(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,_c(this,d0(this,i=u0(this,t,e)),i);break;default:_c(this,this._t0,i=u0(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function a2(t){this._context=new o2(t)}(a2.prototype=Object.create(Uo.prototype)).point=function(t,e){Uo.prototype.point.call(this,e,t)};function o2(t){this._context=t}o2.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,s){this._context.bezierCurveTo(e,t,r,i,s,n)}};function mv(t){return new Uo(t)}function bv(t){return new a2(t)}function l2(t){this._context=t}l2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=f0(t),n=f0(e),s=0,a=1;a<i;++s,++a)this._context.bezierCurveTo(r[0][s],n[0][s],r[1][s],n[1][s],t[a],e[a]);(this._line||this._line!==0&&i===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function f0(t){var e,i=t.length-1,r,n=new Array(i),s=new Array(i),a=new Array(i);for(n[0]=0,s[0]=2,a[0]=t[0]+2*t[1],e=1;e<i-1;++e)n[e]=1,s[e]=4,a[e]=4*t[e]+2*t[e+1];for(n[i-1]=2,s[i-1]=7,a[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)r=n[e]/s[e-1],s[e]-=r,a[e]-=r*a[e-1];for(n[i-1]=a[i-1]/s[i-1],e=i-2;e>=0;--e)n[e]=(a[e]-n[e+1])/s[e];for(s[i-1]=(t[i]+n[i-1])/2,e=0;e<i-1;++e)s[e]=2*t[e+1]-n[e+1];return[n,s]}function _v(t){return new l2(t)}function Ml(t,e){this._context=t,this._t=e}Ml.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function xv(t){return new Ml(t,.5)}function vv(t){return new Ml(t,0)}function kv(t){return new Ml(t,1)}function Os(t,e,i){this.k=t,this.x=e,this.y=i}Os.prototype={constructor:Os,scale:function(t){return t===1?this:new Os(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Os(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Os.prototype;/*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */function Gr(t){"@babel/helpers - typeof";return Gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gr(t)}function ch(t,e){return ch=Object.setPrototypeOf||function(r,n){return r.__proto__=n,r},ch(t,e)}function wv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function oo(t,e,i){return wv()?oo=Reflect.construct:oo=function(n,s,a){var o=[null];o.push.apply(o,s);var l=Function.bind.apply(n,o),h=new l;return a&&ch(h,a.prototype),h},oo.apply(null,arguments)}function Pi(t){return Tv(t)||Ev(t)||Cv(t)||Sv()}function Tv(t){if(Array.isArray(t))return hh(t)}function Ev(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Cv(t,e){if(t){if(typeof t=="string")return hh(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);if(i==="Object"&&t.constructor&&(i=t.constructor.name),i==="Map"||i==="Set")return Array.from(t);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return hh(t,e)}}function hh(t,e){(e==null||e>t.length)&&(e=t.length);for(var i=0,r=new Array(e);i<e;i++)r[i]=t[i];return r}function Sv(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
7
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Av=Object.hasOwnProperty,p0=Object.setPrototypeOf,Lv=Object.isFrozen,Bv=Object.getPrototypeOf,Dv=Object.getOwnPropertyDescriptor,ui=Object.freeze,Gi=Object.seal,Nv=Object.create,c2=typeof Reflect<"u"&&Reflect,Wo=c2.apply,uh=c2.construct;Wo||(Wo=function(e,i,r){return e.apply(i,r)});ui||(ui=function(e){return e});Gi||(Gi=function(e){return e});uh||(uh=function(e,i){return oo(e,Pi(i))});var Iv=Ri(Array.prototype.forEach),g0=Ri(Array.prototype.pop),As=Ri(Array.prototype.push),lo=Ri(String.prototype.toLowerCase),xc=Ri(String.prototype.toString),Mv=Ri(String.prototype.match),Oi=Ri(String.prototype.replace),Rv=Ri(String.prototype.indexOf),Fv=Ri(String.prototype.trim),si=Ri(RegExp.prototype.test),vc=Ov(TypeError);function Ri(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n<i;n++)r[n-1]=arguments[n];return Wo(t,e,r)}}function Ov(t){return function(){for(var e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return uh(t,i)}}function le(t,e,i){i=i||lo,p0&&p0(t,null);for(var r=e.length;r--;){var n=e[r];if(typeof n=="string"){var s=i(n);s!==n&&(Lv(e)||(e[r]=s),n=s)}t[n]=!0}return t}function cn(t){var e=Nv(null),i;for(i in t)Wo(Av,t,[i])===!0&&(e[i]=t[i]);return e}function Xa(t,e){for(;t!==null;){var i=Dv(t,e);if(i){if(i.get)return Ri(i.get);if(typeof i.value=="function")return Ri(i.value)}t=Bv(t)}function r(n){return console.warn("fallback value for",n),null}return r}var y0=ui(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),kc=ui(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),wc=ui(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Pv=ui(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Tc=ui(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),Vv=ui(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),m0=ui(["#text"]),b0=ui(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Ec=ui(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),_0=ui(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),ja=ui(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Yv=Gi(/\{\{[\w\W]*|[\w\W]*\}\}/gm),zv=Gi(/<%[\w\W]*|[\w\W]*%>/gm),Uv=Gi(/\${[\w\W]*}/gm),Wv=Gi(/^data-[\-\w.\u00B7-\uFFFF]/),Hv=Gi(/^aria-[\-\w]+$/),qv=Gi(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Gv=Gi(/^(?:\w+script|data):/i),Xv=Gi(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),jv=Gi(/^html$/i),$v=function(){return typeof window>"u"?null:window},Kv=function(e,i){if(Gr(e)!=="object"||typeof e.createPolicy!="function")return null;var r=null,n="data-tt-policy-suffix";i.currentScript&&i.currentScript.hasAttribute(n)&&(r=i.currentScript.getAttribute(n));var s="dompurify"+(r?"#"+r:"");try{return e.createPolicy(s,{createHTML:function(o){return o},createScriptURL:function(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}};function h2(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$v(),e=function(K){return h2(K)};if(e.version="2.4.3",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;var i=t.document,r=t.document,n=t.DocumentFragment,s=t.HTMLTemplateElement,a=t.Node,o=t.Element,l=t.NodeFilter,h=t.NamedNodeMap,u=h===void 0?t.NamedNodeMap||t.MozNamedAttrMap:h,d=t.HTMLFormElement,f=t.DOMParser,p=t.trustedTypes,m=o.prototype,_=Xa(m,"cloneNode"),v=Xa(m,"nextSibling"),w=Xa(m,"childNodes"),x=Xa(m,"parentNode");if(typeof s=="function"){var N=r.createElement("template");N.content&&N.content.ownerDocument&&(r=N.content.ownerDocument)}var R=Kv(p,i),P=R?R.createHTML(""):"",V=r,F=V.implementation,O=V.createNodeIterator,C=V.createDocumentFragment,S=V.getElementsByTagName,E=i.importNode,b={};try{b=cn(r).documentMode?r.documentMode:{}}catch{}var k={};e.isSupported=typeof x=="function"&&F&&typeof F.createHTMLDocument<"u"&&b!==9;var g=Yv,B=zv,y=Uv,M=Wv,nt=Hv,Y=Gv,Q=Xv,J=qv,$=null,tt=le({},[].concat(Pi(y0),Pi(kc),Pi(wc),Pi(Tc),Pi(m0))),ot=null,at=le({},[].concat(Pi(b0),Pi(Ec),Pi(_0),Pi(ja))),U=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Tt=null,X=null,j=!0,W=!0,z=!1,A=!1,I=!1,q=!1,L=!1,st=!1,T=!1,Dt=!1,et=!0,Et=!1,vt="user-content-",pt=!0,ut=!1,gt={},ht=null,yt=le({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),he=null,ie=le({},["audio","video","img","source","image","track"]),It=null,Mt=le({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Kt="http://www.w3.org/1998/Math/MathML",de="http://www.w3.org/2000/svg",qt="http://www.w3.org/1999/xhtml",Ot=qt,Bt=!1,bt=null,mt=le({},[Kt,de,qt],xc),wt,dt=["application/xhtml+xml","text/html"],Nt="text/html",rt,Wt=null,ct=r.createElement("form"),Gt=function(K){return K instanceof RegExp||K instanceof Function},Jt=function(K){Wt&&Wt===K||((!K||Gr(K)!=="object")&&(K={}),K=cn(K),wt=dt.indexOf(K.PARSER_MEDIA_TYPE)===-1?wt=Nt:wt=K.PARSER_MEDIA_TYPE,rt=wt==="application/xhtml+xml"?xc:lo,$="ALLOWED_TAGS"in K?le({},K.ALLOWED_TAGS,rt):tt,ot="ALLOWED_ATTR"in K?le({},K.ALLOWED_ATTR,rt):at,bt="ALLOWED_NAMESPACES"in K?le({},K.ALLOWED_NAMESPACES,xc):mt,It="ADD_URI_SAFE_ATTR"in K?le(cn(Mt),K.ADD_URI_SAFE_ATTR,rt):Mt,he="ADD_DATA_URI_TAGS"in K?le(cn(ie),K.ADD_DATA_URI_TAGS,rt):ie,ht="FORBID_CONTENTS"in K?le({},K.FORBID_CONTENTS,rt):yt,Tt="FORBID_TAGS"in K?le({},K.FORBID_TAGS,rt):{},X="FORBID_ATTR"in K?le({},K.FORBID_ATTR,rt):{},gt="USE_PROFILES"in K?K.USE_PROFILES:!1,j=K.ALLOW_ARIA_ATTR!==!1,W=K.ALLOW_DATA_ATTR!==!1,z=K.ALLOW_UNKNOWN_PROTOCOLS||!1,A=K.SAFE_FOR_TEMPLATES||!1,I=K.WHOLE_DOCUMENT||!1,st=K.RETURN_DOM||!1,T=K.RETURN_DOM_FRAGMENT||!1,Dt=K.RETURN_TRUSTED_TYPE||!1,L=K.FORCE_BODY||!1,et=K.SANITIZE_DOM!==!1,Et=K.SANITIZE_NAMED_PROPS||!1,pt=K.KEEP_CONTENT!==!1,ut=K.IN_PLACE||!1,J=K.ALLOWED_URI_REGEXP||J,Ot=K.NAMESPACE||qt,K.CUSTOM_ELEMENT_HANDLING&&Gt(K.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(U.tagNameCheck=K.CUSTOM_ELEMENT_HANDLING.tagNameCheck),K.CUSTOM_ELEMENT_HANDLING&&Gt(K.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(U.attributeNameCheck=K.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),K.CUSTOM_ELEMENT_HANDLING&&typeof K.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(U.allowCustomizedBuiltInElements=K.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),A&&(W=!1),T&&(st=!0),gt&&($=le({},Pi(m0)),ot=[],gt.html===!0&&(le($,y0),le(ot,b0)),gt.svg===!0&&(le($,kc),le(ot,Ec),le(ot,ja)),gt.svgFilters===!0&&(le($,wc),le(ot,Ec),le(ot,ja)),gt.mathMl===!0&&(le($,Tc),le(ot,_0),le(ot,ja))),K.ADD_TAGS&&($===tt&&($=cn($)),le($,K.ADD_TAGS,rt)),K.ADD_ATTR&&(ot===at&&(ot=cn(ot)),le(ot,K.ADD_ATTR,rt)),K.ADD_URI_SAFE_ATTR&&le(It,K.ADD_URI_SAFE_ATTR,rt),K.FORBID_CONTENTS&&(ht===yt&&(ht=cn(ht)),le(ht,K.FORBID_CONTENTS,rt)),pt&&($["#text"]=!0),I&&le($,["html","head","body"]),$.table&&(le($,["tbody"]),delete Tt.tbody),ui&&ui(K),Wt=K)},se=le({},["mi","mo","mn","ms","mtext"]),re=le({},["foreignobject","desc","title","annotation-xml"]),ae=le({},["title","style","font","a","script"]),Rt=le({},kc);le(Rt,wc),le(Rt,Pv);var Ht=le({},Tc);le(Ht,Vv);var ne=function(K){var xt=x(K);(!xt||!xt.tagName)&&(xt={namespaceURI:Ot,tagName:"template"});var Ct=lo(K.tagName),te=lo(xt.tagName);return bt[K.namespaceURI]?K.namespaceURI===de?xt.namespaceURI===qt?Ct==="svg":xt.namespaceURI===Kt?Ct==="svg"&&(te==="annotation-xml"||se[te]):!!Rt[Ct]:K.namespaceURI===Kt?xt.namespaceURI===qt?Ct==="math":xt.namespaceURI===de?Ct==="math"&&re[te]:!!Ht[Ct]:K.namespaceURI===qt?xt.namespaceURI===de&&!re[te]||xt.namespaceURI===Kt&&!se[te]?!1:!Ht[Ct]&&(ae[Ct]||!Rt[Ct]):!!(wt==="application/xhtml+xml"&&bt[K.namespaceURI]):!1},Ut=function(K){As(e.removed,{element:K});try{K.parentNode.removeChild(K)}catch{try{K.outerHTML=P}catch{K.remove()}}},fr=function(K,xt){try{As(e.removed,{attribute:xt.getAttributeNode(K),from:xt})}catch{As(e.removed,{attribute:null,from:xt})}if(xt.removeAttribute(K),K==="is"&&!ot[K])if(st||T)try{Ut(xt)}catch{}else try{xt.setAttribute(K,"")}catch{}},sn=function(K){var xt,Ct;if(L)K="<remove></remove>"+K;else{var te=Mv(K,/^[\r\n\t ]+/);Ct=te&&te[0]}wt==="application/xhtml+xml"&&Ot===qt&&(K='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+K+"</body></html>");var fe=R?R.createHTML(K):K;if(Ot===qt)try{xt=new f().parseFromString(fe,wt)}catch{}if(!xt||!xt.documentElement){xt=F.createDocument(Ot,"template",null);try{xt.documentElement.innerHTML=Bt?P:fe}catch{}}var pe=xt.body||xt.documentElement;return K&&Ct&&pe.insertBefore(r.createTextNode(Ct),pe.childNodes[0]||null),Ot===qt?S.call(xt,I?"html":"body")[0]:I?xt.documentElement:pe},ge=function(K){return O.call(K.ownerDocument||K,K,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},Xt=function(K){return K instanceof d&&(typeof K.nodeName!="string"||typeof K.textContent!="string"||typeof K.removeChild!="function"||!(K.attributes instanceof u)||typeof K.removeAttribute!="function"||typeof K.setAttribute!="function"||typeof K.namespaceURI!="string"||typeof K.insertBefore!="function"||typeof K.hasChildNodes!="function")},Te=function(K){return Gr(a)==="object"?K instanceof a:K&&Gr(K)==="object"&&typeof K.nodeType=="number"&&typeof K.nodeName=="string"},Qe=function(K,xt,Ct){k[K]&&Iv(k[K],function(te){te.call(e,xt,Ct,Wt)})},Ee=function(K){var xt;if(Qe("beforeSanitizeElements",K,null),Xt(K)||si(/[\u0080-\uFFFF]/,K.nodeName))return Ut(K),!0;var Ct=rt(K.nodeName);if(Qe("uponSanitizeElement",K,{tagName:Ct,allowedTags:$}),K.hasChildNodes()&&!Te(K.firstElementChild)&&(!Te(K.content)||!Te(K.content.firstElementChild))&&si(/<[/\w]/g,K.innerHTML)&&si(/<[/\w]/g,K.textContent)||Ct==="select"&&si(/<template/i,K.innerHTML))return Ut(K),!0;if(!$[Ct]||Tt[Ct]){if(!Tt[Ct]&&ye(Ct)&&(U.tagNameCheck instanceof RegExp&&si(U.tagNameCheck,Ct)||U.tagNameCheck instanceof Function&&U.tagNameCheck(Ct)))return!1;if(pt&&!ht[Ct]){var te=x(K)||K.parentNode,fe=w(K)||K.childNodes;if(fe&&te)for(var pe=fe.length,De=pe-1;De>=0;--De)te.insertBefore(_(fe[De],!0),v(K))}return Ut(K),!0}return K instanceof o&&!ne(K)||(Ct==="noscript"||Ct==="noembed")&&si(/<\/no(script|embed)/i,K.innerHTML)?(Ut(K),!0):(A&&K.nodeType===3&&(xt=K.textContent,xt=Oi(xt,g," "),xt=Oi(xt,B," "),xt=Oi(xt,y," "),K.textContent!==xt&&(As(e.removed,{element:K.cloneNode()}),K.textContent=xt)),Qe("afterSanitizeElements",K,null),!1)},Fe=function(K,xt,Ct){if(et&&(xt==="id"||xt==="name")&&(Ct in r||Ct in ct))return!1;if(!(W&&!X[xt]&&si(M,xt))){if(!(j&&si(nt,xt))){if(!ot[xt]||X[xt]){if(!(ye(K)&&(U.tagNameCheck instanceof RegExp&&si(U.tagNameCheck,K)||U.tagNameCheck instanceof Function&&U.tagNameCheck(K))&&(U.attributeNameCheck instanceof RegExp&&si(U.attributeNameCheck,xt)||U.attributeNameCheck instanceof Function&&U.attributeNameCheck(xt))||xt==="is"&&U.allowCustomizedBuiltInElements&&(U.tagNameCheck instanceof RegExp&&si(U.tagNameCheck,Ct)||U.tagNameCheck instanceof Function&&U.tagNameCheck(Ct))))return!1}else if(!It[xt]){if(!si(J,Oi(Ct,Q,""))){if(!((xt==="src"||xt==="xlink:href"||xt==="href")&&K!=="script"&&Rv(Ct,"data:")===0&&he[K])){if(!(z&&!si(Y,Oi(Ct,Q,"")))){if(Ct)return!1}}}}}}return!0},ye=function(K){return K.indexOf("-")>0},$e=function(K){var xt,Ct,te,fe;Qe("beforeSanitizeAttributes",K,null);var pe=K.attributes;if(pe){var De={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ot};for(fe=pe.length;fe--;){xt=pe[fe];var We=xt,ve=We.name,ks=We.namespaceURI;if(Ct=ve==="value"?xt.value:Fv(xt.value),te=rt(ve),De.attrName=te,De.attrValue=Ct,De.keepAttr=!0,De.forceKeepAttr=void 0,Qe("uponSanitizeAttribute",K,De),Ct=De.attrValue,!De.forceKeepAttr&&(fr(ve,K),!!De.keepAttr)){if(si(/\/>/i,Ct)){fr(ve,K);continue}A&&(Ct=Oi(Ct,g," "),Ct=Oi(Ct,B," "),Ct=Oi(Ct,y," "));var Rn=rt(K.nodeName);if(Fe(Rn,te,Ct)){if(Et&&(te==="id"||te==="name")&&(fr(ve,K),Ct=vt+Ct),R&&Gr(p)==="object"&&typeof p.getAttributeType=="function"&&!ks)switch(p.getAttributeType(Rn,te)){case"TrustedHTML":Ct=R.createHTML(Ct);break;case"TrustedScriptURL":Ct=R.createScriptURL(Ct);break}try{ks?K.setAttributeNS(ks,ve,Ct):K.setAttribute(ve,Ct),g0(e.removed)}catch{}}}}Qe("afterSanitizeAttributes",K,null)}},Ue=function Lt(K){var xt,Ct=ge(K);for(Qe("beforeSanitizeShadowDOM",K,null);xt=Ct.nextNode();)Qe("uponSanitizeShadowNode",xt,null),!Ee(xt)&&(xt.content instanceof n&&Lt(xt.content),$e(xt));Qe("afterSanitizeShadowDOM",K,null)};return e.sanitize=function(Lt){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},xt,Ct,te,fe,pe;if(Bt=!Lt,Bt&&(Lt="<!-->"),typeof Lt!="string"&&!Te(Lt)){if(typeof Lt.toString!="function")throw vc("toString is not a function");if(Lt=Lt.toString(),typeof Lt!="string")throw vc("dirty is not a string, aborting")}if(!e.isSupported){if(Gr(t.toStaticHTML)==="object"||typeof t.toStaticHTML=="function"){if(typeof Lt=="string")return t.toStaticHTML(Lt);if(Te(Lt))return t.toStaticHTML(Lt.outerHTML)}return Lt}if(q||Jt(K),e.removed=[],typeof Lt=="string"&&(ut=!1),ut){if(Lt.nodeName){var De=rt(Lt.nodeName);if(!$[De]||Tt[De])throw vc("root node is forbidden and cannot be sanitized in-place")}}else if(Lt instanceof a)xt=sn("<!---->"),Ct=xt.ownerDocument.importNode(Lt,!0),Ct.nodeType===1&&Ct.nodeName==="BODY"||Ct.nodeName==="HTML"?xt=Ct:xt.appendChild(Ct);else{if(!st&&!A&&!I&&Lt.indexOf("<")===-1)return R&&Dt?R.createHTML(Lt):Lt;if(xt=sn(Lt),!xt)return st?null:Dt?P:""}xt&&L&&Ut(xt.firstChild);for(var We=ge(ut?Lt:xt);te=We.nextNode();)te.nodeType===3&&te===fe||Ee(te)||(te.content instanceof n&&Ue(te.content),$e(te),fe=te);if(fe=null,ut)return Lt;if(st){if(T)for(pe=C.call(xt.ownerDocument);xt.firstChild;)pe.appendChild(xt.firstChild);else pe=xt;return ot.shadowroot&&(pe=E.call(i,pe,!0)),pe}var ve=I?xt.outerHTML:xt.innerHTML;return I&&$["!doctype"]&&xt.ownerDocument&&xt.ownerDocument.doctype&&xt.ownerDocument.doctype.name&&si(jv,xt.ownerDocument.doctype.name)&&(ve="<!DOCTYPE "+xt.ownerDocument.doctype.name+`>
8
+ `+ve),A&&(ve=Oi(ve,g," "),ve=Oi(ve,B," "),ve=Oi(ve,y," ")),R&&Dt?R.createHTML(ve):ve},e.setConfig=function(Lt){Jt(Lt),q=!0},e.clearConfig=function(){Wt=null,q=!1},e.isValidAttribute=function(Lt,K,xt){Wt||Jt({});var Ct=rt(Lt),te=rt(K);return Fe(Ct,te,xt)},e.addHook=function(Lt,K){typeof K=="function"&&(k[Lt]=k[Lt]||[],As(k[Lt],K))},e.removeHook=function(Lt){if(k[Lt])return g0(k[Lt])},e.removeHooks=function(Lt){k[Lt]&&(k[Lt]=[])},e.removeAllHooks=function(){k={}},e}var la=h2();const co={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,s=2*i-n;switch(r){case"r":return co.hue2rgb(s,n,t+1/3)*255;case"g":return co.hue2rgb(s,n,t)*255;case"b":return co.hue2rgb(s,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),s=Math.min(t,e,i),a=(n+s)/2;if(r==="l")return a*100;if(n===s)return 0;const o=n-s,l=a>.5?o/(2-n-s):o/(n+s);if(r==="s")return l*100;switch(n){case t:return((e-i)/o+(e<i?6:0))*60;case e:return((i-t)/o+2)*60;case i:return((t-e)/o+4)*60;default:return-1}}},Qv={clamp:(t,e,i)=>e>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Zv=Qv,Jv={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},tk=Jv,ee={channel:co,lang:Zv,unit:tk},Hr={};for(let t=0;t<=255;t++)Hr[t]=ee.unit.dec2hex(t);const ti={ALL:0,RGB:1,HSL:2};class ek{constructor(){this.type=ti.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ti.ALL}is(e){return this.type===e}}class ik{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new ek}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=ti.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=ee.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=ee.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=ee.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=ee.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=ee.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=ee.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(ti.HSL)&&i!==void 0?i:(this._ensureHSL(),ee.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(ti.HSL)&&i!==void 0?i:(this._ensureHSL(),ee.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(ti.HSL)&&i!==void 0?i:(this._ensureHSL(),ee.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(ti.RGB)&&i!==void 0?i:(this._ensureRGB(),ee.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(ti.RGB)&&i!==void 0?i:(this._ensureRGB(),ee.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(ti.RGB)&&i!==void 0?i:(this._ensureRGB(),ee.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ti.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ti.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ti.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ti.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ti.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ti.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const rk=ik,Rl=new rk({r:0,g:0,b:0,a:0},"transparent"),Qn={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Qn.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,s=n%4===0,a=n>4,o=a?1:17,l=a?8:4,h=s?0:-1,u=a?255:15;return Rl.set({r:(r>>l*(h+3)&u)*o,g:(r>>l*(h+2)&u)*o,b:(r>>l*(h+1)&u)*o,a:s?(r&u)*o/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${Hr[Math.round(e)]}${Hr[Math.round(i)]}${Hr[Math.round(r)]}${Hr[Math.round(n*255)]}`:`#${Hr[Math.round(e)]}${Hr[Math.round(i)]}${Hr[Math.round(r)]}`}},yn={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(yn.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return ee.channel.clamp.h(parseFloat(i)*.9);case"rad":return ee.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return ee.channel.clamp.h(parseFloat(i)*360)}}return ee.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(yn.re);if(!i)return;const[,r,n,s,a,o]=i;return Rl.set({h:yn._hue2deg(r),s:ee.channel.clamp.s(parseFloat(n)),l:ee.channel.clamp.l(parseFloat(s)),a:a?ee.channel.clamp.a(o?parseFloat(a)/100:parseFloat(a)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${ee.lang.round(e)}, ${ee.lang.round(i)}%, ${ee.lang.round(r)}%, ${n})`:`hsl(${ee.lang.round(e)}, ${ee.lang.round(i)}%, ${ee.lang.round(r)}%)`}},Hs={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=Hs.colors[t];if(e)return Qn.parse(e)},stringify:t=>{const e=Qn.stringify(t);for(const i in Hs.colors)if(Hs.colors[i]===e)return i}},Ps={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(Ps.re);if(!i)return;const[,r,n,s,a,o,l,h,u]=i;return Rl.set({r:ee.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:ee.channel.clamp.g(a?parseFloat(s)*2.55:parseFloat(s)),b:ee.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:h?ee.channel.clamp.a(u?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${ee.lang.round(e)}, ${ee.lang.round(i)}, ${ee.lang.round(r)}, ${ee.lang.round(n)})`:`rgb(${ee.lang.round(e)}, ${ee.lang.round(i)}, ${ee.lang.round(r)})`}},Vr={format:{keyword:Hs,hex:Qn,rgb:Ps,rgba:Ps,hsl:yn,hsla:yn},parse:t=>{if(typeof t!="string")return t;const e=Qn.parse(t)||Ps.parse(t)||yn.parse(t)||Hs.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(ti.HSL)||t.data.r===void 0?yn.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Ps.stringify(t):Qn.stringify(t)},u2=(t,e)=>{const i=Vr.parse(t);for(const r in e)i[r]=ee.channel.clamp[r](e[r]);return Vr.stringify(i)},qs=(t,e,i=0,r=1)=>{if(typeof t!="number")return u2(t,{a:e});const n=Rl.set({r:ee.channel.clamp.r(t),g:ee.channel.clamp.g(e),b:ee.channel.clamp.b(i),a:ee.channel.clamp.a(r)});return Vr.stringify(n)},d2=(t,e,i)=>{const r=Vr.parse(t),n=r[e],s=ee.channel.clamp[e](n+i);return n!==s&&(r[e]=s),Vr.stringify(r)},zt=(t,e)=>d2(t,"l",e),Qt=(t,e)=>d2(t,"l",-e),lt=(t,e)=>{const i=Vr.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return u2(t,r)},nk=(t,e,i=50)=>{const{r,g:n,b:s,a}=Vr.parse(t),{r:o,g:l,b:h,a:u}=Vr.parse(e),d=i/100,f=d*2-1,p=a-u,_=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,v=1-_,w=r*_+o*v,x=n*_+l*v,N=s*_+h*v,R=a*d+u*(1-d);return qs(w,x,N,R)},At=(t,e=100)=>{const i=Vr.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,nk(i,t,e)};var sk="\0",hn="\0",x0="";class Re{constructor(e={}){this._isDirected=Zt(e,"directed")?e.directed:!0,this._isMultigraph=Zt(e,"multigraph")?e.multigraph:!1,this._isCompound=Zt(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Ms(void 0),this._defaultEdgeLabelFn=Ms(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[hn]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return ko(e)||(e=Ms(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return qr(this._nodes)}sources(){var e=this;return Sr(this.nodes(),function(i){return jn(e._in[i])})}sinks(){var e=this;return Sr(this.nodes(),function(i){return jn(e._out[i])})}setNodes(e,i){var r=arguments,n=this;return ft(e,function(s){r.length>1?n.setNode(s,i):n.setNode(s)}),this}setNode(e,i){return Zt(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=i),this):(this._nodes[e]=arguments.length>1?i:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=hn,this._children[e]={},this._children[hn][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Zt(this._nodes,e)}removeNode(e){var i=this;if(Zt(this._nodes,e)){var r=function(n){i.removeEdge(i._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],ft(this.children(e),function(n){i.setParent(n)}),delete this._children[e]),ft(qr(this._in[e]),r),delete this._in[e],delete this._preds[e],ft(qr(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,i){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Ae(i))i=hn;else{i+="";for(var r=i;!Ae(r);r=this.parent(r))if(r===e)throw new Error("Setting "+i+" as parent of "+e+" would create a cycle");this.setNode(i)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=i,this._children[i][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var i=this._parent[e];if(i!==hn)return i}}children(e){if(Ae(e)&&(e=hn),this._isCompound){var i=this._children[e];if(i)return qr(i)}else{if(e===hn)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var i=this._preds[e];if(i)return qr(i)}successors(e){var i=this._sucs[e];if(i)return qr(i)}neighbors(e){var i=this.predecessors(e);if(i)return j3(i,this.successors(e))}isLeaf(e){var i;return this.isDirected()?i=this.successors(e):i=this.neighbors(e),i.length===0}filterNodes(e){var i=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});i.setGraph(this.graph());var r=this;ft(this._nodes,function(a,o){e(o)&&i.setNode(o,a)}),ft(this._edgeObjs,function(a){i.hasNode(a.v)&&i.hasNode(a.w)&&i.setEdge(a,r.edge(a))});var n={};function s(a){var o=r.parent(a);return o===void 0||i.hasNode(o)?(n[a]=o,o):o in n?n[o]:s(o)}return this._isCompound&&ft(i.nodes(),function(a){i.setParent(a,s(a))}),i}setDefaultEdgeLabel(e){return ko(e)||(e=Ms(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Mr(this._edgeObjs)}setPath(e,i){var r=this,n=arguments;return Ca(e,function(s,a){return n.length>1?r.setEdge(s,a,i):r.setEdge(s,a),a}),this}setEdge(){var e,i,r,n,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(e=a.v,i=a.w,r=a.name,arguments.length===2&&(n=arguments[1],s=!0)):(e=a,i=arguments[1],r=arguments[3],arguments.length>2&&(n=arguments[2],s=!0)),e=""+e,i=""+i,Ae(r)||(r=""+r);var o=Vs(this._isDirected,e,i,r);if(Zt(this._edgeLabels,o))return s&&(this._edgeLabels[o]=n),this;if(!Ae(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(i),this._edgeLabels[o]=s?n:this._defaultEdgeLabelFn(e,i,r);var l=ak(this._isDirected,e,i,r);return e=l.v,i=l.w,Object.freeze(l),this._edgeObjs[o]=l,v0(this._preds[i],e),v0(this._sucs[e],i),this._in[i][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,i,r){var n=arguments.length===1?Cc(this._isDirected,arguments[0]):Vs(this._isDirected,e,i,r);return this._edgeLabels[n]}hasEdge(e,i,r){var n=arguments.length===1?Cc(this._isDirected,arguments[0]):Vs(this._isDirected,e,i,r);return Zt(this._edgeLabels,n)}removeEdge(e,i,r){var n=arguments.length===1?Cc(this._isDirected,arguments[0]):Vs(this._isDirected,e,i,r),s=this._edgeObjs[n];return s&&(e=s.v,i=s.w,delete this._edgeLabels[n],delete this._edgeObjs[n],k0(this._preds[i],e),k0(this._sucs[e],i),delete this._in[i][n],delete this._out[e][n],this._edgeCount--),this}inEdges(e,i){var r=this._in[e];if(r){var n=Mr(r);return i?Sr(n,function(s){return s.v===i}):n}}outEdges(e,i){var r=this._out[e];if(r){var n=Mr(r);return i?Sr(n,function(s){return s.w===i}):n}}nodeEdges(e,i){var r=this.inEdges(e,i);if(r)return r.concat(this.outEdges(e,i))}}Re.prototype._nodeCount=0;Re.prototype._edgeCount=0;function v0(t,e){t[e]?t[e]++:t[e]=1}function k0(t,e){--t[e]||delete t[e]}function Vs(t,e,i,r){var n=""+e,s=""+i;if(!t&&n>s){var a=n;n=s,s=a}return n+x0+s+x0+(Ae(r)?sk:r)}function ak(t,e,i,r){var n=""+e,s=""+i;if(!t&&n>s){var a=n;n=s,s=a}var o={v:n,w:s};return r&&(o.name=r),o}function Cc(t,e){return Vs(t,e.v,e.w,e.name)}class ok{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,i=e._prev;if(i!==e)return w0(i),i}enqueue(e){var i=this._sentinel;e._prev&&e._next&&w0(e),e._next=i._next,i._next._prev=e,i._next=e,e._prev=i}toString(){for(var e=[],i=this._sentinel,r=i._prev;r!==i;)e.push(JSON.stringify(r,lk)),r=r._prev;return"["+e.join(", ")+"]"}}function w0(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function lk(t,e){if(t!=="_next"&&t!=="_prev")return e}var ck=Ms(1);function hk(t,e){if(t.nodeCount()<=1)return[];var i=dk(t,e||ck),r=uk(i.graph,i.buckets,i.zeroIdx);return ms(Me(r,function(n){return t.outEdges(n.v,n.w)}))}function uk(t,e,i){for(var r=[],n=e[e.length-1],s=e[0],a;t.nodeCount();){for(;a=s.dequeue();)Sc(t,e,i,a);for(;a=n.dequeue();)Sc(t,e,i,a);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(a=e[o].dequeue(),a){r=r.concat(Sc(t,e,i,a,!0));break}}}return r}function Sc(t,e,i,r,n){var s=n?[]:void 0;return ft(t.inEdges(r.v),function(a){var o=t.edge(a),l=t.node(a.v);n&&s.push({v:a.v,w:a.w}),l.out-=o,dh(e,i,l)}),ft(t.outEdges(r.v),function(a){var o=t.edge(a),l=a.w,h=t.node(l);h.in-=o,dh(e,i,h)}),t.removeNode(r.v),s}function dk(t,e){var i=new Re,r=0,n=0;ft(t.nodes(),function(o){i.setNode(o,{v:o,in:0,out:0})}),ft(t.edges(),function(o){var l=i.edge(o.v,o.w)||0,h=e(o),u=l+h;i.setEdge(o.v,o.w,u),n=Math.max(n,i.node(o.v).out+=h),r=Math.max(r,i.node(o.w).in+=h)});var s=_n(n+r+3).map(function(){return new ok}),a=r+1;return ft(i.nodes(),function(o){dh(s,a,i.node(o))}),{graph:i,buckets:s,zeroIdx:a}}function dh(t,e,i){i.out?i.in?t[i.out-i.in+e].enqueue(i):t[t.length-1].enqueue(i):t[0].enqueue(i)}function fk(t){var e=t.graph().acyclicer==="greedy"?hk(t,i(t)):pk(t);ft(e,function(r){var n=t.edge(r);t.removeEdge(r),n.forwardName=r.name,n.reversed=!0,t.setEdge(r.w,r.v,n,Cl("rev"))});function i(r){return function(n){return r.edge(n).weight}}}function pk(t){var e=[],i={},r={};function n(s){Zt(r,s)||(r[s]=!0,i[s]=!0,ft(t.outEdges(s),function(a){Zt(i,a.w)?e.push(a):n(a.w)}),delete i[s])}return ft(t.nodes(),n),e}function gk(t){ft(t.edges(),function(e){var i=t.edge(e);if(i.reversed){t.removeEdge(e);var r=i.forwardName;delete i.reversed,delete i.forwardName,t.setEdge(e.w,e.v,i,r)}})}function _s(t,e,i,r){var n;do n=Cl(r);while(t.hasNode(n));return i.dummy=e,t.setNode(n,i),n}function yk(t){var e=new Re().setGraph(t.graph());return ft(t.nodes(),function(i){e.setNode(i,t.node(i))}),ft(t.edges(),function(i){var r=e.edge(i.v,i.w)||{weight:0,minlen:1},n=t.edge(i);e.setEdge(i.v,i.w,{weight:r.weight+n.weight,minlen:Math.max(r.minlen,n.minlen)})}),e}function f2(t){var e=new Re({multigraph:t.isMultigraph()}).setGraph(t.graph());return ft(t.nodes(),function(i){t.children(i).length||e.setNode(i,t.node(i))}),ft(t.edges(),function(i){e.setEdge(i,t.edge(i))}),e}function T0(t,e){var i=t.x,r=t.y,n=e.x-i,s=e.y-r,a=t.width/2,o=t.height/2;if(!n&&!s)throw new Error("Not possible to find intersection inside of the rectangle");var l,h;return Math.abs(s)*a>Math.abs(n)*o?(s<0&&(o=-o),l=o*n/s,h=o):(n<0&&(a=-a),l=a,h=a*s/n),{x:i+l,y:r+h}}function Fl(t){var e=Me(_n(p2(t)+1),function(){return[]});return ft(t.nodes(),function(i){var r=t.node(i),n=r.rank;Ae(n)||(e[n][r.order]=i)}),e}function mk(t){var e=Js(Me(t.nodes(),function(i){return t.node(i).rank}));ft(t.nodes(),function(i){var r=t.node(i);Zt(r,"rank")&&(r.rank-=e)})}function bk(t){var e=Js(Me(t.nodes(),function(s){return t.node(s).rank})),i=[];ft(t.nodes(),function(s){var a=t.node(s).rank-e;i[a]||(i[a]=[]),i[a].push(s)});var r=0,n=t.graph().nodeRankFactor;ft(i,function(s,a){Ae(s)&&a%n!==0?--r:r&&ft(s,function(o){t.node(o).rank+=r})})}function E0(t,e,i,r){var n={width:0,height:0};return arguments.length>=4&&(n.rank=i,n.order=r),_s(t,"border",n,e)}function p2(t){return xn(Me(t.nodes(),function(e){var i=t.node(e).rank;if(!Ae(i))return i}))}function _k(t,e){var i={lhs:[],rhs:[]};return ft(t,function(r){e(r)?i.lhs.push(r):i.rhs.push(r)}),i}function xk(t,e){var i=E1();try{return e()}finally{console.log(t+" time: "+(E1()-i)+"ms")}}function vk(t,e){return e()}function kk(t){function e(i){var r=t.children(i),n=t.node(i);if(r.length&&ft(r,e),Zt(n,"minRank")){n.borderLeft=[],n.borderRight=[];for(var s=n.minRank,a=n.maxRank+1;s<a;++s)C0(t,"borderLeft","_bl",i,n,s),C0(t,"borderRight","_br",i,n,s)}}ft(t.children(),e)}function C0(t,e,i,r,n,s){var a={width:0,height:0,rank:s,borderType:e},o=n[e][s-1],l=_s(t,"border",a,i);n[e][s]=l,t.setParent(l,r),o&&t.setEdge(o,l,{weight:1})}function wk(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&g2(t)}function Tk(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&Ek(t),(e==="lr"||e==="rl")&&(Ck(t),g2(t))}function g2(t){ft(t.nodes(),function(e){S0(t.node(e))}),ft(t.edges(),function(e){S0(t.edge(e))})}function S0(t){var e=t.width;t.width=t.height,t.height=e}function Ek(t){ft(t.nodes(),function(e){Ac(t.node(e))}),ft(t.edges(),function(e){var i=t.edge(e);ft(i.points,Ac),Zt(i,"y")&&Ac(i)})}function Ac(t){t.y=-t.y}function Ck(t){ft(t.nodes(),function(e){Lc(t.node(e))}),ft(t.edges(),function(e){var i=t.edge(e);ft(i.points,Lc),Zt(i,"x")&&Lc(i)})}function Lc(t){var e=t.x;t.x=t.y,t.y=e}function Sk(t){t.graph().dummyChains=[],ft(t.edges(),function(e){Ak(t,e)})}function Ak(t,e){var i=e.v,r=t.node(i).rank,n=e.w,s=t.node(n).rank,a=e.name,o=t.edge(e),l=o.labelRank;if(s!==r+1){t.removeEdge(e);var h,u,d;for(d=0,++r;r<s;++d,++r)o.points=[],u={width:0,height:0,edgeLabel:o,edgeObj:e,rank:r},h=_s(t,"edge",u,"_d"),r===l&&(u.width=o.width,u.height=o.height,u.dummy="edge-label",u.labelpos=o.labelpos),t.setEdge(i,h,{weight:o.weight},a),d===0&&t.graph().dummyChains.push(h),i=h;t.setEdge(i,n,{weight:o.weight},a)}}function Lk(t){ft(t.graph().dummyChains,function(e){var i=t.node(e),r=i.edgeLabel,n;for(t.setEdge(i.edgeObj,r);i.dummy;)n=t.successors(e)[0],t.removeNode(e),r.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(r.x=i.x,r.y=i.y,r.width=i.width,r.height=i.height),e=n,i=t.node(e)})}function Tu(t){var e={};function i(r){var n=t.node(r);if(Zt(e,r))return n.rank;e[r]=!0;var s=Js(Me(t.outEdges(r),function(a){return i(a.w)-t.edge(a).minlen}));return(s===Number.POSITIVE_INFINITY||s===void 0||s===null)&&(s=0),n.rank=s}ft(t.sources(),i)}function ca(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}function y2(t){var e=new Re({directed:!1}),i=t.nodes()[0],r=t.nodeCount();e.setNode(i,{});for(var n,s;Bk(e,t)<r;)n=Dk(e,t),s=e.hasNode(n.v)?ca(t,n):-ca(t,n),Nk(e,t,s);return e}function Bk(t,e){function i(r){ft(e.nodeEdges(r),function(n){var s=n.v,a=r===s?n.w:s;!t.hasNode(a)&&!ca(e,n)&&(t.setNode(a,{}),t.setEdge(r,a,{}),i(a))})}return ft(t.nodes(),i),t.nodeCount()}function Dk(t,e){return ru(e.edges(),function(i){if(t.hasNode(i.v)!==t.hasNode(i.w))return ca(e,i)})}function Nk(t,e,i){ft(t.nodes(),function(r){e.node(r).rank+=i})}function Ik(){}Ik.prototype=new Error;function m2(t,e,i){ts(e)||(e=[e]);var r=(t.isDirected()?t.successors:t.neighbors).bind(t),n=[],s={};return ft(e,function(a){if(!t.hasNode(a))throw new Error("Graph does not have node: "+a);b2(t,a,i==="post",s,r,n)}),n}function b2(t,e,i,r,n,s){Zt(r,e)||(r[e]=!0,i||s.push(e),ft(n(e),function(a){b2(t,a,i,r,n,s)}),i&&s.push(e))}function Mk(t,e){return m2(t,e,"post")}function Rk(t,e){return m2(t,e,"pre")}Mn.initLowLimValues=Cu;Mn.initCutValues=Eu;Mn.calcCutValue=_2;Mn.leaveEdge=v2;Mn.enterEdge=k2;Mn.exchangeEdges=w2;function Mn(t){t=yk(t),Tu(t);var e=y2(t);Cu(e),Eu(e,t);for(var i,r;i=v2(e);)r=k2(e,t,i),w2(e,t,i,r)}function Eu(t,e){var i=Mk(t,t.nodes());i=i.slice(0,i.length-1),ft(i,function(r){Fk(t,e,r)})}function Fk(t,e,i){var r=t.node(i),n=r.parent;t.edge(i,n).cutvalue=_2(t,e,i)}function _2(t,e,i){var r=t.node(i),n=r.parent,s=!0,a=e.edge(i,n),o=0;return a||(s=!1,a=e.edge(n,i)),o=a.weight,ft(e.nodeEdges(i),function(l){var h=l.v===i,u=h?l.w:l.v;if(u!==n){var d=h===s,f=e.edge(l).weight;if(o+=d?f:-f,Pk(t,i,u)){var p=t.edge(i,u).cutvalue;o+=d?-p:p}}}),o}function Cu(t,e){arguments.length<2&&(e=t.nodes()[0]),x2(t,{},1,e)}function x2(t,e,i,r,n){var s=i,a=t.node(r);return e[r]=!0,ft(t.neighbors(r),function(o){Zt(e,o)||(i=x2(t,e,i,o,r))}),a.low=s,a.lim=i++,n?a.parent=n:delete a.parent,i}function v2(t){return su(t.edges(),function(e){return t.edge(e).cutvalue<0})}function k2(t,e,i){var r=i.v,n=i.w;e.hasEdge(r,n)||(r=i.w,n=i.v);var s=t.node(r),a=t.node(n),o=s,l=!1;s.lim>a.lim&&(o=a,l=!0);var h=Sr(e.edges(),function(u){return l===A0(t,t.node(u.v),o)&&l!==A0(t,t.node(u.w),o)});return ru(h,function(u){return ca(e,u)})}function w2(t,e,i,r){var n=i.v,s=i.w;t.removeEdge(n,s),t.setEdge(r.v,r.w,{}),Cu(t),Eu(t,e),Ok(t,e)}function Ok(t,e){var i=su(t.nodes(),function(n){return!e.node(n).parent}),r=Rk(t,i);r=r.slice(1),ft(r,function(n){var s=t.node(n).parent,a=e.edge(n,s),o=!1;a||(a=e.edge(s,n),o=!0),e.node(n).rank=e.node(s).rank+(o?a.minlen:-a.minlen)})}function Pk(t,e,i){return t.hasEdge(e,i)}function A0(t,e,i){return i.low<=e.lim&&e.lim<=i.lim}function Vk(t){switch(t.graph().ranker){case"network-simplex":L0(t);break;case"tight-tree":zk(t);break;case"longest-path":Yk(t);break;default:L0(t)}}var Yk=Tu;function zk(t){Tu(t),y2(t)}function L0(t){Mn(t)}function Uk(t){var e=_s(t,"root",{},"_root"),i=Wk(t),r=xn(Mr(i))-1,n=2*r+1;t.graph().nestingRoot=e,ft(t.edges(),function(a){t.edge(a).minlen*=n});var s=Hk(t)+1;ft(t.children(),function(a){T2(t,e,n,s,r,i,a)}),t.graph().nodeRankFactor=n}function T2(t,e,i,r,n,s,a){var o=t.children(a);if(!o.length){a!==e&&t.setEdge(e,a,{weight:0,minlen:i});return}var l=E0(t,"_bt"),h=E0(t,"_bb"),u=t.node(a);t.setParent(l,a),u.borderTop=l,t.setParent(h,a),u.borderBottom=h,ft(o,function(d){T2(t,e,i,r,n,s,d);var f=t.node(d),p=f.borderTop?f.borderTop:d,m=f.borderBottom?f.borderBottom:d,_=f.borderTop?r:2*r,v=p!==m?1:n-s[a]+1;t.setEdge(l,p,{weight:_,minlen:v,nestingEdge:!0}),t.setEdge(m,h,{weight:_,minlen:v,nestingEdge:!0})}),t.parent(a)||t.setEdge(e,l,{weight:0,minlen:n+s[a]})}function Wk(t){var e={};function i(r,n){var s=t.children(r);s&&s.length&&ft(s,function(a){i(a,n+1)}),e[r]=n}return ft(t.children(),function(r){i(r,1)}),e}function Hk(t){return Ca(t.edges(),function(e,i){return e+t.edge(i).weight},0)}function qk(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,ft(t.edges(),function(i){var r=t.edge(i);r.nestingEdge&&t.removeEdge(i)})}function Gk(t,e,i){var r={},n;ft(i,function(s){for(var a=t.parent(s),o,l;a;){if(o=t.parent(a),o?(l=r[o],r[o]=a):(l=n,n=a),l&&l!==a){e.setEdge(l,a);return}a=o}})}function Xk(t,e,i){var r=jk(t),n=new Re({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(s){return t.node(s)});return ft(t.nodes(),function(s){var a=t.node(s),o=t.parent(s);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(n.setNode(s),n.setParent(s,o||r),ft(t[i](s),function(l){var h=l.v===s?l.w:l.v,u=n.edge(h,s),d=Ae(u)?0:u.weight;n.setEdge(h,s,{weight:t.edge(l).weight+d})}),Zt(a,"minRank")&&n.setNode(s,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),n}function jk(t){for(var e;t.hasNode(e=Cl("_root")););return e}function $k(t,e){for(var i=0,r=1;r<e.length;++r)i+=Kk(t,e[r-1],e[r]);return i}function Kk(t,e,i){for(var r=K3(i,Me(i,function(h,u){return u})),n=ms(Me(e,function(h){return Ea(Me(t.outEdges(h),function(u){return{pos:r[u.w],weight:t.edge(u).weight}}),"pos")})),s=1;s<i.length;)s<<=1;var a=2*s-1;s-=1;var o=Me(new Array(a),function(){return 0}),l=0;return ft(n.forEach(function(h){var u=h.pos+s;o[u]+=h.weight;for(var d=0;u>0;)u%2&&(d+=o[u+1]),u=u-1>>1,o[u]+=h.weight;l+=h.weight*d})),l}function Qk(t){var e={},i=Sr(t.nodes(),function(o){return!t.children(o).length}),r=xn(Me(i,function(o){return t.node(o).rank})),n=Me(_n(r+1),function(){return[]});function s(o){if(!Zt(e,o)){e[o]=!0;var l=t.node(o);n[l.rank].push(o),ft(t.successors(o),s)}}var a=Ea(i,function(o){return t.node(o).rank});return ft(a,s),n}function Zk(t,e){return Me(e,function(i){var r=t.inEdges(i);if(r.length){var n=Ca(r,function(s,a){var o=t.edge(a),l=t.node(a.v);return{sum:s.sum+o.weight*l.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:i,barycenter:n.sum/n.weight,weight:n.weight}}else return{v:i}})}function Jk(t,e){var i={};ft(t,function(n,s){var a=i[n.v]={indegree:0,in:[],out:[],vs:[n.v],i:s};Ae(n.barycenter)||(a.barycenter=n.barycenter,a.weight=n.weight)}),ft(e.edges(),function(n){var s=i[n.v],a=i[n.w];!Ae(s)&&!Ae(a)&&(a.indegree++,s.out.push(i[n.w]))});var r=Sr(i,function(n){return!n.indegree});return t8(r)}function t8(t){var e=[];function i(s){return function(a){a.merged||(Ae(a.barycenter)||Ae(s.barycenter)||a.barycenter>=s.barycenter)&&e8(s,a)}}function r(s){return function(a){a.in.push(s),--a.indegree===0&&t.push(a)}}for(;t.length;){var n=t.pop();e.push(n),ft(n.in.reverse(),i(n)),ft(n.out,r(n))}return Me(Sr(e,function(s){return!s.merged}),function(s){return ta(s,["vs","i","barycenter","weight"])})}function e8(t,e){var i=0,r=0;t.weight&&(i+=t.barycenter*t.weight,r+=t.weight),e.weight&&(i+=e.barycenter*e.weight,r+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=i/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}function i8(t,e){var i=_k(t,function(u){return Zt(u,"barycenter")}),r=i.lhs,n=Ea(i.rhs,function(u){return-u.i}),s=[],a=0,o=0,l=0;r.sort(r8(!!e)),l=B0(s,n,l),ft(r,function(u){l+=u.vs.length,s.push(u.vs),a+=u.barycenter*u.weight,o+=u.weight,l=B0(s,n,l)});var h={vs:ms(s)};return o&&(h.barycenter=a/o,h.weight=o),h}function B0(t,e,i){for(var r;e.length&&(r=wo(e)).i<=i;)e.pop(),t.push(r.vs),i++;return i}function r8(t){return function(e,i){return e.barycenter<i.barycenter?-1:e.barycenter>i.barycenter?1:t?i.i-e.i:e.i-i.i}}function E2(t,e,i,r){var n=t.children(e),s=t.node(e),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,l={};a&&(n=Sr(n,function(m){return m!==a&&m!==o}));var h=Zk(t,n);ft(h,function(m){if(t.children(m.v).length){var _=E2(t,m.v,i,r);l[m.v]=_,Zt(_,"barycenter")&&s8(m,_)}});var u=Jk(h,i);n8(u,l);var d=i8(u,r);if(a&&(d.vs=ms([a,d.vs,o]),t.predecessors(a).length)){var f=t.node(t.predecessors(a)[0]),p=t.node(t.predecessors(o)[0]);Zt(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function n8(t,e){ft(t,function(i){i.vs=ms(i.vs.map(function(r){return e[r]?e[r].vs:r}))})}function s8(t,e){Ae(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function a8(t){var e=p2(t),i=D0(t,_n(1,e+1),"inEdges"),r=D0(t,_n(e-1,-1,-1),"outEdges"),n=Qk(t);N0(t,n);for(var s=Number.POSITIVE_INFINITY,a,o=0,l=0;l<4;++o,++l){o8(o%2?i:r,o%4>=2),n=Fl(t);var h=$k(t,n);h<s&&(l=0,a=E3(n),s=h)}N0(t,a)}function D0(t,e,i){return Me(e,function(r){return Xk(t,r,i)})}function o8(t,e){var i=new Re;ft(t,function(r){var n=r.graph().root,s=E2(r,n,i,e);ft(s.vs,function(a,o){r.node(a).order=o}),Gk(r,i,s.vs)})}function N0(t,e){ft(e,function(i){ft(i,function(r,n){t.node(r).order=n})})}function l8(t){var e=h8(t);ft(t.graph().dummyChains,function(i){for(var r=t.node(i),n=r.edgeObj,s=c8(t,e,n.v,n.w),a=s.path,o=s.lca,l=0,h=a[l],u=!0;i!==n.w;){if(r=t.node(i),u){for(;(h=a[l])!==o&&t.node(h).maxRank<r.rank;)l++;h===o&&(u=!1)}if(!u){for(;l<a.length-1&&t.node(h=a[l+1]).minRank<=r.rank;)l++;h=a[l]}t.setParent(i,h),i=t.successors(i)[0]}})}function c8(t,e,i,r){var n=[],s=[],a=Math.min(e[i].low,e[r].low),o=Math.max(e[i].lim,e[r].lim),l,h;l=i;do l=t.parent(l),n.push(l);while(l&&(e[l].low>a||o>e[l].lim));for(h=l,l=r;(l=t.parent(l))!==h;)s.push(l);return{path:n.concat(s.reverse()),lca:h}}function h8(t){var e={},i=0;function r(n){var s=i;ft(t.children(n),r),e[n]={low:s,lim:i++}}return ft(t.children(),r),e}function u8(t,e){var i={};function r(n,s){var a=0,o=0,l=n.length,h=wo(s);return ft(s,function(u,d){var f=f8(t,u),p=f?t.node(f).order:l;(f||u===h)&&(ft(s.slice(o,d+1),function(m){ft(t.predecessors(m),function(_){var v=t.node(_),w=v.order;(w<a||p<w)&&!(v.dummy&&t.node(m).dummy)&&C2(i,_,m)})}),o=d+1,a=p)}),s}return Ca(e,r),i}function d8(t,e){var i={};function r(s,a,o,l,h){var u;ft(_n(a,o),function(d){u=s[d],t.node(u).dummy&&ft(t.predecessors(u),function(f){var p=t.node(f);p.dummy&&(p.order<l||p.order>h)&&C2(i,f,u)})})}function n(s,a){var o=-1,l,h=0;return ft(a,function(u,d){if(t.node(u).dummy==="border"){var f=t.predecessors(u);f.length&&(l=t.node(f[0]).order,r(a,h,d,o,l),h=d,o=l)}r(a,h,a.length,l,s.length)}),a}return Ca(e,n),i}function f8(t,e){if(t.node(e).dummy)return su(t.predecessors(e),function(i){return t.node(i).dummy})}function C2(t,e,i){if(e>i){var r=e;e=i,i=r}var n=t[e];n||(t[e]=n={}),n[i]=!0}function p8(t,e,i){if(e>i){var r=e;e=i,i=r}return Zt(t[e],i)}function g8(t,e,i,r){var n={},s={},a={};return ft(e,function(o){ft(o,function(l,h){n[l]=l,s[l]=l,a[l]=h})}),ft(e,function(o){var l=-1;ft(o,function(h){var u=r(h);if(u.length){u=Ea(u,function(_){return a[_]});for(var d=(u.length-1)/2,f=Math.floor(d),p=Math.ceil(d);f<=p;++f){var m=u[f];s[h]===h&&l<a[m]&&!p8(i,h,m)&&(s[m]=h,s[h]=n[h]=n[m],l=a[m])}}})}),{root:n,align:s}}function y8(t,e,i,r,n){var s={},a=m8(t,e,i,n),o=n?"borderLeft":"borderRight";function l(d,f){for(var p=a.nodes(),m=p.pop(),_={};m;)_[m]?d(m):(_[m]=!0,p.push(m),p=p.concat(f(m))),m=p.pop()}function h(d){s[d]=a.inEdges(d).reduce(function(f,p){return Math.max(f,s[p.v]+a.edge(p))},0)}function u(d){var f=a.outEdges(d).reduce(function(m,_){return Math.min(m,s[_.w]-a.edge(_))},Number.POSITIVE_INFINITY),p=t.node(d);f!==Number.POSITIVE_INFINITY&&p.borderType!==o&&(s[d]=Math.max(s[d],f))}return l(h,a.predecessors.bind(a)),l(u,a.successors.bind(a)),ft(r,function(d){s[d]=s[i[d]]}),s}function m8(t,e,i,r){var n=new Re,s=t.graph(),a=k8(s.nodesep,s.edgesep,r);return ft(e,function(o){var l;ft(o,function(h){var u=i[h];if(n.setNode(u),l){var d=i[l],f=n.edge(d,u);n.setEdge(d,u,Math.max(a(t,h,l),f||0))}l=h})}),n}function b8(t,e){return ru(Mr(e),function(i){var r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;return M3(i,function(s,a){var o=w8(t,a)/2;r=Math.max(s+o,r),n=Math.min(s-o,n)}),r-n})}function _8(t,e){var i=Mr(e),r=Js(i),n=xn(i);ft(["u","d"],function(s){ft(["l","r"],function(a){var o=s+a,l=t[o],h;if(l!==e){var u=Mr(l);h=a==="l"?r-Js(u):n-xn(u),h&&(t[o]=Sl(l,function(d){return d+h}))}})})}function x8(t,e){return Sl(t.ul,function(i,r){if(e)return t[e.toLowerCase()][r];var n=Ea(Me(t,r));return(n[1]+n[2])/2})}function v8(t){var e=Fl(t),i=Xc(u8(t,e),d8(t,e)),r={},n;ft(["u","d"],function(a){n=a==="u"?e:Mr(e).reverse(),ft(["l","r"],function(o){o==="r"&&(n=Me(n,function(d){return Mr(d).reverse()}));var l=(a==="u"?t.predecessors:t.successors).bind(t),h=g8(t,n,i,l),u=y8(t,n,h.root,h.align,o==="r");o==="r"&&(u=Sl(u,function(d){return-d})),r[a+o]=u})});var s=b8(t,r);return _8(r,s),x8(r,t.graph().align)}function k8(t,e,i){return function(r,n,s){var a=r.node(n),o=r.node(s),l=0,h;if(l+=a.width/2,Zt(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":h=-a.width/2;break;case"r":h=a.width/2;break}if(h&&(l+=i?h:-h),h=0,l+=(a.dummy?e:t)/2,l+=(o.dummy?e:t)/2,l+=o.width/2,Zt(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":h=o.width/2;break;case"r":h=-o.width/2;break}return h&&(l+=i?h:-h),h=0,l}}function w8(t,e){return t.node(e).width}function T8(t){t=f2(t),E8(t),ft(v8(t),function(e,i){t.node(i).x=e})}function E8(t){var e=Fl(t),i=t.graph().ranksep,r=0;ft(e,function(n){var s=xn(Me(n,function(a){return t.node(a).height}));ft(n,function(a){t.node(a).y=r+s/2}),r+=s+i})}function xs(t,e){var i=e&&e.debugTiming?xk:vk;i("layout",function(){var r=i(" buildLayoutGraph",function(){return F8(t)});i(" runLayout",function(){C8(r,i)}),i(" updateInputGraph",function(){S8(t,r)})})}function C8(t,e){e(" makeSpaceForEdgeLabels",function(){O8(t)}),e(" removeSelfEdges",function(){G8(t)}),e(" acyclic",function(){fk(t)}),e(" nestingGraph.run",function(){Uk(t)}),e(" rank",function(){Vk(f2(t))}),e(" injectEdgeLabelProxies",function(){P8(t)}),e(" removeEmptyRanks",function(){bk(t)}),e(" nestingGraph.cleanup",function(){qk(t)}),e(" normalizeRanks",function(){mk(t)}),e(" assignRankMinMax",function(){V8(t)}),e(" removeEdgeLabelProxies",function(){Y8(t)}),e(" normalize.run",function(){Sk(t)}),e(" parentDummyChains",function(){l8(t)}),e(" addBorderSegments",function(){kk(t)}),e(" order",function(){a8(t)}),e(" insertSelfEdges",function(){X8(t)}),e(" adjustCoordinateSystem",function(){wk(t)}),e(" position",function(){T8(t)}),e(" positionSelfEdges",function(){j8(t)}),e(" removeBorderNodes",function(){q8(t)}),e(" normalize.undo",function(){Lk(t)}),e(" fixupEdgeLabelCoords",function(){W8(t)}),e(" undoCoordinateSystem",function(){Tk(t)}),e(" translateGraph",function(){z8(t)}),e(" assignNodeIntersects",function(){U8(t)}),e(" reversePoints",function(){H8(t)}),e(" acyclic.undo",function(){gk(t)})}function S8(t,e){ft(t.nodes(),function(i){var r=t.node(i),n=e.node(i);r&&(r.x=n.x,r.y=n.y,e.children(i).length&&(r.width=n.width,r.height=n.height))}),ft(t.edges(),function(i){var r=t.edge(i),n=e.edge(i);r.points=n.points,Zt(n,"x")&&(r.x=n.x,r.y=n.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var A8=["nodesep","edgesep","ranksep","marginx","marginy"],L8={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},B8=["acyclicer","ranker","rankdir","align"],D8=["width","height"],N8={width:0,height:0},I8=["minlen","weight","width","height","labeloffset"],M8={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},R8=["labelpos"];function F8(t){var e=new Re({multigraph:!0,compound:!0}),i=Dc(t.graph());return e.setGraph(Xc({},L8,Bc(i,A8),ta(i,B8))),ft(t.nodes(),function(r){var n=Dc(t.node(r));e.setNode(r,Vn(Bc(n,D8),N8)),e.setParent(r,t.parent(r))}),ft(t.edges(),function(r){var n=Dc(t.edge(r));e.setEdge(r,Xc({},M8,Bc(n,I8),ta(n,R8)))}),e}function O8(t){var e=t.graph();e.ranksep/=2,ft(t.edges(),function(i){var r=t.edge(i);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function P8(t){ft(t.edges(),function(e){var i=t.edge(e);if(i.width&&i.height){var r=t.node(e.v),n=t.node(e.w),s={rank:(n.rank-r.rank)/2+r.rank,e};_s(t,"edge-proxy",s,"_ep")}})}function V8(t){var e=0;ft(t.nodes(),function(i){var r=t.node(i);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=xn(e,r.maxRank))}),t.graph().maxRank=e}function Y8(t){ft(t.nodes(),function(e){var i=t.node(e);i.dummy==="edge-proxy"&&(t.edge(i.e).labelRank=i.rank,t.removeNode(e))})}function z8(t){var e=Number.POSITIVE_INFINITY,i=0,r=Number.POSITIVE_INFINITY,n=0,s=t.graph(),a=s.marginx||0,o=s.marginy||0;function l(h){var u=h.x,d=h.y,f=h.width,p=h.height;e=Math.min(e,u-f/2),i=Math.max(i,u+f/2),r=Math.min(r,d-p/2),n=Math.max(n,d+p/2)}ft(t.nodes(),function(h){l(t.node(h))}),ft(t.edges(),function(h){var u=t.edge(h);Zt(u,"x")&&l(u)}),e-=a,r-=o,ft(t.nodes(),function(h){var u=t.node(h);u.x-=e,u.y-=r}),ft(t.edges(),function(h){var u=t.edge(h);ft(u.points,function(d){d.x-=e,d.y-=r}),Zt(u,"x")&&(u.x-=e),Zt(u,"y")&&(u.y-=r)}),s.width=i-e+a,s.height=n-r+o}function U8(t){ft(t.edges(),function(e){var i=t.edge(e),r=t.node(e.v),n=t.node(e.w),s,a;i.points?(s=i.points[0],a=i.points[i.points.length-1]):(i.points=[],s=n,a=r),i.points.unshift(T0(r,s)),i.points.push(T0(n,a))})}function W8(t){ft(t.edges(),function(e){var i=t.edge(e);if(Zt(i,"x"))switch((i.labelpos==="l"||i.labelpos==="r")&&(i.width-=i.labeloffset),i.labelpos){case"l":i.x-=i.width/2+i.labeloffset;break;case"r":i.x+=i.width/2+i.labeloffset;break}})}function H8(t){ft(t.edges(),function(e){var i=t.edge(e);i.reversed&&i.points.reverse()})}function q8(t){ft(t.nodes(),function(e){if(t.children(e).length){var i=t.node(e),r=t.node(i.borderTop),n=t.node(i.borderBottom),s=t.node(wo(i.borderLeft)),a=t.node(wo(i.borderRight));i.width=Math.abs(a.x-s.x),i.height=Math.abs(n.y-r.y),i.x=s.x+i.width/2,i.y=r.y+i.height/2}}),ft(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function G8(t){ft(t.edges(),function(e){if(e.v===e.w){var i=t.node(e.v);i.selfEdges||(i.selfEdges=[]),i.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function X8(t){var e=Fl(t);ft(e,function(i){var r=0;ft(i,function(n,s){var a=t.node(n);a.order=s+r,ft(a.selfEdges,function(o){_s(t,"selfedge",{width:o.label.width,height:o.label.height,rank:a.rank,order:s+ ++r,e:o.e,label:o.label},"_se")}),delete a.selfEdges})})}function j8(t){ft(t.nodes(),function(e){var i=t.node(e);if(i.dummy==="selfedge"){var r=t.node(i.e.v),n=r.x+r.width/2,s=r.y,a=i.x-n,o=r.height/2;t.setEdge(i.e,i.label),t.removeNode(e),i.label.points=[{x:n+2*a/3,y:s-o},{x:n+5*a/6,y:s-o},{x:n+a,y:s},{x:n+5*a/6,y:s+o},{x:n+2*a/3,y:s+o}],i.label.x=i.x,i.label.y=i.y}})}function Bc(t,e){return Sl(ta(t,e),Number)}function Dc(t){var e={};return ft(t,function(i,r){e[r.toLowerCase()]=i}),e}function Dr(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:$8(t),edges:K8(t)};return Ae(t.graph())||(e.value=k3(t.graph())),e}function $8(t){return Me(t.nodes(),function(e){var i=t.node(e),r=t.parent(e),n={v:e};return Ae(i)||(n.value=i),Ae(r)||(n.parent=r),n})}function K8(t){return Me(t.edges(),function(e){var i=t.edge(e),r={v:e.v,w:e.w};return Ae(e.name)||(r.name=e.name),Ae(i)||(r.value=i),r})}function S2(t,e){return!!t.children(e).length}function A2(t){return Nc(t.v)+":"+Nc(t.w)+":"+Nc(t.name)}var Q8=/:/g;function Nc(t){return t?String(t).replace(Q8,"\\:"):""}function ur(t,e){e&&t.attr("style",e)}function L2(t,e,i){e&&t.attr("class",e).attr("class",i+" "+t.attr("class"))}function Xi(t,e){var i=e.graph();if(jd(i)){var r=i.transition;if(ko(r))return r(t)}return t}var fh={normal:J8,vee:t7,undirected:e7};function Z8(t){fh=t}function J8(t,e,i,r){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=n.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");ur(s,i[r+"Style"]),i[r+"Class"]&&s.attr("class",i[r+"Class"])}function t7(t,e,i,r){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=n.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");ur(s,i[r+"Style"]),i[r+"Class"]&&s.attr("class",i[r+"Class"])}function e7(t,e,i,r){var n=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=n.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");ur(s,i[r+"Style"]),i[r+"Class"]&&s.attr("class",i[r+"Class"])}function Su(t,e){var i=t.append("foreignObject").attr("width","100000"),r=i.append("xhtml:div");r.attr("xmlns","http://www.w3.org/1999/xhtml");var n=e.label;switch(typeof n){case"function":r.insert(n);break;case"object":r.insert(function(){return n});break;default:r.html(n)}ur(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap");var s=r.node().getBoundingClientRect();return i.attr("width",s.width).attr("height",s.height),i}function i7(t,e){var i=t;return i.node().appendChild(e.label),ur(i,e.labelStyle),i}function r7(t,e){for(var i=t.append("text"),r=n7(e.label).split(`
9
+ `),n=0;n<r.length;n++)i.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(r[n]);return ur(i,e.labelStyle),i}function n7(t){for(var e="",i=!1,r,n=0;n<t.length;++n)if(r=t[n],i){switch(r){case"n":e+=`
10
+ `;break;default:e+=r}i=!1}else r==="\\"?i=!0:e+=r;return e}function Au(t,e,i){var r=e.label,n=t.append("g");e.labelType==="svg"?i7(n,e):typeof r!="string"||e.labelType==="html"?Su(n,e):r7(n,e);var s=n.node().getBBox(),a;switch(i){case"top":a=-e.height/2;break;case"bottom":a=e.height/2-s.height;break;default:a=-s.height/2}return n.attr("transform","translate("+-s.width/2+","+a+")"),n}var ph=function(t,e){var i=e.nodes().filter(function(s){return S2(e,s)}),r=t.selectAll("g.cluster").data(i,function(s){return s});Xi(r.exit(),e).style("opacity",0).remove();var n=r.enter().append("g").attr("class","cluster").attr("id",function(s){var a=e.node(s);return a.id}).style("opacity",0).each(function(s){var a=e.node(s),o=_t(this);_t(this).append("rect");var l=o.append("g").attr("class","label");Au(l,a,a.clusterLabelPos)});return r=r.merge(n),r=Xi(r,e).style("opacity",1),r.selectAll("rect").each(function(s){var a=e.node(s),o=_t(this);ur(o,a.style)}),r};function s7(t){ph=t}let gh=function(t,e){var i=t.selectAll("g.edgeLabel").data(e.edges(),function(n){return A2(n)}).classed("update",!0);i.exit().remove(),i.enter().append("g").classed("edgeLabel",!0).style("opacity",0),i=t.selectAll("g.edgeLabel"),i.each(function(n){var s=_t(this);s.select(".label").remove();var a=e.edge(n),o=Au(s,e.edge(n),0).classed("label",!0),l=o.node().getBBox();a.labelId&&o.attr("id",a.labelId),Zt(a,"width")||(a.width=l.width),Zt(a,"height")||(a.height=l.height)});var r;return i.exit?r=i.exit():r=i.selectAll(null),Xi(r,e).style("opacity",0).remove(),i};function a7(t){gh=t}function I0(t,e){return t.intersect(e)}var yh=function(t,e,i){var r=t.selectAll("g.edgePath").data(e.edges(),function(a){return A2(a)}).classed("update",!0),n=u7(r,e);d7(r,e);var s=r.merge!==void 0?r.merge(n):r;return Xi(s,e).style("opacity",1),s.each(function(a){var o=_t(this),l=e.edge(a);l.elem=this,l.id&&o.attr("id",l.id),L2(o,l.class,(o.classed("update")?"update ":"")+"edgePath")}),s.selectAll("path.path").each(function(a){var o=e.edge(a);o.arrowheadId=Cl("arrowhead");var l=_t(this).attr("marker-end",function(){return"url("+l7(location.href,o.arrowheadId)+")"}).style("fill","none");Xi(l,e).attr("d",function(h){return c7(e,h)}),ur(l,o.style)}),s.selectAll("defs *").remove(),s.selectAll("defs").each(function(a){var o=e.edge(a),l=i[o.arrowhead];l(_t(this),o.arrowheadId,o,"arrowhead")}),s};function o7(t){yh=t}function l7(t,e){var i=t.split("#")[0];return i+"#"+e}function c7(t,e){var i=t.edge(e),r=t.node(e.v),n=t.node(e.w),s=i.points.slice(1,i.points.length-1);return s.unshift(I0(r,s[0])),s.push(I0(n,s[s.length-1])),B2(i,s)}function B2(t,e){var i=(bs||ax.line)().x(function(r){return r.x}).y(function(r){return r.y});return(i.curve||i.interpolate)(t.curve),i(e)}function h7(t){var e=t.getBBox(),i=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2);return{x:i.e,y:i.f}}function u7(t,e){var i=t.enter().append("g").attr("class","edgePath").style("opacity",0);return i.append("path").attr("class","path").attr("d",function(r){var n=e.edge(r),s=e.node(r.v).elem,a=_n(n.points.length).map(function(){return h7(s)});return B2(n,a)}),i.append("defs"),i}function d7(t,e){var i=t.exit();Xi(i,e).style("opacity",0).remove()}var mh=function(t,e,i){var r=e.nodes().filter(function(a){return!S2(e,a)}),n=t.selectAll("g.node").data(r,function(a){return a}).classed("update",!0);n.exit().remove(),n.enter().append("g").attr("class","node").style("opacity",0),n=t.selectAll("g.node"),n.each(function(a){var o=e.node(a),l=_t(this);L2(l,o.class,(l.classed("update")?"update ":"")+"node"),l.select("g.label").remove();var h=l.append("g").attr("class","label"),u=Au(h,o),d=i[o.shape],f=ta(u.node().getBBox(),"width","height");o.elem=this,o.id&&l.attr("id",o.id),o.labelId&&h.attr("id",o.labelId),Zt(o,"width")&&(f.width=o.width),Zt(o,"height")&&(f.height=o.height),f.width+=o.paddingLeft+o.paddingRight,f.height+=o.paddingTop+o.paddingBottom,h.attr("transform","translate("+(o.paddingLeft-o.paddingRight)/2+","+(o.paddingTop-o.paddingBottom)/2+")");var p=_t(this);p.select(".label-container").remove();var m=d(p,f,o).classed("label-container",!0);ur(m,o.style);var _=m.node().getBBox();o.width=_.width,o.height=_.height});var s;return n.exit?s=n.exit():s=n.selectAll(null),Xi(s,e).style("opacity",0).remove(),n};function f7(t){mh=t}function p7(t,e){var i=t.filter(function(){return!_t(this).classed("update")});function r(n){var s=e.node(n);return"translate("+s.x+","+s.y+")"}i.attr("transform",r),Xi(t,e).style("opacity",1).attr("transform",r),Xi(i.selectAll("rect"),e).attr("width",function(n){return e.node(n).width}).attr("height",function(n){return e.node(n).height}).attr("x",function(n){var s=e.node(n);return-s.width/2}).attr("y",function(n){var s=e.node(n);return-s.height/2})}function g7(t,e){var i=t.filter(function(){return!_t(this).classed("update")});function r(n){var s=e.edge(n);return Zt(s,"x")?"translate("+s.x+","+s.y+")":""}i.attr("transform",r),Xi(t,e).style("opacity",1).attr("transform",r)}function y7(t,e){var i=t.filter(function(){return!_t(this).classed("update")});function r(n){var s=e.node(n);return"translate("+s.x+","+s.y+")"}i.attr("transform",r),Xi(t,e).style("opacity",1).attr("transform",r)}function D2(t,e,i,r){var n=t.x,s=t.y,a=n-r.x,o=s-r.y,l=Math.sqrt(e*e*o*o+i*i*a*a),h=Math.abs(e*i*a/l);r.x<n&&(h=-h);var u=Math.abs(e*i*o/l);return r.y<s&&(u=-u),{x:n+h,y:s+u}}function m7(t,e,i){return D2(t,e,e,i)}function b7(t,e,i,r){var n,s,a,o,l,h,u,d,f,p,m,_,v,w,x;if(n=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,f=n*i.x+a*i.y+l,p=n*r.x+a*r.y+l,!(f!==0&&p!==0&&M0(f,p))&&(s=r.y-i.y,o=i.x-r.x,h=r.x*i.y-i.x*r.y,u=s*t.x+o*t.y+h,d=s*e.x+o*e.y+h,!(u!==0&&d!==0&&M0(u,d))&&(m=n*o-s*a,m!==0)))return _=Math.abs(m/2),v=a*h-o*l,w=v<0?(v-_)/m:(v+_)/m,v=s*l-n*h,x=v<0?(v-_)/m:(v+_)/m,{x:w,y:x}}function M0(t,e){return t*e>0}function dr(t,e,i){var r=t.x,n=t.y,s=[],a=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(m){a=Math.min(a,m.x),o=Math.min(o,m.y)});for(var l=r-t.width/2-a,h=n-t.height/2-o,u=0;u<e.length;u++){var d=e[u],f=e[u<e.length-1?u+1:0],p=b7(t,i,{x:l+d.x,y:h+d.y},{x:l+f.x,y:h+f.y});p&&s.push(p)}return s.length?(s.length>1&&s.sort(function(m,_){var v=m.x-i.x,w=m.y-i.y,x=Math.sqrt(v*v+w*w),N=_.x-i.x,R=_.y-i.y,P=Math.sqrt(N*N+R*R);return x<P?-1:x===P?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}function Lu(t,e){var i=t.x,r=t.y,n=e.x-i,s=e.y-r,a=t.width/2,o=t.height/2,l,h;return Math.abs(s)*a>Math.abs(n)*o?(s<0&&(o=-o),l=s===0?0:o*n/s,h=o):(n<0&&(a=-a),l=a,h=n===0?0:a*s/n),{x:i+l,y:r+h}}var bh={rect:x7,ellipse:v7,circle:k7,diamond:w7};function _7(t){bh=t}function x7(t,e,i){var r=t.insert("rect",":first-child").attr("rx",i.rx).attr("ry",i.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return i.intersect=function(n){return Lu(i,n)},r}function v7(t,e,i){var r=e.width/2,n=e.height/2,s=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",n);return i.intersect=function(a){return D2(i,r,n,a)},s}function k7(t,e,i){var r=Math.max(e.width,e.height)/2,n=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return i.intersect=function(s){return m7(i,r,s)},n}function w7(t,e,i){var r=e.width*Math.SQRT2/2,n=e.height*Math.SQRT2/2,s=[{x:0,y:-n},{x:-r,y:0},{x:0,y:n},{x:r,y:0}],a=t.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return i.intersect=function(o){return dr(i,s,o)},a}function T7(){var t=function(e,i){S7(i);var r=Ls(e,"output"),n=Ls(r,"clusters"),s=Ls(r,"edgePaths"),a=gh(Ls(r,"edgeLabels"),i),o=mh(Ls(r,"nodes"),i,bh);xs(i),y7(o,i),g7(a,i),yh(s,i,fh);var l=ph(n,i);p7(l,i),A7(i)};return t.createNodes=function(e){return arguments.length?(f7(e),t):mh},t.createClusters=function(e){return arguments.length?(s7(e),t):ph},t.createEdgeLabels=function(e){return arguments.length?(a7(e),t):gh},t.createEdgePaths=function(e){return arguments.length?(o7(e),t):yh},t.shapes=function(e){return arguments.length?(_7(e),t):bh},t.arrows=function(e){return arguments.length?(Z8(e),t):fh},t}var E7={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},C7={arrowhead:"normal",curve:ki};function S7(t){t.nodes().forEach(function(e){var i=t.node(e);!Zt(i,"label")&&!t.children(e).length&&(i.label=e),Zt(i,"paddingX")&&Vn(i,{paddingLeft:i.paddingX,paddingRight:i.paddingX}),Zt(i,"paddingY")&&Vn(i,{paddingTop:i.paddingY,paddingBottom:i.paddingY}),Zt(i,"padding")&&Vn(i,{paddingLeft:i.padding,paddingRight:i.padding,paddingTop:i.padding,paddingBottom:i.padding}),Vn(i,E7),ft(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(r){i[r]=Number(i[r])}),Zt(i,"width")&&(i._prevWidth=i.width),Zt(i,"height")&&(i._prevHeight=i.height)}),t.edges().forEach(function(e){var i=t.edge(e);Zt(i,"label")||(i.label=""),Vn(i,C7)})}function A7(t){ft(t.nodes(),function(e){var i=t.node(e);Zt(i,"_prevWidth")?i.width=i._prevWidth:delete i.width,Zt(i,"_prevHeight")?i.height=i._prevHeight:delete i.height,delete i._prevWidth,delete i._prevHeight})}function Ls(t,e){var i=t.select("g."+e);return i.empty()&&(i=t.append("g").attr("class",e)),i}var N2={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(kl,function(){var i="day";return function(r,n,s){var a=function(h){return h.add(4-h.isoWeekday(),i)},o=n.prototype;o.isoWeekYear=function(){return a(this).year()},o.isoWeek=function(h){if(!this.$utils().u(h))return this.add(7*(h-this.isoWeek()),i);var u,d,f,p,m=a(this),_=(u=this.isoWeekYear(),d=this.$u,f=(d?s.utc:s)().year(u).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,i));return m.diff(_,"week")+1},o.isoWeekday=function(h){return this.$utils().u(h)?this.day()||7:this.day(this.day()%7?h:h-7)};var l=o.startOf;o.startOf=function(h,u){var d=this.$utils(),f=!!d.u(u)||u;return d.p(h)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(h,u)}}})})(N2);var L7=N2.exports;const B7=wl(L7);var I2={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(kl,function(){var i={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},l=function(_){return(_=+_)+(_>68?1900:2e3)},h=function(_){return function(v){this[_]=+v}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(_){(this.zone||(this.zone={})).offset=function(v){if(!v||v==="Z")return 0;var w=v.match(/([+-]|\d\d)/g),x=60*w[1]+(+w[2]||0);return x===0?0:w[0]==="+"?-x:x}(_)}],d=function(_){var v=o[_];return v&&(v.indexOf?v:v.s.concat(v.f))},f=function(_,v){var w,x=o.meridiem;if(x){for(var N=1;N<=24;N+=1)if(_.indexOf(x(N,0,v))>-1){w=N>12;break}}else w=_===(v?"pm":"PM");return w},p={A:[a,function(_){this.afternoon=f(_,!1)}],a:[a,function(_){this.afternoon=f(_,!0)}],S:[/\d/,function(_){this.milliseconds=100*+_}],SS:[n,function(_){this.milliseconds=10*+_}],SSS:[/\d{3}/,function(_){this.milliseconds=+_}],s:[s,h("seconds")],ss:[s,h("seconds")],m:[s,h("minutes")],mm:[s,h("minutes")],H:[s,h("hours")],h:[s,h("hours")],HH:[s,h("hours")],hh:[s,h("hours")],D:[s,h("day")],DD:[n,h("day")],Do:[a,function(_){var v=o.ordinal,w=_.match(/\d+/);if(this.day=w[0],v)for(var x=1;x<=31;x+=1)v(x).replace(/\[|\]/g,"")===_&&(this.day=x)}],M:[s,h("month")],MM:[n,h("month")],MMM:[a,function(_){var v=d("months"),w=(d("monthsShort")||v.map(function(x){return x.slice(0,3)})).indexOf(_)+1;if(w<1)throw new Error;this.month=w%12||w}],MMMM:[a,function(_){var v=d("months").indexOf(_)+1;if(v<1)throw new Error;this.month=v%12||v}],Y:[/[+-]?\d+/,h("year")],YY:[n,function(_){this.year=l(_)}],YYYY:[/\d{4}/,h("year")],Z:u,ZZ:u};function m(_){var v,w;v=_,w=o&&o.formats;for(var x=(_=v.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,S,E){var b=E&&E.toUpperCase();return S||w[E]||i[E]||w[b].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,g,B){return g||B.slice(1)})})).match(r),N=x.length,R=0;R<N;R+=1){var P=x[R],V=p[P],F=V&&V[0],O=V&&V[1];x[R]=O?{regex:F,parser:O}:P.replace(/^\[|\]$/g,"")}return function(C){for(var S={},E=0,b=0;E<N;E+=1){var k=x[E];if(typeof k=="string")b+=k.length;else{var g=k.regex,B=k.parser,y=C.slice(b),M=g.exec(y)[0];B.call(S,M),C=C.replace(M,"")}}return function(nt){var Y=nt.afternoon;if(Y!==void 0){var Q=nt.hours;Y?Q<12&&(nt.hours+=12):Q===12&&(nt.hours=0),delete nt.afternoon}}(S),S}}return function(_,v,w){w.p.customParseFormat=!0,_&&_.parseTwoDigitYear&&(l=_.parseTwoDigitYear);var x=v.prototype,N=x.parse;x.parse=function(R){var P=R.date,V=R.utc,F=R.args;this.$u=V;var O=F[1];if(typeof O=="string"){var C=F[2]===!0,S=F[3]===!0,E=C||S,b=F[2];S&&(b=F[2]),o=this.$locale(),!C&&b&&(o=w.Ls[b]),this.$d=function(y,M,nt){try{if(["x","X"].indexOf(M)>-1)return new Date((M==="X"?1e3:1)*y);var Y=m(M)(y),Q=Y.year,J=Y.month,$=Y.day,tt=Y.hours,ot=Y.minutes,at=Y.seconds,U=Y.milliseconds,Tt=Y.zone,X=new Date,j=$||(Q||J?1:X.getDate()),W=Q||X.getFullYear(),z=0;Q&&!J||(z=J>0?J-1:X.getMonth());var A=tt||0,I=ot||0,q=at||0,L=U||0;return Tt?new Date(Date.UTC(W,z,j,A,I,q,L+60*Tt.offset*1e3)):nt?new Date(Date.UTC(W,z,j,A,I,q,L)):new Date(W,z,j,A,I,q,L)}catch{return new Date("")}}(P,O,V),this.init(),b&&b!==!0&&(this.$L=this.locale(b).$L),E&&P!=this.format(O)&&(this.$d=new Date("")),o={}}else if(O instanceof Array)for(var k=O.length,g=1;g<=k;g+=1){F[1]=O[g-1];var B=w.apply(this,F);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}g===k&&(this.$d=new Date(""))}else N.call(this,R)}}})})(I2);var D7=I2.exports;const N7=wl(D7);var M2={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(kl,function(){return function(i,r){var n=r.prototype,s=n.format;n.format=function(a){var o=this,l=this.$locale();if(!this.isValid())return s.bind(this)(a);var h=this.$utils(),u=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(d){switch(d){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return h.s(o.week(),d==="w"?1:2,"0");case"W":case"WW":return h.s(o.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return h.s(String(o.$H===0?24:o.$H),d==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return d}});return s.bind(this)(u)}}})})(M2);var I7=M2.exports;const M7=wl(I7),br={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},D={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Bu=function(t="fatal"){let e=br.fatal;typeof t=="string"?(t=t.toLowerCase(),t in br&&(e=br[t])):typeof t=="number"&&(e=t),D.trace=()=>{},D.debug=()=>{},D.info=()=>{},D.warn=()=>{},D.error=()=>{},D.fatal=()=>{},e<=br.fatal&&(D.fatal=console.error?console.error.bind(console,Bi("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Bi("FATAL"))),e<=br.error&&(D.error=console.error?console.error.bind(console,Bi("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Bi("ERROR"))),e<=br.warn&&(D.warn=console.warn?console.warn.bind(console,Bi("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Bi("WARN"))),e<=br.info&&(D.info=console.info?console.info.bind(console,Bi("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Bi("INFO"))),e<=br.debug&&(D.debug=console.debug?console.debug.bind(console,Bi("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Bi("DEBUG"))),e<=br.trace&&(D.trace=console.debug?console.debug.bind(console,Bi("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Bi("TRACE")))},Bi=t=>`%c${mi().format("ss.SSS")} : ${t} : `,R7=t=>t?F2(t).replace(/\\n/g,"#br#").split("#br#"):[""],R2=t=>la.sanitize(t),R0=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=R2(t):r!=="loose"&&(t=F2(t),t=t.replace(/</g,"&lt;").replace(/>/g,"&gt;"),t=t.replace(/=/g,"&equals;"),t=V7(t))}return t},Fi=(t,e)=>t&&(e.dompurifyConfig?t=la.sanitize(R0(t,e),e.dompurifyConfig).toString():t=la.sanitize(R0(t,e),{FORBID_TAGS:["style"]}).toString(),t),F7=(t,e)=>typeof t=="string"?Fi(t,e):t.flat().map(i=>Fi(i,e)),Ol=/<br\s*\/?>/gi,O7=t=>Ol.test(t),P7=t=>t.split(Ol),V7=t=>t.replace(/#br#/g,"<br/>"),F2=t=>t.replace(Ol,"#br#"),Y7=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},Xe=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),$r=function(t){let e=t;if(t.split("~").length-1>=2){let i=e;do e=i,i=e.replace(/~([^\s,:;]+)~/,"<$1>");while(i!=e);return $r(i)}else return e},$t={getRows:R7,sanitizeText:Fi,sanitizeTextOrArray:F7,hasBreaks:O7,splitBreaks:P7,lineBreakRegex:Ol,removeScript:R2,getUrl:Y7,evaluate:Xe},oi=(t,e)=>e?lt(t,{s:-40,l:10}):lt(t,{s:-40,l:-10}),Pl="#ffffff",Vl="#f2f2f2";let z7=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||lt(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||lt(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||oi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||oi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||oi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||oi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||At(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||At(this.tertiaryColor),this.lineColor=this.lineColor||At(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Qt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Qt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||At(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||zt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||lt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||lt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||lt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||lt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||lt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||lt(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||lt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||lt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||lt(this.primaryColor,{h:330}),this.darkMode)for(let i=0;i<this.THEME_COLOR_LIMIT;i++)this["cScale"+i]=Qt(this["cScale"+i],75);else for(let i=0;i<this.THEME_COLOR_LIMIT;i++)this["cScale"+i]=Qt(this["cScale"+i],25);for(let i=0;i<this.THEME_COLOR_LIMIT;i++)this["cScaleInv"+i]=this["cScaleInv"+i]||At(this["cScale"+i]);for(let i=0;i<this.THEME_COLOR_LIMIT;i++)this.darkMode?this["cScalePeer"+i]=this["cScalePeer"+i]||zt(this["cScale"+i],10):this["cScalePeer"+i]=this["cScalePeer"+i]||Qt(this["cScale"+i],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i=0;i<this.THEME_COLOR_LIMIT;i++)this["cScaleLabel"+i]=this["cScaleLabel"+i]||this.scaleLabelColor;const e=this.darkMode?-4:-1;for(let i=0;i<5;i++)this["surface"+i]=this["surface"+i]||lt(this.mainBkg,{h:180,s:-15,l:e*(5+i*3)}),this["surfacePeer"+i]=this["surfacePeer"+i]||lt(this.mainBkg,{h:180,s:-15,l:e*(8+i*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||lt(this.primaryColor,{h:64}),this.fillType3=this.fillType3||lt(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||lt(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||lt(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||lt(this.primaryColor,{h:128}),this.fillType7=this.fillType7||lt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||lt(this.primaryColor,{l:-10}),this.pie5=this.pie5||lt(this.secondaryColor,{l:-10}),this.pie6=this.pie6||lt(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||lt(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||lt(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||lt(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||lt(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||lt(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||lt(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Qt(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||lt(this.primaryColor,{h:-30}),this.git4=this.git4||lt(this.primaryColor,{h:-60}),this.git5=this.git5||lt(this.primaryColor,{h:-90}),this.git6=this.git6||lt(this.primaryColor,{h:60}),this.git7=this.git7||lt(this.primaryColor,{h:120}),this.darkMode?(this.git0=zt(this.git0,25),this.git1=zt(this.git1,25),this.git2=zt(this.git2,25),this.git3=zt(this.git3,25),this.git4=zt(this.git4,25),this.git5=zt(this.git5,25),this.git6=zt(this.git6,25),this.git7=zt(this.git7,25)):(this.git0=Qt(this.git0,25),this.git1=Qt(this.git1,25),this.git2=Qt(this.git2,25),this.git3=Qt(this.git3,25),this.git4=Qt(this.git4,25),this.git5=Qt(this.git5,25),this.git6=Qt(this.git6,25),this.git7=Qt(this.git7,25)),this.gitInv0=this.gitInv0||At(this.git0),this.gitInv1=this.gitInv1||At(this.git1),this.gitInv2=this.gitInv2||At(this.git2),this.gitInv3=this.gitInv3||At(this.git3),this.gitInv4=this.gitInv4||At(this.git4),this.gitInv5=this.gitInv5||At(this.git5),this.gitInv6=this.gitInv6||At(this.git6),this.gitInv7=this.gitInv7||At(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Pl,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Vl}calculate(e){if(typeof e!="object"){this.updateColors();return}const i=Object.keys(e);i.forEach(r=>{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const U7=t=>{const e=new z7;return e.calculate(t),e};let W7=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=zt(this.primaryColor,16),this.tertiaryColor=lt(this.primaryColor,{h:-160}),this.primaryBorderColor=At(this.background),this.secondaryBorderColor=oi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=oi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=zt(At("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=qs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Qt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=qs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=qs(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=zt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=zt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=zt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=lt(this.primaryColor,{h:64}),this.fillType3=lt(this.secondaryColor,{h:64}),this.fillType4=lt(this.primaryColor,{h:-64}),this.fillType5=lt(this.secondaryColor,{h:-64}),this.fillType6=lt(this.primaryColor,{h:128}),this.fillType7=lt(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||lt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||lt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||lt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||lt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||lt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||lt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||lt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||lt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||lt(this.primaryColor,{h:330});for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||At(this["cScale"+e]);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScalePeer"+e]=this["cScalePeer"+e]||zt(this["cScale"+e],10);for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||lt(this.mainBkg,{h:30,s:-30,l:-(-10+e*4)}),this["surfacePeer"+e]=this["surfacePeer"+e]||lt(this.mainBkg,{h:30,s:-30,l:-(-7+e*4)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["pie"+e]=this["cScale"+e];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Qt(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=zt(this.secondaryColor,20),this.git1=zt(this.pie2||this.secondaryColor,20),this.git2=zt(this.pie3||this.tertiaryColor,20),this.git3=zt(this.pie4||lt(this.primaryColor,{h:-30}),20),this.git4=zt(this.pie5||lt(this.primaryColor,{h:-60}),20),this.git5=zt(this.pie6||lt(this.primaryColor,{h:-90}),10),this.git6=zt(this.pie7||lt(this.primaryColor,{h:60}),10),this.git7=zt(this.pie8||lt(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||At(this.git0),this.gitInv1=this.gitInv1||At(this.git1),this.gitInv2=this.gitInv2||At(this.git2),this.gitInv3=this.gitInv3||At(this.git3),this.gitInv4=this.gitInv4||At(this.git4),this.gitInv5=this.gitInv5||At(this.git5),this.gitInv6=this.gitInv6||At(this.git6),this.gitInv7=this.gitInv7||At(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||zt(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||zt(this.background,2)}calculate(e){if(typeof e!="object"){this.updateColors();return}const i=Object.keys(e);i.forEach(r=>{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const H7=t=>{const e=new W7;return e.calculate(t),e};let q7=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=lt(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=lt(this.primaryColor,{h:-160}),this.primaryBorderColor=oi(this.primaryColor,this.darkMode),this.secondaryBorderColor=oi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=oi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=qs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||lt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||lt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||lt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||lt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||lt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||lt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||lt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||lt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||lt(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Qt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Qt(this.tertiaryColor,40);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=Qt(this["cScale"+e],10),this["cScalePeer"+e]=this["cScalePeer"+e]||Qt(this["cScale"+e],25);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||lt(this["cScale"+e],{h:180});for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||lt(this.mainBkg,{h:30,l:-(5+e*5)}),this["surfacePeer"+e]=this["surfacePeer"+e]||lt(this.mainBkg,{h:30,l:-(7+e*5)});if(this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!=="calculated"){this.cScaleLabel0=this.cScaleLabel0||At(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||At(this.labelTextColor);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=zt(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=lt(this.primaryColor,{h:64}),this.fillType3=lt(this.secondaryColor,{h:64}),this.fillType4=lt(this.primaryColor,{h:-64}),this.fillType5=lt(this.secondaryColor,{h:-64}),this.fillType6=lt(this.primaryColor,{h:128}),this.fillType7=lt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||lt(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||lt(this.primaryColor,{l:-10}),this.pie5=this.pie5||lt(this.secondaryColor,{l:-30}),this.pie6=this.pie6||lt(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||lt(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||lt(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||lt(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||lt(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||lt(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||lt(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||lt(this.primaryColor,{h:-30}),this.git4=this.git4||lt(this.primaryColor,{h:-60}),this.git5=this.git5||lt(this.primaryColor,{h:-90}),this.git6=this.git6||lt(this.primaryColor,{h:60}),this.git7=this.git7||lt(this.primaryColor,{h:120}),this.darkMode?(this.git0=zt(this.git0,25),this.git1=zt(this.git1,25),this.git2=zt(this.git2,25),this.git3=zt(this.git3,25),this.git4=zt(this.git4,25),this.git5=zt(this.git5,25),this.git6=zt(this.git6,25),this.git7=zt(this.git7,25)):(this.git0=Qt(this.git0,25),this.git1=Qt(this.git1,25),this.git2=Qt(this.git2,25),this.git3=Qt(this.git3,25),this.git4=Qt(this.git4,25),this.git5=Qt(this.git5,25),this.git6=Qt(this.git6,25),this.git7=Qt(this.git7,25)),this.gitInv0=this.gitInv0||Qt(At(this.git0),25),this.gitInv1=this.gitInv1||At(this.git1),this.gitInv2=this.gitInv2||At(this.git2),this.gitInv3=this.gitInv3||At(this.git3),this.gitInv4=this.gitInv4||At(this.git4),this.gitInv5=this.gitInv5||At(this.git5),this.gitInv6=this.gitInv6||At(this.git6),this.gitInv7=this.gitInv7||At(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||At(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||At(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Pl,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Vl}calculate(e){if(typeof e!="object"){this.updateColors();return}const i=Object.keys(e);i.forEach(r=>{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const G7=t=>{const e=new q7;return e.calculate(t),e};let X7=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=zt("#cde498",10),this.primaryBorderColor=oi(this.primaryColor,this.darkMode),this.secondaryBorderColor=oi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=oi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.primaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||lt(this.primaryColor,{h:30}),this.cScale4=this.cScale4||lt(this.primaryColor,{h:60}),this.cScale5=this.cScale5||lt(this.primaryColor,{h:90}),this.cScale6=this.cScale6||lt(this.primaryColor,{h:120}),this.cScale7=this.cScale7||lt(this.primaryColor,{h:150}),this.cScale8=this.cScale8||lt(this.primaryColor,{h:210}),this.cScale9=this.cScale9||lt(this.primaryColor,{h:270}),this.cScale10=this.cScale10||lt(this.primaryColor,{h:300}),this.cScale11=this.cScale11||lt(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Qt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Qt(this.tertiaryColor,40);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=Qt(this["cScale"+e],10),this["cScalePeer"+e]=this["cScalePeer"+e]||Qt(this["cScale"+e],25);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||lt(this["cScale"+e],{h:180});this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||lt(this.mainBkg,{h:30,s:-30,l:-(5+e*5)}),this["surfacePeer"+e]=this["surfacePeer"+e]||lt(this.mainBkg,{h:30,s:-30,l:-(8+e*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=Qt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=lt(this.primaryColor,{h:64}),this.fillType3=lt(this.secondaryColor,{h:64}),this.fillType4=lt(this.primaryColor,{h:-64}),this.fillType5=lt(this.secondaryColor,{h:-64}),this.fillType6=lt(this.primaryColor,{h:128}),this.fillType7=lt(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||lt(this.primaryColor,{l:-30}),this.pie5=this.pie5||lt(this.secondaryColor,{l:-30}),this.pie6=this.pie6||lt(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||lt(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||lt(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||lt(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||lt(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||lt(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||lt(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||lt(this.primaryColor,{h:-30}),this.git4=this.git4||lt(this.primaryColor,{h:-60}),this.git5=this.git5||lt(this.primaryColor,{h:-90}),this.git6=this.git6||lt(this.primaryColor,{h:60}),this.git7=this.git7||lt(this.primaryColor,{h:120}),this.darkMode?(this.git0=zt(this.git0,25),this.git1=zt(this.git1,25),this.git2=zt(this.git2,25),this.git3=zt(this.git3,25),this.git4=zt(this.git4,25),this.git5=zt(this.git5,25),this.git6=zt(this.git6,25),this.git7=zt(this.git7,25)):(this.git0=Qt(this.git0,25),this.git1=Qt(this.git1,25),this.git2=Qt(this.git2,25),this.git3=Qt(this.git3,25),this.git4=Qt(this.git4,25),this.git5=Qt(this.git5,25),this.git6=Qt(this.git6,25),this.git7=Qt(this.git7,25)),this.gitInv0=this.gitInv0||At(this.git0),this.gitInv1=this.gitInv1||At(this.git1),this.gitInv2=this.gitInv2||At(this.git2),this.gitInv3=this.gitInv3||At(this.git3),this.gitInv4=this.gitInv4||At(this.git4),this.gitInv5=this.gitInv5||At(this.git5),this.gitInv6=this.gitInv6||At(this.git6),this.gitInv7=this.gitInv7||At(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Pl,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Vl}calculate(e){if(typeof e!="object"){this.updateColors();return}const i=Object.keys(e);i.forEach(r=>{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const j7=t=>{const e=new X7;return e.calculate(t),e};class $7{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=zt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=lt(this.primaryColor,{h:-160}),this.primaryBorderColor=oi(this.primaryColor,this.darkMode),this.secondaryBorderColor=oi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=oi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=zt(this.contrast,55),this.border2=this.contrast,this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||At(this["cScale"+e]);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this.darkMode?this["cScalePeer"+e]=this["cScalePeer"+e]||zt(this["cScale"+e],10):this["cScalePeer"+e]=this["cScalePeer"+e]||Qt(this["cScale"+e],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||lt(this.mainBkg,{l:-(5+e*5)}),this["surfacePeer"+e]=this["surfacePeer"+e]||lt(this.mainBkg,{l:-(8+e*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=zt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.sectionBkgColor=zt(this.contrast,30),this.sectionBkgColor2=zt(this.contrast,30),this.taskBorderColor=Qt(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=zt(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=Qt(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=lt(this.primaryColor,{h:64}),this.fillType3=lt(this.secondaryColor,{h:64}),this.fillType4=lt(this.primaryColor,{h:-64}),this.fillType5=lt(this.secondaryColor,{h:-64}),this.fillType6=lt(this.primaryColor,{h:128}),this.fillType7=lt(this.secondaryColor,{h:128});for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["pie"+e]=this["cScale"+e];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=Qt(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||lt(this.primaryColor,{h:-30}),this.git4=this.pie5||lt(this.primaryColor,{h:-60}),this.git5=this.pie6||lt(this.primaryColor,{h:-90}),this.git6=this.pie7||lt(this.primaryColor,{h:60}),this.git7=this.pie8||lt(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||At(this.git0),this.gitInv1=this.gitInv1||At(this.git1),this.gitInv2=this.gitInv2||At(this.git2),this.gitInv3=this.gitInv3||At(this.git3),this.gitInv4=this.gitInv4||At(this.git4),this.gitInv5=this.gitInv5||At(this.git5),this.gitInv6=this.gitInv6||At(this.git6),this.gitInv7=this.gitInv7||At(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Pl,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Vl}calculate(e){if(typeof e!="object"){this.updateColors();return}const i=Object.keys(e);i.forEach(r=>{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const K7=t=>{const e=new $7;return e.calculate(t),e},Rr={base:{getThemeVariables:U7},dark:{getThemeVariables:H7},default:{getThemeVariables:G7},forest:{getThemeVariables:j7},neutral:{getThemeVariables:K7}},Kr={theme:"default",themeVariables:Rr.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},sequence:{hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",tickInterval:void 0,useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},timeline:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},class:{titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},state:{titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},er:{titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},gitGraph:{titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0},c4:{useWidth:void 0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,useMaxWidth:!0,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},fontSize:16};Kr.class&&(Kr.class.arrowMarkerAbsolute=Kr.arrowMarkerAbsolute);Kr.gitGraph&&(Kr.gitGraph.arrowMarkerAbsolute=Kr.arrowMarkerAbsolute);const O2=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...O2(t[r],"")]:[...i,e+r],[]),Q7=O2(Kr,""),Z7=Kr;/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function P2(t){return typeof t>"u"||t===null}function J7(t){return typeof t=="object"&&t!==null}function tw(t){return Array.isArray(t)?t:P2(t)?[]:[t]}function ew(t,e){var i,r,n,s;if(e)for(s=Object.keys(e),i=0,r=s.length;i<r;i+=1)n=s[i],t[n]=e[n];return t}function iw(t,e){var i="",r;for(r=0;r<e;r+=1)i+=t;return i}function rw(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var nw=P2,sw=J7,aw=tw,ow=iw,lw=rw,cw=ew,ai={isNothing:nw,isObject:sw,toArray:aw,repeat:ow,isNegativeZero:lw,extend:cw};function V2(t,e){var i="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(i+='in "'+t.mark.name+'" '),i+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(i+=`
11
+
12
+ `+t.mark.snippet),r+" "+i):r}function ha(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=V2(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ha.prototype=Object.create(Error.prototype);ha.prototype.constructor=ha;ha.prototype.toString=function(e){return this.name+": "+V2(this,e)};var Er=ha;function Ic(t,e,i,r,n){var s="",a="",o=Math.floor(n/2)-1;return r-e>o&&(s=" ... ",e=r-o+s.length),i-r>o&&(a=" ...",i=r+o-a.length),{str:s+t.slice(e,i).replace(/\t/g,"→")+a,pos:r-e+s.length}}function Mc(t,e){return ai.repeat(" ",e-t.length)+t}function hw(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],s,a=-1;s=i.exec(t.buffer);)n.push(s.index),r.push(s.index+s[0].length),t.position<=s.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var o="",l,h,u=Math.min(t.line+e.linesAfter,n.length).toString().length,d=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(a-l<0);l++)h=Ic(t.buffer,r[a-l],n[a-l],t.position-(r[a]-r[a-l]),d),o=ai.repeat(" ",e.indent)+Mc((t.line-l+1).toString(),u)+" | "+h.str+`
13
+ `+o;for(h=Ic(t.buffer,r[a],n[a],t.position,d),o+=ai.repeat(" ",e.indent)+Mc((t.line+1).toString(),u)+" | "+h.str+`
14
+ `,o+=ai.repeat("-",e.indent+u+3+h.pos)+`^
15
+ `,l=1;l<=e.linesAfter&&!(a+l>=n.length);l++)h=Ic(t.buffer,r[a+l],n[a+l],t.position-(r[a]-r[a+l]),d),o+=ai.repeat(" ",e.indent)+Mc((t.line+l+1).toString(),u)+" | "+h.str+`
16
+ `;return o.replace(/\n$/,"")}var uw=hw,dw=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],fw=["scalar","sequence","mapping"];function pw(t){var e={};return t!==null&&Object.keys(t).forEach(function(i){t[i].forEach(function(r){e[String(r)]=i})}),e}function gw(t,e){if(e=e||{},Object.keys(e).forEach(function(i){if(dw.indexOf(i)===-1)throw new Er('Unknown option "'+i+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(i){return i},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=pw(e.styleAliases||null),fw.indexOf(this.kind)===-1)throw new Er('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var ri=gw;function F0(t,e){var i=[];return t[e].forEach(function(r){var n=i.length;i.forEach(function(s,a){s.tag===r.tag&&s.kind===r.kind&&s.multi===r.multi&&(n=a)}),i[n]=r}),i}function yw(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,i;function r(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,i=arguments.length;e<i;e+=1)arguments[e].forEach(r);return t}function _h(t){return this.extend(t)}_h.prototype.extend=function(e){var i=[],r=[];if(e instanceof ri)r.push(e);else if(Array.isArray(e))r=r.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(i=i.concat(e.implicit)),e.explicit&&(r=r.concat(e.explicit));else throw new Er("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(s){if(!(s instanceof ri))throw new Er("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(s.loadKind&&s.loadKind!=="scalar")throw new Er("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(s.multi)throw new Er("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(s){if(!(s instanceof ri))throw new Er("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var n=Object.create(_h.prototype);return n.implicit=(this.implicit||[]).concat(i),n.explicit=(this.explicit||[]).concat(r),n.compiledImplicit=F0(n,"implicit"),n.compiledExplicit=F0(n,"explicit"),n.compiledTypeMap=yw(n.compiledImplicit,n.compiledExplicit),n};var mw=_h,bw=new ri("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}}),_w=new ri("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}}),xw=new ri("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}}),Y2=new mw({explicit:[bw,_w,xw]});function vw(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function kw(){return null}function ww(t){return t===null}var Tw=new ri("tag:yaml.org,2002:null",{kind:"scalar",resolve:vw,construct:kw,predicate:ww,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Ew(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function Cw(t){return t==="true"||t==="True"||t==="TRUE"}function Sw(t){return Object.prototype.toString.call(t)==="[object Boolean]"}var Aw=new ri("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Ew,construct:Cw,predicate:Sw,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function Lw(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Bw(t){return 48<=t&&t<=55}function Dw(t){return 48<=t&&t<=57}function Nw(t){if(t===null)return!1;var e=t.length,i=0,r=!1,n;if(!e)return!1;if(n=t[i],(n==="-"||n==="+")&&(n=t[++i]),n==="0"){if(i+1===e)return!0;if(n=t[++i],n==="b"){for(i++;i<e;i++)if(n=t[i],n!=="_"){if(n!=="0"&&n!=="1")return!1;r=!0}return r&&n!=="_"}if(n==="x"){for(i++;i<e;i++)if(n=t[i],n!=="_"){if(!Lw(t.charCodeAt(i)))return!1;r=!0}return r&&n!=="_"}if(n==="o"){for(i++;i<e;i++)if(n=t[i],n!=="_"){if(!Bw(t.charCodeAt(i)))return!1;r=!0}return r&&n!=="_"}}if(n==="_")return!1;for(;i<e;i++)if(n=t[i],n!=="_"){if(!Dw(t.charCodeAt(i)))return!1;r=!0}return!(!r||n==="_")}function Iw(t){var e=t,i=1,r;if(e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),r=e[0],(r==="-"||r==="+")&&(r==="-"&&(i=-1),e=e.slice(1),r=e[0]),e==="0")return 0;if(r==="0"){if(e[1]==="b")return i*parseInt(e.slice(2),2);if(e[1]==="x")return i*parseInt(e.slice(2),16);if(e[1]==="o")return i*parseInt(e.slice(2),8)}return i*parseInt(e,10)}function Mw(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!ai.isNegativeZero(t)}var Rw=new ri("tag:yaml.org,2002:int",{kind:"scalar",resolve:Nw,construct:Iw,predicate:Mw,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Fw=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Ow(t){return!(t===null||!Fw.test(t)||t[t.length-1]==="_")}function Pw(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var Vw=/^[-+]?[0-9]+e/;function Yw(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ai.isNegativeZero(t))return"-0.0";return i=t.toString(10),Vw.test(i)?i.replace("e",".e"):i}function zw(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ai.isNegativeZero(t))}var Uw=new ri("tag:yaml.org,2002:float",{kind:"scalar",resolve:Ow,construct:Pw,predicate:zw,represent:Yw,defaultStyle:"lowercase"}),Ww=Y2.extend({implicit:[Tw,Aw,Rw,Uw]}),Hw=Ww,z2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),U2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function qw(t){return t===null?!1:z2.exec(t)!==null||U2.exec(t)!==null}function Gw(t){var e,i,r,n,s,a,o,l=0,h=null,u,d,f;if(e=z2.exec(t),e===null&&(e=U2.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(s=+e[4],a=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],d=+(e[11]||0),h=(u*60+d)*6e4,e[9]==="-"&&(h=-h)),f=new Date(Date.UTC(i,r,n,s,a,o,l)),h&&f.setTime(f.getTime()-h),f}function Xw(t){return t.toISOString()}var jw=new ri("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:qw,construct:Gw,instanceOf:Date,represent:Xw});function $w(t){return t==="<<"||t===null}var Kw=new ri("tag:yaml.org,2002:merge",{kind:"scalar",resolve:$w}),Du=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
17
+ \r`;function Qw(t){if(t===null)return!1;var e,i,r=0,n=t.length,s=Du;for(i=0;i<n;i++)if(e=s.indexOf(t.charAt(i)),!(e>64)){if(e<0)return!1;r+=6}return r%8===0}function Zw(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,s=Du,a=0,o=[];for(e=0;e<n;e++)e%4===0&&e&&(o.push(a>>16&255),o.push(a>>8&255),o.push(a&255)),a=a<<6|s.indexOf(r.charAt(e));return i=n%4*6,i===0?(o.push(a>>16&255),o.push(a>>8&255),o.push(a&255)):i===18?(o.push(a>>10&255),o.push(a>>2&255)):i===12&&o.push(a>>4&255),new Uint8Array(o)}function Jw(t){var e="",i=0,r,n,s=t.length,a=Du;for(r=0;r<s;r++)r%3===0&&r&&(e+=a[i>>18&63],e+=a[i>>12&63],e+=a[i>>6&63],e+=a[i&63]),i=(i<<8)+t[r];return n=s%3,n===0?(e+=a[i>>18&63],e+=a[i>>12&63],e+=a[i>>6&63],e+=a[i&63]):n===2?(e+=a[i>>10&63],e+=a[i>>4&63],e+=a[i<<2&63],e+=a[64]):n===1&&(e+=a[i>>2&63],e+=a[i<<4&63],e+=a[64],e+=a[64]),e}function tT(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var eT=new ri("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Qw,construct:Zw,predicate:tT,represent:Jw}),iT=Object.prototype.hasOwnProperty,rT=Object.prototype.toString;function nT(t){if(t===null)return!0;var e=[],i,r,n,s,a,o=t;for(i=0,r=o.length;i<r;i+=1){if(n=o[i],a=!1,rT.call(n)!=="[object Object]")return!1;for(s in n)if(iT.call(n,s))if(!a)a=!0;else return!1;if(!a)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function sT(t){return t!==null?t:[]}var aT=new ri("tag:yaml.org,2002:omap",{kind:"sequence",resolve:nT,construct:sT}),oT=Object.prototype.toString;function lT(t){if(t===null)return!0;var e,i,r,n,s,a=t;for(s=new Array(a.length),e=0,i=a.length;e<i;e+=1){if(r=a[e],oT.call(r)!=="[object Object]"||(n=Object.keys(r),n.length!==1))return!1;s[e]=[n[0],r[n[0]]]}return!0}function cT(t){if(t===null)return[];var e,i,r,n,s,a=t;for(s=new Array(a.length),e=0,i=a.length;e<i;e+=1)r=a[e],n=Object.keys(r),s[e]=[n[0],r[n[0]]];return s}var hT=new ri("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:lT,construct:cT}),uT=Object.prototype.hasOwnProperty;function dT(t){if(t===null)return!0;var e,i=t;for(e in i)if(uT.call(i,e)&&i[e]!==null)return!1;return!0}function fT(t){return t!==null?t:{}}var pT=new ri("tag:yaml.org,2002:set",{kind:"mapping",resolve:dT,construct:fT}),gT=Hw.extend({implicit:[jw,Kw],explicit:[eT,aT,hT,pT]}),en=Object.prototype.hasOwnProperty,Ho=1,W2=2,H2=3,qo=4,Rc=1,yT=2,O0=3,mT=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,bT=/[\x85\u2028\u2029]/,_T=/[,\[\]\{\}]/,q2=/^(?:!|!!|![a-z\-]+!)$/i,G2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function P0(t){return Object.prototype.toString.call(t)}function or(t){return t===10||t===13}function bn(t){return t===9||t===32}function bi(t){return t===9||t===32||t===10||t===13}function Hn(t){return t===44||t===91||t===93||t===123||t===125}function xT(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function vT(t){return t===120?2:t===117?4:t===85?8:0}function kT(t){return 48<=t&&t<=57?t-48:-1}function V0(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
18
+ `:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"…":t===95?" ":t===76?"\u2028":t===80?"\u2029":""}function wT(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var X2=new Array(256),j2=new Array(256);for(var Pn=0;Pn<256;Pn++)X2[Pn]=V0(Pn)?1:0,j2[Pn]=V0(Pn);function TT(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||gT,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function $2(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=uw(i),new Er(e,i)}function Vt(t,e){throw $2(t,e)}function Go(t,e){t.onWarning&&t.onWarning.call(null,$2(t,e))}var Y0={YAML:function(e,i,r){var n,s,a;e.version!==null&&Vt(e,"duplication of %YAML directive"),r.length!==1&&Vt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&Vt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),a=parseInt(n[2],10),s!==1&&Vt(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=a<2,a!==1&&a!==2&&Go(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,s;r.length!==2&&Vt(e,"TAG directive accepts exactly two arguments"),n=r[0],s=r[1],q2.test(n)||Vt(e,"ill-formed tag handle (first argument) of the TAG directive"),en.call(e.tagMap,n)&&Vt(e,'there is a previously declared suffix for "'+n+'" tag handle'),G2.test(s)||Vt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{s=decodeURIComponent(s)}catch{Vt(e,"tag prefix is malformed: "+s)}e.tagMap[n]=s}};function Qr(t,e,i,r){var n,s,a,o;if(e<i){if(o=t.input.slice(e,i),r)for(n=0,s=o.length;n<s;n+=1)a=o.charCodeAt(n),a===9||32<=a&&a<=1114111||Vt(t,"expected valid JSON character");else mT.test(o)&&Vt(t,"the stream contains non-printable characters");t.result+=o}}function z0(t,e,i,r){var n,s,a,o;for(ai.isObject(i)||Vt(t,"cannot merge mappings; the provided source object is unacceptable"),n=Object.keys(i),a=0,o=n.length;a<o;a+=1)s=n[a],en.call(e,s)||(e[s]=i[s],r[s]=!0)}function qn(t,e,i,r,n,s,a,o,l){var h,u;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),h=0,u=n.length;h<u;h+=1)Array.isArray(n[h])&&Vt(t,"nested arrays are not supported inside keys"),typeof n=="object"&&P0(n[h])==="[object Object]"&&(n[h]="[object Object]");if(typeof n=="object"&&P0(n)==="[object Object]"&&(n="[object Object]"),n=String(n),e===null&&(e={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(s))for(h=0,u=s.length;h<u;h+=1)z0(t,e,s[h],i);else z0(t,e,s,i);else!t.json&&!en.call(i,n)&&en.call(e,n)&&(t.line=a||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,Vt(t,"duplicated mapping key")),n==="__proto__"?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[n]=s,delete i[n];return e}function Nu(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Vt(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Ie(t,e,i){for(var r=0,n=t.input.charCodeAt(t.position);n!==0;){for(;bn(n);)n===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&n===35)do n=t.input.charCodeAt(++t.position);while(n!==10&&n!==13&&n!==0);if(or(n))for(Nu(t),n=t.input.charCodeAt(t.position),r++,t.lineIndent=0;n===32;)t.lineIndent++,n=t.input.charCodeAt(++t.position);else break}return i!==-1&&r!==0&&t.lineIndent<i&&Go(t,"deficient indentation"),r}function Yl(t){var e=t.position,i;return i=t.input.charCodeAt(e),!!((i===45||i===46)&&i===t.input.charCodeAt(e+1)&&i===t.input.charCodeAt(e+2)&&(e+=3,i=t.input.charCodeAt(e),i===0||bi(i)))}function Iu(t,e){e===1?t.result+=" ":e>1&&(t.result+=ai.repeat(`
19
+ `,e-1))}function ET(t,e,i){var r,n,s,a,o,l,h,u,d=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),bi(p)||Hn(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(n=t.input.charCodeAt(t.position+1),bi(n)||i&&Hn(n)))return!1;for(t.kind="scalar",t.result="",s=a=t.position,o=!1;p!==0;){if(p===58){if(n=t.input.charCodeAt(t.position+1),bi(n)||i&&Hn(n))break}else if(p===35){if(r=t.input.charCodeAt(t.position-1),bi(r))break}else{if(t.position===t.lineStart&&Yl(t)||i&&Hn(p))break;if(or(p))if(l=t.line,h=t.lineStart,u=t.lineIndent,Ie(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=a,t.line=l,t.lineStart=h,t.lineIndent=u;break}}o&&(Qr(t,s,a,!1),Iu(t,t.line-l),s=a=t.position,o=!1),bn(p)||(a=t.position+1),p=t.input.charCodeAt(++t.position)}return Qr(t,s,a,!1),t.result?!0:(t.kind=d,t.result=f,!1)}function CT(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(Qr(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else or(i)?(Qr(t,r,n,!0),Iu(t,Ie(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Yl(t)?Vt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);Vt(t,"unexpected end of the stream within a single quoted scalar")}function ST(t,e){var i,r,n,s,a,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return Qr(t,i,t.position,!0),t.position++,!0;if(o===92){if(Qr(t,i,t.position,!0),o=t.input.charCodeAt(++t.position),or(o))Ie(t,!1,e);else if(o<256&&X2[o])t.result+=j2[o],t.position++;else if((a=vT(o))>0){for(n=a,s=0;n>0;n--)o=t.input.charCodeAt(++t.position),(a=xT(o))>=0?s=(s<<4)+a:Vt(t,"expected hexadecimal character");t.result+=wT(s),t.position++}else Vt(t,"unknown escape sequence");i=r=t.position}else or(o)?(Qr(t,i,r,!0),Iu(t,Ie(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Yl(t)?Vt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}Vt(t,"unexpected end of the stream within a double quoted scalar")}function AT(t,e){var i=!0,r,n,s,a=t.tag,o,l=t.anchor,h,u,d,f,p,m=Object.create(null),_,v,w,x;if(x=t.input.charCodeAt(t.position),x===91)u=93,p=!1,o=[];else if(x===123)u=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),x=t.input.charCodeAt(++t.position);x!==0;){if(Ie(t,!0,e),x=t.input.charCodeAt(t.position),x===u)return t.position++,t.tag=a,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;i?x===44&&Vt(t,"expected the node content, but found ','"):Vt(t,"missed comma between flow collection entries"),v=_=w=null,d=f=!1,x===63&&(h=t.input.charCodeAt(t.position+1),bi(h)&&(d=f=!0,t.position++,Ie(t,!0,e))),r=t.line,n=t.lineStart,s=t.position,ls(t,e,Ho,!1,!0),v=t.tag,_=t.result,Ie(t,!0,e),x=t.input.charCodeAt(t.position),(f||t.line===r)&&x===58&&(d=!0,x=t.input.charCodeAt(++t.position),Ie(t,!0,e),ls(t,e,Ho,!1,!0),w=t.result),p?qn(t,o,m,v,_,w,r,n,s):d?o.push(qn(t,null,m,v,_,w,r,n,s)):o.push(_),Ie(t,!0,e),x=t.input.charCodeAt(t.position),x===44?(i=!0,x=t.input.charCodeAt(++t.position)):i=!1}Vt(t,"unexpected end of the stream within a flow collection")}function LT(t,e){var i,r,n=Rc,s=!1,a=!1,o=e,l=0,h=!1,u,d;if(d=t.input.charCodeAt(t.position),d===124)r=!1;else if(d===62)r=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)Rc===n?n=d===43?O0:yT:Vt(t,"repeat of a chomping mode identifier");else if((u=kT(d))>=0)u===0?Vt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?Vt(t,"repeat of an indentation width identifier"):(o=e+u-1,a=!0);else break;if(bn(d)){do d=t.input.charCodeAt(++t.position);while(bn(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!or(d)&&d!==0)}for(;d!==0;){for(Nu(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!a||t.lineIndent<o)&&d===32;)t.lineIndent++,d=t.input.charCodeAt(++t.position);if(!a&&t.lineIndent>o&&(o=t.lineIndent),or(d)){l++;continue}if(t.lineIndent<o){n===O0?t.result+=ai.repeat(`
20
+ `,s?1+l:l):n===Rc&&s&&(t.result+=`
21
+ `);break}for(r?bn(d)?(h=!0,t.result+=ai.repeat(`
22
+ `,s?1+l:l)):h?(h=!1,t.result+=ai.repeat(`
23
+ `,l+1)):l===0?s&&(t.result+=" "):t.result+=ai.repeat(`
24
+ `,l):t.result+=ai.repeat(`
25
+ `,s?1+l:l),s=!0,a=!0,l=0,i=t.position;!or(d)&&d!==0;)d=t.input.charCodeAt(++t.position);Qr(t,i,t.position,!1)}return!0}function U0(t,e){var i,r=t.tag,n=t.anchor,s=[],a,o=!1,l;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),l=t.input.charCodeAt(t.position);l!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Vt(t,"tab characters must not be used in indentation")),!(l!==45||(a=t.input.charCodeAt(t.position+1),!bi(a))));){if(o=!0,t.position++,Ie(t,!0,-1)&&t.lineIndent<=e){s.push(null),l=t.input.charCodeAt(t.position);continue}if(i=t.line,ls(t,e,H2,!1,!0),s.push(t.result),Ie(t,!0,-1),l=t.input.charCodeAt(t.position),(t.line===i||t.lineIndent>e)&&l!==0)Vt(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return o?(t.tag=r,t.anchor=n,t.kind="sequence",t.result=s,!0):!1}function BT(t,e,i){var r,n,s,a,o,l,h=t.tag,u=t.anchor,d={},f=Object.create(null),p=null,m=null,_=null,v=!1,w=!1,x;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=d),x=t.input.charCodeAt(t.position);x!==0;){if(!v&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Vt(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),s=t.line,(x===63||x===58)&&bi(r))x===63?(v&&(qn(t,d,f,p,m,null,a,o,l),p=m=_=null),w=!0,v=!0,n=!0):v?(v=!1,n=!0):Vt(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,x=r;else{if(a=t.line,o=t.lineStart,l=t.position,!ls(t,i,W2,!1,!0))break;if(t.line===s){for(x=t.input.charCodeAt(t.position);bn(x);)x=t.input.charCodeAt(++t.position);if(x===58)x=t.input.charCodeAt(++t.position),bi(x)||Vt(t,"a whitespace character is expected after the key-value separator within a block mapping"),v&&(qn(t,d,f,p,m,null,a,o,l),p=m=_=null),w=!0,v=!1,n=!1,p=t.tag,m=t.result;else if(w)Vt(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=h,t.anchor=u,!0}else if(w)Vt(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=h,t.anchor=u,!0}if((t.line===s||t.lineIndent>e)&&(v&&(a=t.line,o=t.lineStart,l=t.position),ls(t,e,qo,!0,n)&&(v?m=t.result:_=t.result),v||(qn(t,d,f,p,m,_,a,o,l),p=m=_=null),Ie(t,!0,-1),x=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&x!==0)Vt(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return v&&qn(t,d,f,p,m,null,a,o,l),w&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=d),w}function DT(t){var e,i=!1,r=!1,n,s,a;if(a=t.input.charCodeAt(t.position),a!==33)return!1;if(t.tag!==null&&Vt(t,"duplication of a tag property"),a=t.input.charCodeAt(++t.position),a===60?(i=!0,a=t.input.charCodeAt(++t.position)):a===33?(r=!0,n="!!",a=t.input.charCodeAt(++t.position)):n="!",e=t.position,i){do a=t.input.charCodeAt(++t.position);while(a!==0&&a!==62);t.position<t.length?(s=t.input.slice(e,t.position),a=t.input.charCodeAt(++t.position)):Vt(t,"unexpected end of the stream within a verbatim tag")}else{for(;a!==0&&!bi(a);)a===33&&(r?Vt(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),q2.test(n)||Vt(t,"named tag handle cannot contain such characters"),r=!0,e=t.position+1)),a=t.input.charCodeAt(++t.position);s=t.input.slice(e,t.position),_T.test(s)&&Vt(t,"tag suffix cannot contain flow indicator characters")}s&&!G2.test(s)&&Vt(t,"tag name cannot contain such characters: "+s);try{s=decodeURIComponent(s)}catch{Vt(t,"tag name is malformed: "+s)}return i?t.tag=s:en.call(t.tagMap,n)?t.tag=t.tagMap[n]+s:n==="!"?t.tag="!"+s:n==="!!"?t.tag="tag:yaml.org,2002:"+s:Vt(t,'undeclared tag handle "'+n+'"'),!0}function NT(t){var e,i;if(i=t.input.charCodeAt(t.position),i!==38)return!1;for(t.anchor!==null&&Vt(t,"duplication of an anchor property"),i=t.input.charCodeAt(++t.position),e=t.position;i!==0&&!bi(i)&&!Hn(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&Vt(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function IT(t){var e,i,r;if(r=t.input.charCodeAt(t.position),r!==42)return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!bi(r)&&!Hn(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Vt(t,"name of an alias node must contain at least one character"),i=t.input.slice(e,t.position),en.call(t.anchorMap,i)||Vt(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],Ie(t,!0,-1),!0}function ls(t,e,i,r,n){var s,a,o,l=1,h=!1,u=!1,d,f,p,m,_,v;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=a=o=qo===i||H2===i,r&&Ie(t,!0,-1)&&(h=!0,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)),l===1)for(;DT(t)||NT(t);)Ie(t,!0,-1)?(h=!0,o=s,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)):o=!1;if(o&&(o=h||n),(l===1||qo===i)&&(Ho===i||W2===i?_=e:_=e+1,v=t.position-t.lineStart,l===1?o&&(U0(t,v)||BT(t,v,_))||AT(t,_)?u=!0:(a&&LT(t,_)||CT(t,_)||ST(t,_)?u=!0:IT(t)?(u=!0,(t.tag!==null||t.anchor!==null)&&Vt(t,"alias node should not have any properties")):ET(t,_,Ho===i)&&(u=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):l===0&&(u=o&&U0(t,v))),t.tag===null)t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);else if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&Vt(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d<f;d+=1)if(m=t.implicitTypes[d],m.resolve(t.result)){t.result=m.construct(t.result),t.tag=m.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else if(t.tag!=="!"){if(en.call(t.typeMap[t.kind||"fallback"],t.tag))m=t.typeMap[t.kind||"fallback"][t.tag];else for(m=null,p=t.typeMap.multi[t.kind||"fallback"],d=0,f=p.length;d<f;d+=1)if(t.tag.slice(0,p[d].tag.length)===p[d].tag){m=p[d];break}m||Vt(t,"unknown tag !<"+t.tag+">"),t.result!==null&&m.kind!==t.kind&&Vt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Vt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function MT(t){var e=t.position,i,r,n,s=!1,a;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(a=t.input.charCodeAt(t.position))!==0&&(Ie(t,!0,-1),a=t.input.charCodeAt(t.position),!(t.lineIndent>0||a!==37));){for(s=!0,a=t.input.charCodeAt(++t.position),i=t.position;a!==0&&!bi(a);)a=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&Vt(t,"directive name must not be less than one character in length");a!==0;){for(;bn(a);)a=t.input.charCodeAt(++t.position);if(a===35){do a=t.input.charCodeAt(++t.position);while(a!==0&&!or(a));break}if(or(a))break;for(i=t.position;a!==0&&!bi(a);)a=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}a!==0&&Nu(t),en.call(Y0,r)?Y0[r](t,r,n):Go(t,'unknown document directive "'+r+'"')}if(Ie(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ie(t,!0,-1)):s&&Vt(t,"directives end mark is expected"),ls(t,t.lineIndent-1,qo,!1,!0),Ie(t,!0,-1),t.checkLineBreaks&&bT.test(t.input.slice(e,t.position))&&Go(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Yl(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ie(t,!0,-1));return}if(t.position<t.length-1)Vt(t,"end of the stream or a document separator is expected");else return}function K2(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`
26
+ `),t.charCodeAt(0)===65279&&(t=t.slice(1)));var i=new TT(t,e),r=t.indexOf("\0");for(r!==-1&&(i.position=r,Vt(i,"null byte is not allowed in input")),i.input+="\0";i.input.charCodeAt(i.position)===32;)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)MT(i);return i.documents}function RT(t,e,i){e!==null&&typeof e=="object"&&typeof i>"u"&&(i=e,e=null);var r=K2(t,i);if(typeof e!="function")return r;for(var n=0,s=r.length;n<s;n+=1)e(r[n])}function FT(t,e){var i=K2(t,e);if(i.length!==0){if(i.length===1)return i[0];throw new Er("expected a single document in the stream, but found more")}}var OT=RT,PT=FT,VT={loadAll:OT,load:PT},YT=Y2,zT=VT.load;const Q2=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s;function UT(t,e){var i;const r=t.match(Q2);if(r){const n=zT(r[1],{schema:YT});return n!=null&&n.title&&((i=e.setDiagramTitle)==null||i.call(e,n.title)),t.slice(r[0].length)}else return t}const WT=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,HT=/\s*%%.*\n/gm,Xo={},Mu=function(t,e){t=t.replace(Q2,"").replace(WT,"").replace(HT,`
27
+ `);for(const[i,{detector:r}]of Object.entries(Xo))if(r(t,e))return i;throw new Error(`No diagram type detected for text: ${t}`)},Z2=(...t)=>{for(const{id:e,detector:i,loader:r}of t)J2(e,i,r)},J2=(t,e,i)=>{Xo[t]?D.error(`Detector with key ${t} already exists`):Xo[t]={detector:e,loader:i},D.debug(`Detector with key ${t} added${i?" with loader":""}`)},qT=t=>Xo[t].loader,xh=function(t,e,i){const{depth:r,clobber:n}=Object.assign({depth:2,clobber:!1},i);return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(s=>xh(t,s,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(s=>{t.includes(s)||t.push(s)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(s=>{typeof e[s]=="object"&&(t[s]===void 0||typeof t[s]=="object")?(t[s]===void 0&&(t[s]=Array.isArray(e[s])?[]:{}),t[s]=xh(t[s],e[s],{depth:r-1,clobber:n})):(n||typeof t[s]!="object"&&typeof e[s]!="object")&&(t[s]=e[s])}),t)},Ge=xh,GT={curveBasis:os,curveBasisClosed:ov,curveBasisOpen:lv,curveBumpX:sv,curveBumpY:av,curveBundle:cv,curveCardinalClosed:uv,curveCardinalOpen:dv,curveCardinal:hv,curveCatmullRomClosed:pv,curveCatmullRomOpen:gv,curveCatmullRom:fv,curveLinear:ki,curveLinearClosed:yv,curveMonotoneX:mv,curveMonotoneY:bv,curveNatural:_v,curveStep:xv,curveStepAfter:kv,curveStepBefore:vv},Fc=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,XT=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,jT=function(t,e){const i=tp(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const n=i.map(s=>s.args);En(n),r=Ge(r,[...n])}else r=i.args;if(r){let n=Mu(t,e);["config"].forEach(s=>{r[s]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[s],delete r[s])})}return r},tp=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${XT.source})(?=[}][%]{2}).*
28
+ `,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),D.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=Fc.exec(t))!==null;)if(r.index===Fc.lastIndex&&Fc.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const s=r[1]?r[1]:r[2],a=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:s,args:a})}return n.length===0&&n.push({type:t,args:null}),n.length===1?n[0]:n}catch(i){return D.error(`ERROR: ${i.message} - Unable to parse directive
29
+ ${e!==null?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},$T=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function Hi(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return GT[i]||e}function KT(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?zr(i):i}const QT=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let s=window;for(let a=0;a<r;a++)if(s=s[i[a]],!s)return;s[n](...e)};function jo(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function ZT(t){let e,i=0;t.forEach(s=>{i+=jo(s,e),e=s});let r=i/2,n;return e=void 0,t.forEach(s=>{if(e&&!n){const a=jo(s,e);if(a<r)r-=a;else{const o=r/a;o<=0&&(n=e),o>=1&&(n={x:s.x,y:s.y}),o>0&&o<1&&(n={x:(1-o)*e.x+o*s.x,y:(1-o)*e.y+o*s.y})}}e=s}),n}function JT(t){return t.length===1?t[0]:ZT(t)}const tE=(t,e,i)=>{let r;D.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let s=25,a;r=void 0,e.forEach(u=>{if(r&&!a){const d=jo(u,r);if(d<s)s-=d;else{const f=s/d;f<=0&&(a=r),f>=1&&(a={x:u.x,y:u.y}),f>0&&f<1&&(a={x:(1-f)*r.x+f*u.x,y:(1-f)*r.y+f*u.y})}}r=u});const o=t?10:5,l=Math.atan2(e[0].y-a.y,e[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(l)*o+(e[0].x+a.x)/2,h.y=-Math.cos(l)*o+(e[0].y+a.y)/2,h};function eE(t,e,i){let r=JSON.parse(JSON.stringify(i)),n;D.info("our points",r),e!=="start_left"&&e!=="start_right"&&(r=r.reverse()),r.forEach(d=>{n=d});let a=25+t,o;n=void 0,r.forEach(d=>{if(n&&!o){const f=jo(d,n);if(f<a)a-=f;else{const p=a/f;p<=0&&(o=n),p>=1&&(o={x:d.x,y:d.y}),p>0&&p<1&&(o={x:(1-p)*n.x+p*d.x,y:(1-p)*n.y+p*d.y})}}n=d});const l=10+t*.5,h=Math.atan2(r[0].y-o.y,r[0].x-o.x),u={x:0,y:0};return u.x=Math.sin(h)*l+(r[0].x+o.x)/2,u.y=-Math.cos(h)*l+(r[0].y+o.y)/2,e==="start_left"&&(u.x=Math.sin(h+Math.PI)*l+(r[0].x+o.x)/2,u.y=-Math.cos(h+Math.PI)*l+(r[0].y+o.y)/2),e==="end_right"&&(u.x=Math.sin(h-Math.PI)*l+(r[0].x+o.x)/2-5,u.y=-Math.cos(h-Math.PI)*l+(r[0].y+o.y)/2-5),e==="end_left"&&(u.x=Math.sin(h)*l+(r[0].x+o.x)/2-5,u.y=-Math.cos(h)*l+(r[0].y+o.y)/2-5),u}function rn(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let W0=0;const ep=()=>(W0++,"id-"+Math.random().toString(36).substr(2,12)+"-"+W0);function iE(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;n<t;n++)e+=i.charAt(Math.floor(Math.random()*r));return e}const ip=t=>iE(t.length),rE=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},nE=function(t,e){const i=e.text.replace($t.lineBreakRegex," "),[,r]=La(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const s=n.append("tspan");return s.attr("x",e.x+e.textMargin*2),s.attr("fill",e.fill),s.text(i),n},rp=nu((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},i),$t.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let s="";return r.forEach((a,o)=>{const l=lr(`${a} `,i),h=lr(s,i);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=sE(a,e,"-",i);n.push(s,...f),s=p}else h+l>=e?(n.push(s),s=a):s=[s,a].filter(Boolean).join(" ");o+1===r.length&&n.push(s)}),n.filter(a=>a!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),sE=nu((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],s=[];let a="";return n.forEach((o,l)=>{const h=`${a}${o}`;if(lr(h,r)>=e){const d=l+1,f=n.length===d,p=`${h}${i}`;s.push(f?h:p),a=""}else a=h}),{hyphenatedStrings:s,remainingWord:a}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function vh(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),Ru(t,e).height}function lr(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),Ru(t,e).width}const Ru=nu((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:i,fontFamily:r,fontWeight:n}=e;if(!t)return{width:0,height:0};const[,s]=La(i),a=["sans-serif",r],o=t.split($t.lineBreakRegex),l=[],h=_t("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const f of a){let p=0;const m={width:0,height:0,lineHeight:0};for(const _ of o){const v=rE();v.text=_;const w=nE(u,v).style("font-size",s).style("font-weight",n).style("font-family",f),x=(w._groups||w)[0][0].getBBox();m.width=Math.round(Math.max(m.width,x.width)),p=Math.round(x.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}u.remove();const d=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),aE=class{constructor(e,i){this.deterministic=e,this.seed=i,this.count=i?i.length:0}next(){return this.deterministic?this.count++:Date.now()}};let $a;const oE=function(t){return $a=$a||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),$a.innerHTML=t,unescape($a.textContent)},En=t=>{if(D.debug("directiveSanitizer called with",t),typeof t=="object"&&(t.length?t.forEach(e=>En(e)):Object.keys(t).forEach(e=>{D.debug("Checking key",e),e.startsWith("__")&&(D.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(D.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(D.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(D.debug("sanitizing themeCss option"),t[e]=ho(t[e])),e.includes("fontFamily")&&(D.debug("sanitizing fontFamily option"),t[e]=ho(t[e])),e.includes("altFontFamily")&&(D.debug("sanitizing altFontFamily option"),t[e]=ho(t[e])),Q7.includes(e)?typeof t[e]=="object"&&(D.debug("sanitize deleting object",e),En(t[e])):(D.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables){const e=Object.keys(t.themeVariables);for(const i of e){const r=t.themeVariables[i];r&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[i]="")}}D.debug("After sanitization",t)},ho=t=>{let e=0,i=0;for(const r of t){if(e<i)return"{ /* ERROR: Unbalanced CSS */ }";r==="{"?e++:r==="}"&&i++}return e!==i?"{ /* ERROR: Unbalanced CSS */ }":t};function Fu(t){return"str"in t}function lE(t){return t instanceof Error?t.message:String(t)}const cE=(t,e,i,r)=>{if(!r)return;const n=t.node().getBBox();t.append("text").text(r).attr("x",n.x+n.width/2).attr("y",-i).attr("class",e)},La=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},jt={assignWithDepth:Ge,wrapLabel:rp,calculateTextHeight:vh,calculateTextWidth:lr,calculateTextDimensions:Ru,detectInit:jT,detectDirective:tp,isSubstringInArray:$T,interpolateToCurve:Hi,calcLabelPosition:JT,calcCardinalityPosition:tE,calcTerminalLabelPosition:eE,formatUrl:KT,getStylesFromArray:rn,generateId:ep,random:ip,runFunc:QT,entityDecode:oE,initIdGenerator:aE,directiveSanitizer:En,sanitizeCss:ho,insertTitle:cE,parseFontSize:La},$o="9.4.3",cs=Object.freeze(Z7);let fi=Ge({},cs),np,hs=[],Gs=Ge({},cs);const zl=(t,e)=>{let i=Ge({},t),r={};for(const n of e)op(n),r=Ge(r,n);if(i=Ge(i,r),r.theme&&r.theme in Rr){const n=Ge({},np),s=Ge(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Rr&&(i.themeVariables=Rr[i.theme].getThemeVariables(s))}return Gs=i,cp(Gs),Gs},hE=t=>(fi=Ge({},cs),fi=Ge(fi,t),t.theme&&Rr[t.theme]&&(fi.themeVariables=Rr[t.theme].getThemeVariables(t.themeVariables)),zl(fi,hs),fi),uE=t=>{np=Ge({},t)},dE=t=>(fi=Ge(fi,t),zl(fi,hs),fi),sp=()=>Ge({},fi),ap=t=>(cp(t),Ge(Gs,t),G()),G=()=>Ge({},Gs),op=t=>{["secure",...fi.secure??[]].forEach(e=>{t[e]!==void 0&&(D.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.indexOf("__")===0&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&op(t[e])})},Ou=t=>{t.fontFamily&&(t.themeVariables?t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}):t.themeVariables={fontFamily:t.fontFamily}),hs.push(t),zl(fi,hs)},ua=(t=fi)=>{hs=[],zl(t,hs)};var lp=(t=>(t.LAZY_LOAD_DEPRECATED="The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",t))(lp||{});const H0={},fE=t=>{H0[t]||(D.warn(lp[t]),H0[t]=!0)},cp=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&fE("LAZY_LOAD_DEPRECATED")},pE=function(t,e){for(let i of e)t.attr(i[0],i[1])},gE=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Ki=function(t,e,i,r){const n=gE(e,i,r);pE(t,n)},Ul=function(t,e,i,r){const n=e.node().getBBox(),s=n.width,a=n.height;D.info(`SVG bounds: ${s}x${a}`,n);let o=0,l=0;D.info(`Graph bounds: ${o}x${l}`,t),o=s+i*2,l=a+i*2,D.info(`Calculated bounds: ${o}x${l}`),Ki(e,l,o,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},yE=t=>`g.classGroup text {
30
+ fill: ${t.nodeBorder};
31
+ fill: ${t.classText};
32
+ stroke: none;
33
+ font-family: ${t.fontFamily};
34
+ font-size: 10px;
35
+
36
+ .title {
37
+ font-weight: bolder;
38
+ }
39
+
40
+ }
41
+
42
+ .nodeLabel, .edgeLabel {
43
+ color: ${t.classText};
44
+ }
45
+ .edgeLabel .label rect {
46
+ fill: ${t.mainBkg};
47
+ }
48
+ .label text {
49
+ fill: ${t.classText};
50
+ }
51
+ .edgeLabel .label span {
52
+ background: ${t.mainBkg};
53
+ }
54
+
55
+ .classTitle {
56
+ font-weight: bolder;
57
+ }
58
+ .node rect,
59
+ .node circle,
60
+ .node ellipse,
61
+ .node polygon,
62
+ .node path {
63
+ fill: ${t.mainBkg};
64
+ stroke: ${t.nodeBorder};
65
+ stroke-width: 1px;
66
+ }
67
+
68
+
69
+ .divider {
70
+ stroke: ${t.nodeBorder};
71
+ stroke: 1;
72
+ }
73
+
74
+ g.clickable {
75
+ cursor: pointer;
76
+ }
77
+
78
+ g.classGroup rect {
79
+ fill: ${t.mainBkg};
80
+ stroke: ${t.nodeBorder};
81
+ }
82
+
83
+ g.classGroup line {
84
+ stroke: ${t.nodeBorder};
85
+ stroke-width: 1;
86
+ }
87
+
88
+ .classLabel .box {
89
+ stroke: none;
90
+ stroke-width: 0;
91
+ fill: ${t.mainBkg};
92
+ opacity: 0.5;
93
+ }
94
+
95
+ .classLabel .label {
96
+ fill: ${t.nodeBorder};
97
+ font-size: 10px;
98
+ }
99
+
100
+ .relation {
101
+ stroke: ${t.lineColor};
102
+ stroke-width: 1;
103
+ fill: none;
104
+ }
105
+
106
+ .dashed-line{
107
+ stroke-dasharray: 3;
108
+ }
109
+
110
+ .dotted-line{
111
+ stroke-dasharray: 1 2;
112
+ }
113
+
114
+ #compositionStart, .composition {
115
+ fill: ${t.lineColor} !important;
116
+ stroke: ${t.lineColor} !important;
117
+ stroke-width: 1;
118
+ }
119
+
120
+ #compositionEnd, .composition {
121
+ fill: ${t.lineColor} !important;
122
+ stroke: ${t.lineColor} !important;
123
+ stroke-width: 1;
124
+ }
125
+
126
+ #dependencyStart, .dependency {
127
+ fill: ${t.lineColor} !important;
128
+ stroke: ${t.lineColor} !important;
129
+ stroke-width: 1;
130
+ }
131
+
132
+ #dependencyStart, .dependency {
133
+ fill: ${t.lineColor} !important;
134
+ stroke: ${t.lineColor} !important;
135
+ stroke-width: 1;
136
+ }
137
+
138
+ #extensionStart, .extension {
139
+ fill: ${t.mainBkg} !important;
140
+ stroke: ${t.lineColor} !important;
141
+ stroke-width: 1;
142
+ }
143
+
144
+ #extensionEnd, .extension {
145
+ fill: ${t.mainBkg} !important;
146
+ stroke: ${t.lineColor} !important;
147
+ stroke-width: 1;
148
+ }
149
+
150
+ #aggregationStart, .aggregation {
151
+ fill: ${t.mainBkg} !important;
152
+ stroke: ${t.lineColor} !important;
153
+ stroke-width: 1;
154
+ }
155
+
156
+ #aggregationEnd, .aggregation {
157
+ fill: ${t.mainBkg} !important;
158
+ stroke: ${t.lineColor} !important;
159
+ stroke-width: 1;
160
+ }
161
+
162
+ #lollipopStart, .lollipop {
163
+ fill: ${t.mainBkg} !important;
164
+ stroke: ${t.lineColor} !important;
165
+ stroke-width: 1;
166
+ }
167
+
168
+ #lollipopEnd, .lollipop {
169
+ fill: ${t.mainBkg} !important;
170
+ stroke: ${t.lineColor} !important;
171
+ stroke-width: 1;
172
+ }
173
+
174
+ .edgeTerminals {
175
+ font-size: 11px;
176
+ }
177
+
178
+ .classTitleText {
179
+ text-anchor: middle;
180
+ font-size: 18px;
181
+ fill: ${t.textColor};
182
+ }
183
+ `,Xs=yE,mE=t=>`
184
+ .entityBox {
185
+ fill: ${t.mainBkg};
186
+ stroke: ${t.nodeBorder};
187
+ }
188
+
189
+ .attributeBoxOdd {
190
+ fill: ${t.attributeBackgroundColorOdd};
191
+ stroke: ${t.nodeBorder};
192
+ }
193
+
194
+ .attributeBoxEven {
195
+ fill: ${t.attributeBackgroundColorEven};
196
+ stroke: ${t.nodeBorder};
197
+ }
198
+
199
+ .relationshipLabelBox {
200
+ fill: ${t.tertiaryColor};
201
+ opacity: 0.7;
202
+ background-color: ${t.tertiaryColor};
203
+ rect {
204
+ opacity: 0.5;
205
+ }
206
+ }
207
+
208
+ .relationshipLine {
209
+ stroke: ${t.lineColor};
210
+ }
211
+
212
+ .entityTitleText {
213
+ text-anchor: middle;
214
+ font-size: 18px;
215
+ fill: ${t.textColor};
216
+ }
217
+ `,hp=mE,bE=()=>"",kh=bE,_E=t=>`.label {
218
+ font-family: ${t.fontFamily};
219
+ color: ${t.nodeTextColor||t.textColor};
220
+ }
221
+ .cluster-label text {
222
+ fill: ${t.titleColor};
223
+ }
224
+ .cluster-label span {
225
+ color: ${t.titleColor};
226
+ }
227
+
228
+ .label text,span {
229
+ fill: ${t.nodeTextColor||t.textColor};
230
+ color: ${t.nodeTextColor||t.textColor};
231
+ }
232
+
233
+ .node rect,
234
+ .node circle,
235
+ .node ellipse,
236
+ .node polygon,
237
+ .node path {
238
+ fill: ${t.mainBkg};
239
+ stroke: ${t.nodeBorder};
240
+ stroke-width: 1px;
241
+ }
242
+
243
+ .node .label {
244
+ text-align: center;
245
+ }
246
+ .node.clickable {
247
+ cursor: pointer;
248
+ }
249
+
250
+ .arrowheadPath {
251
+ fill: ${t.arrowheadColor};
252
+ }
253
+
254
+ .edgePath .path {
255
+ stroke: ${t.lineColor};
256
+ stroke-width: 2.0px;
257
+ }
258
+
259
+ .flowchart-link {
260
+ stroke: ${t.lineColor};
261
+ fill: none;
262
+ }
263
+
264
+ .edgeLabel {
265
+ background-color: ${t.edgeLabelBackground};
266
+ rect {
267
+ opacity: 0.5;
268
+ background-color: ${t.edgeLabelBackground};
269
+ fill: ${t.edgeLabelBackground};
270
+ }
271
+ text-align: center;
272
+ }
273
+
274
+ .cluster rect {
275
+ fill: ${t.clusterBkg};
276
+ stroke: ${t.clusterBorder};
277
+ stroke-width: 1px;
278
+ }
279
+
280
+ .cluster text {
281
+ fill: ${t.titleColor};
282
+ }
283
+
284
+ .cluster span {
285
+ color: ${t.titleColor};
286
+ }
287
+ /* .cluster div {
288
+ color: ${t.titleColor};
289
+ } */
290
+
291
+ div.mermaidTooltip {
292
+ position: absolute;
293
+ text-align: center;
294
+ max-width: 200px;
295
+ padding: 2px;
296
+ font-family: ${t.fontFamily};
297
+ font-size: 12px;
298
+ background: ${t.tertiaryColor};
299
+ border: 1px solid ${t.border2};
300
+ border-radius: 2px;
301
+ pointer-events: none;
302
+ z-index: 100;
303
+ }
304
+
305
+ .flowchartTitleText {
306
+ text-anchor: middle;
307
+ font-size: 18px;
308
+ fill: ${t.textColor};
309
+ }
310
+ `,Ko=_E,xE=t=>`
311
+ .mermaid-main-font {
312
+ font-family: "trebuchet ms", verdana, arial, sans-serif;
313
+ font-family: var(--mermaid-font-family);
314
+ }
315
+ .exclude-range {
316
+ fill: ${t.excludeBkgColor};
317
+ }
318
+
319
+ .section {
320
+ stroke: none;
321
+ opacity: 0.2;
322
+ }
323
+
324
+ .section0 {
325
+ fill: ${t.sectionBkgColor};
326
+ }
327
+
328
+ .section2 {
329
+ fill: ${t.sectionBkgColor2};
330
+ }
331
+
332
+ .section1,
333
+ .section3 {
334
+ fill: ${t.altSectionBkgColor};
335
+ opacity: 0.2;
336
+ }
337
+
338
+ .sectionTitle0 {
339
+ fill: ${t.titleColor};
340
+ }
341
+
342
+ .sectionTitle1 {
343
+ fill: ${t.titleColor};
344
+ }
345
+
346
+ .sectionTitle2 {
347
+ fill: ${t.titleColor};
348
+ }
349
+
350
+ .sectionTitle3 {
351
+ fill: ${t.titleColor};
352
+ }
353
+
354
+ .sectionTitle {
355
+ text-anchor: start;
356
+ // font-size: ${t.ganttFontSize};
357
+ // text-height: 14px;
358
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
359
+ font-family: var(--mermaid-font-family);
360
+
361
+ }
362
+
363
+
364
+ /* Grid and axis */
365
+
366
+ .grid .tick {
367
+ stroke: ${t.gridColor};
368
+ opacity: 0.8;
369
+ shape-rendering: crispEdges;
370
+ text {
371
+ font-family: ${t.fontFamily};
372
+ fill: ${t.textColor};
373
+ }
374
+ }
375
+
376
+ .grid path {
377
+ stroke-width: 0;
378
+ }
379
+
380
+
381
+ /* Today line */
382
+
383
+ .today {
384
+ fill: none;
385
+ stroke: ${t.todayLineColor};
386
+ stroke-width: 2px;
387
+ }
388
+
389
+
390
+ /* Task styling */
391
+
392
+ /* Default task */
393
+
394
+ .task {
395
+ stroke-width: 2;
396
+ }
397
+
398
+ .taskText {
399
+ text-anchor: middle;
400
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
401
+ font-family: var(--mermaid-font-family);
402
+ }
403
+
404
+ // .taskText:not([font-size]) {
405
+ // font-size: ${t.ganttFontSize};
406
+ // }
407
+
408
+ .taskTextOutsideRight {
409
+ fill: ${t.taskTextDarkColor};
410
+ text-anchor: start;
411
+ // font-size: ${t.ganttFontSize};
412
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
413
+ font-family: var(--mermaid-font-family);
414
+
415
+ }
416
+
417
+ .taskTextOutsideLeft {
418
+ fill: ${t.taskTextDarkColor};
419
+ text-anchor: end;
420
+ // font-size: ${t.ganttFontSize};
421
+ }
422
+
423
+ /* Special case clickable */
424
+ .task.clickable {
425
+ cursor: pointer;
426
+ }
427
+ .taskText.clickable {
428
+ cursor: pointer;
429
+ fill: ${t.taskTextClickableColor} !important;
430
+ font-weight: bold;
431
+ }
432
+
433
+ .taskTextOutsideLeft.clickable {
434
+ cursor: pointer;
435
+ fill: ${t.taskTextClickableColor} !important;
436
+ font-weight: bold;
437
+ }
438
+
439
+ .taskTextOutsideRight.clickable {
440
+ cursor: pointer;
441
+ fill: ${t.taskTextClickableColor} !important;
442
+ font-weight: bold;
443
+ }
444
+
445
+ /* Specific task settings for the sections*/
446
+
447
+ .taskText0,
448
+ .taskText1,
449
+ .taskText2,
450
+ .taskText3 {
451
+ fill: ${t.taskTextColor};
452
+ }
453
+
454
+ .task0,
455
+ .task1,
456
+ .task2,
457
+ .task3 {
458
+ fill: ${t.taskBkgColor};
459
+ stroke: ${t.taskBorderColor};
460
+ }
461
+
462
+ .taskTextOutside0,
463
+ .taskTextOutside2
464
+ {
465
+ fill: ${t.taskTextOutsideColor};
466
+ }
467
+
468
+ .taskTextOutside1,
469
+ .taskTextOutside3 {
470
+ fill: ${t.taskTextOutsideColor};
471
+ }
472
+
473
+
474
+ /* Active task */
475
+
476
+ .active0,
477
+ .active1,
478
+ .active2,
479
+ .active3 {
480
+ fill: ${t.activeTaskBkgColor};
481
+ stroke: ${t.activeTaskBorderColor};
482
+ }
483
+
484
+ .activeText0,
485
+ .activeText1,
486
+ .activeText2,
487
+ .activeText3 {
488
+ fill: ${t.taskTextDarkColor} !important;
489
+ }
490
+
491
+
492
+ /* Completed task */
493
+
494
+ .done0,
495
+ .done1,
496
+ .done2,
497
+ .done3 {
498
+ stroke: ${t.doneTaskBorderColor};
499
+ fill: ${t.doneTaskBkgColor};
500
+ stroke-width: 2;
501
+ }
502
+
503
+ .doneText0,
504
+ .doneText1,
505
+ .doneText2,
506
+ .doneText3 {
507
+ fill: ${t.taskTextDarkColor} !important;
508
+ }
509
+
510
+
511
+ /* Tasks on the critical line */
512
+
513
+ .crit0,
514
+ .crit1,
515
+ .crit2,
516
+ .crit3 {
517
+ stroke: ${t.critBorderColor};
518
+ fill: ${t.critBkgColor};
519
+ stroke-width: 2;
520
+ }
521
+
522
+ .activeCrit0,
523
+ .activeCrit1,
524
+ .activeCrit2,
525
+ .activeCrit3 {
526
+ stroke: ${t.critBorderColor};
527
+ fill: ${t.activeTaskBkgColor};
528
+ stroke-width: 2;
529
+ }
530
+
531
+ .doneCrit0,
532
+ .doneCrit1,
533
+ .doneCrit2,
534
+ .doneCrit3 {
535
+ stroke: ${t.critBorderColor};
536
+ fill: ${t.doneTaskBkgColor};
537
+ stroke-width: 2;
538
+ cursor: pointer;
539
+ shape-rendering: crispEdges;
540
+ }
541
+
542
+ .milestone {
543
+ transform: rotate(45deg) scale(0.8,0.8);
544
+ }
545
+
546
+ .milestoneText {
547
+ font-style: italic;
548
+ }
549
+ .doneCritText0,
550
+ .doneCritText1,
551
+ .doneCritText2,
552
+ .doneCritText3 {
553
+ fill: ${t.taskTextDarkColor} !important;
554
+ }
555
+
556
+ .activeCritText0,
557
+ .activeCritText1,
558
+ .activeCritText2,
559
+ .activeCritText3 {
560
+ fill: ${t.taskTextDarkColor} !important;
561
+ }
562
+
563
+ .titleText {
564
+ text-anchor: middle;
565
+ font-size: 18px;
566
+ fill: ${t.textColor} ;
567
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
568
+ font-family: var(--mermaid-font-family);
569
+ }
570
+ `,up=xE,vE=()=>"",dp=vE,kE=t=>`
571
+ .pieCircle{
572
+ stroke: ${t.pieStrokeColor};
573
+ stroke-width : ${t.pieStrokeWidth};
574
+ opacity : ${t.pieOpacity};
575
+ }
576
+ .pieTitleText {
577
+ text-anchor: middle;
578
+ font-size: ${t.pieTitleTextSize};
579
+ fill: ${t.pieTitleTextColor};
580
+ font-family: ${t.fontFamily};
581
+ }
582
+ .slice {
583
+ font-family: ${t.fontFamily};
584
+ fill: ${t.pieSectionTextColor};
585
+ font-size:${t.pieSectionTextSize};
586
+ // fill: white;
587
+ }
588
+ .legend text {
589
+ fill: ${t.pieLegendTextColor};
590
+ font-family: ${t.fontFamily};
591
+ font-size: ${t.pieLegendTextSize};
592
+ }
593
+ `,fp=kE,wE=t=>`
594
+
595
+ marker {
596
+ fill: ${t.relationColor};
597
+ stroke: ${t.relationColor};
598
+ }
599
+
600
+ marker.cross {
601
+ stroke: ${t.lineColor};
602
+ }
603
+
604
+ svg {
605
+ font-family: ${t.fontFamily};
606
+ font-size: ${t.fontSize};
607
+ }
608
+
609
+ .reqBox {
610
+ fill: ${t.requirementBackground};
611
+ fill-opacity: 100%;
612
+ stroke: ${t.requirementBorderColor};
613
+ stroke-width: ${t.requirementBorderSize};
614
+ }
615
+
616
+ .reqTitle, .reqLabel{
617
+ fill: ${t.requirementTextColor};
618
+ }
619
+ .reqLabelBox {
620
+ fill: ${t.relationLabelBackground};
621
+ fill-opacity: 100%;
622
+ }
623
+
624
+ .req-title-line {
625
+ stroke: ${t.requirementBorderColor};
626
+ stroke-width: ${t.requirementBorderSize};
627
+ }
628
+ .relationshipLine {
629
+ stroke: ${t.relationColor};
630
+ stroke-width: 1;
631
+ }
632
+ .relationshipLabel {
633
+ fill: ${t.relationLabelColor};
634
+ }
635
+
636
+ `,pp=wE,TE=t=>`.actor {
637
+ stroke: ${t.actorBorder};
638
+ fill: ${t.actorBkg};
639
+ }
640
+
641
+ text.actor > tspan {
642
+ fill: ${t.actorTextColor};
643
+ stroke: none;
644
+ }
645
+
646
+ .actor-line {
647
+ stroke: ${t.actorLineColor};
648
+ }
649
+
650
+ .messageLine0 {
651
+ stroke-width: 1.5;
652
+ stroke-dasharray: none;
653
+ stroke: ${t.signalColor};
654
+ }
655
+
656
+ .messageLine1 {
657
+ stroke-width: 1.5;
658
+ stroke-dasharray: 2, 2;
659
+ stroke: ${t.signalColor};
660
+ }
661
+
662
+ #arrowhead path {
663
+ fill: ${t.signalColor};
664
+ stroke: ${t.signalColor};
665
+ }
666
+
667
+ .sequenceNumber {
668
+ fill: ${t.sequenceNumberColor};
669
+ }
670
+
671
+ #sequencenumber {
672
+ fill: ${t.signalColor};
673
+ }
674
+
675
+ #crosshead path {
676
+ fill: ${t.signalColor};
677
+ stroke: ${t.signalColor};
678
+ }
679
+
680
+ .messageText {
681
+ fill: ${t.signalTextColor};
682
+ stroke: none;
683
+ }
684
+
685
+ .labelBox {
686
+ stroke: ${t.labelBoxBorderColor};
687
+ fill: ${t.labelBoxBkgColor};
688
+ }
689
+
690
+ .labelText, .labelText > tspan {
691
+ fill: ${t.labelTextColor};
692
+ stroke: none;
693
+ }
694
+
695
+ .loopText, .loopText > tspan {
696
+ fill: ${t.loopTextColor};
697
+ stroke: none;
698
+ }
699
+
700
+ .loopLine {
701
+ stroke-width: 2px;
702
+ stroke-dasharray: 2, 2;
703
+ stroke: ${t.labelBoxBorderColor};
704
+ fill: ${t.labelBoxBorderColor};
705
+ }
706
+
707
+ .note {
708
+ //stroke: #decc93;
709
+ stroke: ${t.noteBorderColor};
710
+ fill: ${t.noteBkgColor};
711
+ }
712
+
713
+ .noteText, .noteText > tspan {
714
+ fill: ${t.noteTextColor};
715
+ stroke: none;
716
+ }
717
+
718
+ .activation0 {
719
+ fill: ${t.activationBkgColor};
720
+ stroke: ${t.activationBorderColor};
721
+ }
722
+
723
+ .activation1 {
724
+ fill: ${t.activationBkgColor};
725
+ stroke: ${t.activationBorderColor};
726
+ }
727
+
728
+ .activation2 {
729
+ fill: ${t.activationBkgColor};
730
+ stroke: ${t.activationBorderColor};
731
+ }
732
+
733
+ .actorPopupMenu {
734
+ position: absolute;
735
+ }
736
+
737
+ .actorPopupMenuPanel {
738
+ position: absolute;
739
+ fill: ${t.actorBkg};
740
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
741
+ filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
742
+ }
743
+ .actor-man line {
744
+ stroke: ${t.actorBorder};
745
+ fill: ${t.actorBkg};
746
+ }
747
+ .actor-man circle, line {
748
+ stroke: ${t.actorBorder};
749
+ fill: ${t.actorBkg};
750
+ stroke-width: 2px;
751
+ }
752
+ `,gp=TE,EE=t=>`
753
+ defs #statediagram-barbEnd {
754
+ fill: ${t.transitionColor};
755
+ stroke: ${t.transitionColor};
756
+ }
757
+ g.stateGroup text {
758
+ fill: ${t.nodeBorder};
759
+ stroke: none;
760
+ font-size: 10px;
761
+ }
762
+ g.stateGroup text {
763
+ fill: ${t.textColor};
764
+ stroke: none;
765
+ font-size: 10px;
766
+
767
+ }
768
+ g.stateGroup .state-title {
769
+ font-weight: bolder;
770
+ fill: ${t.stateLabelColor};
771
+ }
772
+
773
+ g.stateGroup rect {
774
+ fill: ${t.mainBkg};
775
+ stroke: ${t.nodeBorder};
776
+ }
777
+
778
+ g.stateGroup line {
779
+ stroke: ${t.lineColor};
780
+ stroke-width: 1;
781
+ }
782
+
783
+ .transition {
784
+ stroke: ${t.transitionColor};
785
+ stroke-width: 1;
786
+ fill: none;
787
+ }
788
+
789
+ .stateGroup .composit {
790
+ fill: ${t.background};
791
+ border-bottom: 1px
792
+ }
793
+
794
+ .stateGroup .alt-composit {
795
+ fill: #e0e0e0;
796
+ border-bottom: 1px
797
+ }
798
+
799
+ .state-note {
800
+ stroke: ${t.noteBorderColor};
801
+ fill: ${t.noteBkgColor};
802
+
803
+ text {
804
+ fill: ${t.noteTextColor};
805
+ stroke: none;
806
+ font-size: 10px;
807
+ }
808
+ }
809
+
810
+ .stateLabel .box {
811
+ stroke: none;
812
+ stroke-width: 0;
813
+ fill: ${t.mainBkg};
814
+ opacity: 0.5;
815
+ }
816
+
817
+ .edgeLabel .label rect {
818
+ fill: ${t.labelBackgroundColor};
819
+ opacity: 0.5;
820
+ }
821
+ .edgeLabel .label text {
822
+ fill: ${t.transitionLabelColor||t.tertiaryTextColor};
823
+ }
824
+ .label div .edgeLabel {
825
+ color: ${t.transitionLabelColor||t.tertiaryTextColor};
826
+ }
827
+
828
+ .stateLabel text {
829
+ fill: ${t.stateLabelColor};
830
+ font-size: 10px;
831
+ font-weight: bold;
832
+ }
833
+
834
+ .node circle.state-start {
835
+ fill: ${t.specialStateColor};
836
+ stroke: ${t.specialStateColor};
837
+ }
838
+
839
+ .node .fork-join {
840
+ fill: ${t.specialStateColor};
841
+ stroke: ${t.specialStateColor};
842
+ }
843
+
844
+ .node circle.state-end {
845
+ fill: ${t.innerEndBackground};
846
+ stroke: ${t.background};
847
+ stroke-width: 1.5
848
+ }
849
+ .end-state-inner {
850
+ fill: ${t.compositeBackground||t.background};
851
+ // stroke: ${t.background};
852
+ stroke-width: 1.5
853
+ }
854
+
855
+ .node rect {
856
+ fill: ${t.stateBkg||t.mainBkg};
857
+ stroke: ${t.stateBorder||t.nodeBorder};
858
+ stroke-width: 1px;
859
+ }
860
+ .node polygon {
861
+ fill: ${t.mainBkg};
862
+ stroke: ${t.stateBorder||t.nodeBorder};;
863
+ stroke-width: 1px;
864
+ }
865
+ #statediagram-barbEnd {
866
+ fill: ${t.lineColor};
867
+ }
868
+
869
+ .statediagram-cluster rect {
870
+ fill: ${t.compositeTitleBackground};
871
+ stroke: ${t.stateBorder||t.nodeBorder};
872
+ stroke-width: 1px;
873
+ }
874
+
875
+ .cluster-label, .nodeLabel {
876
+ color: ${t.stateLabelColor};
877
+ }
878
+
879
+ .statediagram-cluster rect.outer {
880
+ rx: 5px;
881
+ ry: 5px;
882
+ }
883
+ .statediagram-state .divider {
884
+ stroke: ${t.stateBorder||t.nodeBorder};
885
+ }
886
+
887
+ .statediagram-state .title-state {
888
+ rx: 5px;
889
+ ry: 5px;
890
+ }
891
+ .statediagram-cluster.statediagram-cluster .inner {
892
+ fill: ${t.compositeBackground||t.background};
893
+ }
894
+ .statediagram-cluster.statediagram-cluster-alt .inner {
895
+ fill: ${t.altBackground?t.altBackground:"#efefef"};
896
+ }
897
+
898
+ .statediagram-cluster .inner {
899
+ rx:0;
900
+ ry:0;
901
+ }
902
+
903
+ .statediagram-state rect.basic {
904
+ rx: 5px;
905
+ ry: 5px;
906
+ }
907
+ .statediagram-state rect.divider {
908
+ stroke-dasharray: 10,10;
909
+ fill: ${t.altBackground?t.altBackground:"#efefef"};
910
+ }
911
+
912
+ .note-edge {
913
+ stroke-dasharray: 5;
914
+ }
915
+
916
+ .statediagram-note rect {
917
+ fill: ${t.noteBkgColor};
918
+ stroke: ${t.noteBorderColor};
919
+ stroke-width: 1px;
920
+ rx: 0;
921
+ ry: 0;
922
+ }
923
+ .statediagram-note rect {
924
+ fill: ${t.noteBkgColor};
925
+ stroke: ${t.noteBorderColor};
926
+ stroke-width: 1px;
927
+ rx: 0;
928
+ ry: 0;
929
+ }
930
+
931
+ .statediagram-note text {
932
+ fill: ${t.noteTextColor};
933
+ }
934
+
935
+ .statediagram-note .nodeLabel {
936
+ color: ${t.noteTextColor};
937
+ }
938
+ .statediagram .edgeLabel {
939
+ color: red; // ${t.noteTextColor};
940
+ }
941
+
942
+ #dependencyStart, #dependencyEnd {
943
+ fill: ${t.lineColor};
944
+ stroke: ${t.lineColor};
945
+ stroke-width: 1;
946
+ }
947
+
948
+ .statediagramTitleText {
949
+ text-anchor: middle;
950
+ font-size: 18px;
951
+ fill: ${t.textColor};
952
+ }
953
+ `,Qo=EE,CE=t=>`.label {
954
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
955
+ font-family: var(--mermaid-font-family);
956
+ color: ${t.textColor};
957
+ }
958
+ .mouth {
959
+ stroke: #666;
960
+ }
961
+
962
+ line {
963
+ stroke: ${t.textColor}
964
+ }
965
+
966
+ .legend {
967
+ fill: ${t.textColor};
968
+ }
969
+
970
+ .label text {
971
+ fill: #333;
972
+ }
973
+ .label {
974
+ color: ${t.textColor}
975
+ }
976
+
977
+ .face {
978
+ ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
979
+ stroke: #999;
980
+ }
981
+
982
+ .node rect,
983
+ .node circle,
984
+ .node ellipse,
985
+ .node polygon,
986
+ .node path {
987
+ fill: ${t.mainBkg};
988
+ stroke: ${t.nodeBorder};
989
+ stroke-width: 1px;
990
+ }
991
+
992
+ .node .label {
993
+ text-align: center;
994
+ }
995
+ .node.clickable {
996
+ cursor: pointer;
997
+ }
998
+
999
+ .arrowheadPath {
1000
+ fill: ${t.arrowheadColor};
1001
+ }
1002
+
1003
+ .edgePath .path {
1004
+ stroke: ${t.lineColor};
1005
+ stroke-width: 1.5px;
1006
+ }
1007
+
1008
+ .flowchart-link {
1009
+ stroke: ${t.lineColor};
1010
+ fill: none;
1011
+ }
1012
+
1013
+ .edgeLabel {
1014
+ background-color: ${t.edgeLabelBackground};
1015
+ rect {
1016
+ opacity: 0.5;
1017
+ }
1018
+ text-align: center;
1019
+ }
1020
+
1021
+ .cluster rect {
1022
+ }
1023
+
1024
+ .cluster text {
1025
+ fill: ${t.titleColor};
1026
+ }
1027
+
1028
+ div.mermaidTooltip {
1029
+ position: absolute;
1030
+ text-align: center;
1031
+ max-width: 200px;
1032
+ padding: 2px;
1033
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
1034
+ font-family: var(--mermaid-font-family);
1035
+ font-size: 12px;
1036
+ background: ${t.tertiaryColor};
1037
+ border: 1px solid ${t.border2};
1038
+ border-radius: 2px;
1039
+ pointer-events: none;
1040
+ z-index: 100;
1041
+ }
1042
+
1043
+ .task-type-0, .section-type-0 {
1044
+ ${t.fillType0?`fill: ${t.fillType0}`:""};
1045
+ }
1046
+ .task-type-1, .section-type-1 {
1047
+ ${t.fillType0?`fill: ${t.fillType1}`:""};
1048
+ }
1049
+ .task-type-2, .section-type-2 {
1050
+ ${t.fillType0?`fill: ${t.fillType2}`:""};
1051
+ }
1052
+ .task-type-3, .section-type-3 {
1053
+ ${t.fillType0?`fill: ${t.fillType3}`:""};
1054
+ }
1055
+ .task-type-4, .section-type-4 {
1056
+ ${t.fillType0?`fill: ${t.fillType4}`:""};
1057
+ }
1058
+ .task-type-5, .section-type-5 {
1059
+ ${t.fillType0?`fill: ${t.fillType5}`:""};
1060
+ }
1061
+ .task-type-6, .section-type-6 {
1062
+ ${t.fillType0?`fill: ${t.fillType6}`:""};
1063
+ }
1064
+ .task-type-7, .section-type-7 {
1065
+ ${t.fillType0?`fill: ${t.fillType7}`:""};
1066
+ }
1067
+
1068
+ .actor-0 {
1069
+ ${t.actor0?`fill: ${t.actor0}`:""};
1070
+ }
1071
+ .actor-1 {
1072
+ ${t.actor1?`fill: ${t.actor1}`:""};
1073
+ }
1074
+ .actor-2 {
1075
+ ${t.actor2?`fill: ${t.actor2}`:""};
1076
+ }
1077
+ .actor-3 {
1078
+ ${t.actor3?`fill: ${t.actor3}`:""};
1079
+ }
1080
+ .actor-4 {
1081
+ ${t.actor4?`fill: ${t.actor4}`:""};
1082
+ }
1083
+ .actor-5 {
1084
+ ${t.actor5?`fill: ${t.actor5}`:""};
1085
+ }
1086
+ `,yp=CE,SE=t=>`.person {
1087
+ stroke: ${t.personBorder};
1088
+ fill: ${t.personBkg};
1089
+ }
1090
+ `,mp=SE,uo={flowchart:Ko,"flowchart-v2":Ko,sequence:gp,gantt:up,classDiagram:Xs,"classDiagram-v2":Xs,class:Xs,stateDiagram:Qo,state:Qo,info:dp,pie:fp,er:hp,error:kh,journey:yp,requirement:pp,c4:mp},AE=(t,e,i)=>{let r="";return t in uo&&uo[t]?r=uo[t](i):D.warn(`No theme found for ${t}`),` & {
1091
+ font-family: ${i.fontFamily};
1092
+ font-size: ${i.fontSize};
1093
+ fill: ${i.textColor}
1094
+ }
1095
+
1096
+ /* Classes common for multiple diagrams */
1097
+
1098
+ & .error-icon {
1099
+ fill: ${i.errorBkgColor};
1100
+ }
1101
+ & .error-text {
1102
+ fill: ${i.errorTextColor};
1103
+ stroke: ${i.errorTextColor};
1104
+ }
1105
+
1106
+ & .edge-thickness-normal {
1107
+ stroke-width: 2px;
1108
+ }
1109
+ & .edge-thickness-thick {
1110
+ stroke-width: 3.5px
1111
+ }
1112
+ & .edge-pattern-solid {
1113
+ stroke-dasharray: 0;
1114
+ }
1115
+
1116
+ & .edge-pattern-dashed{
1117
+ stroke-dasharray: 3;
1118
+ }
1119
+ .edge-pattern-dotted {
1120
+ stroke-dasharray: 2;
1121
+ }
1122
+
1123
+ & .marker {
1124
+ fill: ${i.lineColor};
1125
+ stroke: ${i.lineColor};
1126
+ }
1127
+ & .marker.cross {
1128
+ stroke: ${i.lineColor};
1129
+ }
1130
+
1131
+ & svg {
1132
+ font-family: ${i.fontFamily};
1133
+ font-size: ${i.fontSize};
1134
+ }
1135
+
1136
+ ${r}
1137
+
1138
+ ${e}
1139
+ `},LE=(t,e)=>{uo[t]=e},BE=AE;let Pu="",Wl="",Vu="";const Yu=t=>Fi(t,G()),Ti=function(){Pu="",Vu="",Wl=""},_i=function(t){Pu=Yu(t).replace(/^\s+/g,"")},Ei=function(){return Pu||Wl},Ci=function(t){Vu=Yu(t).replace(/\n\s+/g,`
1140
+ `)},Si=function(){return Vu},Qi=function(t){Wl=Yu(t)},Zi=function(){return Wl},DE={setAccTitle:_i,getAccTitle:Ei,setDiagramTitle:Qi,getDiagramTitle:Zi,getAccDescription:Si,setAccDescription:Ci,clear:Ti},NE=Object.freeze(Object.defineProperty({__proto__:null,clear:Ti,default:DE,getAccDescription:Si,getAccTitle:Ei,getDiagramTitle:Zi,setAccDescription:Ci,setAccTitle:_i,setDiagramTitle:Qi},Symbol.toStringTag,{value:"Module"}));let un={};const bp=function(t,e,i,r){D.debug("parseDirective is being called",e,i,r);try{if(e!==void 0)switch(e=e.trim(),i){case"open_directive":un={};break;case"type_directive":if(!un)throw new Error("currentDirective is undefined");un.type=e.toLowerCase();break;case"arg_directive":if(!un)throw new Error("currentDirective is undefined");un.args=JSON.parse(e);break;case"close_directive":IE(t,un,r),un=void 0;break}}catch(n){D.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${i}`),D.error(n.message)}},IE=function(t,e,i){switch(D.info(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":{["config"].forEach(r=>{e.args[r]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),e.args[i]=e.args[r],delete e.args[r])}),D.info("sanitize in handleDirective",e.args),En(e.args),D.info("sanitize in handleDirective (done)",e.args),Ou(e.args);break}case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap(e.type==="wrap");break;case"themeCss":D.warn("themeCss encountered");break;default:D.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);break}},ME=D,RE=Bu,Ba=G,FE=t=>Fi(t,Ba()),_p=Ul,OE=()=>NE,PE=(t,e,i,r)=>bp(t,e,i,r),Zo={},Oe=(t,e,i)=>{if(Zo[t])throw new Error(`Diagram ${t} already registered.`);Zo[t]=e,i&&J2(t,i),LE(t,e.styles),e.injectUtils&&e.injectUtils(ME,RE,Ba,FE,_p,OE(),PE)},xp=t=>{if(t in Zo)return Zo[t];throw new Error(`Diagram ${t} not found.`)};var wh=function(){var t=function(O,C,S,E){for(S=S||{},E=O.length;E--;S[O[E]]=C);return S},e=[1,4],i=[1,7],r=[1,5],n=[1,9],s=[1,6],a=[2,6],o=[1,16],l=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],h=[8,14,20,22,24,25,27,29,32,37,40],u=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],f=[6,8,14,50,55],p=[8,14,55],m=[1,53],_=[1,52],v=[8,14,30,33,35,38,55],w=[1,67],x=[1,68],N=[1,69],R=[8,14,33,35,42,55],P={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(C,S,E,b,k,g,B){var y=g.length-1;switch(k){case 3:return g[y];case 4:return g[y-1];case 5:return b.setDirection(g[y-3]),g[y-1];case 7:b.setOptions(g[y-1]),this.$=g[y];break;case 8:g[y-1]+=g[y],this.$=g[y-1];break;case 10:this.$=[];break;case 11:g[y-1].push(g[y]),this.$=g[y-1];break;case 12:this.$=g[y-1];break;case 17:this.$=g[y].trim(),b.setAccTitle(this.$);break;case 18:case 19:this.$=g[y].trim(),b.setAccDescription(this.$);break;case 20:b.addSection(g[y].substr(8)),this.$=g[y].substr(8);break;case 22:b.checkout(g[y]);break;case 23:b.branch(g[y]);break;case 24:b.branch(g[y-2],g[y]);break;case 25:b.cherryPick(g[y],"",void 0);break;case 26:b.cherryPick(g[y-2],"",g[y]);break;case 27:case 29:b.cherryPick(g[y-2],"","");break;case 28:b.cherryPick(g[y],"",g[y-2]);break;case 30:b.merge(g[y],"","","");break;case 31:b.merge(g[y-2],g[y],"","");break;case 32:b.merge(g[y-2],"",g[y],"");break;case 33:b.merge(g[y-2],"","",g[y]);break;case 34:b.merge(g[y-4],g[y],"",g[y-2]);break;case 35:b.merge(g[y-4],"",g[y],g[y-2]);break;case 36:b.merge(g[y-4],"",g[y-2],g[y]);break;case 37:b.merge(g[y-4],g[y-2],g[y],"");break;case 38:b.merge(g[y-4],g[y-2],"",g[y]);break;case 39:b.merge(g[y-4],g[y],g[y-2],"");break;case 40:b.merge(g[y-6],g[y-4],g[y-2],g[y]);break;case 41:b.merge(g[y-6],g[y],g[y-4],g[y-2]);break;case 42:b.merge(g[y-6],g[y-4],g[y],g[y-2]);break;case 43:b.merge(g[y-6],g[y-2],g[y-4],g[y]);break;case 44:b.merge(g[y-6],g[y],g[y-2],g[y-4]);break;case 45:b.merge(g[y-6],g[y-2],g[y],g[y-4]);break;case 46:b.commit(g[y]);break;case 47:b.commit("","",b.commitType.NORMAL,g[y]);break;case 48:b.commit("","",g[y],"");break;case 49:b.commit("","",g[y],g[y-2]);break;case 50:b.commit("","",g[y-2],g[y]);break;case 51:b.commit("",g[y],b.commitType.NORMAL,"");break;case 52:b.commit("",g[y-2],b.commitType.NORMAL,g[y]);break;case 53:b.commit("",g[y],b.commitType.NORMAL,g[y-2]);break;case 54:b.commit("",g[y-2],g[y],"");break;case 55:b.commit("",g[y],g[y-2],"");break;case 56:b.commit("",g[y-4],g[y-2],g[y]);break;case 57:b.commit("",g[y-4],g[y],g[y-2]);break;case 58:b.commit("",g[y-2],g[y-4],g[y]);break;case 59:b.commit("",g[y],g[y-4],g[y-2]);break;case 60:b.commit("",g[y],g[y-2],g[y-4]);break;case 61:b.commit("",g[y-2],g[y],g[y-4]);break;case 62:b.commit(g[y],"",b.commitType.NORMAL,"");break;case 63:b.commit(g[y],"",b.commitType.NORMAL,g[y-2]);break;case 64:b.commit(g[y-2],"",b.commitType.NORMAL,g[y]);break;case 65:b.commit(g[y-2],"",g[y],"");break;case 66:b.commit(g[y],"",g[y-2],"");break;case 67:b.commit(g[y],g[y-2],b.commitType.NORMAL,"");break;case 68:b.commit(g[y-2],g[y],b.commitType.NORMAL,"");break;case 69:b.commit(g[y-4],"",g[y-2],g[y]);break;case 70:b.commit(g[y-4],"",g[y],g[y-2]);break;case 71:b.commit(g[y-2],"",g[y-4],g[y]);break;case 72:b.commit(g[y],"",g[y-4],g[y-2]);break;case 73:b.commit(g[y],"",g[y-2],g[y-4]);break;case 74:b.commit(g[y-2],"",g[y],g[y-4]);break;case 75:b.commit(g[y-4],g[y],g[y-2],"");break;case 76:b.commit(g[y-4],g[y-2],g[y],"");break;case 77:b.commit(g[y-2],g[y],g[y-4],"");break;case 78:b.commit(g[y],g[y-2],g[y-4],"");break;case 79:b.commit(g[y],g[y-4],g[y-2],"");break;case 80:b.commit(g[y-2],g[y-4],g[y],"");break;case 81:b.commit(g[y-4],g[y],b.commitType.NORMAL,g[y-2]);break;case 82:b.commit(g[y-4],g[y-2],b.commitType.NORMAL,g[y]);break;case 83:b.commit(g[y-2],g[y],b.commitType.NORMAL,g[y-4]);break;case 84:b.commit(g[y],g[y-2],b.commitType.NORMAL,g[y-4]);break;case 85:b.commit(g[y],g[y-4],b.commitType.NORMAL,g[y-2]);break;case 86:b.commit(g[y-2],g[y-4],b.commitType.NORMAL,g[y]);break;case 87:b.commit(g[y-6],g[y-4],g[y-2],g[y]);break;case 88:b.commit(g[y-6],g[y-4],g[y],g[y-2]);break;case 89:b.commit(g[y-6],g[y-2],g[y-4],g[y]);break;case 90:b.commit(g[y-6],g[y],g[y-4],g[y-2]);break;case 91:b.commit(g[y-6],g[y-2],g[y],g[y-4]);break;case 92:b.commit(g[y-6],g[y],g[y-2],g[y-4]);break;case 93:b.commit(g[y-4],g[y-6],g[y-2],g[y]);break;case 94:b.commit(g[y-4],g[y-6],g[y],g[y-2]);break;case 95:b.commit(g[y-2],g[y-6],g[y-4],g[y]);break;case 96:b.commit(g[y],g[y-6],g[y-4],g[y-2]);break;case 97:b.commit(g[y-2],g[y-6],g[y],g[y-4]);break;case 98:b.commit(g[y],g[y-6],g[y-2],g[y-4]);break;case 99:b.commit(g[y],g[y-4],g[y-2],g[y-6]);break;case 100:b.commit(g[y-2],g[y-4],g[y],g[y-6]);break;case 101:b.commit(g[y],g[y-2],g[y-4],g[y-6]);break;case 102:b.commit(g[y-2],g[y],g[y-4],g[y-6]);break;case 103:b.commit(g[y-4],g[y-2],g[y],g[y-6]);break;case 104:b.commit(g[y-4],g[y],g[y-2],g[y-6]);break;case 105:b.commit(g[y-2],g[y-4],g[y-6],g[y]);break;case 106:b.commit(g[y],g[y-4],g[y-6],g[y-2]);break;case 107:b.commit(g[y-2],g[y],g[y-6],g[y-4]);break;case 108:b.commit(g[y],g[y-2],g[y-6],g[y-4]);break;case 109:b.commit(g[y-4],g[y-2],g[y-6],g[y]);break;case 110:b.commit(g[y-4],g[y],g[y-6],g[y-2]);break;case 111:this.$="";break;case 112:this.$=g[y];break;case 113:this.$=b.commitType.NORMAL;break;case 114:this.$=b.commitType.REVERSE;break;case 115:this.$=b.commitType.HIGHLIGHT;break;case 118:b.parseDirective("%%{","open_directive");break;case 119:b.parseDirective(g[y],"type_directive");break;case 120:g[y]=g[y].trim().replace(/'/g,'"'),b.parseDirective(g[y],"arg_directive");break;case 121:b.parseDirective("}%%","close_directive","gitGraph");break}},table:[{3:1,4:2,5:3,6:e,8:i,14:r,46:8,50:n,55:s},{1:[3]},{3:10,4:2,5:3,6:e,8:i,14:r,46:8,50:n,55:s},{3:11,4:2,5:3,6:e,8:i,14:r,46:8,50:n,55:s},{7:12,8:a,9:[1,13],10:[1,14],11:15,14:o},t(l,[2,124]),t(l,[2,125]),t(l,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:a,11:15,14:o},{9:[1,21]},t(h,[2,10],{12:22,13:[1,23]}),t(u,[2,9]),{9:[1,25],48:24,53:d},t([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:a,11:15,14:o},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},t(u,[2,8]),t(f,[2,116]),{49:45,52:[1,46]},t(f,[2,121]),{1:[2,4]},{8:[1,47]},t(h,[2,11]),{4:48,8:i,14:r,55:s},t(h,[2,13]),t(p,[2,14]),t(p,[2,15]),t(p,[2,16]),{21:[1,49]},{23:[1,50]},t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),{28:51,34:m,54:_},t(p,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:m,54:_},{33:[1,61],35:[1,62]},{28:63,34:m,54:_},{48:64,53:d},{53:[2,120]},{1:[2,5]},t(h,[2,12]),t(p,[2,17]),t(p,[2,18]),t(p,[2,22]),t(v,[2,122]),t(v,[2,123]),t(p,[2,46]),{34:[1,65]},{39:66,43:w,44:x,45:N},{34:[1,70]},{34:[1,71]},t(p,[2,112]),t(p,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},t(p,[2,23],{30:[1,78]}),t(f,[2,117]),t(p,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),t(p,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),t(R,[2,113]),t(R,[2,114]),t(R,[2,115]),t(p,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),t(p,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:w,44:x,45:N},{34:[1,93]},t(p,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:w,44:x,45:N},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:w,44:x,45:N},{34:[1,106]},{34:[1,107]},{39:108,43:w,44:x,45:N},{34:[1,109]},t(p,[2,31],{35:[1,111],38:[1,110]}),t(p,[2,32],{33:[1,113],35:[1,112]}),t(p,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},t(p,[2,24]),t(p,[2,49],{33:[1,120],42:[1,121]}),t(p,[2,53],{38:[1,122],42:[1,123]}),t(p,[2,63],{33:[1,125],38:[1,124]}),t(p,[2,50],{33:[1,126],42:[1,127]}),t(p,[2,55],{35:[1,128],42:[1,129]}),t(p,[2,66],{33:[1,131],35:[1,130]}),t(p,[2,52],{38:[1,132],42:[1,133]}),t(p,[2,54],{35:[1,134],42:[1,135]}),t(p,[2,67],{35:[1,137],38:[1,136]}),t(p,[2,64],{33:[1,139],38:[1,138]}),t(p,[2,65],{33:[1,141],35:[1,140]}),t(p,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:w,44:x,45:N},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:w,44:x,45:N},t(p,[2,26]),t(p,[2,27]),t(p,[2,28]),t(p,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:w,44:x,45:N},{34:[1,153]},{39:154,43:w,44:x,45:N},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:w,44:x,45:N},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:w,44:x,45:N},{34:[1,167]},{39:168,43:w,44:x,45:N},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:w,44:x,45:N},{34:[1,173]},t(p,[2,37],{35:[1,174]}),t(p,[2,38],{38:[1,175]}),t(p,[2,36],{33:[1,176]}),t(p,[2,39],{35:[1,177]}),t(p,[2,34],{38:[1,178]}),t(p,[2,35],{33:[1,179]}),t(p,[2,60],{42:[1,180]}),t(p,[2,73],{33:[1,181]}),t(p,[2,61],{42:[1,182]}),t(p,[2,84],{38:[1,183]}),t(p,[2,74],{33:[1,184]}),t(p,[2,83],{38:[1,185]}),t(p,[2,59],{42:[1,186]}),t(p,[2,72],{33:[1,187]}),t(p,[2,58],{42:[1,188]}),t(p,[2,78],{35:[1,189]}),t(p,[2,71],{33:[1,190]}),t(p,[2,77],{35:[1,191]}),t(p,[2,57],{42:[1,192]}),t(p,[2,85],{38:[1,193]}),t(p,[2,56],{42:[1,194]}),t(p,[2,79],{35:[1,195]}),t(p,[2,80],{35:[1,196]}),t(p,[2,86],{38:[1,197]}),t(p,[2,70],{33:[1,198]}),t(p,[2,81],{38:[1,199]}),t(p,[2,69],{33:[1,200]}),t(p,[2,75],{35:[1,201]}),t(p,[2,76],{35:[1,202]}),t(p,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:w,44:x,45:N},{34:[1,206]},{34:[1,207]},{39:208,43:w,44:x,45:N},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:w,44:x,45:N},{34:[1,214]},{39:215,43:w,44:x,45:N},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:w,44:x,45:N},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:w,44:x,45:N},{34:[1,228]},{39:229,43:w,44:x,45:N},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:w,44:x,45:N},t(p,[2,40]),t(p,[2,42]),t(p,[2,41]),t(p,[2,43]),t(p,[2,45]),t(p,[2,44]),t(p,[2,101]),t(p,[2,102]),t(p,[2,99]),t(p,[2,100]),t(p,[2,104]),t(p,[2,103]),t(p,[2,108]),t(p,[2,107]),t(p,[2,106]),t(p,[2,105]),t(p,[2,110]),t(p,[2,109]),t(p,[2,98]),t(p,[2,97]),t(p,[2,96]),t(p,[2,95]),t(p,[2,93]),t(p,[2,94]),t(p,[2,92]),t(p,[2,91]),t(p,[2,90]),t(p,[2,89]),t(p,[2,87]),t(p,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=S,E}},parse:function(C){var S=this,E=[0],b=[],k=[null],g=[],B=this.table,y="",M=0,nt=0,Y=2,Q=1,J=g.slice.call(arguments,1),$=Object.create(this.lexer),tt={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(tt.yy[ot]=this.yy[ot]);$.setInput(C,tt.yy),tt.yy.lexer=$,tt.yy.parser=this,typeof $.yylloc>"u"&&($.yylloc={});var at=$.yylloc;g.push(at);var U=$.options&&$.options.ranges;typeof tt.yy.parseError=="function"?this.parseError=tt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Tt(){var Dt;return Dt=b.pop()||$.lex()||Q,typeof Dt!="number"&&(Dt instanceof Array&&(b=Dt,Dt=b.pop()),Dt=S.symbols_[Dt]||Dt),Dt}for(var X,j,W,z,A={},I,q,L,st;;){if(j=E[E.length-1],this.defaultActions[j]?W=this.defaultActions[j]:((X===null||typeof X>"u")&&(X=Tt()),W=B[j]&&B[j][X]),typeof W>"u"||!W.length||!W[0]){var T="";st=[];for(I in B[j])this.terminals_[I]&&I>Y&&st.push("'"+this.terminals_[I]+"'");$.showPosition?T="Parse error on line "+(M+1)+`:
1141
+ `+$.showPosition()+`
1142
+ Expecting `+st.join(", ")+", got '"+(this.terminals_[X]||X)+"'":T="Parse error on line "+(M+1)+": Unexpected "+(X==Q?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(T,{text:$.match,token:this.terminals_[X]||X,line:$.yylineno,loc:at,expected:st})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+X);switch(W[0]){case 1:E.push(X),k.push($.yytext),g.push($.yylloc),E.push(W[1]),X=null,nt=$.yyleng,y=$.yytext,M=$.yylineno,at=$.yylloc;break;case 2:if(q=this.productions_[W[1]][1],A.$=k[k.length-q],A._$={first_line:g[g.length-(q||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(q||1)].first_column,last_column:g[g.length-1].last_column},U&&(A._$.range=[g[g.length-(q||1)].range[0],g[g.length-1].range[1]]),z=this.performAction.apply(A,[y,nt,M,tt.yy,W[1],k,g].concat(J)),typeof z<"u")return z;q&&(E=E.slice(0,-1*q*2),k=k.slice(0,-1*q),g=g.slice(0,-1*q)),E.push(this.productions_[W[1]][0]),k.push(A.$),g.push(A._$),L=B[E[E.length-2]][E[E.length-1]],E.push(L);break;case 3:return!0}}return!0}},V=function(){var O={EOF:1,parseError:function(S,E){if(this.yy.parser)this.yy.parser.parseError(S,E);else throw new Error(S)},setInput:function(C,S){return this.yy=S||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===b.length?this.yylloc.first_column:0)+b[b.length-E.length].length-E[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1143
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+`
1144
+ `+S+"^"},test_match:function(C,S){var E,b,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),b=C[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var g in k)this[g]=k[g];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,S,E,b;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),g=0;g<k.length;g++)if(E=this._input.match(this.rules[k[g]]),E&&(!S||E[0].length>S[0].length)){if(S=E,b=g,this.options.backtrack_lexer){if(C=this.test_match(E,k[g]),C!==!1)return C;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(C=this.test_match(S,k[b]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1145
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(S,E,b,k){switch(b){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:return 14;case 13:break;case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:return 10;case 30:return 10;case 31:return 9;case 32:return"CARET";case 33:this.begin("options");break;case 34:this.popState();break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 38:this.popState();break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};return O}();P.lexer=V;function F(){this.yy={}}return F.prototype=P,P.Parser=F,new F}();wh.parser=wh;const VE=wh,YE=t=>t.match(/^\s*gitGraph/)!==null;let Jo=G().gitGraph.mainBranchName,zE=G().gitGraph.mainBranchOrder,Ye={},li=null,da={};da[Jo]={name:Jo,order:zE};let Ne={};Ne[Jo]=li;let qe=Jo,vp="LR",Cn=0;function zu(){return ip({length:7})}const UE=function(t,e,i){be.parseDirective(this,t,e,i)};function WE(t,e){const i=Object.create(null);return t.reduce((r,n)=>{const s=e(n);return i[s]||(i[s]=!0,r.push(n)),r},[])}const HE=function(t){vp=t};let kp={};const qE=function(t){D.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{kp=JSON.parse(t)}catch(e){D.error("error while parsing gitGraph options",e.message)}},GE=function(){return kp},XE=function(t,e,i,r){D.debug("Entering commit:",t,e,i,r),e=$t.sanitizeText(e,G()),t=$t.sanitizeText(t,G()),r=$t.sanitizeText(r,G());const n={id:e||Cn+"-"+zu(),message:t,seq:Cn++,type:i||fa.NORMAL,tag:r||"",parents:li==null?[]:[li.id],branch:qe};li=n,Ye[n.id]=n,Ne[qe]=n.id,D.debug("in pushCommit "+n.id)},jE=function(t,e){if(t=$t.sanitizeText(t,G()),Ne[t]===void 0)Ne[t]=li!=null?li.id:null,da[t]={name:t,order:e?parseInt(e,10):null},wp(t),D.debug("in createBranch");else{let i=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+t+'")');throw i.hash={text:"branch "+t,token:"branch "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+t+'"']},i}},$E=function(t,e,i,r){t=$t.sanitizeText(t,G()),e=$t.sanitizeText(e,G());const n=Ye[Ne[qe]],s=Ye[Ne[t]];if(qe===t){let o=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw o.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},o}else if(n===void 0||!n){let o=new Error('Incorrect usage of "merge". Current branch ('+qe+")has no commits");throw o.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},o}else if(Ne[t]===void 0){let o=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw o.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+t]},o}else if(s===void 0||!s){let o=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw o.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},o}else if(n===s){let o=new Error('Incorrect usage of "merge". Both branches have same head');throw o.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},o}else if(e&&Ye[e]!==void 0){let o=new Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw o.hash={text:"merge "+t+e+i+r,token:"merge "+t+e+i+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+i+" "+r]},o}const a={id:e||Cn+"-"+zu(),message:"merged branch "+t+" into "+qe,seq:Cn++,parents:[li==null?null:li.id,Ne[t]],branch:qe,type:fa.MERGE,customType:i,customId:!!e,tag:r||""};li=a,Ye[a.id]=a,Ne[qe]=a.id,D.debug(Ne),D.debug("in mergeBranch")},KE=function(t,e,i){if(D.debug("Entering cherryPick:",t,e,i),t=$t.sanitizeText(t,G()),e=$t.sanitizeText(e,G()),i=$t.sanitizeText(i,G()),!t||Ye[t]===void 0){let s=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw s.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},s}let r=Ye[t],n=r.branch;if(r.type===fa.MERGE){let s=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw s.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},s}if(!e||Ye[e]===void 0){if(n===qe){let o=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw o.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},o}const s=Ye[Ne[qe]];if(s===void 0||!s){let o=new Error('Incorrect usage of "cherry-pick". Current branch ('+qe+")has no commits");throw o.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},o}const a={id:Cn+"-"+zu(),message:"cherry-picked "+r+" into "+qe,seq:Cn++,parents:[li==null?null:li.id,r.id],branch:qe,type:fa.CHERRY_PICK,tag:i??"cherry-pick:"+r.id};li=a,Ye[a.id]=a,Ne[qe]=a.id,D.debug(Ne),D.debug("in cherryPick")}},wp=function(t){if(t=$t.sanitizeText(t,G()),Ne[t]===void 0){let e=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+t+'")');throw e.hash={text:"checkout "+t,token:"checkout "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+t+'"']},e}else{qe=t;const e=Ne[qe];li=Ye[e]}};function q0(t,e,i){const r=t.indexOf(e);r===-1?t.push(i):t.splice(r,1,i)}function Tp(t){const e=t.reduce((n,s)=>n.seq>s.seq?n:s,t[0]);let i="";t.forEach(function(n){n===e?i+=" *":i+=" |"});const r=[i,e.id,e.seq];for(let n in Ne)Ne[n]===e.id&&r.push(n);if(D.debug(r.join(" ")),e.parents&&e.parents.length==2){const n=Ye[e.parents[0]];q0(t,e,n),t.push(Ye[e.parents[1]])}else{if(e.parents.length==0)return;{const n=Ye[e.parents];q0(t,e,n)}}t=WE(t,n=>n.id),Tp(t)}const QE=function(){D.debug(Ye);const t=Ep()[0];Tp([t])},ZE=function(){Ye={},li=null;let t=G().gitGraph.mainBranchName,e=G().gitGraph.mainBranchOrder;Ne={},Ne[t]=null,da={},da[t]={name:t,order:e},qe=t,Cn=0,Ti()},JE=function(){return Object.values(da).map((e,i)=>e.order!==null?e:{...e,order:parseFloat(`0.${i}`,10)}).sort((e,i)=>e.order-i.order).map(({name:e})=>({name:e}))},tC=function(){return Ne},eC=function(){return Ye},Ep=function(){const t=Object.keys(Ye).map(function(e){return Ye[e]});return t.forEach(function(e){D.debug(e.id)}),t.sort((e,i)=>e.seq-i.seq),t},iC=function(){return qe},rC=function(){return vp},nC=function(){return li},fa={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},sC={parseDirective:UE,getConfig:()=>G().gitGraph,setDirection:HE,setOptions:qE,getOptions:GE,commit:XE,branch:jE,merge:$E,cherryPick:KE,checkout:wp,prettyPrint:QE,clear:ZE,getBranchesAsObjArray:JE,getBranches:tC,getCommits:eC,getCommitsArray:Ep,getCurrentBranch:iC,getDirection:rC,getHead:nC,setAccTitle:_i,getAccTitle:Ei,getAccDescription:Si,setAccDescription:Ci,setDiagramTitle:Qi,getDiagramTitle:Zi,commitType:fa};let Ys={};const xi={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},fn=8;let pi={},tl={},el=[],il=0;const aC=()=>{pi={},tl={},Ys={},il=0,el=[]},oC=t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");let i=[];typeof t=="string"?i=t.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(t)?i=t:i=[];for(const r of i){const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=r.trim(),e.appendChild(n)}return e},G0=(t,e,i)=>{const r=Ba().gitGraph,n=t.append("g").attr("class","commit-bullets"),s=t.append("g").attr("class","commit-labels");let a=0;Object.keys(e).sort((h,u)=>e[h].seq-e[u].seq).forEach(h=>{const u=e[h],d=pi[u.branch].pos,f=a+10;if(i){let p,m=u.customType!==void 0&&u.customType!==""?u.customType:u.type;switch(m){case xi.NORMAL:p="commit-normal";break;case xi.REVERSE:p="commit-reverse";break;case xi.HIGHLIGHT:p="commit-highlight";break;case xi.MERGE:p="commit-merge";break;case xi.CHERRY_PICK:p="commit-cherry-pick";break;default:p="commit-normal"}if(m===xi.HIGHLIGHT){const _=n.append("rect");_.attr("x",f-10),_.attr("y",d-10),_.attr("height",20),_.attr("width",20),_.attr("class",`commit ${u.id} commit-highlight${pi[u.branch].index%fn} ${p}-outer`),n.append("rect").attr("x",f-6).attr("y",d-6).attr("height",12).attr("width",12).attr("class",`commit ${u.id} commit${pi[u.branch].index%fn} ${p}-inner`)}else if(m===xi.CHERRY_PICK)n.append("circle").attr("cx",f).attr("cy",d).attr("r",10).attr("class",`commit ${u.id} ${p}`),n.append("circle").attr("cx",f-3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${u.id} ${p}`),n.append("circle").attr("cx",f+3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${u.id} ${p}`),n.append("line").attr("x1",f+3).attr("y1",d+1).attr("x2",f).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${u.id} ${p}`),n.append("line").attr("x1",f-3).attr("y1",d+1).attr("x2",f).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${u.id} ${p}`);else{const _=n.append("circle");if(_.attr("cx",f),_.attr("cy",d),_.attr("r",u.type===xi.MERGE?9:10),_.attr("class",`commit ${u.id} commit${pi[u.branch].index%fn}`),m===xi.MERGE){const v=n.append("circle");v.attr("cx",f),v.attr("cy",d),v.attr("r",6),v.attr("class",`commit ${p} ${u.id} commit${pi[u.branch].index%fn}`)}m===xi.REVERSE&&n.append("path").attr("d",`M ${f-5},${d-5}L${f+5},${d+5}M${f-5},${d+5}L${f+5},${d-5}`).attr("class",`commit ${p} ${u.id} commit${pi[u.branch].index%fn}`)}}if(tl[u.id]={x:a+10,y:d},i){if(u.type!==xi.CHERRY_PICK&&(u.customId&&u.type===xi.MERGE||u.type!==xi.MERGE)&&r.showCommitLabel){const _=s.append("g"),v=_.insert("rect").attr("class","commit-label-bkg"),w=_.append("text").attr("x",a).attr("y",d+25).attr("class","commit-label").text(u.id);let x=w.node().getBBox();if(v.attr("x",a+10-x.width/2-2).attr("y",d+13.5).attr("width",x.width+2*2).attr("height",x.height+2*2),w.attr("x",a+10-x.width/2),r.rotateCommitLabel){let N=-7.5-(x.width+10)/25*9.5,R=10+x.width/25*8.5;_.attr("transform","translate("+N+", "+R+") rotate(-45, "+a+", "+d+")")}}if(u.tag){const _=s.insert("polygon"),v=s.append("circle"),w=s.append("text").attr("y",d-16).attr("class","tag-label").text(u.tag);let x=w.node().getBBox();w.attr("x",a+10-x.width/2);const N=x.height/2,R=d-19.2;_.attr("class","tag-label-bkg").attr("points",`
1146
+ ${a-x.width/2-4/2},${R+2}
1147
+ ${a-x.width/2-4/2},${R-2}
1148
+ ${a+10-x.width/2-4},${R-N-2}
1149
+ ${a+10+x.width/2+4},${R-N-2}
1150
+ ${a+10+x.width/2+4},${R+N+2}
1151
+ ${a+10-x.width/2-4},${R+N+2}`),v.attr("cx",a-x.width/2+4/2).attr("cy",R).attr("r",1.5).attr("class","tag-hole")}}a+=50,a>il&&(il=a)})},lC=(t,e,i)=>Object.keys(i).filter(s=>i[s].branch===e.branch&&i[s].seq>t.seq&&i[s].seq<e.seq).length>0,Th=(t,e,i=0)=>{const r=t+Math.abs(t-e)/2;if(i>5)return r;if(el.every(a=>Math.abs(a-r)>=10))return el.push(r),r;const s=Math.abs(t-e);return Th(t,e-s/5,i+1)},cC=(t,e,i,r)=>{const n=tl[e.id],s=tl[i.id],a=lC(e,i,r);let o="",l="",h=0,u=0,d=pi[i.branch].index,f;if(a){o="A 10 10, 0, 0, 0,",l="A 10 10, 0, 0, 1,",h=10,u=10,d=pi[i.branch].index;const p=n.y<s.y?Th(n.y,s.y):Th(s.y,n.y);n.y<s.y?f=`M ${n.x} ${n.y} L ${n.x} ${p-h} ${o} ${n.x+u} ${p} L ${s.x-h} ${p} ${l} ${s.x} ${p+u} L ${s.x} ${s.y}`:f=`M ${n.x} ${n.y} L ${n.x} ${p+h} ${l} ${n.x+u} ${p} L ${s.x-h} ${p} ${o} ${s.x} ${p-u} L ${s.x} ${s.y}`}else n.y<s.y&&(o="A 20 20, 0, 0, 0,",h=20,u=20,d=pi[i.branch].index,f=`M ${n.x} ${n.y} L ${n.x} ${s.y-h} ${o} ${n.x+u} ${s.y} L ${s.x} ${s.y}`),n.y>s.y&&(o="A 20 20, 0, 0, 0,",h=20,u=20,d=pi[e.branch].index,f=`M ${n.x} ${n.y} L ${s.x-h} ${n.y} ${o} ${s.x} ${n.y-u} L ${s.x} ${s.y}`),n.y===s.y&&(d=pi[e.branch].index,f=`M ${n.x} ${n.y} L ${n.x} ${s.y-h} ${o} ${n.x+u} ${s.y} L ${s.x} ${s.y}`);t.append("path").attr("d",f).attr("class","arrow arrow"+d%fn)},hC=(t,e)=>{const i=t.append("g").attr("class","commit-arrows");Object.keys(e).forEach(r=>{const n=e[r];n.parents&&n.parents.length>0&&n.parents.forEach(s=>{cC(i,e[s],n,e)})})},uC=(t,e)=>{const i=Ba().gitGraph,r=t.append("g");e.forEach((n,s)=>{const a=s%fn,o=pi[n.name].pos,l=r.append("line");l.attr("x1",0),l.attr("y1",o),l.attr("x2",il),l.attr("y2",o),l.attr("class","branch branch"+a),el.push(o);let h=n.name;const u=oC(h),d=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(u);let m=u.getBBox();d.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(i.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(i.rotateCommitLabel===!0?30:0))+", "+(o-m.height/2-1)+")"),d.attr("transform","translate(-19, "+(o-m.height/2)+")")})},dC=function(t,e,i,r){aC();const n=Ba(),s=n.gitGraph;D.debug("in gitgraph renderer",t+`
1152
+ `,"id:",e,i),Ys=r.db.getCommits();const a=r.db.getBranchesAsObjArray();let o=0;a.forEach((h,u)=>{pi[h.name]={pos:o,index:u},o+=50+(s.rotateCommitLabel?40:0)});const l=_t(`[id="${e}"]`);G0(l,Ys,!1),s.showBranches&&uC(l,a),hC(l,Ys),G0(l,Ys,!0),jt.insertTitle(l,"gitTitleText",s.titleTopMargin,r.db.getDiagramTitle()),_p(void 0,l,s.diagramPadding,s.useMaxWidth??n.useMaxWidth)},fC={draw:dC},pC=t=>`
1153
+ .commit-id,
1154
+ .commit-msg,
1155
+ .branch-label {
1156
+ fill: lightgrey;
1157
+ color: lightgrey;
1158
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
1159
+ font-family: var(--mermaid-font-family);
1160
+ }
1161
+ ${[0,1,2,3,4,5,6,7].map(e=>`
1162
+ .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }
1163
+ .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }
1164
+ .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }
1165
+ .label${e} { fill: ${t["git"+e]}; }
1166
+ .arrow${e} { stroke: ${t["git"+e]}; }
1167
+ `).join(`
1168
+ `)}
1169
+
1170
+ .branch {
1171
+ stroke-width: 1;
1172
+ stroke: ${t.lineColor};
1173
+ stroke-dasharray: 2;
1174
+ }
1175
+ .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
1176
+ .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
1177
+ .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
1178
+ .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
1179
+ .tag-hole { fill: ${t.textColor}; }
1180
+
1181
+ .commit-merge {
1182
+ stroke: ${t.primaryColor};
1183
+ fill: ${t.primaryColor};
1184
+ }
1185
+ .commit-reverse {
1186
+ stroke: ${t.primaryColor};
1187
+ fill: ${t.primaryColor};
1188
+ stroke-width: 3;
1189
+ }
1190
+ .commit-highlight-outer {
1191
+ }
1192
+ .commit-highlight-inner {
1193
+ stroke: ${t.primaryColor};
1194
+ fill: ${t.primaryColor};
1195
+ }
1196
+
1197
+ .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
1198
+ .gitTitleText {
1199
+ text-anchor: middle;
1200
+ font-size: 18px;
1201
+ fill: ${t.textColor};
1202
+ }
1203
+ }
1204
+ `,gC=pC;var rl=function(){var t=function(Bt,bt,mt,wt){for(mt=mt||{},wt=Bt.length;wt--;mt[Bt[wt]]=bt);return mt},e=[1,6],i=[1,7],r=[1,8],n=[1,9],s=[1,16],a=[1,11],o=[1,12],l=[1,13],h=[1,14],u=[1,15],d=[1,27],f=[1,33],p=[1,34],m=[1,35],_=[1,36],v=[1,37],w=[1,72],x=[1,73],N=[1,74],R=[1,75],P=[1,76],V=[1,77],F=[1,78],O=[1,38],C=[1,39],S=[1,40],E=[1,41],b=[1,42],k=[1,43],g=[1,44],B=[1,45],y=[1,46],M=[1,47],nt=[1,48],Y=[1,49],Q=[1,50],J=[1,51],$=[1,52],tt=[1,53],ot=[1,54],at=[1,55],U=[1,56],Tt=[1,57],X=[1,59],j=[1,60],W=[1,61],z=[1,62],A=[1,63],I=[1,64],q=[1,65],L=[1,66],st=[1,67],T=[1,68],Dt=[1,69],et=[24,52],Et=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],vt=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],pt=[1,94],ut=[1,95],gt=[1,96],ht=[1,97],yt=[15,24,52],he=[7,8,9,10,18,22,25,26,27,28],ie=[15,24,43,52],It=[15,24,43,52,86,87,89,90],Mt=[15,43],Kt=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],de={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(bt,mt,wt,dt,Nt,rt,Wt){var ct=rt.length-1;switch(Nt){case 4:dt.setDirection("TB");break;case 5:dt.setDirection("BT");break;case 6:dt.setDirection("RL");break;case 7:dt.setDirection("LR");break;case 11:dt.parseDirective("%%{","open_directive");break;case 12:break;case 13:rt[ct]=rt[ct].trim().replace(/'/g,'"'),dt.parseDirective(rt[ct],"arg_directive");break;case 14:dt.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:dt.setC4Type(rt[ct-3]);break;case 26:dt.setTitle(rt[ct].substring(6)),this.$=rt[ct].substring(6);break;case 27:dt.setAccDescription(rt[ct].substring(15)),this.$=rt[ct].substring(15);break;case 28:this.$=rt[ct].trim(),dt.setTitle(this.$);break;case 29:case 30:this.$=rt[ct].trim(),dt.setAccDescription(this.$);break;case 35:case 36:rt[ct].splice(2,0,"ENTERPRISE"),dt.addPersonOrSystemBoundary(...rt[ct]),this.$=rt[ct];break;case 37:dt.addPersonOrSystemBoundary(...rt[ct]),this.$=rt[ct];break;case 38:rt[ct].splice(2,0,"CONTAINER"),dt.addContainerBoundary(...rt[ct]),this.$=rt[ct];break;case 39:dt.addDeploymentNode("node",...rt[ct]),this.$=rt[ct];break;case 40:dt.addDeploymentNode("nodeL",...rt[ct]),this.$=rt[ct];break;case 41:dt.addDeploymentNode("nodeR",...rt[ct]),this.$=rt[ct];break;case 42:dt.popBoundaryParseStack();break;case 46:dt.addPersonOrSystem("person",...rt[ct]),this.$=rt[ct];break;case 47:dt.addPersonOrSystem("external_person",...rt[ct]),this.$=rt[ct];break;case 48:dt.addPersonOrSystem("system",...rt[ct]),this.$=rt[ct];break;case 49:dt.addPersonOrSystem("system_db",...rt[ct]),this.$=rt[ct];break;case 50:dt.addPersonOrSystem("system_queue",...rt[ct]),this.$=rt[ct];break;case 51:dt.addPersonOrSystem("external_system",...rt[ct]),this.$=rt[ct];break;case 52:dt.addPersonOrSystem("external_system_db",...rt[ct]),this.$=rt[ct];break;case 53:dt.addPersonOrSystem("external_system_queue",...rt[ct]),this.$=rt[ct];break;case 54:dt.addContainer("container",...rt[ct]),this.$=rt[ct];break;case 55:dt.addContainer("container_db",...rt[ct]),this.$=rt[ct];break;case 56:dt.addContainer("container_queue",...rt[ct]),this.$=rt[ct];break;case 57:dt.addContainer("external_container",...rt[ct]),this.$=rt[ct];break;case 58:dt.addContainer("external_container_db",...rt[ct]),this.$=rt[ct];break;case 59:dt.addContainer("external_container_queue",...rt[ct]),this.$=rt[ct];break;case 60:dt.addComponent("component",...rt[ct]),this.$=rt[ct];break;case 61:dt.addComponent("component_db",...rt[ct]),this.$=rt[ct];break;case 62:dt.addComponent("component_queue",...rt[ct]),this.$=rt[ct];break;case 63:dt.addComponent("external_component",...rt[ct]),this.$=rt[ct];break;case 64:dt.addComponent("external_component_db",...rt[ct]),this.$=rt[ct];break;case 65:dt.addComponent("external_component_queue",...rt[ct]),this.$=rt[ct];break;case 67:dt.addRel("rel",...rt[ct]),this.$=rt[ct];break;case 68:dt.addRel("birel",...rt[ct]),this.$=rt[ct];break;case 69:dt.addRel("rel_u",...rt[ct]),this.$=rt[ct];break;case 70:dt.addRel("rel_d",...rt[ct]),this.$=rt[ct];break;case 71:dt.addRel("rel_l",...rt[ct]),this.$=rt[ct];break;case 72:dt.addRel("rel_r",...rt[ct]),this.$=rt[ct];break;case 73:dt.addRel("rel_b",...rt[ct]),this.$=rt[ct];break;case 74:rt[ct].splice(0,1),dt.addRel("rel",...rt[ct]),this.$=rt[ct];break;case 75:dt.updateElStyle("update_el_style",...rt[ct]),this.$=rt[ct];break;case 76:dt.updateRelStyle("update_rel_style",...rt[ct]),this.$=rt[ct];break;case 77:dt.updateLayoutConfig("update_layout_config",...rt[ct]),this.$=rt[ct];break;case 78:this.$=[rt[ct]];break;case 79:rt[ct].unshift(rt[ct-1]),this.$=rt[ct];break;case 80:case 82:this.$=rt[ct].trim();break;case 81:let Gt={};Gt[rt[ct-1].trim()]=rt[ct].trim(),this.$=Gt;break;case 83:this.$="";break}},table:[{3:1,4:2,5:3,6:4,7:e,8:i,9:r,10:n,11:5,12:10,18:s,22:a,25:o,26:l,27:h,28:u},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:e,8:i,9:r,10:n,11:5,12:10,18:s,22:a,25:o,26:l,27:h,28:u},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:d},t([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:f,33:p,34:m,36:_,38:v,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{23:79,29:29,30:30,31:31,32:f,33:p,34:m,36:_,38:v,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{23:80,29:29,30:30,31:31,32:f,33:p,34:m,36:_,38:v,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{23:81,29:29,30:30,31:31,32:f,33:p,34:m,36:_,38:v,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{23:82,29:29,30:30,31:31,32:f,33:p,34:m,36:_,38:v,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},t(et,[2,20],{53:32,39:58,40:70,42:71,30:87,44:w,46:x,47:N,48:R,49:P,50:V,51:F,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt}),t(et,[2,21]),t(Et,[2,23],{15:[1,88]}),t(et,[2,43],{15:[1,89]}),t(vt,[2,26]),t(vt,[2,27]),{35:[1,90]},{37:[1,91]},t(vt,[2,30]),{45:92,85:93,86:pt,87:ut,89:gt,90:ht},{45:98,85:93,86:pt,87:ut,89:gt,90:ht},{45:99,85:93,86:pt,87:ut,89:gt,90:ht},{45:100,85:93,86:pt,87:ut,89:gt,90:ht},{45:101,85:93,86:pt,87:ut,89:gt,90:ht},{45:102,85:93,86:pt,87:ut,89:gt,90:ht},{45:103,85:93,86:pt,87:ut,89:gt,90:ht},{45:104,85:93,86:pt,87:ut,89:gt,90:ht},{45:105,85:93,86:pt,87:ut,89:gt,90:ht},{45:106,85:93,86:pt,87:ut,89:gt,90:ht},{45:107,85:93,86:pt,87:ut,89:gt,90:ht},{45:108,85:93,86:pt,87:ut,89:gt,90:ht},{45:109,85:93,86:pt,87:ut,89:gt,90:ht},{45:110,85:93,86:pt,87:ut,89:gt,90:ht},{45:111,85:93,86:pt,87:ut,89:gt,90:ht},{45:112,85:93,86:pt,87:ut,89:gt,90:ht},{45:113,85:93,86:pt,87:ut,89:gt,90:ht},{45:114,85:93,86:pt,87:ut,89:gt,90:ht},{45:115,85:93,86:pt,87:ut,89:gt,90:ht},{45:116,85:93,86:pt,87:ut,89:gt,90:ht},t(yt,[2,66]),{45:117,85:93,86:pt,87:ut,89:gt,90:ht},{45:118,85:93,86:pt,87:ut,89:gt,90:ht},{45:119,85:93,86:pt,87:ut,89:gt,90:ht},{45:120,85:93,86:pt,87:ut,89:gt,90:ht},{45:121,85:93,86:pt,87:ut,89:gt,90:ht},{45:122,85:93,86:pt,87:ut,89:gt,90:ht},{45:123,85:93,86:pt,87:ut,89:gt,90:ht},{45:124,85:93,86:pt,87:ut,89:gt,90:ht},{45:125,85:93,86:pt,87:ut,89:gt,90:ht},{45:126,85:93,86:pt,87:ut,89:gt,90:ht},{45:127,85:93,86:pt,87:ut,89:gt,90:ht},{30:128,39:58,40:70,42:71,44:w,46:x,47:N,48:R,49:P,50:V,51:F,53:32,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt},{15:[1,130],43:[1,129]},{45:131,85:93,86:pt,87:ut,89:gt,90:ht},{45:132,85:93,86:pt,87:ut,89:gt,90:ht},{45:133,85:93,86:pt,87:ut,89:gt,90:ht},{45:134,85:93,86:pt,87:ut,89:gt,90:ht},{45:135,85:93,86:pt,87:ut,89:gt,90:ht},{45:136,85:93,86:pt,87:ut,89:gt,90:ht},{45:137,85:93,86:pt,87:ut,89:gt,90:ht},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},t(he,[2,9]),{14:142,21:d},{21:[2,13]},{1:[2,15]},t(et,[2,22]),t(Et,[2,24],{31:31,29:143,32:f,33:p,34:m,36:_,38:v}),t(et,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:f,33:p,34:m,36:_,38:v,44:w,46:x,47:N,48:R,49:P,50:V,51:F,54:O,55:C,56:S,57:E,58:b,59:k,60:g,61:B,62:y,63:M,64:nt,65:Y,66:Q,67:J,68:$,69:tt,70:ot,71:at,72:U,73:Tt,74:X,75:j,76:W,77:z,78:A,79:I,80:q,81:L,82:st,83:T,84:Dt}),t(vt,[2,28]),t(vt,[2,29]),t(yt,[2,46]),t(ie,[2,78],{85:93,45:145,86:pt,87:ut,89:gt,90:ht}),t(It,[2,80]),{88:[1,146]},t(It,[2,82]),t(It,[2,83]),t(yt,[2,47]),t(yt,[2,48]),t(yt,[2,49]),t(yt,[2,50]),t(yt,[2,51]),t(yt,[2,52]),t(yt,[2,53]),t(yt,[2,54]),t(yt,[2,55]),t(yt,[2,56]),t(yt,[2,57]),t(yt,[2,58]),t(yt,[2,59]),t(yt,[2,60]),t(yt,[2,61]),t(yt,[2,62]),t(yt,[2,63]),t(yt,[2,64]),t(yt,[2,65]),t(yt,[2,67]),t(yt,[2,68]),t(yt,[2,69]),t(yt,[2,70]),t(yt,[2,71]),t(yt,[2,72]),t(yt,[2,73]),t(yt,[2,74]),t(yt,[2,75]),t(yt,[2,76]),t(yt,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},t(Mt,[2,35]),t(Mt,[2,36]),t(Mt,[2,37]),t(Mt,[2,38]),t(Mt,[2,39]),t(Mt,[2,40]),t(Mt,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},t(Et,[2,25]),t(et,[2,45]),t(ie,[2,79]),t(It,[2,81]),t(yt,[2,31]),t(yt,[2,42]),t(Kt,[2,32]),t(Kt,[2,33],{15:[1,152]}),t(he,[2,10]),t(Kt,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(bt,mt){if(mt.recoverable)this.trace(bt);else{var wt=new Error(bt);throw wt.hash=mt,wt}},parse:function(bt){var mt=this,wt=[0],dt=[],Nt=[null],rt=[],Wt=this.table,ct="",Gt=0,Jt=0,se=2,re=1,ae=rt.slice.call(arguments,1),Rt=Object.create(this.lexer),Ht={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(Ht.yy[ne]=this.yy[ne]);Rt.setInput(bt,Ht.yy),Ht.yy.lexer=Rt,Ht.yy.parser=this,typeof Rt.yylloc>"u"&&(Rt.yylloc={});var Ut=Rt.yylloc;rt.push(Ut);var fr=Rt.options&&Rt.options.ranges;typeof Ht.yy.parseError=="function"?this.parseError=Ht.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function sn(){var K;return K=dt.pop()||Rt.lex()||re,typeof K!="number"&&(K instanceof Array&&(dt=K,K=dt.pop()),K=mt.symbols_[K]||K),K}for(var ge,Xt,Te,Qe,Ee={},Fe,ye,$e,Ue;;){if(Xt=wt[wt.length-1],this.defaultActions[Xt]?Te=this.defaultActions[Xt]:((ge===null||typeof ge>"u")&&(ge=sn()),Te=Wt[Xt]&&Wt[Xt][ge]),typeof Te>"u"||!Te.length||!Te[0]){var Lt="";Ue=[];for(Fe in Wt[Xt])this.terminals_[Fe]&&Fe>se&&Ue.push("'"+this.terminals_[Fe]+"'");Rt.showPosition?Lt="Parse error on line "+(Gt+1)+`:
1205
+ `+Rt.showPosition()+`
1206
+ Expecting `+Ue.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Lt="Parse error on line "+(Gt+1)+": Unexpected "+(ge==re?"end of input":"'"+(this.terminals_[ge]||ge)+"'"),this.parseError(Lt,{text:Rt.match,token:this.terminals_[ge]||ge,line:Rt.yylineno,loc:Ut,expected:Ue})}if(Te[0]instanceof Array&&Te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Xt+", token: "+ge);switch(Te[0]){case 1:wt.push(ge),Nt.push(Rt.yytext),rt.push(Rt.yylloc),wt.push(Te[1]),ge=null,Jt=Rt.yyleng,ct=Rt.yytext,Gt=Rt.yylineno,Ut=Rt.yylloc;break;case 2:if(ye=this.productions_[Te[1]][1],Ee.$=Nt[Nt.length-ye],Ee._$={first_line:rt[rt.length-(ye||1)].first_line,last_line:rt[rt.length-1].last_line,first_column:rt[rt.length-(ye||1)].first_column,last_column:rt[rt.length-1].last_column},fr&&(Ee._$.range=[rt[rt.length-(ye||1)].range[0],rt[rt.length-1].range[1]]),Qe=this.performAction.apply(Ee,[ct,Jt,Gt,Ht.yy,Te[1],Nt,rt].concat(ae)),typeof Qe<"u")return Qe;ye&&(wt=wt.slice(0,-1*ye*2),Nt=Nt.slice(0,-1*ye),rt=rt.slice(0,-1*ye)),wt.push(this.productions_[Te[1]][0]),Nt.push(Ee.$),rt.push(Ee._$),$e=Wt[wt[wt.length-2]][wt[wt.length-1]],wt.push($e);break;case 3:return!0}}return!0}},qt=function(){var Bt={EOF:1,parseError:function(mt,wt){if(this.yy.parser)this.yy.parser.parseError(mt,wt);else throw new Error(mt)},setInput:function(bt,mt){return this.yy=mt||this.yy||{},this._input=bt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var bt=this._input[0];this.yytext+=bt,this.yyleng++,this.offset++,this.match+=bt,this.matched+=bt;var mt=bt.match(/(?:\r\n?|\n).*/g);return mt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),bt},unput:function(bt){var mt=bt.length,wt=bt.split(/(?:\r\n?|\n)/g);this._input=bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-mt),this.offset-=mt;var dt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),wt.length-1&&(this.yylineno-=wt.length-1);var Nt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:wt?(wt.length===dt.length?this.yylloc.first_column:0)+dt[dt.length-wt.length].length-wt[0].length:this.yylloc.first_column-mt},this.options.ranges&&(this.yylloc.range=[Nt[0],Nt[0]+this.yyleng-mt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1207
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(bt){this.unput(this.match.slice(bt))},pastInput:function(){var bt=this.matched.substr(0,this.matched.length-this.match.length);return(bt.length>20?"...":"")+bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var bt=this.match;return bt.length<20&&(bt+=this._input.substr(0,20-bt.length)),(bt.substr(0,20)+(bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var bt=this.pastInput(),mt=new Array(bt.length+1).join("-");return bt+this.upcomingInput()+`
1208
+ `+mt+"^"},test_match:function(bt,mt){var wt,dt,Nt;if(this.options.backtrack_lexer&&(Nt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Nt.yylloc.range=this.yylloc.range.slice(0))),dt=bt[0].match(/(?:\r\n?|\n).*/g),dt&&(this.yylineno+=dt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:dt?dt[dt.length-1].length-dt[dt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+bt[0].length},this.yytext+=bt[0],this.match+=bt[0],this.matches=bt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(bt[0].length),this.matched+=bt[0],wt=this.performAction.call(this,this.yy,this,mt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),wt)return wt;if(this._backtrack){for(var rt in Nt)this[rt]=Nt[rt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var bt,mt,wt,dt;this._more||(this.yytext="",this.match="");for(var Nt=this._currentRules(),rt=0;rt<Nt.length;rt++)if(wt=this._input.match(this.rules[Nt[rt]]),wt&&(!mt||wt[0].length>mt[0].length)){if(mt=wt,dt=rt,this.options.backtrack_lexer){if(bt=this.test_match(wt,Nt[rt]),bt!==!1)return bt;if(this._backtrack){mt=!1;continue}else return!1}else if(!this.options.flex)break}return mt?(bt=this.test_match(mt,Nt[dt]),bt!==!1?bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1209
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var mt=this.next();return mt||this.lex()},begin:function(mt){this.conditionStack.push(mt)},popState:function(){var mt=this.conditionStack.length-1;return mt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(mt){return mt=this.conditionStack.length-1-Math.abs(mt||0),mt>=0?this.conditionStack[mt]:"INITIAL"},pushState:function(mt){this.begin(mt)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(mt,wt,dt,Nt){switch(dt){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:break;case 19:c;break;case 20:return 15;case 21:break;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:return this.begin("node"),49;case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:return this.begin("rel_u"),76;case 58:return this.begin("rel_u"),76;case 59:return this.begin("rel_d"),77;case 60:return this.begin("rel_d"),77;case 61:return this.begin("rel_l"),78;case 62:return this.begin("rel_l"),78;case 63:return this.begin("rel_r"),79;case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:this.popState(),this.popState();break;case 74:return 90;case 75:break;case 76:return 90;case 77:this.begin("string");break;case 78:this.popState();break;case 79:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 84:this.popState(),this.popState();break;case 85:return"STR";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};return Bt}();de.lexer=qt;function Ot(){this.yy={}}return Ot.prototype=de,de.Parser=Ot,new Ot}();rl.parser=rl;const yC=rl,mC=t=>t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/)!==null;let ji=[],Zr=[""],ci="global",qi="",cr=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],pa=[],Uu="",Wu=!1,nl=4,sl=2;var Cp;const bC=function(){return Cp},_C=function(t){Cp=Fi(t,G())},xC=function(t,e,i){be.parseDirective(this,t,e,i)},vC=function(t,e,i,r,n,s,a,o,l){if(t==null||e===void 0||e===null||i===void 0||i===null||r===void 0||r===null)return;let h={};const u=pa.find(d=>d.from===e&&d.to===i);if(u?h=u:pa.push(h),h.type=t,h.from=e,h.to=i,h.label={text:r},n==null)h.techn={text:""};else if(typeof n=="object"){let[d,f]=Object.entries(n)[0];h[d]={text:f}}else h.techn={text:n};if(s==null)h.descr={text:""};else if(typeof s=="object"){let[d,f]=Object.entries(s)[0];h[d]={text:f}}else h.descr={text:s};if(typeof a=="object"){let[d,f]=Object.entries(a)[0];h[d]=f}else h.sprite=a;if(typeof o=="object"){let[d,f]=Object.entries(o)[0];h[d]=f}else h.tags=o;if(typeof l=="object"){let[d,f]=Object.entries(l)[0];h[d]=f}else h.link=l;h.wrap=nn()},kC=function(t,e,i,r,n,s,a){if(e===null||i===null)return;let o={};const l=ji.find(h=>h.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,ji.push(o)),i==null?o.label={text:""}:o.label={text:i},r==null)o.descr={text:""};else if(typeof r=="object"){let[h,u]=Object.entries(r)[0];o[h]={text:u}}else o.descr={text:r};if(typeof n=="object"){let[h,u]=Object.entries(n)[0];o[h]=u}else o.sprite=n;if(typeof s=="object"){let[h,u]=Object.entries(s)[0];o[h]=u}else o.tags=s;if(typeof a=="object"){let[h,u]=Object.entries(a)[0];o[h]=u}else o.link=a;o.typeC4Shape={text:t},o.parentBoundary=ci,o.wrap=nn()},wC=function(t,e,i,r,n,s,a,o){if(e===null||i===null)return;let l={};const h=ji.find(u=>u.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,ji.push(l)),i==null?l.label={text:""}:l.label={text:i},r==null)l.techn={text:""};else if(typeof r=="object"){let[u,d]=Object.entries(r)[0];l[u]={text:d}}else l.techn={text:r};if(n==null)l.descr={text:""};else if(typeof n=="object"){let[u,d]=Object.entries(n)[0];l[u]={text:d}}else l.descr={text:n};if(typeof s=="object"){let[u,d]=Object.entries(s)[0];l[u]=d}else l.sprite=s;if(typeof a=="object"){let[u,d]=Object.entries(a)[0];l[u]=d}else l.tags=a;if(typeof o=="object"){let[u,d]=Object.entries(o)[0];l[u]=d}else l.link=o;l.wrap=nn(),l.typeC4Shape={text:t},l.parentBoundary=ci},TC=function(t,e,i,r,n,s,a,o){if(e===null||i===null)return;let l={};const h=ji.find(u=>u.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,ji.push(l)),i==null?l.label={text:""}:l.label={text:i},r==null)l.techn={text:""};else if(typeof r=="object"){let[u,d]=Object.entries(r)[0];l[u]={text:d}}else l.techn={text:r};if(n==null)l.descr={text:""};else if(typeof n=="object"){let[u,d]=Object.entries(n)[0];l[u]={text:d}}else l.descr={text:n};if(typeof s=="object"){let[u,d]=Object.entries(s)[0];l[u]=d}else l.sprite=s;if(typeof a=="object"){let[u,d]=Object.entries(a)[0];l[u]=d}else l.tags=a;if(typeof o=="object"){let[u,d]=Object.entries(o)[0];l[u]=d}else l.link=o;l.wrap=nn(),l.typeC4Shape={text:t},l.parentBoundary=ci},EC=function(t,e,i,r,n){if(t===null||e===null)return;let s={};const a=cr.find(o=>o.alias===t);if(a&&t===a.alias?s=a:(s.alias=t,cr.push(s)),e==null?s.label={text:""}:s.label={text:e},i==null)s.type={text:"system"};else if(typeof i=="object"){let[o,l]=Object.entries(i)[0];s[o]={text:l}}else s.type={text:i};if(typeof r=="object"){let[o,l]=Object.entries(r)[0];s[o]=l}else s.tags=r;if(typeof n=="object"){let[o,l]=Object.entries(n)[0];s[o]=l}else s.link=n;s.parentBoundary=ci,s.wrap=nn(),qi=ci,ci=t,Zr.push(qi)},CC=function(t,e,i,r,n){if(t===null||e===null)return;let s={};const a=cr.find(o=>o.alias===t);if(a&&t===a.alias?s=a:(s.alias=t,cr.push(s)),e==null?s.label={text:""}:s.label={text:e},i==null)s.type={text:"container"};else if(typeof i=="object"){let[o,l]=Object.entries(i)[0];s[o]={text:l}}else s.type={text:i};if(typeof r=="object"){let[o,l]=Object.entries(r)[0];s[o]=l}else s.tags=r;if(typeof n=="object"){let[o,l]=Object.entries(n)[0];s[o]=l}else s.link=n;s.parentBoundary=ci,s.wrap=nn(),qi=ci,ci=t,Zr.push(qi)},SC=function(t,e,i,r,n,s,a,o){if(e===null||i===null)return;let l={};const h=cr.find(u=>u.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,cr.push(l)),i==null?l.label={text:""}:l.label={text:i},r==null)l.type={text:"node"};else if(typeof r=="object"){let[u,d]=Object.entries(r)[0];l[u]={text:d}}else l.type={text:r};if(n==null)l.descr={text:""};else if(typeof n=="object"){let[u,d]=Object.entries(n)[0];l[u]={text:d}}else l.descr={text:n};if(typeof a=="object"){let[u,d]=Object.entries(a)[0];l[u]=d}else l.tags=a;if(typeof o=="object"){let[u,d]=Object.entries(o)[0];l[u]=d}else l.link=o;l.nodeType=t,l.parentBoundary=ci,l.wrap=nn(),qi=ci,ci=e,Zr.push(qi)},AC=function(){ci=qi,Zr.pop(),qi=Zr.pop(),Zr.push(qi)},LC=function(t,e,i,r,n,s,a,o,l,h,u){let d=ji.find(f=>f.alias===e);if(!(d===void 0&&(d=cr.find(f=>f.alias===e),d===void 0))){if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];d[f]=p}else d.bgColor=i;if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];d[f]=p}else d.fontColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];d[f]=p}else d.borderColor=n;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];d[f]=p}else d.shadowing=s;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];d[f]=p}else d.shape=a;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];d[f]=p}else d.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];d[f]=p}else d.techn=l;if(h!=null)if(typeof h=="object"){let[f,p]=Object.entries(h)[0];d[f]=p}else d.legendText=h;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];d[f]=p}else d.legendSprite=u}},BC=function(t,e,i,r,n,s,a){const o=pa.find(l=>l.from===e&&l.to===i);if(o!==void 0){if(r!=null)if(typeof r=="object"){let[l,h]=Object.entries(r)[0];o[l]=h}else o.textColor=r;if(n!=null)if(typeof n=="object"){let[l,h]=Object.entries(n)[0];o[l]=h}else o.lineColor=n;if(s!=null)if(typeof s=="object"){let[l,h]=Object.entries(s)[0];o[l]=parseInt(h)}else o.offsetX=parseInt(s);if(a!=null)if(typeof a=="object"){let[l,h]=Object.entries(a)[0];o[l]=parseInt(h)}else o.offsetY=parseInt(a)}},DC=function(t,e,i){let r=nl,n=sl;if(typeof e=="object"){const s=Object.values(e)[0];r=parseInt(s)}else r=parseInt(e);if(typeof i=="object"){const s=Object.values(i)[0];n=parseInt(s)}else n=parseInt(i);r>=1&&(nl=r),n>=1&&(sl=n)},NC=function(){return nl},IC=function(){return sl},MC=function(){return ci},RC=function(){return qi},Sp=function(t){return t==null?ji:ji.filter(e=>e.parentBoundary===t)},FC=function(t){return ji.find(e=>e.alias===t)},OC=function(t){return Object.keys(Sp(t))},PC=function(t){return t==null?cr:cr.filter(e=>e.parentBoundary===t)},VC=function(){return pa},YC=function(){return Uu},zC=function(t){Wu=t},nn=function(){return Wu},UC=function(){ji=[],cr=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],qi="",ci="global",Zr=[""],pa=[],Zr=[""],Uu="",Wu=!1,nl=4,sl=2},WC={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},HC={FILLED:0,OPEN:1},qC={LEFTOF:0,RIGHTOF:1,OVER:2},GC=function(t){Uu=Fi(t,G())},Ap={addPersonOrSystem:kC,addPersonOrSystemBoundary:EC,addContainer:wC,addContainerBoundary:CC,addComponent:TC,addDeploymentNode:SC,popBoundaryParseStack:AC,addRel:vC,updateElStyle:LC,updateRelStyle:BC,updateLayoutConfig:DC,autoWrap:nn,setWrap:zC,getC4ShapeArray:Sp,getC4Shape:FC,getC4ShapeKeys:OC,getBoundarys:PC,getCurrentBoundaryParse:MC,getParentBoundaryParse:RC,getRels:VC,getTitle:YC,getC4Type:bC,getC4ShapeInRow:NC,getC4BoundaryInRow:IC,setAccTitle:_i,getAccTitle:Ei,getAccDescription:Si,setAccDescription:Ci,parseDirective:xC,getConfig:()=>G().c4,clear:UC,LINETYPE:WC,ARROWTYPE:HC,PLACEMENT:qC,setTitle:GC,setC4Type:_C},Hu=function(t,e){const i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),e.attrs!=="undefined"&&e.attrs!==null)for(let r in e.attrs)i.attr(r,e.attrs[r]);return e.class!=="undefined"&&i.attr("class",e.class),i},Lp=function(t,e,i,r,n,s){const a=t.append("image");a.attr("width",e),a.attr("height",i),a.attr("x",r),a.attr("y",n);let o=s.startsWith("data:image/png;base64")?s:zr(s);a.attr("xlink:href",o)},XC=(t,e,i)=>{const r=t.append("g");let n=0;for(let s of e){let a=s.textColor?s.textColor:"#444444",o=s.lineColor?s.lineColor:"#444444",l=s.offsetX?parseInt(s.offsetX):0,h=s.offsetY?parseInt(s.offsetY):0,u="";if(n===0){let f=r.append("line");f.attr("x1",s.startPoint.x),f.attr("y1",s.startPoint.y),f.attr("x2",s.endPoint.x),f.attr("y2",s.endPoint.y),f.attr("stroke-width","1"),f.attr("stroke",o),f.style("fill","none"),s.type!=="rel_b"&&f.attr("marker-end","url("+u+"#arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&f.attr("marker-start","url("+u+"#arrowend)"),n=-1}else{let f=r.append("path");f.attr("fill","none").attr("stroke-width","1").attr("stroke",o).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&f.attr("marker-end","url("+u+"#arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&f.attr("marker-start","url("+u+"#arrowend)")}let d=i.messageFont();Nr(i)(s.label.text,r,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+l,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+h,s.label.width,s.label.height,{fill:a},d),s.techn&&s.techn.text!==""&&(d=i.messageFont(),Nr(i)("["+s.techn.text+"]",r,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+l,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+i.messageFontSize+5+h,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:a,"font-style":"italic"},d))}},jC=function(t,e,i){const r=t.append("g");let n=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",a=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:n,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};Hu(r,l);let h=i.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,Nr(i)(e.label.text,r,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=i.boundaryFont(),h.fontColor=a,Nr(i)(e.type.text,r,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=i.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=a,Nr(i)(e.descr.text,r,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},$C=function(t,e,i){var r;let n=e.bgColor?e.bgColor:i[e.typeC4Shape.text+"_bg_color"],s=e.borderColor?e.borderColor:i[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const l=t.append("g");l.attr("class","person-man");const h=Bp();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=e.x,h.y=e.y,h.fill=n,h.width=e.width,h.height=e.height,h.stroke=s,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},Hu(l,h);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=n9(i,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Lp(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,o);break}let d=i[e.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=a,Nr(i)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},d),d=i[e.typeC4Shape.text+"Font"](),d.fontColor=a,e.techn&&((r=e.techn)==null?void 0:r.text)!==""?Nr(i)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},d):e.type&&e.type.text!==""&&Nr(i)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},d),e.descr&&e.descr.text!==""&&(d=i.personFont(),d.fontColor=a,Nr(i)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},d)),e.height},KC=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},QC=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},ZC=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},JC=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},t9=function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},e9=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},i9=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},r9=function(t){const i=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);i.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),i.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},Bp=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},n9=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),Nr=function(){function t(n,s,a,o,l,h,u){const d=s.append("text").attr("x",a+l/2).attr("y",o+h/2+5).style("text-anchor","middle").text(n);r(d,u)}function e(n,s,a,o,l,h,u,d){const{fontSize:f,fontFamily:p,fontWeight:m}=d,_=n.split($t.lineBreakRegex);for(let v=0;v<_.length;v++){const w=v*f-f*(_.length-1)/2,x=s.append("text").attr("x",a+l/2).attr("y",o).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",f).style("font-weight",m).style("font-family",p);x.append("tspan").attr("dy",w).text(_[v]).attr("alignment-baseline","mathematical"),r(x,u)}}function i(n,s,a,o,l,h,u,d){const f=s.append("switch"),m=f.append("foreignObject").attr("x",a).attr("y",o).attr("width",l).attr("height",h).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),e(n,f,a,o,l,h,u,d),r(m,u)}function r(n,s){for(const a in s)s.hasOwnProperty(a)&&n.attr(a,s[a])}return function(n){return n.textPlacement==="fo"?i:n.textPlacement==="old"?t:e}}(),er={drawRect:Hu,drawBoundary:jC,drawC4Shape:$C,drawRels:XC,drawImage:Lp,insertArrowHead:JC,insertArrowEnd:t9,insertArrowFilledHead:e9,insertDynamicNumber:i9,insertArrowCrossHead:r9,insertDatabaseIcon:KC,insertComputerIcon:QC,insertClockIcon:ZC,getNoteRect:Bp,sanitizeUrl:zr};let al=0,ol=0,Dp=4,Eh=2;rl.yy=Ap;let Ft={};class Np{constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,Ch(e.db.getConfig())}setData(e,i,r,n){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=i,this.nextData.starty=this.data.starty=r,this.nextData.stopy=this.data.stopy=n}updateVal(e,i,r,n){e[i]===void 0?e[i]=r:e[i]=n(r,e[i])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let i=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,r=i+e.width,n=this.nextData.starty+e.margin*2,s=n+e.height;(i>=this.data.widthLimit||r>=this.data.widthLimit||this.nextData.cnt>Dp)&&(i=this.nextData.startx+e.margin+Ft.nextLinePaddingX,n=this.nextData.stopy+e.margin*2,this.nextData.stopx=r=i+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=s=n+e.height,this.nextData.cnt=1),e.x=i,e.y=n,this.updateVal(this.data,"startx",i,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",s,Math.max),this.updateVal(this.nextData,"startx",i,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",s,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Ch(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}}const Ch=function(t){Ge(Ft,t),t.fontFamily&&(Ft.personFontFamily=Ft.systemFontFamily=Ft.messageFontFamily=t.fontFamily),t.fontSize&&(Ft.personFontSize=Ft.systemFontSize=Ft.messageFontSize=t.fontSize),t.fontWeight&&(Ft.personFontWeight=Ft.systemFontWeight=Ft.messageFontWeight=t.fontWeight)},Bs=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),fo=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),s9=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function Ui(t,e,i,r,n){if(!e[t].width)if(i)e[t].text=rp(e[t].text,n,r),e[t].textLines=e[t].text.split($t.lineBreakRegex).length,e[t].width=n,e[t].height=vh(e[t].text,r);else{let s=e[t].text.split($t.lineBreakRegex);e[t].textLines=s.length;let a=0;e[t].height=0,e[t].width=0;for(const o of s)e[t].width=Math.max(lr(o,r),e[t].width),a=vh(o,r),e[t].height=e[t].height+a}}const Ip=function(t,e,i){e.x=i.data.startx,e.y=i.data.starty,e.width=i.data.stopx-i.data.startx,e.height=i.data.stopy-i.data.starty,e.label.y=Ft.c4ShapeMargin-35;let r=e.wrap&&Ft.wrap,n=fo(Ft);n.fontSize=n.fontSize+2,n.fontWeight="bold";let s=lr(e.label.text,n);Ui("label",e,r,n,s),er.drawBoundary(t,e,Ft)},Mp=function(t,e,i,r){let n=0;for(const s of r){n=0;const a=i[s];let o=Bs(Ft,a.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,a.typeC4Shape.width=lr("<<"+a.typeC4Shape.text+">>",o),a.typeC4Shape.height=o.fontSize+2,a.typeC4Shape.Y=Ft.c4ShapePadding,n=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case"person":case"external_person":a.image.width=48,a.image.height=48,a.image.Y=n,n=a.image.Y+a.image.height;break}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=n,n=a.image.Y+a.image.height);let l=a.wrap&&Ft.wrap,h=Ft.width-Ft.c4ShapePadding*2,u=Bs(Ft,a.typeC4Shape.text);if(u.fontSize=u.fontSize+2,u.fontWeight="bold",Ui("label",a,l,u,h),a.label.Y=n+8,n=a.label.Y+a.label.height,a.type&&a.type.text!==""){a.type.text="["+a.type.text+"]";let p=Bs(Ft,a.typeC4Shape.text);Ui("type",a,l,p,h),a.type.Y=n+5,n=a.type.Y+a.type.height}else if(a.techn&&a.techn.text!==""){a.techn.text="["+a.techn.text+"]";let p=Bs(Ft,a.techn.text);Ui("techn",a,l,p,h),a.techn.Y=n+5,n=a.techn.Y+a.techn.height}let d=n,f=a.label.width;if(a.descr&&a.descr.text!==""){let p=Bs(Ft,a.typeC4Shape.text);Ui("descr",a,l,p,h),a.descr.Y=n+20,n=a.descr.Y+a.descr.height,f=Math.max(a.label.width,a.descr.width),d=n-a.descr.textLines*5}f=f+Ft.c4ShapePadding,a.width=Math.max(a.width||Ft.width,f,Ft.width),a.height=Math.max(a.height||Ft.height,d,Ft.height),a.margin=a.margin||Ft.c4ShapeMargin,t.insert(a),er.drawC4Shape(e,a,Ft)}t.bumpLastMargin(Ft.c4ShapeMargin)};class Di{constructor(e,i){this.x=e,this.y=i}}let X0=function(t,e){let i=t.x,r=t.y,n=e.x,s=e.y,a=i+t.width/2,o=r+t.height/2,l=Math.abs(i-n),h=Math.abs(r-s),u=h/l,d=t.height/t.width,f=null;return r==s&&i<n?f=new Di(i+t.width,o):r==s&&i>n?f=new Di(i,o):i==n&&r<s?f=new Di(a,r+t.height):i==n&&r>s&&(f=new Di(a,r)),i>n&&r<s?d>=u?f=new Di(i,o+u*t.width/2):f=new Di(a-l/h*t.height/2,r+t.height):i<n&&r<s?d>=u?f=new Di(i+t.width,o+u*t.width/2):f=new Di(a+l/h*t.height/2,r+t.height):i<n&&r>s?d>=u?f=new Di(i+t.width,o-u*t.width/2):f=new Di(a+t.height/2*l/h,r):i>n&&r>s&&(d>=u?f=new Di(i,o-t.width/2*u):f=new Di(a-t.height/2*l/h,r)),f},a9=function(t,e){let i={x:0,y:0};i.x=e.x+e.width/2,i.y=e.y+e.height/2;let r=X0(t,i);i.x=t.x+t.width/2,i.y=t.y+t.height/2;let n=X0(e,i);return{startPoint:r,endPoint:n}};const o9=function(t,e,i,r){let n=0;for(let s of e){n=n+1;let a=s.wrap&&Ft.wrap,o=s9(Ft);r.db.getC4Type()==="C4Dynamic"&&(s.label.text=n+": "+s.label.text);let h=lr(s.label.text,o);Ui("label",s,a,o,h),s.techn&&s.techn.text!==""&&(h=lr(s.techn.text,o),Ui("techn",s,a,o,h)),s.descr&&s.descr.text!==""&&(h=lr(s.descr.text,o),Ui("descr",s,a,o,h));let u=i(s.from),d=i(s.to),f=a9(u,d);s.startPoint=f.startPoint,s.endPoint=f.endPoint}er.drawRels(t,e,Ft)};function Rp(t,e,i,r,n){let s=new Np(n);s.data.widthLimit=i.data.widthLimit/Math.min(Eh,r.length);for(let[a,o]of r.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let h=o.wrap&&Ft.wrap,u=fo(Ft);if(u.fontSize=u.fontSize+2,u.fontWeight="bold",Ui("label",o,h,u,s.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=fo(Ft);Ui("type",o,h,m,s.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let m=fo(Ft);m.fontSize=m.fontSize-2,Ui("descr",o,h,m,s.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(a==0||a%Eh===0){let m=i.data.startx+Ft.diagramMarginX,_=i.data.stopy+Ft.diagramMarginY+l;s.setData(m,m,_,_)}else{let m=s.data.stopx!==s.data.startx?s.data.stopx+Ft.diagramMarginX:s.data.startx,_=s.data.starty;s.setData(m,m,_,_)}s.name=o.alias;let d=n.db.getC4ShapeArray(o.alias),f=n.db.getC4ShapeKeys(o.alias);f.length>0&&Mp(s,t,d,f),e=o.alias;let p=n.db.getBoundarys(e);p.length>0&&Rp(t,e,s,p,n),o.alias!=="global"&&Ip(t,o,s),i.data.stopy=Math.max(s.data.stopy+Ft.c4ShapeMargin,i.data.stopy),i.data.stopx=Math.max(s.data.stopx+Ft.c4ShapeMargin,i.data.stopx),al=Math.max(al,i.data.stopx),ol=Math.max(ol,i.data.stopy)}}const l9=function(t,e,i,r){Ft=G().c4;const n=G().securityLevel;let s;n==="sandbox"&&(s=_t("#i"+e));const a=_t(n==="sandbox"?s.nodes()[0].contentDocument.body:"body");let o=r.db;r.db.setWrap(Ft.wrap),Dp=o.getC4ShapeInRow(),Eh=o.getC4BoundaryInRow(),D.debug(`C:${JSON.stringify(Ft,null,2)}`);const l=n==="sandbox"?a.select(`[id="${e}"]`):_t(`[id="${e}"]`);er.insertComputerIcon(l),er.insertDatabaseIcon(l),er.insertClockIcon(l);let h=new Np(r);h.setData(Ft.diagramMarginX,Ft.diagramMarginX,Ft.diagramMarginY,Ft.diagramMarginY),h.data.widthLimit=screen.availWidth,al=Ft.diagramMarginX,ol=Ft.diagramMarginY;const u=r.db.getTitle();let d=r.db.getBoundarys("");Rp(l,"",h,d,r),er.insertArrowHead(l),er.insertArrowEnd(l),er.insertArrowCrossHead(l),er.insertArrowFilledHead(l),o9(l,r.db.getRels(),r.db.getC4Shape,r),h.data.stopx=al,h.data.stopy=ol;const f=h.data;let m=f.stopy-f.starty+2*Ft.diagramMarginY;const v=f.stopx-f.startx+2*Ft.diagramMarginX;u&&l.append("text").text(u).attr("x",(f.stopx-f.startx)/2-4*Ft.diagramMarginX).attr("y",f.starty+Ft.diagramMarginY),Ki(l,m,v,Ft.useMaxWidth);const w=u?60:0;l.attr("viewBox",f.startx-Ft.diagramMarginX+" -"+(Ft.diagramMarginY+w)+" "+v+" "+(m+w)),D.debug("models:",f)},j0={drawPersonOrSystemArray:Mp,drawBoundary:Ip,setConf:Ch,draw:l9};var Sh=function(){var t=function(z,A,I,q){for(I=I||{},q=z.length;q--;I[z[q]]=A);return I},e=[1,3],i=[1,7],r=[1,8],n=[1,9],s=[1,10],a=[1,13],o=[1,12],l=[1,16,25],h=[1,20],u=[1,32],d=[1,33],f=[1,34],p=[1,36],m=[1,39],_=[1,37],v=[1,38],w=[1,44],x=[1,45],N=[1,40],R=[1,41],P=[1,42],V=[1,43],F=[1,48],O=[1,49],C=[1,50],S=[1,51],E=[16,25],b=[1,65],k=[1,66],g=[1,67],B=[1,68],y=[1,69],M=[1,70],nt=[1,71],Y=[1,80],Q=[16,25,32,45,46,54,60,61,62,63,64,65,66,71,73],J=[16,25,30,32,45,46,50,54,60,61,62,63,64,65,66,71,73,88,89,90,91],$=[5,8,9,10,11,16,19,23,25],tt=[54,88,89,90,91],ot=[54,65,66,88,89,90,91],at=[54,60,61,62,63,64,88,89,90,91],U=[16,25,32],Tt=[1,107],X={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,className:27,alphaNumToken:28,classLiteralName:29,GENERICTYPE:30,relationStatement:31,LABEL:32,classStatement:33,methodStatement:34,annotationStatement:35,clickStatement:36,cssClassStatement:37,noteStatement:38,acc_title:39,acc_title_value:40,acc_descr:41,acc_descr_value:42,acc_descr_multiline_value:43,CLASS:44,STYLE_SEPARATOR:45,STRUCT_START:46,members:47,STRUCT_STOP:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,STR:54,NOTE_FOR:55,noteText:56,NOTE:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,CSSCLASS:74,commentToken:75,textToken:76,graphCodeTokens:77,textNoTagsToken:78,TAGSTART:79,TAGEND:80,"==":81,"--":82,PCT:83,DEFAULT:84,SPACE:85,MINUS:86,keywords:87,UNICODE_TEXT:88,NUM:89,ALPHA:90,BQUOTE_STR:91,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",30:"GENERICTYPE",32:"LABEL",39:"acc_title",40:"acc_title_value",41:"acc_descr",42:"acc_descr_value",43:"acc_descr_multiline_value",44:"CLASS",45:"STYLE_SEPARATOR",46:"STRUCT_START",48:"STRUCT_STOP",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"STR",55:"NOTE_FOR",57:"NOTE",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"CSSCLASS",77:"graphCodeTokens",79:"TAGSTART",80:"TAGEND",81:"==",82:"--",83:"PCT",84:"DEFAULT",85:"SPACE",86:"MINUS",87:"keywords",88:"UNICODE_TEXT",89:"NUM",90:"ALPHA",91:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,1],[27,1],[27,2],[27,2],[27,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[33,2],[33,4],[33,5],[33,7],[35,4],[47,1],[47,2],[34,1],[34,2],[34,1],[34,1],[31,3],[31,4],[31,4],[31,5],[38,3],[38,2],[53,3],[53,2],[53,2],[53,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[36,3],[36,4],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[37,3],[75,1],[75,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[78,1],[78,1],[78,1],[78,1],[28,1],[28,1],[28,1],[29,1],[56,1]],performAction:function(A,I,q,L,st,T,Dt){var et=T.length-1;switch(st){case 5:L.setDirection("TB");break;case 6:L.setDirection("BT");break;case 7:L.setDirection("RL");break;case 8:L.setDirection("LR");break;case 12:L.parseDirective("%%{","open_directive");break;case 13:L.parseDirective(T[et],"type_directive");break;case 14:T[et]=T[et].trim().replace(/'/g,'"'),L.parseDirective(T[et],"arg_directive");break;case 15:L.parseDirective("}%%","close_directive","class");break;case 20:case 21:this.$=T[et];break;case 22:this.$=T[et-1]+T[et];break;case 23:case 24:this.$=T[et-1]+"~"+T[et];break;case 25:L.addRelation(T[et]);break;case 26:T[et-1].title=L.cleanupLabel(T[et]),L.addRelation(T[et-1]);break;case 35:this.$=T[et].trim(),L.setAccTitle(this.$);break;case 36:case 37:this.$=T[et].trim(),L.setAccDescription(this.$);break;case 38:L.addClass(T[et]);break;case 39:L.addClass(T[et-2]),L.setCssClass(T[et-2],T[et]);break;case 40:L.addClass(T[et-3]),L.addMembers(T[et-3],T[et-1]);break;case 41:L.addClass(T[et-5]),L.setCssClass(T[et-5],T[et-3]),L.addMembers(T[et-5],T[et-1]);break;case 42:L.addAnnotation(T[et],T[et-2]);break;case 43:this.$=[T[et]];break;case 44:T[et].push(T[et-1]),this.$=T[et];break;case 45:break;case 46:L.addMember(T[et-1],L.cleanupLabel(T[et]));break;case 47:break;case 48:break;case 49:this.$={id1:T[et-2],id2:T[et],relation:T[et-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:T[et-3],id2:T[et],relation:T[et-1],relationTitle1:T[et-2],relationTitle2:"none"};break;case 51:this.$={id1:T[et-3],id2:T[et],relation:T[et-2],relationTitle1:"none",relationTitle2:T[et-1]};break;case 52:this.$={id1:T[et-4],id2:T[et],relation:T[et-2],relationTitle1:T[et-3],relationTitle2:T[et-1]};break;case 53:L.addNote(T[et],T[et-1]);break;case 54:L.addNote(T[et]);break;case 55:this.$={type1:T[et-2],type2:T[et],lineType:T[et-1]};break;case 56:this.$={type1:"none",type2:T[et],lineType:T[et-1]};break;case 57:this.$={type1:T[et-1],type2:"none",lineType:T[et]};break;case 58:this.$={type1:"none",type2:"none",lineType:T[et]};break;case 59:this.$=L.relationType.AGGREGATION;break;case 60:this.$=L.relationType.EXTENSION;break;case 61:this.$=L.relationType.COMPOSITION;break;case 62:this.$=L.relationType.DEPENDENCY;break;case 63:this.$=L.relationType.LOLLIPOP;break;case 64:this.$=L.lineType.LINE;break;case 65:this.$=L.lineType.DOTTED_LINE;break;case 66:case 72:this.$=T[et-2],L.setClickEvent(T[et-1],T[et]);break;case 67:case 73:this.$=T[et-3],L.setClickEvent(T[et-2],T[et-1]),L.setTooltip(T[et-2],T[et]);break;case 68:case 76:this.$=T[et-2],L.setLink(T[et-1],T[et]);break;case 69:this.$=T[et-3],L.setLink(T[et-2],T[et-1],T[et]);break;case 70:case 78:this.$=T[et-3],L.setLink(T[et-2],T[et-1]),L.setTooltip(T[et-2],T[et]);break;case 71:case 79:this.$=T[et-4],L.setLink(T[et-3],T[et-2],T[et]),L.setTooltip(T[et-3],T[et-1]);break;case 74:this.$=T[et-3],L.setClickEvent(T[et-2],T[et-1],T[et]);break;case 75:this.$=T[et-4],L.setClickEvent(T[et-3],T[et-2],T[et-1]),L.setTooltip(T[et-3],T[et]);break;case 77:this.$=T[et-3],L.setLink(T[et-2],T[et-1],T[et]);break;case 80:L.setCssClass(T[et-1],T[et]);break}},table:[{3:1,4:2,5:e,6:4,7:5,8:i,9:r,10:n,11:s,12:6,13:11,19:a,23:o},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:e,6:4,7:5,8:i,9:r,10:n,11:s,12:6,13:11,19:a,23:o},{1:[2,9]},t(l,[2,5]),t(l,[2,6]),t(l,[2,7]),t(l,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:h},t([17,22],[2,13]),{6:31,7:30,8:i,9:r,10:n,11:s,13:11,19:a,24:21,26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:u,41:d,43:f,44:p,49:m,51:_,52:v,55:w,57:x,67:N,68:R,70:P,74:V,88:F,89:O,90:C,91:S},{16:[1,52]},{18:53,21:[1,54]},{16:[2,15]},{25:[1,55]},{16:[1,56],25:[2,17]},t(E,[2,25],{32:[1,57]}),t(E,[2,27]),t(E,[2,28]),t(E,[2,29]),t(E,[2,30]),t(E,[2,31]),t(E,[2,32]),t(E,[2,33]),t(E,[2,34]),{40:[1,58]},{42:[1,59]},t(E,[2,37]),t(E,[2,45],{53:60,58:63,59:64,32:[1,62],54:[1,61],60:b,61:k,62:g,63:B,64:y,65:M,66:nt}),{27:72,28:46,29:47,88:F,89:O,90:C,91:S},t(E,[2,47]),t(E,[2,48]),{28:73,88:F,89:O,90:C},{27:74,28:46,29:47,88:F,89:O,90:C,91:S},{27:75,28:46,29:47,88:F,89:O,90:C,91:S},{27:76,28:46,29:47,88:F,89:O,90:C,91:S},{54:[1,77]},{27:78,28:46,29:47,88:F,89:O,90:C,91:S},{54:Y,56:79},t(Q,[2,20],{28:46,29:47,27:81,30:[1,82],88:F,89:O,90:C,91:S}),t(Q,[2,21],{30:[1,83]}),t(J,[2,94]),t(J,[2,95]),t(J,[2,96]),t([16,25,30,32,45,46,54,60,61,62,63,64,65,66,71,73],[2,97]),t($,[2,10]),{15:84,22:h},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:i,9:r,10:n,11:s,13:11,19:a,24:85,25:[2,18],26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:u,41:d,43:f,44:p,49:m,51:_,52:v,55:w,57:x,67:N,68:R,70:P,74:V,88:F,89:O,90:C,91:S},t(E,[2,26]),t(E,[2,35]),t(E,[2,36]),{27:86,28:46,29:47,54:[1,87],88:F,89:O,90:C,91:S},{53:88,58:63,59:64,60:b,61:k,62:g,63:B,64:y,65:M,66:nt},t(E,[2,46]),{59:89,65:M,66:nt},t(tt,[2,58],{58:90,60:b,61:k,62:g,63:B,64:y}),t(ot,[2,59]),t(ot,[2,60]),t(ot,[2,61]),t(ot,[2,62]),t(ot,[2,63]),t(at,[2,64]),t(at,[2,65]),t(E,[2,38],{45:[1,91],46:[1,92]}),{50:[1,93]},{54:[1,94]},{54:[1,95]},{71:[1,96],73:[1,97]},{28:98,88:F,89:O,90:C},{54:Y,56:99},t(E,[2,54]),t(E,[2,98]),t(Q,[2,22]),t(Q,[2,23]),t(Q,[2,24]),{16:[1,100]},{25:[2,19]},t(U,[2,49]),{27:101,28:46,29:47,88:F,89:O,90:C,91:S},{27:102,28:46,29:47,54:[1,103],88:F,89:O,90:C,91:S},t(tt,[2,57],{58:104,60:b,61:k,62:g,63:B,64:y}),t(tt,[2,56]),{28:105,88:F,89:O,90:C},{47:106,51:Tt},{27:108,28:46,29:47,88:F,89:O,90:C,91:S},t(E,[2,66],{54:[1,109]}),t(E,[2,68],{54:[1,111],69:[1,110]}),t(E,[2,72],{54:[1,112],72:[1,113]}),t(E,[2,76],{54:[1,115],69:[1,114]}),t(E,[2,80]),t(E,[2,53]),t($,[2,11]),t(U,[2,51]),t(U,[2,50]),{27:116,28:46,29:47,88:F,89:O,90:C,91:S},t(tt,[2,55]),t(E,[2,39],{46:[1,117]}),{48:[1,118]},{47:119,48:[2,43],51:Tt},t(E,[2,42]),t(E,[2,67]),t(E,[2,69]),t(E,[2,70],{69:[1,120]}),t(E,[2,73]),t(E,[2,74],{54:[1,121]}),t(E,[2,77]),t(E,[2,78],{69:[1,122]}),t(U,[2,52]),{47:123,51:Tt},t(E,[2,40]),{48:[2,44]},t(E,[2,71]),t(E,[2,75]),t(E,[2,79]),{48:[1,124]},t(E,[2,41])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],54:[2,14],55:[2,16],85:[2,19],119:[2,44]},parseError:function(A,I){if(I.recoverable)this.trace(A);else{var q=new Error(A);throw q.hash=I,q}},parse:function(A){var I=this,q=[0],L=[],st=[null],T=[],Dt=this.table,et="",Et=0,vt=0,pt=2,ut=1,gt=T.slice.call(arguments,1),ht=Object.create(this.lexer),yt={yy:{}};for(var he in this.yy)Object.prototype.hasOwnProperty.call(this.yy,he)&&(yt.yy[he]=this.yy[he]);ht.setInput(A,yt.yy),yt.yy.lexer=ht,yt.yy.parser=this,typeof ht.yylloc>"u"&&(ht.yylloc={});var ie=ht.yylloc;T.push(ie);var It=ht.options&&ht.options.ranges;typeof yt.yy.parseError=="function"?this.parseError=yt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var rt;return rt=L.pop()||ht.lex()||ut,typeof rt!="number"&&(rt instanceof Array&&(L=rt,rt=L.pop()),rt=I.symbols_[rt]||rt),rt}for(var Kt,de,qt,Ot,Bt={},bt,mt,wt,dt;;){if(de=q[q.length-1],this.defaultActions[de]?qt=this.defaultActions[de]:((Kt===null||typeof Kt>"u")&&(Kt=Mt()),qt=Dt[de]&&Dt[de][Kt]),typeof qt>"u"||!qt.length||!qt[0]){var Nt="";dt=[];for(bt in Dt[de])this.terminals_[bt]&&bt>pt&&dt.push("'"+this.terminals_[bt]+"'");ht.showPosition?Nt="Parse error on line "+(Et+1)+`:
1210
+ `+ht.showPosition()+`
1211
+ Expecting `+dt.join(", ")+", got '"+(this.terminals_[Kt]||Kt)+"'":Nt="Parse error on line "+(Et+1)+": Unexpected "+(Kt==ut?"end of input":"'"+(this.terminals_[Kt]||Kt)+"'"),this.parseError(Nt,{text:ht.match,token:this.terminals_[Kt]||Kt,line:ht.yylineno,loc:ie,expected:dt})}if(qt[0]instanceof Array&&qt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+de+", token: "+Kt);switch(qt[0]){case 1:q.push(Kt),st.push(ht.yytext),T.push(ht.yylloc),q.push(qt[1]),Kt=null,vt=ht.yyleng,et=ht.yytext,Et=ht.yylineno,ie=ht.yylloc;break;case 2:if(mt=this.productions_[qt[1]][1],Bt.$=st[st.length-mt],Bt._$={first_line:T[T.length-(mt||1)].first_line,last_line:T[T.length-1].last_line,first_column:T[T.length-(mt||1)].first_column,last_column:T[T.length-1].last_column},It&&(Bt._$.range=[T[T.length-(mt||1)].range[0],T[T.length-1].range[1]]),Ot=this.performAction.apply(Bt,[et,vt,Et,yt.yy,qt[1],st,T].concat(gt)),typeof Ot<"u")return Ot;mt&&(q=q.slice(0,-1*mt*2),st=st.slice(0,-1*mt),T=T.slice(0,-1*mt)),q.push(this.productions_[qt[1]][0]),st.push(Bt.$),T.push(Bt._$),wt=Dt[q[q.length-2]][q[q.length-1]],q.push(wt);break;case 3:return!0}}return!0}},j=function(){var z={EOF:1,parseError:function(I,q){if(this.yy.parser)this.yy.parser.parseError(I,q);else throw new Error(I)},setInput:function(A,I){return this.yy=I||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var I=A.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},unput:function(A){var I=A.length,q=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q.length-1&&(this.yylineno-=q.length-1);var st=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===L.length?this.yylloc.first_column:0)+L[L.length-q.length].length-q[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[st[0],st[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1212
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(A){this.unput(this.match.slice(A))},pastInput:function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var A=this.pastInput(),I=new Array(A.length+1).join("-");return A+this.upcomingInput()+`
1213
+ `+I+"^"},test_match:function(A,I){var q,L,st;if(this.options.backtrack_lexer&&(st={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(st.yylloc.range=this.yylloc.range.slice(0))),L=A[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],q=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),q)return q;if(this._backtrack){for(var T in st)this[T]=st[T];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,I,q,L;this._more||(this.yytext="",this.match="");for(var st=this._currentRules(),T=0;T<st.length;T++)if(q=this._input.match(this.rules[st[T]]),q&&(!I||q[0].length>I[0].length)){if(I=q,L=T,this.options.backtrack_lexer){if(A=this.test_match(q,st[T]),A!==!1)return A;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(A=this.test_match(I,st[L]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1214
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var I=this.next();return I||this.lex()},begin:function(I){this.conditionStack.push(I)},popState:function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},pushState:function(I){this.begin(I)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(I,q,L,st){switch(L){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:break;case 10:break;case 11:return this.begin("acc_title"),39;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),41;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 16;case 19:break;case 20:return 23;case 21:return 23;case 22:return this.begin("struct"),46;case 23:return"EDGE_STATE";case 24:return"EOF_IN_STRUCT";case 25:return"OPEN_IN_STRUCT";case 26:return this.popState(),48;case 27:break;case 28:return"MEMBER";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin("generic");break;case 39:this.popState();break;case 40:return"GENERICTYPE";case 41:this.begin("string");break;case 42:this.popState();break;case 43:return"STR";case 44:this.begin("bqstring");break;case 45:this.popState();break;case 46:return"BQUOTE_STR";case 47:this.begin("href");break;case 48:this.popState();break;case 49:return 73;case 50:this.begin("callback_name");break;case 51:this.popState();break;case 52:this.popState(),this.begin("callback_args");break;case 53:return 71;case 54:this.popState();break;case 55:return 72;case 56:return 69;case 57:return 69;case 58:return 69;case 59:return 69;case 60:return 61;case 61:return 61;case 62:return 63;case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return"DOT";case 73:return"PLUS";case 74:return 83;case 75:return"EQUALS";case 76:return"EQUALS";case 77:return 90;case 78:return"PUNCTUATION";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:\[\*\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},callback_args:{rules:[54,55],inclusive:!1},callback_name:{rules:[51,52,53],inclusive:!1},href:{rules:[48,49],inclusive:!1},struct:{rules:[23,24,25,26,27,28],inclusive:!1},generic:{rules:[39,40],inclusive:!1},bqstring:{rules:[45,46],inclusive:!1},string:{rules:[42,43],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,29,30,31,32,33,34,35,36,37,38,41,44,47,50,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],inclusive:!0}}};return z}();X.lexer=j;function W(){this.yy={}}return W.prototype=X,X.Parser=W,new W}();Sh.parser=Sh;const $0=Sh,c9=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*classDiagram/)!==null},h9=(t,e)=>{var i;return t.match(/^\s*classDiagram/)!==null&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:t.match(/^\s*classDiagram-v2/)!==null},qu="classid-";let Gu=[],Le={},ll=[],K0=0,ga=[];const js=t=>$t.sanitizeText(t,G()),u9=function(t,e,i){be.parseDirective(this,t,e,i)},ya=function(t){let e="",i=t;if(t.indexOf("~")>0){let r=t.split("~");i=r[0],e=$t.sanitizeText(r[1],G())}return{className:i,type:e}},Ah=function(t){let e=ya(t);Le[e.className]===void 0&&(Le[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:qu+e.className+"-"+K0},K0++)},Fp=function(t){const e=Object.keys(Le);for(const i of e)if(Le[i].id===t)return Le[i].domId},d9=function(){Gu=[],Le={},ll=[],ga=[],ga.push(Pp),Ti()},f9=function(t){return Le[t]},p9=function(){return Le},g9=function(){return Gu},y9=function(){return ll},m9=function(t){D.debug("Adding relation: "+JSON.stringify(t)),Ah(t.id1),Ah(t.id2),t.id1=ya(t.id1).className,t.id2=ya(t.id2).className,t.relationTitle1=$t.sanitizeText(t.relationTitle1.trim(),G()),t.relationTitle2=$t.sanitizeText(t.relationTitle2.trim(),G()),Gu.push(t)},b9=function(t,e){const i=ya(t).className;Le[i].annotations.push(e)},Op=function(t,e){const i=ya(t).className,r=Le[i];if(typeof e=="string"){const n=e.trim();n.startsWith("<<")&&n.endsWith(">>")?r.annotations.push(js(n.substring(2,n.length-2))):n.indexOf(")")>0?r.methods.push(js(n)):n&&r.members.push(js(n))}},_9=function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(i=>Op(t,i)))},x9=function(t,e){const i={id:`note${ll.length}`,class:e,text:t};ll.push(i)},v9=function(t){return t.substring(0,1)===":"?$t.sanitizeText(t.substr(1).trim(),G()):js(t.trim())},Xu=function(t,e){t.split(",").forEach(function(i){let r=i;i[0].match(/\d/)&&(r=qu+r),Le[r]!==void 0&&Le[r].cssClasses.push(e)})},k9=function(t,e){const i=G();t.split(",").forEach(function(r){e!==void 0&&(Le[r].tooltip=$t.sanitizeText(e,i))})},w9=function(t){return Le[t].tooltip},T9=function(t,e,i){const r=G();t.split(",").forEach(function(n){let s=n;n[0].match(/\d/)&&(s=qu+s),Le[s]!==void 0&&(Le[s].link=jt.formatUrl(e,r),r.securityLevel==="sandbox"?Le[s].linkTarget="_top":typeof i=="string"?Le[s].linkTarget=js(i):Le[s].linkTarget="_blank")}),Xu(t,"clickable")},E9=function(t,e,i){t.split(",").forEach(function(r){C9(r,e,i),Le[r].haveCallback=!0}),Xu(t,"clickable")},C9=function(t,e,i){const r=G();let n=t,s=Fp(n);if(r.securityLevel==="loose"&&e!==void 0&&Le[n]!==void 0){let a=[];if(typeof i=="string"){a=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let o=0;o<a.length;o++){let l=a[o].trim();l.charAt(0)==='"'&&l.charAt(l.length-1)==='"'&&(l=l.substr(1,l.length-2)),a[o]=l}}a.length===0&&a.push(s),ga.push(function(){const o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",function(){jt.runFunc(e,...a)},!1)})}},S9=function(t){ga.forEach(function(e){e(t)})},A9={LINE:0,DOTTED_LINE:1},L9={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},Pp=function(t){let e=_t(".mermaidTooltip");(e._groups||e)[0][0]===null&&(e=_t("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),_t(t).select("svg").selectAll("g.node").on("mouseover",function(){const n=_t(this);if(n.attr("title")===null)return;const a=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(n.attr("title")).style("left",window.scrollX+a.left+(a.right-a.left)/2+"px").style("top",window.scrollY+a.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),n.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),_t(this).classed("hover",!1)})};ga.push(Pp);let Vp="TB";const B9=()=>Vp,D9=t=>{Vp=t},Gn={parseDirective:u9,setAccTitle:_i,getAccTitle:Ei,getAccDescription:Si,setAccDescription:Ci,getConfig:()=>G().class,addClass:Ah,bindFunctions:S9,clear:d9,getClass:f9,getClasses:p9,getNotes:y9,addAnnotation:b9,addNote:x9,getRelations:g9,addRelation:m9,getDirection:B9,setDirection:D9,addMember:Op,addMembers:_9,cleanupLabel:v9,lineType:A9,relationType:L9,setClickEvent:E9,setCssClass:Xu,setLink:T9,getTooltip:w9,setTooltip:k9,lookUpDomId:Fp,setDiagramTitle:Qi,getDiagramTitle:Zi};let Q0=0;const N9=function(t,e,i,r,n){const s=function(x){switch(x){case n.db.relationType.AGGREGATION:return"aggregation";case n.db.relationType.EXTENSION:return"extension";case n.db.relationType.COMPOSITION:return"composition";case n.db.relationType.DEPENDENCY:return"dependency";case n.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(x=>!Number.isNaN(x.y));const a=e.points,o=bs().x(function(x){return x.x}).y(function(x){return x.y}).curve(os),l=t.append("path").attr("d",o(a)).attr("id","edge"+Q0).attr("class","relation");let h="";r.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),i.relation.lineType==1&&l.attr("class","relation dashed-line"),i.relation.lineType==10&&l.attr("class","relation dotted-line"),i.relation.type1!=="none"&&l.attr("marker-start","url("+h+"#"+s(i.relation.type1)+"Start)"),i.relation.type2!=="none"&&l.attr("marker-end","url("+h+"#"+s(i.relation.type2)+"End)");let u,d;const f=e.points.length;let p=jt.calcLabelPosition(e.points);u=p.x,d=p.y;let m,_,v,w;if(f%2!==0&&f>1){let x=jt.calcCardinalityPosition(i.relation.type1!=="none",e.points,e.points[0]),N=jt.calcCardinalityPosition(i.relation.type2!=="none",e.points,e.points[f-1]);D.debug("cardinality_1_point "+JSON.stringify(x)),D.debug("cardinality_2_point "+JSON.stringify(N)),m=x.x,_=x.y,v=N.x,w=N.y}if(i.title!==void 0){const x=t.append("g").attr("class","classLabel"),N=x.append("text").attr("class","label").attr("x",u).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(i.title);window.label=N;const R=N.node().getBBox();x.insert("rect",":first-child").attr("class","box").attr("x",R.x-r.padding/2).attr("y",R.y-r.padding/2).attr("width",R.width+r.padding).attr("height",R.height+r.padding)}D.info("Rendering relation "+JSON.stringify(i)),i.relationTitle1!==void 0&&i.relationTitle1!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",m).attr("y",_).attr("fill","black").attr("font-size","6").text(i.relationTitle1),i.relationTitle2!==void 0&&i.relationTitle2!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",w).attr("fill","black").attr("font-size","6").text(i.relationTitle2),Q0++},I9=function(t,e,i,r){D.debug("Rendering class ",e,i);const n=e.id,s={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",r.db.lookUpDomId(n)).attr("class","classGroup");let o;e.link?o=a.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",i.textHeight+i.padding).attr("x",0):o=a.append("text").attr("y",i.textHeight+i.padding).attr("x",0);let l=!0;e.annotations.forEach(function(P){const V=o.append("tspan").text("«"+P+"»");l||V.attr("dy",i.textHeight),l=!1});let h=e.id;e.type!==void 0&&e.type!==""&&(h+="<"+e.type+">");const u=o.append("tspan").text(h).attr("class","title");l||u.attr("dy",i.textHeight);const d=o.node().getBBox().height,f=a.append("line").attr("x1",0).attr("y1",i.padding+d+i.dividerMargin/2).attr("y2",i.padding+d+i.dividerMargin/2),p=a.append("text").attr("x",i.padding).attr("y",d+i.dividerMargin+i.textHeight).attr("fill","white").attr("class","classText");l=!0,e.members.forEach(function(P){Z0(p,P,l,i),l=!1});const m=p.node().getBBox(),_=a.append("line").attr("x1",0).attr("y1",i.padding+d+i.dividerMargin+m.height).attr("y2",i.padding+d+i.dividerMargin+m.height),v=a.append("text").attr("x",i.padding).attr("y",d+2*i.dividerMargin+m.height+i.textHeight).attr("fill","white").attr("class","classText");l=!0,e.methods.forEach(function(P){Z0(v,P,l,i),l=!1});const w=a.node().getBBox();var x=" ";e.cssClasses.length>0&&(x=x+e.cssClasses.join(" "));const R=a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",w.width+2*i.padding).attr("height",w.height+i.padding+.5*i.dividerMargin).attr("class",x).node().getBBox().width;return o.node().childNodes.forEach(function(P){P.setAttribute("x",(R-P.getBBox().width)/2)}),e.tooltip&&o.insert("title").text(e.tooltip),f.attr("x2",R),_.attr("x2",R),s.width=R,s.height=w.height+i.padding+.5*i.dividerMargin,s},M9=function(t,e,i,r){D.debug("Rendering note ",e,i);const n=e.id,s={id:n,text:e.text,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup");let o=a.append("text").attr("y",i.textHeight+i.padding).attr("x",0);const l=JSON.parse(`"${e.text}"`).split(`
1215
+ `);l.forEach(function(f){D.debug(`Adding line: ${f}`),o.append("tspan").text(f).attr("class","title").attr("dy",i.textHeight)});const h=a.node().getBBox(),d=a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*i.padding).attr("height",h.height+l.length*i.textHeight+i.padding+.5*i.dividerMargin).node().getBBox().width;return o.node().childNodes.forEach(function(f){f.setAttribute("x",(d-f.getBBox().width)/2)}),s.width=d,s.height=h.height+l.length*i.textHeight+i.padding+.5*i.dividerMargin,s},cl=function(t){const e=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,i=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let r=t.match(e),n=t.match(i);return r&&!n?R9(r):n?F9(n):O9(t)},R9=function(t){let e="",i="";try{let r=t[1]?t[1].trim():"",n=t[2]?t[2].trim():"",s=t[3]?$r(t[3].trim()):"",a=t[4]?t[4].trim():"",o=t[5]?t[5].trim():"";i=r+n+s+" "+a,e=ju(o)}catch{i=t}return{displayText:i,cssStyle:e}},F9=function(t){let e="",i="";try{let r=t[1]?t[1].trim():"",n=t[2]?t[2].trim():"",s=t[3]?$r(t[3].trim()):"",a=t[4]?t[4].trim():"",o=t[5]?" : "+$r(t[5]).trim():"";i=r+n+"("+s+")"+o,e=ju(a)}catch{i=t}return{displayText:i,cssStyle:e}},O9=function(t){let e="",i="",r="",n=t.indexOf("("),s=t.indexOf(")");if(n>1&&s>n&&s<=t.length){let a="",o="",l=t.substring(0,1);l.match(/\w/)?o=t.substring(0,n).trim():(l.match(/[#+~-]/)&&(a=l),o=t.substring(1,n).trim());const h=t.substring(n+1,s);t.substring(s+1,1),i=ju(t.substring(s+1,s+2)),e=a+o+"("+$r(h.trim())+")",s<t.length&&(r=t.substring(s+2).trim(),r!==""&&(r=" : "+$r(r),e+=r))}else e=$r(t);return{displayText:e,cssStyle:i}},Z0=function(t,e,i,r){let n=cl(e);const s=t.append("tspan").attr("x",r.padding).text(n.displayText);n.cssStyle!==""&&s.attr("style",n.cssStyle),i||s.attr("dy",r.textHeight)},ju=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},Oc={drawClass:I9,drawEdge:N9,drawNote:M9,parseMember:cl};let po={};const Ka=20,Ds=function(t){const e=Object.entries(po).find(i=>i[1].label===t);if(e)return e[0]},P9=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},V9=function(t,e,i,r){const n=G().class;po={},D.info("Rendering diagram "+t);const s=G().securityLevel;let a;s==="sandbox"&&(a=_t("#i"+e));const o=_t(s==="sandbox"?a.nodes()[0].contentDocument.body:"body"),l=o.select(`[id='${e}']`);P9(l);const h=new Re({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});const u=r.db.getClasses(),d=Object.keys(u);for(const x of d){const N=u[x],R=Oc.drawClass(l,N,n,r);po[R.id]=R,h.setNode(R.id,R),D.info("Org height: "+R.height)}r.db.getRelations().forEach(function(x){D.info("tjoho"+Ds(x.id1)+Ds(x.id2)+JSON.stringify(x)),h.setEdge(Ds(x.id1),Ds(x.id2),{relation:x},x.title||"DEFAULT")}),r.db.getNotes().forEach(function(x){D.debug(`Adding note: ${JSON.stringify(x)}`);const N=Oc.drawNote(l,x,n,r);po[N.id]=N,h.setNode(N.id,N),x.class&&x.class in u&&h.setEdge(x.id,Ds(x.class),{relation:{id1:x.id,id2:x.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),xs(h),h.nodes().forEach(function(x){x!==void 0&&h.node(x)!==void 0&&(D.debug("Node "+x+": "+JSON.stringify(h.node(x))),o.select("#"+(r.db.lookUpDomId(x)||x)).attr("transform","translate("+(h.node(x).x-h.node(x).width/2)+","+(h.node(x).y-h.node(x).height/2)+" )"))}),h.edges().forEach(function(x){x!==void 0&&h.edge(x)!==void 0&&(D.debug("Edge "+x.v+" -> "+x.w+": "+JSON.stringify(h.edge(x))),Oc.drawEdge(l,h.edge(x),h.edge(x).relation,n,r))});const m=l.node().getBBox(),_=m.width+Ka*2,v=m.height+Ka*2;Ki(l,v,_,n.useMaxWidth);const w=`${m.x-Ka} ${m.y-Ka} ${_} ${v}`;D.debug(`viewBox ${w}`),l.attr("viewBox",w)},Y9={draw:V9},z9=(t,e,i,r)=>{e.forEach(n=>{Q9[n](t,i,r)})},U9=(t,e,i)=>{D.trace("Making markers for ",i),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},W9=(t,e)=>{t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},H9=(t,e)=>{t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},q9=(t,e)=>{t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},G9=(t,e)=>{t.append("defs").append("marker").attr("id",e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},X9=(t,e)=>{t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},j9=(t,e)=>{t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},$9=(t,e)=>{t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},K9=(t,e)=>{t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Q9={extension:U9,composition:W9,aggregation:H9,dependency:q9,lollipop:G9,point:X9,circle:j9,cross:$9,barb:K9},Z9=z9;function J9(t,e){e&&t.attr("style",e)}function tS(t){const e=_t(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=e.append("xhtml:div"),r=t.label,n=t.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+n+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+r+"</span>"),J9(i,t.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}const eS=(t,e,i,r)=>{let n=t||"";if(typeof n=="object"&&(n=n[0]),Xe(G().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"<br />"),D.info("vertexText"+n);const s={isNode:r,label:x1(n).replace(/fa[blrs]?:fa-[\w-]+/g,o=>`<i class='${o.replace(":"," ")}'></i>`),labelStyle:e.replace("fill:","color:")};return tS(s)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));let a=[];typeof n=="string"?a=n.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(n)?a=n:a=[];for(const o of a){const l=document.createElementNS("http://www.w3.org/2000/svg","tspan");l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),l.setAttribute("dy","1em"),l.setAttribute("x","0"),i?l.setAttribute("class","title-row"):l.setAttribute("class","row"),l.textContent=o.trim(),s.appendChild(l)}return s}},gi=eS,ni=(t,e,i,r)=>{let n;i?n=i:n="node default";const s=t.insert("g").attr("class",n).attr("id",e.domId||e.id),a=s.insert("g").attr("class","label").attr("style",e.labelStyle);let o;e.labelText===void 0?o="":o=typeof e.labelText=="string"?e.labelText:e.labelText[0];const l=a.node().appendChild(gi(Fi(x1(o),G()),e.labelStyle,!1,r));let h=l.getBBox();if(Xe(G().flowchart.htmlLabels)){const d=l.children[0],f=_t(l);h=d.getBoundingClientRect(),f.attr("width",h.width),f.attr("height",h.height)}const u=e.padding/2;return a.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),{shapeSvg:s,bbox:h,halfPadding:u,label:a}},Be=(t,e)=>{const i=e.node().getBBox();t.width=i.width,t.height=i.height};function Ur(t,e,i,r){return t.insert("polygon",":first-child").attr("points",r.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+i/2+")")}let ce={},Wi={},Yp={};const iS=()=>{Wi={},Yp={},ce={}},hl=(t,e)=>(D.trace("In isDecendant",e," ",t," = ",Wi[e].includes(t)),!!Wi[e].includes(t)),rS=(t,e)=>(D.info("Decendants of ",e," is ",Wi[e]),D.info("Edge is ",t),t.v===e||t.w===e?!1:Wi[e]?Wi[e].includes(t.v)||hl(t.v,e)||hl(t.w,e)||Wi[e].includes(t.w):(D.debug("Tilt, ",e,",not in decendants"),!1)),zp=(t,e,i,r)=>{D.warn("Copying children of ",t,"root",r,"data",e.node(t),r);const n=e.children(t)||[];t!==r&&n.push(t),D.warn("Copying (nodes) clusterId",t,"nodes",n),n.forEach(s=>{if(e.children(s).length>0)zp(s,e,i,r);else{const a=e.node(s);D.info("cp ",s," to ",r," with parent ",t),i.setNode(s,a),r!==e.parent(s)&&(D.warn("Setting parent",s,e.parent(s)),i.setParent(s,e.parent(s))),t!==r&&s!==t?(D.debug("Setting parent",s,t),i.setParent(s,t)):(D.info("In copy ",t,"root",r,"data",e.node(t),r),D.debug("Not Setting parent for node=",s,"cluster!==rootId",t!==r,"node!==clusterId",s!==t));const o=e.edges(s);D.debug("Copying Edges",o),o.forEach(l=>{D.info("Edge",l);const h=e.edge(l.v,l.w,l.name);D.info("Edge data",h,r);try{rS(l,r)?(D.info("Copying as ",l.v,l.w,h,l.name),i.setEdge(l.v,l.w,h,l.name),D.info("newGraph edges ",i.edges(),i.edge(i.edges()[0]))):D.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",r," clusterId:",t)}catch(u){D.error(u)}})}D.debug("Removing node",s),e.removeNode(s)})},Up=(t,e)=>{const i=e.children(t);let r=[...i];for(const n of i)Yp[n]=t,r=[...r,...Up(n,e)];return r},ma=(t,e)=>{D.trace("Searching",t);const i=e.children(t);if(D.trace("Searching children of id ",t,i),i.length<1)return D.trace("This is a valid node",t),t;for(const r of i){const n=ma(r,e);if(n)return D.trace("Found replacement for",t," => ",n),n}},Qa=t=>!ce[t]||!ce[t].externalConnections?t:ce[t]?ce[t].id:t,nS=(t,e)=>{if(!t||e>10){D.debug("Opting out, no graph ");return}else D.debug("Opting in, graph ");t.nodes().forEach(function(i){t.children(i).length>0&&(D.warn("Cluster identified",i," Replacement id in edges: ",ma(i,t)),Wi[i]=Up(i,t),ce[i]={id:ma(i,t),clusterData:t.node(i)})}),t.nodes().forEach(function(i){const r=t.children(i),n=t.edges();r.length>0?(D.debug("Cluster identified",i,Wi),n.forEach(s=>{if(s.v!==i&&s.w!==i){const a=hl(s.v,i),o=hl(s.w,i);a^o&&(D.warn("Edge: ",s," leaves cluster ",i),D.warn("Decendants of XXX ",i,": ",Wi[i]),ce[i].externalConnections=!0)}})):D.debug("Not a cluster ",i,Wi)}),t.edges().forEach(function(i){const r=t.edge(i);D.warn("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(i)),D.warn("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(t.edge(i)));let n=i.v,s=i.w;if(D.warn("Fix XXX",ce,"ids:",i.v,i.w,"Translating: ",ce[i.v]," --- ",ce[i.w]),ce[i.v]&&ce[i.w]&&ce[i.v]===ce[i.w]){D.warn("Fixing and trixing link to self - removing XXX",i.v,i.w,i.name),D.warn("Fixing and trixing - removing XXX",i.v,i.w,i.name),n=Qa(i.v),s=Qa(i.w),t.removeEdge(i.v,i.w,i.name);const a=i.w+"---"+i.v;t.setNode(a,{domId:a,id:a,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const o=JSON.parse(JSON.stringify(r)),l=JSON.parse(JSON.stringify(r));o.label="",o.arrowTypeEnd="none",l.label="",o.fromCluster=i.v,l.toCluster=i.v,t.setEdge(n,a,o,i.name+"-cyclic-special"),t.setEdge(a,s,l,i.name+"-cyclic-special")}else(ce[i.v]||ce[i.w])&&(D.warn("Fixing and trixing - removing XXX",i.v,i.w,i.name),n=Qa(i.v),s=Qa(i.w),t.removeEdge(i.v,i.w,i.name),n!==i.v&&(r.fromCluster=i.v),s!==i.w&&(r.toCluster=i.w),D.warn("Fix Replacing with XXX",n,s,i.name),t.setEdge(n,s,r,i.name))}),D.warn("Adjusted Graph",Dr(t)),Wp(t,0),D.trace(ce)},Wp=(t,e)=>{if(D.warn("extractor - ",e,Dr(t),t.children("D")),e>10){D.error("Bailing out");return}let i=t.nodes(),r=!1;for(const n of i){const s=t.children(n);r=r||s.length>0}if(!r){D.debug("Done, no node has children",t.nodes());return}D.debug("Nodes = ",i,e);for(const n of i)if(D.debug("Extracting node",n,ce,ce[n]&&!ce[n].externalConnections,!t.parent(n),t.node(n),t.children("D")," Depth ",e),!ce[n])D.debug("Not a cluster",n,e);else if(!ce[n].externalConnections&&t.children(n)&&t.children(n).length>0){D.warn("Cluster without external connections, without a parent and with children",n,e);let a=t.graph().rankdir==="TB"?"LR":"TB";ce[n]&&ce[n].clusterData&&ce[n].clusterData.dir&&(a=ce[n].clusterData.dir,D.warn("Fixing dir",ce[n].clusterData.dir,a));const o=new Re({multigraph:!0,compound:!0}).setGraph({rankdir:a,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});D.warn("Old graph before copy",Dr(t)),zp(n,t,o,n),t.setNode(n,{clusterNode:!0,id:n,clusterData:ce[n].clusterData,labelText:ce[n].labelText,graph:o}),D.warn("New graph after copy node: (",n,")",Dr(o)),D.debug("Old graph after copy",Dr(t))}else D.warn("Cluster ** ",n," **not meeting the criteria !externalConnections:",!ce[n].externalConnections," no parent: ",!t.parent(n)," children ",t.children(n)&&t.children(n).length>0,t.children("D"),e),D.debug(ce);i=t.nodes(),D.warn("New list of nodes",i);for(const n of i){const s=t.node(n);D.warn(" Now next level",n,s),s.clusterNode&&Wp(s.graph,e+1)}},Hp=(t,e)=>{if(e.length===0)return[];let i=Object.assign(e);return e.forEach(r=>{const n=t.children(r),s=Hp(t,n);i=[...i,...s]}),i},sS=t=>Hp(t,t.children());function aS(t,e){return t.intersect(e)}function qp(t,e,i,r){var n=t.x,s=t.y,a=n-r.x,o=s-r.y,l=Math.sqrt(e*e*o*o+i*i*a*a),h=Math.abs(e*i*a/l);r.x<n&&(h=-h);var u=Math.abs(e*i*o/l);return r.y<s&&(u=-u),{x:n+h,y:s+u}}function oS(t,e,i){return qp(t,e,e,i)}function lS(t,e,i,r){var n,s,a,o,l,h,u,d,f,p,m,_,v,w,x;if(n=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,f=n*i.x+a*i.y+l,p=n*r.x+a*r.y+l,!(f!==0&&p!==0&&J0(f,p))&&(s=r.y-i.y,o=i.x-r.x,h=r.x*i.y-i.x*r.y,u=s*t.x+o*t.y+h,d=s*e.x+o*e.y+h,!(u!==0&&d!==0&&J0(u,d))&&(m=n*o-s*a,m!==0)))return _=Math.abs(m/2),v=a*h-o*l,w=v<0?(v-_)/m:(v+_)/m,v=s*l-n*h,x=v<0?(v-_)/m:(v+_)/m,{x:w,y:x}}function J0(t,e){return t*e>0}function cS(t,e,i){var r=t.x,n=t.y,s=[],a=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(m){a=Math.min(a,m.x),o=Math.min(o,m.y)}):(a=Math.min(a,e.x),o=Math.min(o,e.y));for(var l=r-t.width/2-a,h=n-t.height/2-o,u=0;u<e.length;u++){var d=e[u],f=e[u<e.length-1?u+1:0],p=lS(t,i,{x:l+d.x,y:h+d.y},{x:l+f.x,y:h+f.y});p&&s.push(p)}return s.length?(s.length>1&&s.sort(function(m,_){var v=m.x-i.x,w=m.y-i.y,x=Math.sqrt(v*v+w*w),N=_.x-i.x,R=_.y-i.y,P=Math.sqrt(N*N+R*R);return x<P?-1:x===P?0:1}),s[0]):t}const hS=(t,e)=>{var i=t.x,r=t.y,n=e.x-i,s=e.y-r,a=t.width/2,o=t.height/2,l,h;return Math.abs(s)*a>Math.abs(n)*o?(s<0&&(o=-o),l=s===0?0:o*n/s,h=o):(n<0&&(a=-a),l=a,h=n===0?0:a*s/n),{x:i+l,y:r+h}},Da=hS,we={node:aS,circle:oS,ellipse:qp,polygon:cS,rect:Da},uS=(t,e)=>{const{shapeSvg:i,bbox:r,halfPadding:n}=ni(t,e,"node "+e.classes,!0);D.info("Classes = ",e.classes);const s=i.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-r.width/2-n).attr("y",-r.height/2-n).attr("width",r.width+e.padding).attr("height",r.height+e.padding),Be(e,s),e.intersect=function(a){return we.rect(e,a)},i},dS=uS,td=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=n+s,o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];D.info("Question main (Circle)");const l=Ur(i,a,a,o);return l.attr("style",e.style),Be(e,l),e.intersect=function(h){return D.warn("Intersect called"),we.polygon(e,o,h)},i},fS=(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=28,n=[{x:0,y:r/2},{x:r/2,y:0},{x:0,y:-r/2},{x:-r/2,y:0}];return i.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(a){return we.circle(e,14,a)},i},pS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=4,s=r.height+e.padding,a=s/n,o=r.width+2*a+e.padding,l=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-s/2},{x:o-a,y:-s},{x:a,y:-s},{x:0,y:-s/2}],h=Ur(i,o,s,l);return h.attr("style",e.style),Be(e,h),e.intersect=function(u){return we.polygon(e,l,u)},i},gS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-s/2,y:0},{x:n,y:0},{x:n,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return Ur(i,n,s,a).attr("style",e.style),e.width=n+s,e.height=s,e.intersect=function(l){return we.polygon(e,a,l)},i},yS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-2*s/6,y:0},{x:n-s/6,y:0},{x:n+2*s/6,y:-s},{x:s/6,y:-s}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},mS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:2*s/6,y:0},{x:n+s/6,y:0},{x:n-2*s/6,y:-s},{x:-s/6,y:-s}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},bS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-2*s/6,y:0},{x:n+2*s/6,y:0},{x:n-s/6,y:-s},{x:s/6,y:-s}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},_S=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:s/6,y:0},{x:n-s/6,y:0},{x:n+2*s/6,y:-s},{x:-2*s/6,y:-s}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},xS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:0,y:0},{x:n+s/2,y:0},{x:n,y:-s/2},{x:n+s/2,y:-s},{x:0,y:-s}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},vS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=n/2,a=s/(2.5+n/50),o=r.height+a+e.padding,l="M 0,"+a+" a "+s+","+a+" 0,0,0 "+n+" 0 a "+s+","+a+" 0,0,0 "+-n+" 0 l 0,"+o+" a "+s+","+a+" 0,0,0 "+n+" 0 l 0,"+-o,h=i.attr("label-offset-y",a).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-n/2+","+-(o/2+a)+")");return Be(e,h),e.intersect=function(u){const d=we.rect(e,u),f=d.x-e.x;if(s!=0&&(Math.abs(f)<e.width/2||Math.abs(f)==e.width/2&&Math.abs(d.y-e.y)>e.height/2-a)){let p=a*a*(1-f*f/(s*s));p!=0&&(p=Math.sqrt(p)),p=a-p,u.y-e.y>0&&(p=-p),d.y+=p}return d},i},kS=(t,e)=>{const{shapeSvg:i,bbox:r,halfPadding:n}=ni(t,e,"node "+e.classes,!0);D.trace("Classes = ",e.classes);const s=i.insert("rect",":first-child"),a=r.width+e.padding,o=r.height+e.padding;if(s.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-r.width/2-n).attr("y",-r.height/2-n).attr("width",a).attr("height",o),e.props){const l=new Set(Object.keys(e.props));e.props.borders&&(Gp(s,e.props.borders,a,o),l.delete("borders")),l.forEach(h=>{D.warn(`Unknown node property ${h}`)})}return Be(e,s),e.intersect=function(l){return we.rect(e,l)},i},wS=(t,e)=>{const{shapeSvg:i}=ni(t,e,"label",!0);D.trace("Classes = ",e.classes);const r=i.insert("rect",":first-child"),n=0,s=0;if(r.attr("width",n).attr("height",s),i.attr("class","label edgeLabel"),e.props){const a=new Set(Object.keys(e.props));e.props.borders&&(Gp(r,e.props.borders,n,s),a.delete("borders")),a.forEach(o=>{D.warn(`Unknown node property ${o}`)})}return Be(e,r),e.intersect=function(a){return we.rect(e,a)},i};function Gp(t,e,i,r){const n=[],s=o=>{n.push(o,0)},a=o=>{n.push(0,o)};e.includes("t")?(D.debug("add top border"),s(i)):a(i),e.includes("r")?(D.debug("add right border"),s(r)):a(r),e.includes("b")?(D.debug("add bottom border"),s(i)):a(i),e.includes("l")?(D.debug("add left border"),s(r)):a(r),t.attr("stroke-dasharray",n.join(" "))}const TS=(t,e)=>{let i;e.classes?i="node "+e.classes:i="node default";const r=t.insert("g").attr("class",i).attr("id",e.domId||e.id),n=r.insert("rect",":first-child"),s=r.insert("line"),a=r.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,D.info("Label text abc79",l,o,typeof o=="object");const h=a.node().appendChild(gi(l,e.labelStyle,!0,!0));let u={width:0,height:0};if(Xe(G().flowchart.htmlLabels)){const _=h.children[0],v=_t(h);u=_.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}D.info("Text 2",o);const d=o.slice(1,o.length);let f=h.getBBox();const p=a.node().appendChild(gi(d.join?d.join("<br/>"):d,e.labelStyle,!0,!0));if(Xe(G().flowchart.htmlLabels)){const _=p.children[0],v=_t(p);u=_.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}const m=e.padding/2;return _t(p).attr("transform","translate( "+(u.width>f.width?0:(f.width-u.width)/2)+", "+(f.height+m+5)+")"),_t(h).attr("transform","translate( "+(u.width<f.width?0:-(f.width-u.width)/2)+", 0)"),u=a.node().getBBox(),a.attr("transform","translate("+-u.width/2+", "+(-u.height/2-m+3)+")"),n.attr("class","outer title-state").attr("x",-u.width/2-m).attr("y",-u.height/2-m).attr("width",u.width+e.padding).attr("height",u.height+e.padding),s.attr("class","divider").attr("x1",-u.width/2-m).attr("x2",u.width/2+m).attr("y1",-u.height/2-m+f.height+m).attr("y2",-u.height/2-m+f.height+m),Be(e,n),e.intersect=function(_){return we.rect(e,_)},r},ES=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.height+e.padding,s=r.width+n/4+e.padding,a=i.insert("rect",":first-child").attr("style",e.style).attr("rx",n/2).attr("ry",n/2).attr("x",-s/2).attr("y",-n/2).attr("width",s).attr("height",n);return Be(e,a),e.intersect=function(o){return we.rect(e,o)},i},CS=(t,e)=>{const{shapeSvg:i,bbox:r,halfPadding:n}=ni(t,e,void 0,!0),s=i.insert("circle",":first-child");return s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+n).attr("width",r.width+e.padding).attr("height",r.height+e.padding),D.info("Circle main"),Be(e,s),e.intersect=function(a){return D.info("Circle intersect",e,r.width/2+n,a),we.circle(e,r.width/2+n,a)},i},SS=(t,e)=>{const{shapeSvg:i,bbox:r,halfPadding:n}=ni(t,e,void 0,!0),s=5,a=i.insert("g",":first-child"),o=a.insert("circle"),l=a.insert("circle");return o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+n+s).attr("width",r.width+e.padding+s*2).attr("height",r.height+e.padding+s*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+n).attr("width",r.width+e.padding).attr("height",r.height+e.padding),D.info("DoubleCircle main"),Be(e,o),e.intersect=function(h){return D.info("DoubleCircle intersect",e,r.width/2+n+s,h),we.circle(e,r.width/2+n+s,h)},i},AS=(t,e)=>{const{shapeSvg:i,bbox:r}=ni(t,e,void 0,!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:0,y:0},{x:n,y:0},{x:n,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],o=Ur(i,n,s,a);return o.attr("style",e.style),Be(e,o),e.intersect=function(l){return we.polygon(e,a,l)},i},LS=(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Be(e,r),e.intersect=function(n){return we.circle(e,7,n)},i},ed=(t,e,i)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let n=70,s=10;i==="LR"&&(n=10,s=70);const a=r.append("rect").attr("x",-1*n/2).attr("y",-1*s/2).attr("width",n).attr("height",s).attr("class","fork-join");return Be(e,a),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return we.rect(e,o)},r},BS=(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child"),n=i.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Be(e,n),e.intersect=function(s){return we.circle(e,7,s)},i},DS=(t,e)=>{const i=e.padding/2,r=4,n=8;let s;e.classes?s="node "+e.classes:s="node default";const a=t.insert("g").attr("class",s).attr("id",e.domId||e.id),o=a.insert("rect",":first-child"),l=a.insert("line"),h=a.insert("line");let u=0,d=r;const f=a.insert("g").attr("class","label");let p=0;const m=e.classData.annotations&&e.classData.annotations[0],_=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",v=f.node().appendChild(gi(_,e.labelStyle,!0,!0));let w=v.getBBox();if(Xe(G().flowchart.htmlLabels)){const O=v.children[0],C=_t(v);w=O.getBoundingClientRect(),C.attr("width",w.width),C.attr("height",w.height)}e.classData.annotations[0]&&(d+=w.height+r,u+=w.width);let x=e.classData.id;e.classData.type!==void 0&&e.classData.type!==""&&(G().flowchart.htmlLabels?x+="&lt;"+e.classData.type+"&gt;":x+="<"+e.classData.type+">");const N=f.node().appendChild(gi(x,e.labelStyle,!0,!0));_t(N).attr("class","classTitle");let R=N.getBBox();if(Xe(G().flowchart.htmlLabels)){const O=N.children[0],C=_t(N);R=O.getBoundingClientRect(),C.attr("width",R.width),C.attr("height",R.height)}d+=R.height+r,R.width>u&&(u=R.width);const P=[];e.classData.members.forEach(O=>{const C=cl(O);let S=C.displayText;G().flowchart.htmlLabels&&(S=S.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const E=f.node().appendChild(gi(S,C.cssStyle?C.cssStyle:e.labelStyle,!0,!0));let b=E.getBBox();if(Xe(G().flowchart.htmlLabels)){const k=E.children[0],g=_t(E);b=k.getBoundingClientRect(),g.attr("width",b.width),g.attr("height",b.height)}b.width>u&&(u=b.width),d+=b.height+r,P.push(E)}),d+=n;const V=[];if(e.classData.methods.forEach(O=>{const C=cl(O);let S=C.displayText;G().flowchart.htmlLabels&&(S=S.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const E=f.node().appendChild(gi(S,C.cssStyle?C.cssStyle:e.labelStyle,!0,!0));let b=E.getBBox();if(Xe(G().flowchart.htmlLabels)){const k=E.children[0],g=_t(E);b=k.getBoundingClientRect(),g.attr("width",b.width),g.attr("height",b.height)}b.width>u&&(u=b.width),d+=b.height+r,V.push(E)}),d+=n,m){let O=(u-w.width)/2;_t(v).attr("transform","translate( "+(-1*u/2+O)+", "+-1*d/2+")"),p=w.height+r}let F=(u-R.width)/2;return _t(N).attr("transform","translate( "+(-1*u/2+F)+", "+(-1*d/2+p)+")"),p+=R.height+r,l.attr("class","divider").attr("x1",-u/2-i).attr("x2",u/2+i).attr("y1",-d/2-i+n+p).attr("y2",-d/2-i+n+p),p+=n,P.forEach(O=>{_t(O).attr("transform","translate( "+-u/2+", "+(-1*d/2+p+n/2)+")"),p+=R.height+r}),p+=n,h.attr("class","divider").attr("x1",-u/2-i).attr("x2",u/2+i).attr("y1",-d/2-i+n+p).attr("y2",-d/2-i+n+p),p+=n,V.forEach(O=>{_t(O).attr("transform","translate( "+-u/2+", "+(-1*d/2+p)+")"),p+=R.height+r}),o.attr("class","outer title-state").attr("x",-u/2-i).attr("y",-(d/2)-i).attr("width",u+e.padding).attr("height",d+e.padding),Be(e,o),e.intersect=function(O){return we.rect(e,O)},a},id={rhombus:td,question:td,rect:kS,labelRect:wS,rectWithTitle:TS,choice:fS,circle:CS,doublecircle:SS,stadium:ES,hexagon:pS,rect_left_inv_arrow:gS,lean_right:yS,lean_left:mS,trapezoid:bS,inv_trapezoid:_S,rect_right_inv_arrow:xS,cylinder:vS,start:LS,end:BS,note:dS,subroutine:AS,fork:ed,join:ed,class_box:DS};let Zn={};const NS=(t,e,i)=>{let r,n;if(e.link){let s;G().securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s),n=id[e.shape](r,e,i)}else n=id[e.shape](t,e,i),r=n;return e.tooltip&&n.attr("title",e.tooltip),e.class&&n.attr("class","node default "+e.class),Zn[e.id]=r,e.haveCallback&&Zn[e.id].attr("class",Zn[e.id].attr("class")+" clickable"),r},IS=(t,e)=>{Zn[e.id]=t},MS=()=>{Zn={}},rd=t=>{const e=Zn[t.id];D.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const i=8,r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-i)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},RS=(t,e)=>{D.trace("Creating subgraph rect for ",e.id,e);const i=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),r=i.insert("rect",":first-child"),n=i.insert("g").attr("class","cluster-label"),s=n.node().appendChild(gi(e.labelText,e.labelStyle,void 0,!0));let a=s.getBBox();if(Xe(G().flowchart.htmlLabels)){const d=s.children[0],f=_t(s);a=d.getBoundingClientRect(),f.attr("width",a.width),f.attr("height",a.height)}const o=0*e.padding,l=o/2,h=e.width<=a.width+o?a.width+o:e.width;e.width<=a.width+o?e.diff=(a.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,D.trace("Data ",e,JSON.stringify(e)),r.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-h/2).attr("y",e.y-e.height/2-l).attr("width",h).attr("height",e.height+o),n.attr("transform","translate("+(e.x-a.width/2)+", "+(e.y-e.height/2)+")");const u=r.node().getBBox();return e.width=u.width,e.height=u.height,e.intersect=function(d){return Da(e,d)},i},FS=(t,e)=>{const i=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=i.insert("rect",":first-child"),n=0*e.padding,s=n/2;r.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-s).attr("y",e.y-e.height/2-s).attr("width",e.width+n).attr("height",e.height+n).attr("fill","none");const a=r.node().getBBox();return e.width=a.width,e.height=a.height,e.intersect=function(o){return Da(e,o)},i},OS=(t,e)=>{const i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),n=i.insert("g").attr("class","cluster-label"),s=i.append("rect"),a=n.node().appendChild(gi(e.labelText,e.labelStyle,void 0,!0));let o=a.getBBox();if(Xe(G().flowchart.htmlLabels)){const f=a.children[0],p=_t(a);o=f.getBoundingClientRect(),p.attr("width",o.width),p.attr("height",o.height)}o=a.getBBox();const l=0*e.padding,h=l/2,u=e.width<=o.width+e.padding?o.width+e.padding:e.width;e.width<=o.width+e.padding?e.diff=(o.width+e.padding*0-e.width)/2:e.diff=-e.padding/2,r.attr("class","outer").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h).attr("width",u+l).attr("height",e.height+l),s.attr("class","inner").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h+o.height-1).attr("width",u+l).attr("height",e.height+l-o.height-3),n.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2-e.padding/3+(Xe(G().flowchart.htmlLabels)?5:3))+")");const d=r.node().getBBox();return e.height=d.height,e.intersect=function(f){return Da(e,f)},i},PS=(t,e)=>{const i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),n=0*e.padding,s=n/2;r.attr("class","divider").attr("x",e.x-e.width/2-s).attr("y",e.y-e.height/2).attr("width",e.width+n).attr("height",e.height+n);const a=r.node().getBBox();return e.width=a.width,e.height=a.height,e.diff=-e.padding/2,e.intersect=function(o){return Da(e,o)},i},VS={rect:RS,roundedWithTitle:OS,noteGroup:FS,divider:PS};let Xp={};const YS=(t,e)=>{D.trace("Inserting cluster");const i=e.shape||"rect";Xp[e.id]=VS[i](t,e)},zS=()=>{Xp={}};let ul={},Ke={};const US=()=>{ul={},Ke={}},WS=(t,e)=>{const i=gi(e.label,e.labelStyle),r=t.insert("g").attr("class","edgeLabel"),n=r.insert("g").attr("class","label");n.node().appendChild(i);let s=i.getBBox();if(Xe(G().flowchart.htmlLabels)){const o=i.children[0],l=_t(i);s=o.getBoundingClientRect(),l.attr("width",s.width),l.attr("height",s.height)}n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),ul[e.id]=r,e.width=s.width,e.height=s.height;let a;if(e.startLabelLeft){const o=gi(e.startLabelLeft,e.labelStyle),l=t.insert("g").attr("class","edgeTerminals"),h=l.insert("g").attr("class","inner");a=h.node().appendChild(o);const u=o.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),Ke[e.id]||(Ke[e.id]={}),Ke[e.id].startLeft=l,Za(a,e.startLabelLeft)}if(e.startLabelRight){const o=gi(e.startLabelRight,e.labelStyle),l=t.insert("g").attr("class","edgeTerminals"),h=l.insert("g").attr("class","inner");a=l.node().appendChild(o),h.node().appendChild(o);const u=o.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),Ke[e.id]||(Ke[e.id]={}),Ke[e.id].startRight=l,Za(a,e.startLabelRight)}if(e.endLabelLeft){const o=gi(e.endLabelLeft,e.labelStyle),l=t.insert("g").attr("class","edgeTerminals"),h=l.insert("g").attr("class","inner");a=h.node().appendChild(o);const u=o.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),l.node().appendChild(o),Ke[e.id]||(Ke[e.id]={}),Ke[e.id].endLeft=l,Za(a,e.endLabelLeft)}if(e.endLabelRight){const o=gi(e.endLabelRight,e.labelStyle),l=t.insert("g").attr("class","edgeTerminals"),h=l.insert("g").attr("class","inner");a=h.node().appendChild(o);const u=o.getBBox();h.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),l.node().appendChild(o),Ke[e.id]||(Ke[e.id]={}),Ke[e.id].endRight=l,Za(a,e.endLabelRight)}return i};function Za(t,e){G().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}const HS=(t,e)=>{D.info("Moving label abc78 ",t.id,t.label,ul[t.id]);let i=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){const r=ul[t.id];let n=t.x,s=t.y;if(i){const a=jt.calcLabelPosition(i);D.info("Moving label "+t.label+" from (",n,",",s,") to (",a.x,",",a.y,") abc78"),e.updatedPath&&(n=a.x,s=a.y)}r.attr("transform","translate("+n+", "+s+")")}if(t.startLabelLeft){const r=Ke[t.id].startLeft;let n=t.x,s=t.y;if(i){const a=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",i);n=a.x,s=a.y}r.attr("transform","translate("+n+", "+s+")")}if(t.startLabelRight){const r=Ke[t.id].startRight;let n=t.x,s=t.y;if(i){const a=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",i);n=a.x,s=a.y}r.attr("transform","translate("+n+", "+s+")")}if(t.endLabelLeft){const r=Ke[t.id].endLeft;let n=t.x,s=t.y;if(i){const a=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",i);n=a.x,s=a.y}r.attr("transform","translate("+n+", "+s+")")}if(t.endLabelRight){const r=Ke[t.id].endRight;let n=t.x,s=t.y;if(i){const a=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",i);n=a.x,s=a.y}r.attr("transform","translate("+n+", "+s+")")}},qS=(t,e)=>{const i=t.x,r=t.y,n=Math.abs(e.x-i),s=Math.abs(e.y-r),a=t.width/2,o=t.height/2;return n>=a||s>=o},GS=(t,e,i)=>{D.warn(`intersection calc abc89:
1216
+ outsidePoint: ${JSON.stringify(e)}
1217
+ insidePoint : ${JSON.stringify(i)}
1218
+ node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const r=t.x,n=t.y,s=Math.abs(r-i.x),a=t.width/2;let o=i.x<e.x?a-s:a+s;const l=t.height/2,h=Math.abs(e.y-i.y),u=Math.abs(e.x-i.x);if(Math.abs(n-e.y)*a>Math.abs(r-e.x)*l){let d=i.y<e.y?e.y-l-n:n-l-e.y;o=u*d/h;const f={x:i.x<e.x?i.x+o:i.x-u+o,y:i.y<e.y?i.y+h-d:i.y-h+d};return o===0&&(f.x=e.x,f.y=e.y),u===0&&(f.x=e.x),h===0&&(f.y=e.y),D.warn(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${u}, r ${o}`,f),f}else{i.x<e.x?o=e.x-a-r:o=r-a-e.x;let d=h*o/u,f=i.x<e.x?i.x+u-o:i.x-u+o,p=i.y<e.y?i.y+d:i.y-d;return D.warn(`sides calc abc89, Q ${h}, q ${d}, R ${u}, r ${o}`,{_x:f,_y:p}),o===0&&(f=e.x,p=e.y),u===0&&(f=e.x),h===0&&(p=e.y),{x:f,y:p}}},nd=(t,e)=>{D.warn("abc88 cutPathAtIntersect",t,e);let i=[],r=t[0],n=!1;return t.forEach(s=>{if(D.info("abc88 checking point",s,e),!qS(e,s)&&!n){const a=GS(e,r,s);D.warn("abc88 inside",s,r,a),D.warn("abc88 intersection",a);let o=!1;i.forEach(l=>{o=o||l.x===a.x&&l.y===a.y}),i.some(l=>l.x===a.x&&l.y===a.y)?D.warn("abc88 no intersect",a,i):i.push(a),n=!0}else D.warn("abc88 outside",s,r),r=s,n||i.push(s)}),D.warn("abc88 returning points",i),i},XS=function(t,e,i,r,n,s){let a=i.points,o=!1;const l=s.node(e.v);var h=s.node(e.w);D.info("abc88 InsertEdge: ",i),h.intersect&&l.intersect&&(a=a.slice(1,i.points.length-1),a.unshift(l.intersect(a[0])),D.info("Last point",a[a.length-1],h,h.intersect(a[a.length-1])),a.push(h.intersect(a[a.length-1]))),i.toCluster&&(D.info("to cluster abc88",r[i.toCluster]),a=nd(i.points,r[i.toCluster].node),o=!0),i.fromCluster&&(D.info("from cluster abc88",r[i.fromCluster]),a=nd(a.reverse(),r[i.fromCluster].node).reverse(),o=!0);const u=a.filter(w=>!Number.isNaN(w.y));let d;n==="graph"||n==="flowchart"?d=i.curve||os:d=os;const f=bs().x(function(w){return w.x}).y(function(w){return w.y}).curve(d);let p;switch(i.thickness){case"normal":p="edge-thickness-normal";break;case"thick":p="edge-thickness-thick";break;default:p=""}switch(i.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed";break}const m=t.append("path").attr("d",f(u)).attr("id",i.id).attr("class"," "+p+(i.classes?" "+i.classes:"")).attr("style",i.style);let _="";switch((G().flowchart.arrowMarkerAbsolute||G().state.arrowMarkerAbsolute)&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),D.info("arrowTypeStart",i.arrowTypeStart),D.info("arrowTypeEnd",i.arrowTypeEnd),i.arrowTypeStart){case"arrow_cross":m.attr("marker-start","url("+_+"#"+n+"-crossStart)");break;case"arrow_point":m.attr("marker-start","url("+_+"#"+n+"-pointStart)");break;case"arrow_barb":m.attr("marker-start","url("+_+"#"+n+"-barbStart)");break;case"arrow_circle":m.attr("marker-start","url("+_+"#"+n+"-circleStart)");break;case"aggregation":m.attr("marker-start","url("+_+"#"+n+"-aggregationStart)");break;case"extension":m.attr("marker-start","url("+_+"#"+n+"-extensionStart)");break;case"composition":m.attr("marker-start","url("+_+"#"+n+"-compositionStart)");break;case"dependency":m.attr("marker-start","url("+_+"#"+n+"-dependencyStart)");break;case"lollipop":m.attr("marker-start","url("+_+"#"+n+"-lollipopStart)");break}switch(i.arrowTypeEnd){case"arrow_cross":m.attr("marker-end","url("+_+"#"+n+"-crossEnd)");break;case"arrow_point":m.attr("marker-end","url("+_+"#"+n+"-pointEnd)");break;case"arrow_barb":m.attr("marker-end","url("+_+"#"+n+"-barbEnd)");break;case"arrow_circle":m.attr("marker-end","url("+_+"#"+n+"-circleEnd)");break;case"aggregation":m.attr("marker-end","url("+_+"#"+n+"-aggregationEnd)");break;case"extension":m.attr("marker-end","url("+_+"#"+n+"-extensionEnd)");break;case"composition":m.attr("marker-end","url("+_+"#"+n+"-compositionEnd)");break;case"dependency":m.attr("marker-end","url("+_+"#"+n+"-dependencyEnd)");break;case"lollipop":m.attr("marker-end","url("+_+"#"+n+"-lollipopEnd)");break}let v={};return o&&(v.updatedPath=a),v.originalPath=i.points,v},jp=(t,e,i,r)=>{D.info("Graph in recursive render: XXX",Dr(e),r);const n=e.graph().rankdir;D.trace("Dir in recursive render - dir:",n);const s=t.insert("g").attr("class","root");e.nodes()?D.info("Recursive render XXX",e.nodes()):D.info("No nodes found for",e),e.edges().length>0&&D.trace("Recursive edges",e.edge(e.edges()[0]));const a=s.insert("g").attr("class","clusters"),o=s.insert("g").attr("class","edgePaths"),l=s.insert("g").attr("class","edgeLabels"),h=s.insert("g").attr("class","nodes");e.nodes().forEach(function(d){const f=e.node(d);if(r!==void 0){const p=JSON.parse(JSON.stringify(r.clusterData));D.info("Setting data for cluster XXX (",d,") ",p,r),e.setNode(r.id,p),e.parent(d)||(D.trace("Setting parent",d,r.id),e.setParent(d,r.id,p))}if(D.info("(Insert) Node XXX"+d+": "+JSON.stringify(e.node(d))),f&&f.clusterNode){D.info("Cluster identified",d,f.width,e.node(d));const p=jp(h,f.graph,i,e.node(d)),m=p.elem;Be(f,m),f.diff=p.diff||0,D.info("Node bounds (abc123)",d,f,f.width,f.x,f.y),IS(m,f),D.warn("Recursive render complete ",m,f)}else e.children(d).length>0?(D.info("Cluster - the non recursive path XXX",d,f.id,f,e),D.info(ma(f.id,e)),ce[f.id]={id:ma(f.id,e),node:f}):(D.info("Node - the non recursive path",d,f.id,f),NS(h,e.node(d),n))}),e.edges().forEach(function(d){const f=e.edge(d.v,d.w,d.name);D.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(d)),D.info("Edge "+d.v+" -> "+d.w+": ",d," ",JSON.stringify(e.edge(d))),D.info("Fix",ce,"ids:",d.v,d.w,"Translateing: ",ce[d.v],ce[d.w]),WS(l,f)}),e.edges().forEach(function(d){D.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(d))}),D.info("#############################################"),D.info("### Layout ###"),D.info("#############################################"),D.info(e),xs(e),D.info("Graph after layout:",Dr(e));let u=0;return sS(e).forEach(function(d){const f=e.node(d);D.info("Position "+d+": "+JSON.stringify(e.node(d))),D.info("Position "+d+": ("+f.x,","+f.y,") width: ",f.width," height: ",f.height),f&&f.clusterNode?rd(f):e.children(d).length>0?(YS(a,f),ce[f.id].node=f):rd(f)}),e.edges().forEach(function(d){const f=e.edge(d);D.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(f),f);const p=XS(o,d,f,ce,i,e);HS(f,p)}),e.nodes().forEach(function(d){const f=e.node(d);D.info(d,f.type,f.diff),f.type==="group"&&(u=f.diff)}),{elem:s,diff:u}},$u=(t,e,i,r,n)=>{Z9(t,i,r,n),MS(),US(),zS(),iS(),D.warn("Graph at first:",Dr(e)),nS(e),D.warn("Graph after:",Dr(e)),jp(t,e,r)},$p=t=>$t.sanitizeText(t,G());let Kp={dividerMargin:10,padding:5,textHeight:10};const jS=function(t,e,i,r){const n=Object.keys(t);D.info("keys:",n),D.info(t),n.forEach(function(s){const a=t[s];let o="";a.cssClasses.length>0&&(o=o+" "+a.cssClasses.join(" "));const l={labelStyle:""};let h=a.text!==void 0?a.text:a.id,u=0,d="";switch(a.type){case"class":d="class_box";break;default:d="class_box"}e.setNode(a.id,{labelStyle:l.labelStyle,shape:d,labelText:$p(h),classData:a,rx:u,ry:u,class:o,style:l.style,id:a.id,domId:a.domId,tooltip:r.db.getTooltip(a.id)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:G().flowchart.padding}),D.info("setNode",{labelStyle:l.labelStyle,shape:d,labelText:h,rx:u,ry:u,class:o,style:l.style,id:a.id,width:a.type==="group"?500:void 0,type:a.type,padding:G().flowchart.padding})})},$S=function(t,e,i,r){D.info(t),t.forEach(function(n,s){const a=n;let o="";const l={labelStyle:"",style:""};let h=a.text,u=0,d="note";if(e.setNode(a.id,{labelStyle:l.labelStyle,shape:d,labelText:$p(h),noteData:a,rx:u,ry:u,class:o,style:l.style,id:a.id,domId:a.id,tooltip:"",type:"note",padding:G().flowchart.padding}),D.info("setNode",{labelStyle:l.labelStyle,shape:d,labelText:h,rx:u,ry:u,style:l.style,id:a.id,type:"note",padding:G().flowchart.padding}),!a.class||!(a.class in r))return;const f=i+s,p={};p.classes="relation",p.pattern="dotted",p.id=`edgeNote${f}`,p.arrowhead="none",D.info(`Note edge: ${JSON.stringify(p)}, ${JSON.stringify(a)}`),p.startLabelRight="",p.endLabelLeft="",p.arrowTypeStart="none",p.arrowTypeEnd="none";let m="fill:none",_="";p.style=m,p.labelStyle=_,p.curve=Hi(Kp.curve,ki),e.setEdge(a.id,a.class,p,f)})},KS=function(t,e){const i=G().flowchart;let r=0;t.forEach(function(n){r++;const s={};s.classes="relation",s.pattern=n.relation.lineType==1?"dashed":"solid",s.id="id"+r,n.type==="arrow_open"?s.arrowhead="none":s.arrowhead="normal",D.info(s,n),s.startLabelRight=n.relationTitle1==="none"?"":n.relationTitle1,s.endLabelLeft=n.relationTitle2==="none"?"":n.relationTitle2,s.arrowTypeStart=sd(n.relation.type1),s.arrowTypeEnd=sd(n.relation.type2);let a="",o="";if(n.style!==void 0){const l=rn(n.style);a=l.style,o=l.labelStyle}else a="fill:none";s.style=a,s.labelStyle=o,n.interpolate!==void 0?s.curve=Hi(n.interpolate,ki):t.defaultInterpolate!==void 0?s.curve=Hi(t.defaultInterpolate,ki):s.curve=Hi(i.curve,ki),n.text=n.title,n.text===void 0?n.style!==void 0&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",s.labelpos="c",G().flowchart.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+n.text+"</span>"):(s.labelType="text",s.label=n.text.replace($t.lineBreakRegex,`
1219
+ `),n.style===void 0&&(s.style=s.style||"stroke: #333; stroke-width: 1.5px;fill:none"),s.labelStyle=s.labelStyle.replace("color:","fill:"))),e.setEdge(n.id1,n.id2,s,r)})},QS=function(t){Object.keys(t).forEach(function(i){Kp[i]=t[i]})},ZS=function(t,e,i,r){D.info("Drawing class - ",e);const n=G().flowchart,s=G().securityLevel;D.info("config:",n);const a=n.nodeSpacing||50,o=n.rankSpacing||50,l=new Re({multigraph:!0,compound:!0}).setGraph({rankdir:r.db.getDirection(),nodesep:a,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=r.db.getClasses(),u=r.db.getRelations(),d=r.db.getNotes();D.info(u),jS(h,l,e,r),KS(u,l),$S(d,l,u.length+1,h);let f;s==="sandbox"&&(f=_t("#i"+e));const p=_t(s==="sandbox"?f.nodes()[0].contentDocument.body:"body"),m=p.select(`[id="${e}"]`),_=p.select("#"+e+" g");if($u(_,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),jt.insertTitle(m,"classTitleText",n.titleTopMargin,r.db.getDiagramTitle()),Ul(l,m,n.diagramPadding,n.useMaxWidth),!n.htmlLabels){const v=s==="sandbox"?f.nodes()[0].contentDocument:document,w=v.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const x of w){const N=x.getBBox(),R=v.createElementNS("http://www.w3.org/2000/svg","rect");R.setAttribute("rx",0),R.setAttribute("ry",0),R.setAttribute("width",N.width),R.setAttribute("height",N.height),x.insertBefore(R,x.firstChild)}}};function sd(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}const JS={setConf:QS,draw:ZS};var Lh=function(){var t=function(E,b,k,g){for(k=k||{},g=E.length;g--;k[E[g]]=b);return k},e=[1,2],i=[1,5],r=[6,9,11,23,25,27,29,30,31,51],n=[1,17],s=[1,18],a=[1,19],o=[1,20],l=[1,21],h=[1,22],u=[1,25],d=[1,30],f=[1,31],p=[1,32],m=[1,33],_=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],v=[1,45],w=[30,31,48,49],x=[4,6,9,11,23,25,27,29,30,31,51],N=[44,45,46,47],R=[22,37],P=[1,65],V=[1,64],F=[22,37,39,41],O={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(b,k,g,B,y,M,nt){var Y=M.length-1;switch(y){case 1:break;case 3:this.$=[];break;case 4:M[Y-1].push(M[Y]),this.$=M[Y-1];break;case 5:case 6:this.$=M[Y];break;case 7:case 8:this.$=[];break;case 12:B.addEntity(M[Y-4]),B.addEntity(M[Y-2]),B.addRelationship(M[Y-4],M[Y],M[Y-2],M[Y-3]);break;case 13:B.addEntity(M[Y-3]),B.addAttributes(M[Y-3],M[Y-1]);break;case 14:B.addEntity(M[Y-2]);break;case 15:B.addEntity(M[Y]);break;case 16:case 17:this.$=M[Y].trim(),B.setAccTitle(this.$);break;case 18:case 19:this.$=M[Y].trim(),B.setAccDescription(this.$);break;case 20:case 43:this.$=M[Y];break;case 21:case 41:case 42:this.$=M[Y].replace(/"/g,"");break;case 22:case 30:this.$=[M[Y]];break;case 23:M[Y].push(M[Y-1]),this.$=M[Y];break;case 24:this.$={attributeType:M[Y-1],attributeName:M[Y]};break;case 25:this.$={attributeType:M[Y-2],attributeName:M[Y-1],attributeKeyTypeList:M[Y]};break;case 26:this.$={attributeType:M[Y-2],attributeName:M[Y-1],attributeComment:M[Y]};break;case 27:this.$={attributeType:M[Y-3],attributeName:M[Y-2],attributeKeyTypeList:M[Y-1],attributeComment:M[Y]};break;case 28:case 29:case 32:this.$=M[Y];break;case 31:M[Y-2].push(M[Y]),this.$=M[Y-2];break;case 33:this.$=M[Y].replace(/"/g,"");break;case 34:this.$={cardA:M[Y],relType:M[Y-1],cardB:M[Y-2]};break;case 35:this.$=B.Cardinality.ZERO_OR_ONE;break;case 36:this.$=B.Cardinality.ZERO_OR_MORE;break;case 37:this.$=B.Cardinality.ONE_OR_MORE;break;case 38:this.$=B.Cardinality.ONLY_ONE;break;case 39:this.$=B.Identification.NON_IDENTIFYING;break;case 40:this.$=B.Identification.IDENTIFYING;break;case 44:B.parseDirective("%%{","open_directive");break;case 45:B.parseDirective(M[Y],"type_directive");break;case 46:M[Y]=M[Y].trim().replace(/'/g,'"'),B.parseDirective(M[Y],"arg_directive");break;case 47:B.parseDirective("}%%","close_directive","er");break}},table:[{3:1,4:e,7:3,12:4,51:i},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,51:i},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:n,25:s,27:a,29:o,30:l,31:h,51:i},{1:[2,2]},{14:23,15:[1,24],54:u},t([15,54],[2,45]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:15,10:26,12:4,17:16,23:n,25:s,27:a,29:o,30:l,31:h,51:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,15],{18:27,42:29,20:[1,28],44:d,45:f,46:p,47:m}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(r,[2,19]),t(_,[2,20]),t(_,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(r,[2,5]),{17:40,30:l,31:h},{21:41,22:[1,42],32:43,33:44,37:v},{43:46,48:[1,47],49:[1,48]},t(w,[2,35]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(r,[2,16]),t(r,[2,17]),t(r,[2,18]),t(x,[2,9]),{14:49,54:u},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(r,[2,14]),{21:52,22:[2,22],32:43,33:44,37:v},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:d,45:f,46:p,47:m},t(N,[2,39]),t(N,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(r,[2,13]),{22:[2,23]},t(R,[2,24],{35:61,36:62,38:63,40:P,41:V}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(x,[2,10]),t(r,[2,12]),t(r,[2,41]),t(r,[2,42]),t(r,[2,43]),t(R,[2,25],{36:66,39:[1,67],41:V}),t(R,[2,26]),t(F,[2,30]),t(R,[2,33]),t(F,[2,32]),t(R,[2,27]),{38:68,40:P},t(F,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(b,k){if(k.recoverable)this.trace(b);else{var g=new Error(b);throw g.hash=k,g}},parse:function(b){var k=this,g=[0],B=[],y=[null],M=[],nt=this.table,Y="",Q=0,J=0,$=2,tt=1,ot=M.slice.call(arguments,1),at=Object.create(this.lexer),U={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(U.yy[Tt]=this.yy[Tt]);at.setInput(b,U.yy),U.yy.lexer=at,U.yy.parser=this,typeof at.yylloc>"u"&&(at.yylloc={});var X=at.yylloc;M.push(X);var j=at.options&&at.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function W(){var vt;return vt=B.pop()||at.lex()||tt,typeof vt!="number"&&(vt instanceof Array&&(B=vt,vt=B.pop()),vt=k.symbols_[vt]||vt),vt}for(var z,A,I,q,L={},st,T,Dt,et;;){if(A=g[g.length-1],this.defaultActions[A]?I=this.defaultActions[A]:((z===null||typeof z>"u")&&(z=W()),I=nt[A]&&nt[A][z]),typeof I>"u"||!I.length||!I[0]){var Et="";et=[];for(st in nt[A])this.terminals_[st]&&st>$&&et.push("'"+this.terminals_[st]+"'");at.showPosition?Et="Parse error on line "+(Q+1)+`:
1220
+ `+at.showPosition()+`
1221
+ Expecting `+et.join(", ")+", got '"+(this.terminals_[z]||z)+"'":Et="Parse error on line "+(Q+1)+": Unexpected "+(z==tt?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(Et,{text:at.match,token:this.terminals_[z]||z,line:at.yylineno,loc:X,expected:et})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+z);switch(I[0]){case 1:g.push(z),y.push(at.yytext),M.push(at.yylloc),g.push(I[1]),z=null,J=at.yyleng,Y=at.yytext,Q=at.yylineno,X=at.yylloc;break;case 2:if(T=this.productions_[I[1]][1],L.$=y[y.length-T],L._$={first_line:M[M.length-(T||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(T||1)].first_column,last_column:M[M.length-1].last_column},j&&(L._$.range=[M[M.length-(T||1)].range[0],M[M.length-1].range[1]]),q=this.performAction.apply(L,[Y,J,Q,U.yy,I[1],y,M].concat(ot)),typeof q<"u")return q;T&&(g=g.slice(0,-1*T*2),y=y.slice(0,-1*T),M=M.slice(0,-1*T)),g.push(this.productions_[I[1]][0]),y.push(L.$),M.push(L._$),Dt=nt[g[g.length-2]][g[g.length-1]],g.push(Dt);break;case 3:return!0}}return!0}},C=function(){var E={EOF:1,parseError:function(k,g){if(this.yy.parser)this.yy.parser.parseError(k,g);else throw new Error(k)},setInput:function(b,k){return this.yy=k||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var k=b.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var k=b.length,g=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===B.length?this.yylloc.first_column:0)+B[B.length-g.length].length-g[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1222
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),k=new Array(b.length+1).join("-");return b+this.upcomingInput()+`
1223
+ `+k+"^"},test_match:function(b,k){var g,B,y;if(this.options.backtrack_lexer&&(y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(y.yylloc.range=this.yylloc.range.slice(0))),B=b[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],g=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var M in y)this[M]=y[M];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,k,g,B;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),M=0;M<y.length;M++)if(g=this._input.match(this.rules[y[M]]),g&&(!k||g[0].length>k[0].length)){if(k=g,B=M,this.options.backtrack_lexer){if(b=this.test_match(g,y[M]),b!==!1)return b;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(b=this.test_match(k,y[B]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1224
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var k=this.next();return k||this.lex()},begin:function(k){this.conditionStack.push(k)},popState:function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},pushState:function(k){this.begin(k)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(k,g,B,y){switch(B){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.begin("open_directive"),51;case 8:return this.begin("type_directive"),52;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),54;case 11:return 53;case 12:break;case 13:break;case 14:return 11;case 15:break;case 16:return 9;case 17:return 31;case 18:return 50;case 19:return 4;case 20:return this.begin("block"),20;case 21:return 39;case 22:break;case 23:return 40;case 24:return 37;case 25:return 37;case 26:return 41;case 27:break;case 28:return this.popState(),22;case 29:return g.yytext[0];case 30:return 44;case 31:return 46;case 32:return 46;case 33:return 46;case 34:return 44;case 35:return 44;case 36:return 45;case 37:return 45;case 38:return 45;case 39:return 45;case 40:return 45;case 41:return 46;case 42:return 45;case 43:return 46;case 44:return 47;case 45:return 47;case 46:return 47;case 47:return 47;case 48:return 44;case 49:return 45;case 50:return 46;case 51:return 48;case 52:return 49;case 53:return 49;case 54:return 48;case 55:return 48;case 56:return 48;case 57:return 30;case 58:return g.yytext[0];case 59:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28,29],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],inclusive:!0}}};return E}();O.lexer=C;function S(){this.yy={}}return S.prototype=O,O.Parser=S,new S}();Lh.parser=Lh;const tA=Lh,eA=t=>t.match(/^\s*erDiagram/)!==null;let $s={},Ku=[];const iA={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},rA={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},nA=function(t,e,i){be.parseDirective(this,t,e,i)},Qp=function(t){return $s[t]===void 0&&($s[t]={attributes:[]},D.info("Added new entity :",t)),$s[t]},sA=()=>$s,aA=function(t,e){let i=Qp(t),r;for(r=e.length-1;r>=0;r--)i.attributes.push(e[r]),D.debug("Added attribute ",e[r].attributeName)},oA=function(t,e,i,r){let n={entityA:t,roleA:e,entityB:i,relSpec:r};Ku.push(n),D.debug("Added new relationship :",n)},lA=()=>Ku,cA=function(){$s={},Ku=[],Ti()},hA={Cardinality:iA,Identification:rA,parseDirective:nA,getConfig:()=>G().er,addEntity:Qp,addAttributes:aA,getEntities:sA,addRelationship:oA,getRelationships:lA,clear:cA,setAccTitle:_i,getAccTitle:Ei,setAccDescription:Ci,getAccDescription:Si,setDiagramTitle:Qi,getDiagramTitle:Zi},kr={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"},uA=function(t,e){let i;t.append("defs").append("marker").attr("id",kr.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",kr.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),i=t.append("defs").append("marker").attr("id",kr.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),i=t.append("defs").append("marker").attr("id",kr.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",kr.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",kr.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),i=t.append("defs").append("marker").attr("id",kr.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),i=t.append("defs").append("marker").attr("id",kr.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},wr={ERMarkers:kr,insertMarkers:uA},dA=/[^\dA-Za-z](\W)*/g;let Ve={},ba=new Map;const fA=function(t){const e=Object.keys(t);for(const i of e)Ve[i]=t[i]},pA=(t,e,i)=>{const r=Ve.entityPadding/3,n=Ve.entityPadding/3,s=Ve.fontSize*.85,a=e.node().getBBox(),o=[];let l=!1,h=!1,u=0,d=0,f=0,p=0,m=a.height+r*2,_=1;i.forEach(N=>{N.attributeKeyTypeList!==void 0&&N.attributeKeyTypeList.length>0&&(l=!0),N.attributeComment!==void 0&&(h=!0)}),i.forEach(N=>{const R=`${e.node().id}-attr-${_}`;let P=0;const V=$r(N.attributeType),F=t.append("text").classed("er entityLabel",!0).attr("id",`${R}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",G().fontFamily).style("font-size",s+"px").text(V),O=t.append("text").classed("er entityLabel",!0).attr("id",`${R}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",G().fontFamily).style("font-size",s+"px").text(N.attributeName),C={};C.tn=F,C.nn=O;const S=F.node().getBBox(),E=O.node().getBBox();if(u=Math.max(u,S.width),d=Math.max(d,E.width),P=Math.max(S.height,E.height),l){const b=N.attributeKeyTypeList!==void 0?N.attributeKeyTypeList.join(","):"",k=t.append("text").classed("er entityLabel",!0).attr("id",`${R}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",G().fontFamily).style("font-size",s+"px").text(b);C.kn=k;const g=k.node().getBBox();f=Math.max(f,g.width),P=Math.max(P,g.height)}if(h){const b=t.append("text").classed("er entityLabel",!0).attr("id",`${R}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",G().fontFamily).style("font-size",s+"px").text(N.attributeComment||"");C.cn=b;const k=b.node().getBBox();p=Math.max(p,k.width),P=Math.max(P,k.height)}C.height=P,o.push(C),m+=P+r*2,_+=1});let v=4;l&&(v+=2),h&&(v+=2);const w=u+d+f+p,x={width:Math.max(Ve.minEntityWidth,Math.max(a.width+Ve.entityPadding*2,w+n*v)),height:i.length>0?m:Math.max(Ve.minEntityHeight,a.height+Ve.entityPadding*2)};if(i.length>0){const N=Math.max(0,(x.width-w-n*v)/(v/2));e.attr("transform","translate("+x.width/2+","+(r+a.height/2)+")");let R=a.height+r*2,P="attributeBoxOdd";o.forEach(V=>{const F=R+r+V.height/2;V.tn.attr("transform","translate("+n+","+F+")");const O=t.insert("rect","#"+V.tn.node().id).classed(`er ${P}`,!0).attr("x",0).attr("y",R).attr("width",u+n*2+N).attr("height",V.height+r*2),C=parseFloat(O.attr("x"))+parseFloat(O.attr("width"));V.nn.attr("transform","translate("+(C+n)+","+F+")");const S=t.insert("rect","#"+V.nn.node().id).classed(`er ${P}`,!0).attr("x",C).attr("y",R).attr("width",d+n*2+N).attr("height",V.height+r*2);let E=parseFloat(S.attr("x"))+parseFloat(S.attr("width"));if(l){V.kn.attr("transform","translate("+(E+n)+","+F+")");const b=t.insert("rect","#"+V.kn.node().id).classed(`er ${P}`,!0).attr("x",E).attr("y",R).attr("width",f+n*2+N).attr("height",V.height+r*2);E=parseFloat(b.attr("x"))+parseFloat(b.attr("width"))}h&&(V.cn.attr("transform","translate("+(E+n)+","+F+")"),t.insert("rect","#"+V.cn.node().id).classed(`er ${P}`,"true").attr("x",E).attr("y",R).attr("width",p+n*2+N).attr("height",V.height+r*2)),R+=V.height+r*2,P=P==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else x.height=Math.max(Ve.minEntityHeight,m),e.attr("transform","translate("+x.width/2+","+x.height/2+")");return x},gA=function(t,e,i){const r=Object.keys(e);let n;return r.forEach(function(s){const a=vA(s,"entity");ba.set(s,a);const o=t.append("g").attr("id",a);n=n===void 0?a:n;const l="text-"+a,h=o.append("text").classed("er entityLabel",!0).attr("id",l).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",G().fontFamily).style("font-size",Ve.fontSize+"px").text(s),{width:u,height:d}=pA(o,h,e[s].attributes),p=o.insert("rect","#"+l).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",u).attr("height",d).node().getBBox();i.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})}),n},yA=function(t,e){e.nodes().forEach(function(i){i!==void 0&&e.node(i)!==void 0&&t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )")})},Zp=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},mA=function(t,e){return t.forEach(function(i){e.setEdge(ba.get(i.entityA),ba.get(i.entityB),{relationship:i},Zp(i))}),t};let ad=0;const bA=function(t,e,i,r,n){ad++;const s=i.edge(ba.get(e.entityA),ba.get(e.entityB),Zp(e)),a=bs().x(function(m){return m.x}).y(function(m){return m.y}).curve(os),o=t.insert("path","#"+r).classed("er relationshipLine",!0).attr("d",a(s.points)).style("stroke",Ve.stroke).style("fill","none");e.relSpec.relType===n.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let l="";switch(Ve.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),e.relSpec.cardA){case n.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+l+"#"+wr.ERMarkers.ZERO_OR_ONE_END+")");break;case n.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+l+"#"+wr.ERMarkers.ZERO_OR_MORE_END+")");break;case n.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+l+"#"+wr.ERMarkers.ONE_OR_MORE_END+")");break;case n.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+l+"#"+wr.ERMarkers.ONLY_ONE_END+")");break}switch(e.relSpec.cardB){case n.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+l+"#"+wr.ERMarkers.ZERO_OR_ONE_START+")");break;case n.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+l+"#"+wr.ERMarkers.ZERO_OR_MORE_START+")");break;case n.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+l+"#"+wr.ERMarkers.ONE_OR_MORE_START+")");break;case n.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+l+"#"+wr.ERMarkers.ONLY_ONE_START+")");break}const h=o.node().getTotalLength(),u=o.node().getPointAtLength(h*.5),d="rel"+ad,p=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",G().fontFamily).style("font-size",Ve.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",u.x-p.width/2).attr("y",u.y-p.height/2).attr("width",p.width).attr("height",p.height)},_A=function(t,e,i,r){Ve=G().er,D.info("Drawing ER diagram");const n=G().securityLevel;let s;n==="sandbox"&&(s=_t("#i"+e));const o=_t(n==="sandbox"?s.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);wr.insertMarkers(o,Ve);let l;l=new Re({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:Ve.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const h=gA(o,r.db.getEntities(),l),u=mA(r.db.getRelationships(),l);xs(l),yA(o,l),u.forEach(function(_){bA(o,_,l,h,r)});const d=Ve.diagramPadding;jt.insertTitle(o,"entityTitleText",Ve.titleTopMargin,r.db.getDiagramTitle());const f=o.node().getBBox(),p=f.width+d*2,m=f.height+d*2;Ki(o,m,p,Ve.useMaxWidth),o.attr("viewBox",`${f.x-d} ${f.y-d} ${p} ${m}`)},xA="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function vA(t="",e=""){const i=t.replace(dA,"");return`${od(e)}${od(i)}${l3(t,xA)}`}function od(t=""){return t.length>0?`${t}-`:""}const kA={setConf:fA,draw:_A};var Bh=function(){var t=function(pr,Pt,Yt,oe){for(Yt=Yt||{},oe=pr.length;oe--;Yt[pr[oe]]=Pt);return Yt},e=[1,9],i=[1,7],r=[1,6],n=[1,8],s=[1,20,21,22,23,38,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],a=[2,10],o=[1,20],l=[1,21],h=[1,22],u=[1,23],d=[1,30],f=[1,32],p=[1,33],m=[1,34],_=[1,62],v=[1,48],w=[1,52],x=[1,36],N=[1,37],R=[1,38],P=[1,39],V=[1,40],F=[1,56],O=[1,63],C=[1,51],S=[1,53],E=[1,55],b=[1,59],k=[1,60],g=[1,41],B=[1,42],y=[1,43],M=[1,44],nt=[1,61],Y=[1,50],Q=[1,54],J=[1,57],$=[1,58],tt=[1,49],ot=[1,66],at=[1,71],U=[1,20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Tt=[1,75],X=[1,74],j=[1,76],W=[20,21,23,81,82],z=[1,99],A=[1,104],I=[1,107],q=[1,108],L=[1,101],st=[1,106],T=[1,109],Dt=[1,102],et=[1,114],Et=[1,113],vt=[1,103],pt=[1,105],ut=[1,110],gt=[1,111],ht=[1,112],yt=[1,115],he=[20,21,22,23,81,82],ie=[20,21,22,23,53,81,82],It=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],Mt=[20,21,23],Kt=[20,21,23,52,66,67,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],de=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],qt=[52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],Ot=[1,149],Bt=[1,157],bt=[1,158],mt=[1,159],wt=[1,160],dt=[1,144],Nt=[1,145],rt=[1,141],Wt=[1,152],ct=[1,153],Gt=[1,154],Jt=[1,155],se=[1,156],re=[1,161],ae=[1,162],Rt=[1,147],Ht=[1,150],ne=[1,146],Ut=[1,143],fr=[20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],sn=[1,165],ge=[20,21,22,23,26,52,66,67,91,105,106,109,111,112,122,123,124,125,126,127],Xt=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,86,87,88,89,90,91,92,95,105,106,109,111,112,113,114,122,123,124,125,126,127],Te=[12,21,22,24],Qe=[22,106],Ee=[1,250],Fe=[1,245],ye=[1,246],$e=[1,254],Ue=[1,251],Lt=[1,248],K=[1,247],xt=[1,249],Ct=[1,252],te=[1,253],fe=[1,255],pe=[1,273],De=[20,21,23,106],We=[20,21,22,23,66,67,86,102,105,106,109,110,111,112,113],ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,keywords:85,STYLE:86,LINKSTYLE:87,CLASSDEF:88,CLASS:89,CLICK:90,DOWN:91,UP:92,textNoTags:93,textNoTagsToken:94,DEFAULT:95,stylesOpt:96,alphaNum:97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,HEX:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,MINUS:109,UNIT:110,BRKT:111,DOT:112,PCT:113,TAGSTART:114,alphaNumToken:115,idStringToken:116,alphaNumStatement:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,PUNCTUATION:122,UNICODE_TEXT:123,PLUS:124,EQUALS:125,MULT:126,UNDERSCORE:127,graphCodeTokens:128,ARROW_CROSS:129,ARROW_POINT:130,ARROW_CIRCLE:131,ARROW_OPEN:132,QUOTE:133,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",86:"STYLE",87:"LINKSTYLE",88:"CLASSDEF",89:"CLASS",90:"CLICK",91:"DOWN",92:"UP",95:"DEFAULT",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"HEX",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"MINUS",110:"UNIT",111:"BRKT",112:"DOT",113:"PCT",114:"TAGSTART",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr",122:"PUNCTUATION",123:"UNICODE_TEXT",124:"PLUS",125:"EQUALS",126:"MULT",127:"UNDERSCORE",129:"ARROW_CROSS",130:"ARROW_POINT",131:"ARROW_CIRCLE",132:"ARROW_OPEN",133:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[93,1],[93,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[103,1],[103,3],[96,1],[96,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[94,1],[94,1],[94,1],[94,1],[54,1],[54,2],[97,1],[97,2],[117,1],[117,1],[117,1],[117,1],[43,1],[43,1],[43,1],[43,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1]],performAction:function(Pt,Yt,oe,St,_e,H,ws){var Z=H.length-1;switch(_e){case 5:St.parseDirective("%%{","open_directive");break;case 6:St.parseDirective(H[Z],"type_directive");break;case 7:H[Z]=H[Z].trim().replace(/'/g,'"'),St.parseDirective(H[Z],"arg_directive");break;case 8:St.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:(!Array.isArray(H[Z])||H[Z].length>0)&&H[Z-1].push(H[Z]),this.$=H[Z-1];break;case 12:case 82:case 84:case 96:case 152:case 154:case 155:this.$=H[Z];break;case 19:St.setDirection("TB"),this.$="TB";break;case 20:St.setDirection(H[Z-1]),this.$=H[Z-1];break;case 35:this.$=H[Z-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=St.addSubGraph(H[Z-6],H[Z-1],H[Z-4]);break;case 42:this.$=St.addSubGraph(H[Z-3],H[Z-1],H[Z-3]);break;case 43:this.$=St.addSubGraph(void 0,H[Z-1],void 0);break;case 45:this.$=H[Z].trim(),St.setAccTitle(this.$);break;case 46:case 47:this.$=H[Z].trim(),St.setAccDescription(this.$);break;case 51:St.addLink(H[Z-2].stmt,H[Z],H[Z-1]),this.$={stmt:H[Z],nodes:H[Z].concat(H[Z-2].nodes)};break;case 52:St.addLink(H[Z-3].stmt,H[Z-1],H[Z-2]),this.$={stmt:H[Z-1],nodes:H[Z-1].concat(H[Z-3].nodes)};break;case 53:this.$={stmt:H[Z-1],nodes:H[Z-1]};break;case 54:this.$={stmt:H[Z],nodes:H[Z]};break;case 55:this.$=[H[Z]];break;case 56:this.$=H[Z-4].concat(H[Z]);break;case 57:this.$=[H[Z-2]],St.setClass(H[Z-2],H[Z]);break;case 58:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"square");break;case 59:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"doublecircle");break;case 60:this.$=H[Z-5],St.addVertex(H[Z-5],H[Z-2],"circle");break;case 61:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"ellipse");break;case 62:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"stadium");break;case 63:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"subroutine");break;case 64:this.$=H[Z-7],St.addVertex(H[Z-7],H[Z-1],"rect",void 0,void 0,void 0,Object.fromEntries([[H[Z-5],H[Z-3]]]));break;case 65:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"cylinder");break;case 66:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"round");break;case 67:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"diamond");break;case 68:this.$=H[Z-5],St.addVertex(H[Z-5],H[Z-2],"hexagon");break;case 69:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"odd");break;case 70:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"trapezoid");break;case 71:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"inv_trapezoid");break;case 72:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"lean_right");break;case 73:this.$=H[Z-3],St.addVertex(H[Z-3],H[Z-1],"lean_left");break;case 74:this.$=H[Z],St.addVertex(H[Z]);break;case 75:H[Z-1].text=H[Z],this.$=H[Z-1];break;case 76:case 77:H[Z-2].text=H[Z-1],this.$=H[Z-2];break;case 78:this.$=H[Z];break;case 79:var Ai=St.destructLink(H[Z],H[Z-2]);this.$={type:Ai.type,stroke:Ai.stroke,length:Ai.length,text:H[Z-1]};break;case 80:var Ai=St.destructLink(H[Z]);this.$={type:Ai.type,stroke:Ai.stroke,length:Ai.length};break;case 81:this.$=H[Z-1];break;case 83:case 97:case 153:this.$=H[Z-1]+""+H[Z];break;case 98:case 99:this.$=H[Z-4],St.addClass(H[Z-2],H[Z]);break;case 100:this.$=H[Z-4],St.setClass(H[Z-2],H[Z]);break;case 101:case 109:this.$=H[Z-1],St.setClickEvent(H[Z-1],H[Z]);break;case 102:case 110:this.$=H[Z-3],St.setClickEvent(H[Z-3],H[Z-2]),St.setTooltip(H[Z-3],H[Z]);break;case 103:this.$=H[Z-2],St.setClickEvent(H[Z-2],H[Z-1],H[Z]);break;case 104:this.$=H[Z-4],St.setClickEvent(H[Z-4],H[Z-3],H[Z-2]),St.setTooltip(H[Z-4],H[Z]);break;case 105:case 111:this.$=H[Z-1],St.setLink(H[Z-1],H[Z]);break;case 106:case 112:this.$=H[Z-3],St.setLink(H[Z-3],H[Z-2]),St.setTooltip(H[Z-3],H[Z]);break;case 107:case 113:this.$=H[Z-3],St.setLink(H[Z-3],H[Z-2],H[Z]);break;case 108:case 114:this.$=H[Z-5],St.setLink(H[Z-5],H[Z-4],H[Z]),St.setTooltip(H[Z-5],H[Z-2]);break;case 115:this.$=H[Z-4],St.addVertex(H[Z-2],void 0,void 0,H[Z]);break;case 116:case 118:this.$=H[Z-4],St.updateLink(H[Z-2],H[Z]);break;case 117:this.$=H[Z-4],St.updateLink([H[Z-2]],H[Z]);break;case 119:this.$=H[Z-8],St.updateLinkInterpolate([H[Z-6]],H[Z-2]),St.updateLink([H[Z-6]],H[Z]);break;case 120:this.$=H[Z-8],St.updateLinkInterpolate(H[Z-6],H[Z-2]),St.updateLink(H[Z-6],H[Z]);break;case 121:this.$=H[Z-6],St.updateLinkInterpolate([H[Z-4]],H[Z]);break;case 122:this.$=H[Z-6],St.updateLinkInterpolate(H[Z-4],H[Z]);break;case 123:case 125:this.$=[H[Z]];break;case 124:case 126:H[Z-2].push(H[Z]),this.$=H[Z-2];break;case 128:this.$=H[Z-1]+H[Z];break;case 150:this.$=H[Z];break;case 151:this.$=H[Z-1]+""+H[Z];break;case 156:this.$="v";break;case 157:this.$="-";break;case 158:this.$={stmt:"dir",value:"TB"};break;case 159:this.$={stmt:"dir",value:"BT"};break;case 160:this.$={stmt:"dir",value:"RL"};break;case 161:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:i,22:r,24:n},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:i,22:r,24:n},t(s,a,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:r,24:n},{16:15,21:i,22:r,24:n},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,43:31,44:f,46:p,48:m,50:35,51:45,52:_,54:46,66:v,67:w,86:x,87:N,88:R,89:P,90:V,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,118:g,119:B,120:y,121:M,122:nt,123:Y,124:Q,125:J,126:$,127:tt},{8:64,10:[1,65],15:ot},t([10,15],[2,6]),t(s,[2,17]),t(s,[2,18]),t(s,[2,19]),{20:[1,68],21:[1,69],22:at,27:67,30:70},t(U,[2,11]),t(U,[2,12]),t(U,[2,13]),t(U,[2,14]),t(U,[2,15]),t(U,[2,16]),{9:72,20:Tt,21:X,23:j,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:Tt,21:X,23:j},{9:81,20:Tt,21:X,23:j},{9:82,20:Tt,21:X,23:j},{9:83,20:Tt,21:X,23:j},{9:84,20:Tt,21:X,23:j},{9:86,20:Tt,21:X,22:[1,85],23:j},t(U,[2,44]),{45:[1,87]},{47:[1,88]},t(U,[2,47]),t(W,[2,54],{30:89,22:at}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:z,52:A,66:I,67:q,84:[1,97],91:L,97:96,98:[1,94],100:[1,95],105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(U,[2,158]),t(U,[2,159]),t(U,[2,160]),t(U,[2,161]),t(he,[2,55],{53:[1,116]}),t(ie,[2,74],{116:129,40:[1,117],52:_,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:v,67:w,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],91:F,95:O,105:C,106:S,109:E,111:b,112:k,122:nt,123:Y,124:Q,125:J,126:$,127:tt}),t(It,[2,150]),t(It,[2,175]),t(It,[2,176]),t(It,[2,177]),t(It,[2,178]),t(It,[2,179]),t(It,[2,180]),t(It,[2,181]),t(It,[2,182]),t(It,[2,183]),t(It,[2,184]),t(It,[2,185]),t(It,[2,186]),t(It,[2,187]),t(It,[2,188]),t(It,[2,189]),t(It,[2,190]),{9:130,20:Tt,21:X,23:j},{11:131,14:[1,132]},t(Mt,[2,8]),t(s,[2,20]),t(s,[2,26]),t(s,[2,27]),{21:[1,133]},t(Kt,[2,34],{30:134,22:at}),t(U,[2,35]),{50:135,51:45,52:_,54:46,66:v,67:w,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,122:nt,123:Y,124:Q,125:J,126:$,127:tt},t(de,[2,48]),t(de,[2,49]),t(de,[2,50]),t(qt,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:Ot,24:Bt,26:bt,38:mt,39:139,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t([52,66,67,68,80,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,80]),t(U,[2,36]),t(U,[2,37]),t(U,[2,38]),t(U,[2,39]),t(U,[2,40]),{22:Ot,24:Bt,26:bt,38:mt,39:163,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(fr,a,{17:164}),t(U,[2,45]),t(U,[2,46]),t(W,[2,53],{52:sn}),{26:z,52:A,66:I,67:q,91:L,97:166,102:[1,167],105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{95:[1,168],103:169,105:[1,170]},{26:z,52:A,66:I,67:q,91:L,95:[1,171],97:172,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{26:z,52:A,66:I,67:q,91:L,97:173,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(Mt,[2,101],{22:[1,174],99:[1,175]}),t(Mt,[2,105],{22:[1,176]}),t(Mt,[2,109],{115:100,117:178,22:[1,177],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt}),t(Mt,[2,111],{22:[1,179]}),t(ge,[2,152]),t(ge,[2,154]),t(ge,[2,155]),t(ge,[2,156]),t(ge,[2,157]),t(Xt,[2,162]),t(Xt,[2,163]),t(Xt,[2,164]),t(Xt,[2,165]),t(Xt,[2,166]),t(Xt,[2,167]),t(Xt,[2,168]),t(Xt,[2,169]),t(Xt,[2,170]),t(Xt,[2,171]),t(Xt,[2,172]),t(Xt,[2,173]),t(Xt,[2,174]),{52:_,54:180,66:v,67:w,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,122:nt,123:Y,124:Q,125:J,126:$,127:tt},{22:Ot,24:Bt,26:bt,38:mt,39:181,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:182,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:184,42:wt,52:A,57:[1,183],66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:185,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:186,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:187,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{66:[1,188]},{22:Ot,24:Bt,26:bt,38:mt,39:189,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:190,42:wt,52:A,66:I,67:q,71:[1,191],73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:192,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:193,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:194,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(It,[2,151]),t(Te,[2,3]),{8:195,15:ot},{15:[2,7]},t(s,[2,28]),t(Kt,[2,33]),t(W,[2,51],{30:196,22:at}),t(qt,[2,75],{22:[1,197]}),{22:[1,198]},{22:Ot,24:Bt,26:bt,38:mt,39:199,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,73:dt,81:Nt,82:[1,200],83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(Xt,[2,82]),t(Xt,[2,84]),t(Xt,[2,140]),t(Xt,[2,141]),t(Xt,[2,142]),t(Xt,[2,143]),t(Xt,[2,144]),t(Xt,[2,145]),t(Xt,[2,146]),t(Xt,[2,147]),t(Xt,[2,148]),t(Xt,[2,149]),t(Xt,[2,85]),t(Xt,[2,86]),t(Xt,[2,87]),t(Xt,[2,88]),t(Xt,[2,89]),t(Xt,[2,90]),t(Xt,[2,91]),t(Xt,[2,92]),t(Xt,[2,93]),t(Xt,[2,94]),t(Xt,[2,95]),{9:203,20:Tt,21:X,22:Ot,23:j,24:Bt,26:bt,38:mt,40:[1,202],42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,204],43:31,44:f,46:p,48:m,50:35,51:45,52:_,54:46,66:v,67:w,86:x,87:N,88:R,89:P,90:V,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,118:g,119:B,120:y,121:M,122:nt,123:Y,124:Q,125:J,126:$,127:tt},{22:at,30:205},{22:[1,206],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:178,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:[1,207]},{22:[1,208]},{22:[1,209],106:[1,210]},t(Qe,[2,123]),{22:[1,211]},{22:[1,212],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:178,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:[1,213],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:178,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{84:[1,214]},t(Mt,[2,103],{22:[1,215]}),{84:[1,216],101:[1,217]},{84:[1,218]},t(ge,[2,153]),{84:[1,219],101:[1,220]},t(he,[2,57],{116:129,52:_,66:v,67:w,91:F,95:O,105:C,106:S,109:E,111:b,112:k,122:nt,123:Y,124:Q,125:J,126:$,127:tt}),{22:Ot,24:Bt,26:bt,38:mt,41:[1,221],42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,56:[1,222],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:223,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,58:[1,224],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,60:[1,225],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,62:[1,226],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,64:[1,227],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{67:[1,228]},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,70:[1,229],73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,72:[1,230],73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,39:231,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,41:[1,232],42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,73:dt,75:[1,233],77:[1,234],81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,73:dt,75:[1,236],77:[1,235],81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{9:237,20:Tt,21:X,23:j},t(W,[2,52],{52:sn}),t(qt,[2,77]),t(qt,[2,76]),{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,68:[1,238],73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(qt,[2,79]),t(Xt,[2,83]),{22:Ot,24:Bt,26:bt,38:mt,39:239,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(fr,a,{17:240}),t(U,[2,43]),{51:241,52:_,54:46,66:v,67:w,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,122:nt,123:Y,124:Q,125:J,126:$,127:tt},{22:Ee,66:Fe,67:ye,86:$e,96:242,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{22:Ee,66:Fe,67:ye,86:$e,96:256,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{22:Ee,66:Fe,67:ye,86:$e,96:257,102:Ue,104:[1,258],105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{22:Ee,66:Fe,67:ye,86:$e,96:259,102:Ue,104:[1,260],105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{105:[1,261]},{22:Ee,66:Fe,67:ye,86:$e,96:262,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{22:Ee,66:Fe,67:ye,86:$e,96:263,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{26:z,52:A,66:I,67:q,91:L,97:264,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(Mt,[2,102]),{84:[1,265]},t(Mt,[2,106],{22:[1,266]}),t(Mt,[2,107]),t(Mt,[2,110]),t(Mt,[2,112],{22:[1,267]}),t(Mt,[2,113]),t(ie,[2,58]),t(ie,[2,59]),{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,58:[1,268],66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(ie,[2,66]),t(ie,[2,61]),t(ie,[2,62]),t(ie,[2,63]),{66:[1,269]},t(ie,[2,65]),t(ie,[2,67]),{22:Ot,24:Bt,26:bt,38:mt,42:wt,52:A,66:I,67:q,72:[1,270],73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(ie,[2,69]),t(ie,[2,70]),t(ie,[2,72]),t(ie,[2,71]),t(ie,[2,73]),t(Te,[2,4]),t([22,52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,81]),{22:Ot,24:Bt,26:bt,38:mt,41:[1,271],42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,272],43:31,44:f,46:p,48:m,50:35,51:45,52:_,54:46,66:v,67:w,86:x,87:N,88:R,89:P,90:V,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,118:g,119:B,120:y,121:M,122:nt,123:Y,124:Q,125:J,126:$,127:tt},t(he,[2,56]),t(Mt,[2,115],{106:pe}),t(De,[2,125],{108:274,22:Ee,66:Fe,67:ye,86:$e,102:Ue,105:Lt,109:K,110:xt,111:Ct,112:te,113:fe}),t(We,[2,127]),t(We,[2,129]),t(We,[2,130]),t(We,[2,131]),t(We,[2,132]),t(We,[2,133]),t(We,[2,134]),t(We,[2,135]),t(We,[2,136]),t(We,[2,137]),t(We,[2,138]),t(We,[2,139]),t(Mt,[2,116],{106:pe}),t(Mt,[2,117],{106:pe}),{22:[1,275]},t(Mt,[2,118],{106:pe}),{22:[1,276]},t(Qe,[2,124]),t(Mt,[2,98],{106:pe}),t(Mt,[2,99],{106:pe}),t(Mt,[2,100],{115:100,117:178,26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt}),t(Mt,[2,104]),{101:[1,277]},{101:[1,278]},{58:[1,279]},{68:[1,280]},{72:[1,281]},{9:282,20:Tt,21:X,23:j},t(U,[2,42]),{22:Ee,66:Fe,67:ye,86:$e,102:Ue,105:Lt,107:283,108:244,109:K,110:xt,111:Ct,112:te,113:fe},t(We,[2,128]),{26:z,52:A,66:I,67:q,91:L,97:284,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{26:z,52:A,66:I,67:q,91:L,97:285,105:st,106:T,109:Dt,111:et,112:Et,115:100,117:98,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(Mt,[2,108]),t(Mt,[2,114]),t(ie,[2,60]),{22:Ot,24:Bt,26:bt,38:mt,39:286,42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:140,84:rt,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},t(ie,[2,68]),t(fr,a,{17:287}),t(De,[2,126],{108:274,22:Ee,66:Fe,67:ye,86:$e,102:Ue,105:Lt,109:K,110:xt,111:Ct,112:te,113:fe}),t(Mt,[2,121],{115:100,117:178,22:[1,288],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt}),t(Mt,[2,122],{115:100,117:178,22:[1,289],26:z,52:A,66:I,67:q,91:L,105:st,106:T,109:Dt,111:et,112:Et,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt}),{22:Ot,24:Bt,26:bt,38:mt,41:[1,290],42:wt,52:A,66:I,67:q,73:dt,81:Nt,83:201,85:151,86:Wt,87:ct,88:Gt,89:Jt,90:se,91:re,92:ae,94:142,95:Rt,105:st,106:T,109:Ht,111:et,112:Et,113:ne,114:Ut,115:148,122:vt,123:pt,124:ut,125:gt,126:ht,127:yt},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,291],43:31,44:f,46:p,48:m,50:35,51:45,52:_,54:46,66:v,67:w,86:x,87:N,88:R,89:P,90:V,91:F,95:O,105:C,106:S,109:E,111:b,112:k,116:47,118:g,119:B,120:y,121:M,122:nt,123:Y,124:Q,125:J,126:$,127:tt},{22:Ee,66:Fe,67:ye,86:$e,96:292,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},{22:Ee,66:Fe,67:ye,86:$e,96:293,102:Ue,105:Lt,107:243,108:244,109:K,110:xt,111:Ct,112:te,113:fe},t(ie,[2,64]),t(U,[2,41]),t(Mt,[2,119],{106:pe}),t(Mt,[2,120],{106:pe})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(Pt,Yt){if(Yt.recoverable)this.trace(Pt);else{var oe=new Error(Pt);throw oe.hash=Yt,oe}},parse:function(Pt){var Yt=this,oe=[0],St=[],_e=[null],H=[],ws=this.table,Z="",Ai=0,v1=0,um=2,k1=1,dm=H.slice.call(arguments,1),He=Object.create(this.lexer),an={yy:{}};for(var tc in this.yy)Object.prototype.hasOwnProperty.call(this.yy,tc)&&(an.yy[tc]=this.yy[tc]);He.setInput(Pt,an.yy),an.yy.lexer=He,an.yy.parser=this,typeof He.yylloc>"u"&&(He.yylloc={});var ec=He.yylloc;H.push(ec);var fm=He.options&&He.options.ranges;typeof an.yy.parseError=="function"?this.parseError=an.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pm(){var yr;return yr=St.pop()||He.lex()||k1,typeof yr!="number"&&(yr instanceof Array&&(St=yr,yr=St.pop()),yr=Yt.symbols_[yr]||yr),yr}for(var di,on,Li,ic,Fn={},Va,gr,w1,Ya;;){if(on=oe[oe.length-1],this.defaultActions[on]?Li=this.defaultActions[on]:((di===null||typeof di>"u")&&(di=pm()),Li=ws[on]&&ws[on][di]),typeof Li>"u"||!Li.length||!Li[0]){var rc="";Ya=[];for(Va in ws[on])this.terminals_[Va]&&Va>um&&Ya.push("'"+this.terminals_[Va]+"'");He.showPosition?rc="Parse error on line "+(Ai+1)+`:
1225
+ `+He.showPosition()+`
1226
+ Expecting `+Ya.join(", ")+", got '"+(this.terminals_[di]||di)+"'":rc="Parse error on line "+(Ai+1)+": Unexpected "+(di==k1?"end of input":"'"+(this.terminals_[di]||di)+"'"),this.parseError(rc,{text:He.match,token:this.terminals_[di]||di,line:He.yylineno,loc:ec,expected:Ya})}if(Li[0]instanceof Array&&Li.length>1)throw new Error("Parse Error: multiple actions possible at state: "+on+", token: "+di);switch(Li[0]){case 1:oe.push(di),_e.push(He.yytext),H.push(He.yylloc),oe.push(Li[1]),di=null,v1=He.yyleng,Z=He.yytext,Ai=He.yylineno,ec=He.yylloc;break;case 2:if(gr=this.productions_[Li[1]][1],Fn.$=_e[_e.length-gr],Fn._$={first_line:H[H.length-(gr||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(gr||1)].first_column,last_column:H[H.length-1].last_column},fm&&(Fn._$.range=[H[H.length-(gr||1)].range[0],H[H.length-1].range[1]]),ic=this.performAction.apply(Fn,[Z,v1,Ai,an.yy,Li[1],_e,H].concat(dm)),typeof ic<"u")return ic;gr&&(oe=oe.slice(0,-1*gr*2),_e=_e.slice(0,-1*gr),H=H.slice(0,-1*gr)),oe.push(this.productions_[Li[1]][0]),_e.push(Fn.$),H.push(Fn._$),w1=ws[oe[oe.length-2]][oe[oe.length-1]],oe.push(w1);break;case 3:return!0}}return!0}},ks=function(){var pr={EOF:1,parseError:function(Yt,oe){if(this.yy.parser)this.yy.parser.parseError(Yt,oe);else throw new Error(Yt)},setInput:function(Pt,Yt){return this.yy=Yt||this.yy||{},this._input=Pt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var Yt=Pt.match(/(?:\r\n?|\n).*/g);return Yt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var Yt=Pt.length,oe=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Yt),this.offset-=Yt;var St=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),oe.length-1&&(this.yylineno-=oe.length-1);var _e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:oe?(oe.length===St.length?this.yylloc.first_column:0)+St[St.length-oe.length].length-oe[0].length:this.yylloc.first_column-Yt},this.options.ranges&&(this.yylloc.range=[_e[0],_e[0]+this.yyleng-Yt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1227
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),Yt=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+`
1228
+ `+Yt+"^"},test_match:function(Pt,Yt){var oe,St,_e;if(this.options.backtrack_lexer&&(_e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_e.yylloc.range=this.yylloc.range.slice(0))),St=Pt[0].match(/(?:\r\n?|\n).*/g),St&&(this.yylineno+=St.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:St?St[St.length-1].length-St[St.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Pt[0].length),this.matched+=Pt[0],oe=this.performAction.call(this,this.yy,this,Yt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),oe)return oe;if(this._backtrack){for(var H in _e)this[H]=_e[H];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,Yt,oe,St;this._more||(this.yytext="",this.match="");for(var _e=this._currentRules(),H=0;H<_e.length;H++)if(oe=this._input.match(this.rules[_e[H]]),oe&&(!Yt||oe[0].length>Yt[0].length)){if(Yt=oe,St=H,this.options.backtrack_lexer){if(Pt=this.test_match(oe,_e[H]),Pt!==!1)return Pt;if(this._backtrack){Yt=!1;continue}else return!1}else if(!this.options.flex)break}return Yt?(Pt=this.test_match(Yt,_e[St]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1229
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Yt=this.next();return Yt||this.lex()},begin:function(Yt){this.conditionStack.push(Yt)},popState:function(){var Yt=this.conditionStack.length-1;return Yt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Yt){return Yt=this.conditionStack.length-1-Math.abs(Yt||0),Yt>=0?this.conditionStack[Yt]:"INITIAL"},pushState:function(Yt){this.begin(Yt)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Yt,oe,St,_e){switch(St){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:break;case 6:break;case 7:return this.begin("acc_title"),44;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),46;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"STR";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin("href");break;case 24:this.popState();break;case 25:return 100;case 26:this.begin("callbackname");break;case 27:this.popState();break;case 28:this.popState(),this.begin("callbackargs");break;case 29:return 98;case 30:this.popState();break;case 31:return 99;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 90;case 35:return Yt.lex.firstGraph()&&this.begin("dir"),24;case 36:return Yt.lex.firstGraph()&&this.begin("dir"),24;case 37:return Yt.lex.firstGraph()&&this.begin("dir"),24;case 38:return 38;case 39:return 42;case 40:return 101;case 41:return 101;case 42:return 101;case 43:return 101;case 44:return this.popState(),25;case 45:return this.popState(),26;case 46:return this.popState(),26;case 47:return this.popState(),26;case 48:return this.popState(),26;case 49:return this.popState(),26;case 50:return this.popState(),26;case 51:return this.popState(),26;case 52:return this.popState(),26;case 53:return this.popState(),26;case 54:return this.popState(),26;case 55:return 118;case 56:return 119;case 57:return 120;case 58:return 121;case 59:return 105;case 60:return 111;case 61:return 53;case 62:return 67;case 63:return 52;case 64:return 20;case 65:return 106;case 66:return 126;case 67:return 82;case 68:return 82;case 69:return 82;case 70:return 81;case 71:return 81;case 72:return 81;case 73:return 59;case 74:return 60;case 75:return 61;case 76:return 62;case 77:return 63;case 78:return 64;case 79:return 65;case 80:return 69;case 81:return 70;case 82:return 55;case 83:return 56;case 84:return 109;case 85:return 112;case 86:return 127;case 87:return 124;case 88:return 113;case 89:return 125;case 90:return 125;case 91:return 114;case 92:return 73;case 93:return 92;case 94:return"SEP";case 95:return 91;case 96:return 66;case 97:return 75;case 98:return 74;case 99:return 77;case 100:return 76;case 101:return 122;case 102:return 123;case 103:return 68;case 104:return 57;case 105:return 58;case 106:return 40;case 107:return 41;case 108:return 71;case 109:return 72;case 110:return 133;case 111:return 21;case 112:return 22;case 113:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[30,31],inclusive:!1},callbackname:{rules:[27,28,29],inclusive:!1},href:{rules:[24,25],inclusive:!1},click:{rules:[33,34],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[44,45,46,47,48,49,50,51,52,53,54],inclusive:!1},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,5,6,7,9,11,14,17,18,19,20,21,22,23,26,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],inclusive:!0}}};return pr}();ve.lexer=ks;function Rn(){this.yy={}}return Rn.prototype=ve,ve.Parser=Rn,new Rn}();Bh.parser=Bh;const ld=Bh,wA=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null},TA=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:t.match(/^\s*graph/)!==null?!0:t.match(/^\s*flowchart/)!==null},EA="flowchart-";let cd=0,Qu=G(),me={},Sn=[],Xn={},Yr=[],dl={},Zu={},go=0,Dh=!0,Ni,Hl,ql=[];const Gl=t=>$t.sanitizeText(t,Qu),Jp=function(t,e,i){be.parseDirective(this,t,e,i)},Na=function(t){const e=Object.keys(me);for(const i of e)if(me[i].id===t)return me[i].domId;return t},tg=function(t,e,i,r,n,s,a={}){let o,l=t;l!==void 0&&l.trim().length!==0&&(me[l]===void 0&&(me[l]={id:l,domId:EA+l+"-"+cd,styles:[],classes:[]}),cd++,e!==void 0?(Qu=G(),o=Gl(e.trim()),o[0]==='"'&&o[o.length-1]==='"'&&(o=o.substring(1,o.length-1)),me[l].text=o):me[l].text===void 0&&(me[l].text=t),i!==void 0&&(me[l].type=i),r!=null&&r.forEach(function(h){me[l].styles.push(h)}),n!=null&&n.forEach(function(h){me[l].classes.push(h)}),s!==void 0&&(me[l].dir=s),me[l].props===void 0?me[l].props=a:a!==void 0&&Object.assign(me[l].props,a))},eg=function(t,e,i,r){const a={start:t,end:e,type:void 0,text:""};r=i.text,r!==void 0&&(a.text=Gl(r.trim()),a.text[0]==='"'&&a.text[a.text.length-1]==='"'&&(a.text=a.text.substring(1,a.text.length-1))),i!==void 0&&(a.type=i.type,a.stroke=i.stroke,a.length=i.length),Sn.push(a)},ig=function(t,e,i,r){let n,s;for(n=0;n<t.length;n++)for(s=0;s<e.length;s++)eg(t[n],e[s],i,r)},rg=function(t,e){t.forEach(function(i){i==="default"?Sn.defaultInterpolate=e:Sn[i].interpolate=e})},ng=function(t,e){t.forEach(function(i){i==="default"?Sn.defaultStyle=e:(jt.isSubstringInArray("fill",e)===-1&&e.push("fill:none"),Sn[i].style=e)})},sg=function(t,e){Xn[t]===void 0&&(Xn[t]={id:t,styles:[],textStyles:[]}),e!=null&&e.forEach(function(i){if(i.match("color")){const n=i.replace("fill","bgFill").replace("color","fill");Xn[t].textStyles.push(n)}Xn[t].styles.push(i)})},ag=function(t){Ni=t,Ni.match(/.*</)&&(Ni="RL"),Ni.match(/.*\^/)&&(Ni="BT"),Ni.match(/.*>/)&&(Ni="LR"),Ni.match(/.*v/)&&(Ni="TB"),Ni==="TD"&&(Ni="TB")},Xl=function(t,e){t.split(",").forEach(function(i){let r=i;me[r]!==void 0&&me[r].classes.push(e),dl[r]!==void 0&&dl[r].classes.push(e)})},CA=function(t,e){t.split(",").forEach(function(i){e!==void 0&&(Zu[Hl==="gen-1"?Na(i):i]=Gl(e))})},SA=function(t,e,i){let r=Na(t);if(G().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof i=="string"){n=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s<n.length;s++){let a=n[s].trim();a.charAt(0)==='"'&&a.charAt(a.length-1)==='"'&&(a=a.substr(1,a.length-2)),n[s]=a}}n.length===0&&n.push(t),me[t]!==void 0&&(me[t].haveCallback=!0,ql.push(function(){const s=document.querySelector(`[id="${r}"]`);s!==null&&s.addEventListener("click",function(){jt.runFunc(e,...n)},!1)}))},og=function(t,e,i){t.split(",").forEach(function(r){me[r]!==void 0&&(me[r].link=jt.formatUrl(e,Qu),me[r].linkTarget=i)}),Xl(t,"clickable")},lg=function(t){return Zu[t]},cg=function(t,e,i){t.split(",").forEach(function(r){SA(r,e,i)}),Xl(t,"clickable")},hg=function(t){ql.forEach(function(e){e(t)})},ug=function(){return Ni.trim()},dg=function(){return me},fg=function(){return Sn},pg=function(){return Xn},gg=function(t){let e=_t(".mermaidTooltip");(e._groups||e)[0][0]===null&&(e=_t("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),_t(t).select("svg").selectAll("g.node").on("mouseover",function(){const n=_t(this);if(n.attr("title")===null)return;const a=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(n.attr("title")).style("left",window.scrollX+a.left+(a.right-a.left)/2+"px").style("top",window.scrollY+a.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),n.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),_t(this).classed("hover",!1)})};ql.push(gg);const yg=function(t="gen-1"){me={},Xn={},Sn=[],ql=[gg],Yr=[],dl={},go=0,Zu=[],Dh=!0,Hl=t,Ti()},mg=t=>{Hl=t||"gen-2"},bg=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},_g=function(t,e,i){let r=t.trim(),n=i;t===i&&i.match(/\s/)&&(r=void 0);function s(u){const d={boolean:{},number:{},string:{}},f=[];let p;return{nodeList:u.filter(function(_){const v=typeof _;return _.stmt&&_.stmt==="dir"?(p=_.value,!1):_.trim()===""?!1:v in d?d[v].hasOwnProperty(_)?!1:d[v][_]=!0:f.includes(_)?!1:f.push(_)}),dir:p}}let a=[];const{nodeList:o,dir:l}=s(a.concat.apply(a,e));if(a=o,Hl==="gen-1")for(let u=0;u<a.length;u++)a[u]=Na(a[u]);r=r||"subGraph"+go,n=n||"",n=Gl(n),go=go+1;const h={id:r,nodes:a,title:n.trim(),classes:[],dir:l};return D.info("Adding",h.id,h.nodes,h.dir),h.nodes=Ag(h,Yr).nodes,Yr.push(h),dl[r]=h,r},AA=function(t){for(const[e,i]of Yr.entries())if(i.id===t)return e;return-1};let zs=-1;const xg=[],vg=function(t,e){const i=Yr[e].nodes;if(zs=zs+1,zs>2e3)return;if(xg[zs]=e,Yr[e].id===t)return{result:!0,count:0};let r=0,n=1;for(;r<i.length;){const s=AA(i[r]);if(s>=0){const a=vg(t,s);if(a.result)return{result:!0,count:n+a.count};n=n+a.count}r=r+1}return{result:!1,count:n}},kg=function(t){return xg[t]},wg=function(){zs=-1,Yr.length>0&&vg("none",Yr.length-1)},Tg=function(){return Yr},Eg=()=>Dh?(Dh=!1,!0):!1,LA=t=>{let e=t.trim(),i="arrow_open";switch(e[0]){case"<":i="arrow_point",e=e.slice(1);break;case"x":i="arrow_cross",e=e.slice(1);break;case"o":i="arrow_circle",e=e.slice(1);break}let r="normal";return e.includes("=")&&(r="thick"),e.includes(".")&&(r="dotted"),{type:i,stroke:r}},BA=(t,e)=>{const i=e.length;let r=0;for(let n=0;n<i;++n)e[n]===t&&++r;return r},DA=t=>{const e=t.trim();let i=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross",e[0]==="x"&&(r="double_"+r,i=i.slice(1));break;case">":r="arrow_point",e[0]==="<"&&(r="double_"+r,i=i.slice(1));break;case"o":r="arrow_circle",e[0]==="o"&&(r="double_"+r,i=i.slice(1));break}let n="normal",s=i.length-1;i[0]==="="&&(n="thick");let a=BA(".",i);return a&&(n="dotted",s=a),{type:r,stroke:n,length:s}},Cg=(t,e)=>{const i=DA(t);let r;if(e){if(r=LA(e),r.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if(r.type==="arrow_open")r.type=i.type;else{if(r.type!==i.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return r.type==="double_arrow"&&(r.type="double_arrow_point"),r.length=i.length,r}return i},Sg=(t,e)=>{let i=!1;return t.forEach(r=>{r.nodes.indexOf(e)>=0&&(i=!0)}),i},Ag=(t,e)=>{const i=[];return t.nodes.forEach((r,n)=>{Sg(e,r)||i.push(t.nodes[n])}),{nodes:i}},Lg={firstGraph:Eg},ir={parseDirective:Jp,defaultConfig:()=>cs.flowchart,setAccTitle:_i,getAccTitle:Ei,getAccDescription:Si,setAccDescription:Ci,addVertex:tg,lookUpDomId:Na,addLink:ig,updateLinkInterpolate:rg,updateLink:ng,addClass:sg,setDirection:ag,setClass:Xl,setTooltip:CA,getTooltip:lg,setClickEvent:cg,setLink:og,bindFunctions:hg,getDirection:ug,getVertices:dg,getEdges:fg,getClasses:pg,clear:yg,setGen:mg,defaultStyle:bg,addSubGraph:_g,getDepthFirstPos:kg,indexNodes:wg,getSubGraphs:Tg,destructLink:Cg,lex:Lg,exists:Sg,makeUniq:Ag,setDiagramTitle:Qi,getDiagramTitle:Zi},nM=Object.freeze(Object.defineProperty({__proto__:null,addClass:sg,addLink:ig,addSingleLink:eg,addSubGraph:_g,addVertex:tg,bindFunctions:hg,clear:yg,default:ir,defaultStyle:bg,destructLink:Cg,firstGraph:Eg,getClasses:pg,getDepthFirstPos:kg,getDirection:ug,getEdges:fg,getSubGraphs:Tg,getTooltip:lg,getVertices:dg,indexNodes:wg,lex:Lg,lookUpDomId:Na,parseDirective:Jp,setClass:Xl,setClickEvent:cg,setDirection:ag,setGen:mg,setLink:og,updateLink:ng,updateLinkInterpolate:rg},Symbol.toStringTag,{value:"Module"}));function Bg(t,e,i){const r=e.width,n=e.height,s=(r+n)*.9,a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=Wr(t,s,s,a);return i.intersect=function(l){return dr(i,a,l)},o}function Dg(t,e,i){const n=e.height,s=n/4,a=e.width+2*s,o=[{x:s,y:0},{x:a-s,y:0},{x:a,y:-n/2},{x:a-s,y:-n},{x:s,y:-n},{x:0,y:-n/2}],l=Wr(t,a,n,o);return i.intersect=function(h){return dr(i,o,h)},l}function Ng(t,e,i){const r=e.width,n=e.height,s=[{x:-n/2,y:0},{x:r,y:0},{x:r,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Ig(t,e,i){const r=e.width,n=e.height,s=[{x:-2*n/6,y:0},{x:r-n/6,y:0},{x:r+2*n/6,y:-n},{x:n/6,y:-n}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Mg(t,e,i){const r=e.width,n=e.height,s=[{x:2*n/6,y:0},{x:r+n/6,y:0},{x:r-2*n/6,y:-n},{x:-n/6,y:-n}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Rg(t,e,i){const r=e.width,n=e.height,s=[{x:-2*n/6,y:0},{x:r+2*n/6,y:0},{x:r-n/6,y:-n},{x:n/6,y:-n}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Fg(t,e,i){const r=e.width,n=e.height,s=[{x:n/6,y:0},{x:r-n/6,y:0},{x:r+2*n/6,y:-n},{x:-2*n/6,y:-n}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Og(t,e,i){const r=e.width,n=e.height,s=[{x:0,y:0},{x:r+n/2,y:0},{x:r,y:-n/2},{x:r+n/2,y:-n},{x:0,y:-n}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Pg(t,e,i){const r=e.height,n=e.width+r/4,s=t.insert("rect",":first-child").attr("rx",r/2).attr("ry",r/2).attr("x",-n/2).attr("y",-r/2).attr("width",n).attr("height",r);return i.intersect=function(a){return Lu(i,a)},s}function Vg(t,e,i){const r=e.width,n=e.height,s=[{x:0,y:0},{x:r,y:0},{x:r,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],a=Wr(t,r,n,s);return i.intersect=function(o){return dr(i,s,o)},a}function Yg(t,e,i){const r=e.width,n=r/2,s=n/(2.5+r/50),a=e.height+s,o="M 0,"+s+" a "+n+","+s+" 0,0,0 "+r+" 0 a "+n+","+s+" 0,0,0 "+-r+" 0 l 0,"+a+" a "+n+","+s+" 0,0,0 "+r+" 0 l 0,"+-a,l=t.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-r/2+","+-(a/2+s)+")");return i.intersect=function(h){const u=Lu(i,h),d=u.x-i.x;if(n!=0&&(Math.abs(d)<i.width/2||Math.abs(d)==i.width/2&&Math.abs(u.y-i.y)>i.height/2-s)){let f=s*s*(1-d*d/(n*n));f!=0&&(f=Math.sqrt(f)),f=s-f,h.y-i.y>0&&(f=-f),u.y+=f}return u},l}function NA(t){t.shapes().question=Bg,t.shapes().hexagon=Dg,t.shapes().stadium=Pg,t.shapes().subroutine=Vg,t.shapes().cylinder=Yg,t.shapes().rect_left_inv_arrow=Ng,t.shapes().lean_right=Ig,t.shapes().lean_left=Mg,t.shapes().trapezoid=Rg,t.shapes().inv_trapezoid=Fg,t.shapes().rect_right_inv_arrow=Og}function IA(t){t({question:Bg}),t({hexagon:Dg}),t({stadium:Pg}),t({subroutine:Vg}),t({cylinder:Yg}),t({rect_left_inv_arrow:Ng}),t({lean_right:Ig}),t({lean_left:Mg}),t({trapezoid:Rg}),t({inv_trapezoid:Fg}),t({rect_right_inv_arrow:Og})}function Wr(t,e,i,r){return t.insert("polygon",":first-child").attr("points",r.map(function(n){return n.x+","+n.y}).join(" ")).attr("transform","translate("+-e/2+","+i/2+")")}const MA={addToRender:NA,addToRenderV2:IA},zg={},RA=function(t){const e=Object.keys(t);for(const i of e)zg[i]=t[i]},Ug=function(t,e,i,r,n,s){const a=r?r.select(`[id="${i}"]`):_t(`[id="${i}"]`),o=n||document;Object.keys(t).forEach(function(h){const u=t[h];let d="default";u.classes.length>0&&(d=u.classes.join(" "));const f=rn(u.styles);let p=u.text!==void 0?u.text:u.id,m;if(Xe(G().flowchart.htmlLabels)){const w={label:p.replace(/fa[blrs]?:fa-[\w-]+/g,x=>`<i class='${x.replace(":"," ")}'></i>`)};m=Su(a,w).node(),m.parentNode.removeChild(m)}else{const w=o.createElementNS("http://www.w3.org/2000/svg","text");w.setAttribute("style",f.labelStyle.replace("color:","fill:"));const x=p.split($t.lineBreakRegex);for(const N of x){const R=o.createElementNS("http://www.w3.org/2000/svg","tspan");R.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),R.setAttribute("dy","1em"),R.setAttribute("x","1"),R.textContent=N,w.appendChild(R)}m=w}let _=0,v="";switch(u.type){case"round":_=5,v="rect";break;case"square":v="rect";break;case"diamond":v="question";break;case"hexagon":v="hexagon";break;case"odd":v="rect_left_inv_arrow";break;case"lean_right":v="lean_right";break;case"lean_left":v="lean_left";break;case"trapezoid":v="trapezoid";break;case"inv_trapezoid":v="inv_trapezoid";break;case"odd_right":v="rect_left_inv_arrow";break;case"circle":v="circle";break;case"ellipse":v="ellipse";break;case"stadium":v="stadium";break;case"subroutine":v="subroutine";break;case"cylinder":v="cylinder";break;case"group":v="rect";break;default:v="rect"}D.warn("Adding node",u.id,u.domId),e.setNode(s.db.lookUpDomId(u.id),{labelType:"svg",labelStyle:f.labelStyle,shape:v,label:m,rx:_,ry:_,class:d,style:f.style,id:s.db.lookUpDomId(u.id)})})},Wg=function(t,e,i){let r=0,n,s;if(t.defaultStyle!==void 0){const a=rn(t.defaultStyle);n=a.style,s=a.labelStyle}t.forEach(function(a){r++;var o="L-"+a.start+"-"+a.end,l="LS-"+a.start,h="LE-"+a.end;const u={};a.type==="arrow_open"?u.arrowhead="none":u.arrowhead="normal";let d="",f="";if(a.style!==void 0){const p=rn(a.style);d=p.style,f=p.labelStyle}else switch(a.stroke){case"normal":d="fill:none",n!==void 0&&(d=n),s!==void 0&&(f=s);break;case"dotted":d="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":d=" stroke-width: 3.5px;fill:none";break}u.style=d,u.labelStyle=f,a.interpolate!==void 0?u.curve=Hi(a.interpolate,ki):t.defaultInterpolate!==void 0?u.curve=Hi(t.defaultInterpolate,ki):u.curve=Hi(zg.curve,ki),a.text===void 0?a.style!==void 0&&(u.arrowheadStyle="fill: #333"):(u.arrowheadStyle="fill: #333",u.labelpos="c",Xe(G().flowchart.htmlLabels)?(u.labelType="html",u.label=`<span id="L-${o}" class="edgeLabel L-${l}' L-${h}" style="${u.labelStyle}">${a.text.replace(/fa[blrs]?:fa-[\w-]+/g,p=>`<i class='${p.replace(":"," ")}'></i>`)}</span>`):(u.labelType="text",u.label=a.text.replace($t.lineBreakRegex,`
1230
+ `),a.style===void 0&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none"),u.labelStyle=u.labelStyle.replace("color:","fill:"))),u.id=o,u.class=l+" "+h,u.minlen=a.length||1,e.setEdge(i.db.lookUpDomId(a.start),i.db.lookUpDomId(a.end),u,r)})},FA=function(t,e){D.info("Extracting classes"),e.db.clear();try{return e.parse(t),e.db.getClasses()}catch(i){return D.error(i),{}}},OA=function(t,e,i,r){D.info("Drawing flowchart"),r.db.clear();const{securityLevel:n,flowchart:s}=G();let a;n==="sandbox"&&(a=_t("#i"+e));const o=_t(n==="sandbox"?a.nodes()[0].contentDocument.body:"body"),l=n==="sandbox"?a.nodes()[0].contentDocument:document;try{r.parser.parse(t)}catch{D.debug("Parsing failed")}let h=r.db.getDirection();h===void 0&&(h="TD");const u=s.nodeSpacing||50,d=s.rankSpacing||50,f=new Re({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:u,ranksep:d,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let p;const m=r.db.getSubGraphs();for(let V=m.length-1;V>=0;V--)p=m[V],r.db.addVertex(p.id,p.title,"group",void 0,p.classes);const _=r.db.getVertices();D.warn("Get vertices",_);const v=r.db.getEdges();let w=0;for(w=m.length-1;w>=0;w--){p=m[w],uu("cluster").append("text");for(let V=0;V<p.nodes.length;V++)D.warn("Setting subgraph",p.nodes[V],r.db.lookUpDomId(p.nodes[V]),r.db.lookUpDomId(p.id)),f.setParent(r.db.lookUpDomId(p.nodes[V]),r.db.lookUpDomId(p.id))}Ug(_,f,e,o,l,r),Wg(v,f,r);const x=new T7;MA.addToRender(x),x.arrows().none=function(F,O,C,S){const b=F.append("marker").attr("id",O).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");ur(b,C[S+"Style"])},x.arrows().normal=function(F,O){F.append("marker").attr("id",O).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const N=o.select(`[id="${e}"]`),R=o.select("#"+e+" g");for(x(R,f),R.selectAll("g.node").attr("title",function(){return r.db.getTooltip(this.id)}),r.db.indexNodes("subGraph"+w),w=0;w<m.length;w++)if(p=m[w],p.title!=="undefined"){const V=l.querySelectorAll("#"+e+' [id="'+r.db.lookUpDomId(p.id)+'"] rect'),F=l.querySelectorAll("#"+e+' [id="'+r.db.lookUpDomId(p.id)+'"]'),O=V[0].x.baseVal.value,C=V[0].y.baseVal.value,S=V[0].width.baseVal.value,b=_t(F[0]).select(".label");b.attr("transform",`translate(${O+S/2}, ${C+14})`),b.attr("id",e+"Text");for(let k=0;k<p.classes.length;k++)F[0].classList.add(p.classes[k])}if(!s.htmlLabels){const V=l.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const F of V){const O=F.getBBox(),C=l.createElementNS("http://www.w3.org/2000/svg","rect");C.setAttribute("rx",0),C.setAttribute("ry",0),C.setAttribute("width",O.width),C.setAttribute("height",O.height),F.insertBefore(C,F.firstChild)}}Ul(f,N,s.diagramPadding,s.useMaxWidth),Object.keys(_).forEach(function(V){const F=_[V];if(F.link){const O=o.select("#"+e+' [id="'+r.db.lookUpDomId(V)+'"]');if(O){const C=l.createElementNS("http://www.w3.org/2000/svg","a");C.setAttributeNS("http://www.w3.org/2000/svg","class",F.classes.join(" ")),C.setAttributeNS("http://www.w3.org/2000/svg","href",F.link),C.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),n==="sandbox"?C.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):F.linkTarget&&C.setAttributeNS("http://www.w3.org/2000/svg","target",F.linkTarget);const S=O.insert(function(){return C},":first-child"),E=O.select(".label-container");E&&S.append(function(){return E.node()});const b=O.select(".label");b&&S.append(function(){return b.node()})}}})},PA={setConf:RA,addVertices:Ug,addEdges:Wg,getClasses:FA,draw:OA},Hg={},VA=function(t){const e=Object.keys(t);for(const i of e)Hg[i]=t[i]},qg=function(t,e,i,r,n,s){const a=r.select(`[id="${i}"]`);Object.keys(t).forEach(function(l){const h=t[l];let u="default";h.classes.length>0&&(u=h.classes.join(" "));const d=rn(h.styles);let f=h.text!==void 0?h.text:h.id,p;if(Xe(G().flowchart.htmlLabels)){const v={label:f.replace(/fa[blrs]?:fa-[\w-]+/g,w=>`<i class='${w.replace(":"," ")}'></i>`)};p=Su(a,v).node(),p.parentNode.removeChild(p)}else{const v=n.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",d.labelStyle.replace("color:","fill:"));const w=f.split($t.lineBreakRegex);for(const x of w){const N=n.createElementNS("http://www.w3.org/2000/svg","tspan");N.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),N.setAttribute("dy","1em"),N.setAttribute("x","1"),N.textContent=x,v.appendChild(N)}p=v}let m=0,_="";switch(h.type){case"round":m=5,_="rect";break;case"square":_="rect";break;case"diamond":_="question";break;case"hexagon":_="hexagon";break;case"odd":_="rect_left_inv_arrow";break;case"lean_right":_="lean_right";break;case"lean_left":_="lean_left";break;case"trapezoid":_="trapezoid";break;case"inv_trapezoid":_="inv_trapezoid";break;case"odd_right":_="rect_left_inv_arrow";break;case"circle":_="circle";break;case"ellipse":_="ellipse";break;case"stadium":_="stadium";break;case"subroutine":_="subroutine";break;case"cylinder":_="cylinder";break;case"group":_="rect";break;case"doublecircle":_="doublecircle";break;default:_="rect"}e.setNode(h.id,{labelStyle:d.labelStyle,shape:_,labelText:f,rx:m,ry:m,class:u,style:d.style,id:h.id,link:h.link,linkTarget:h.linkTarget,tooltip:s.db.getTooltip(h.id)||"",domId:s.db.lookUpDomId(h.id),haveCallback:h.haveCallback,width:h.type==="group"?500:void 0,dir:h.dir,type:h.type,props:h.props,padding:G().flowchart.padding}),D.info("setNode",{labelStyle:d.labelStyle,shape:_,labelText:f,rx:m,ry:m,class:u,style:d.style,id:h.id,domId:s.db.lookUpDomId(h.id),width:h.type==="group"?500:void 0,type:h.type,dir:h.dir,props:h.props,padding:G().flowchart.padding})})},Gg=function(t,e,i){D.info("abc78 edges = ",t);let r=0,n={},s,a;if(t.defaultStyle!==void 0){const o=rn(t.defaultStyle);s=o.style,a=o.labelStyle}t.forEach(function(o){r++;var l="L-"+o.start+"-"+o.end;n[l]===void 0?(n[l]=0,D.info("abc78 new entry",l,n[l])):(n[l]++,D.info("abc78 new entry",l,n[l]));let h=l+"-"+n[l];D.info("abc78 new link id to be used is",l,h,n[l]);var u="LS-"+o.start,d="LE-"+o.end;const f={style:"",labelStyle:""};switch(f.minlen=o.length||1,o.type==="arrow_open"?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",o.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle";break}let p="",m="";switch(o.stroke){case"normal":p="fill:none;",s!==void 0&&(p=s),a!==void 0&&(m=a),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break}if(o.style!==void 0){const _=rn(o.style);p=_.style,m=_.labelStyle}f.style=f.style+=p,f.labelStyle=f.labelStyle+=m,o.interpolate!==void 0?f.curve=Hi(o.interpolate,ki):t.defaultInterpolate!==void 0?f.curve=Hi(t.defaultInterpolate,ki):f.curve=Hi(Hg.curve,ki),o.text===void 0?o.style!==void 0&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType="text",f.label=o.text.replace($t.lineBreakRegex,`
1231
+ `),o.style===void 0&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=h,f.classes="flowchart-link "+u+" "+d,e.setEdge(o.start,o.end,f,r)})},YA=function(t,e){D.info("Extracting classes"),e.db.clear();try{return e.parse(t),e.db.getClasses()}catch{return}},zA=function(t,e,i,r){D.info("Drawing flowchart"),r.db.clear(),ir.setGen("gen-2"),r.parser.parse(t);let n=r.db.getDirection();n===void 0&&(n="TD");const{securityLevel:s,flowchart:a}=G(),o=a.nodeSpacing||50,l=a.rankSpacing||50;let h;s==="sandbox"&&(h=_t("#i"+e));const u=_t(s==="sandbox"?h.nodes()[0].contentDocument.body:"body"),d=s==="sandbox"?h.nodes()[0].contentDocument:document,f=new Re({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:o,ranksep:l,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let p;const m=r.db.getSubGraphs();D.info("Subgraphs - ",m);for(let P=m.length-1;P>=0;P--)p=m[P],D.info("Subgraph - ",p),r.db.addVertex(p.id,p.title,"group",void 0,p.classes,p.dir);const _=r.db.getVertices(),v=r.db.getEdges();D.info("Edges",v);let w=0;for(w=m.length-1;w>=0;w--){p=m[w],uu("cluster").append("text");for(let P=0;P<p.nodes.length;P++)D.info("Setting up subgraphs",p.nodes[P],p.id),f.setParent(p.nodes[P],p.id)}qg(_,f,e,u,d,r),Gg(v,f);const x=u.select(`[id="${e}"]`),N=u.select("#"+e+" g");if($u(N,f,["point","circle","cross"],"flowchart",e),jt.insertTitle(x,"flowchartTitleText",a.titleTopMargin,r.db.getDiagramTitle()),Ul(f,x,a.diagramPadding,a.useMaxWidth),r.db.indexNodes("subGraph"+w),!a.htmlLabels){const P=d.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const V of P){const F=V.getBBox(),O=d.createElementNS("http://www.w3.org/2000/svg","rect");O.setAttribute("rx",0),O.setAttribute("ry",0),O.setAttribute("width",F.width),O.setAttribute("height",F.height),V.insertBefore(O,V.firstChild)}}Object.keys(_).forEach(function(P){const V=_[P];if(V.link){const F=_t("#"+e+' [id="'+P+'"]');if(F){const O=d.createElementNS("http://www.w3.org/2000/svg","a");O.setAttributeNS("http://www.w3.org/2000/svg","class",V.classes.join(" ")),O.setAttributeNS("http://www.w3.org/2000/svg","href",V.link),O.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),s==="sandbox"?O.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):V.linkTarget&&O.setAttributeNS("http://www.w3.org/2000/svg","target",V.linkTarget);const C=F.insert(function(){return O},":first-child"),S=F.select(".label-container");S&&C.append(function(){return S.node()});const E=F.select(".label");E&&C.append(function(){return E.node()})}}})},Pc={setConf:VA,addVertices:qg,addEdges:Gg,getClasses:YA,draw:zA};var Nh=function(){var t=function(O,C,S,E){for(S=S||{},E=O.length;E--;S[O[E]]=C);return S},e=[1,3],i=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],n=[1,15],s=[1,16],a=[1,17],o=[1,18],l=[1,19],h=[1,20],u=[1,21],d=[1,22],f=[1,23],p=[1,24],m=[1,25],_=[1,26],v=[1,27],w=[1,29],x=[1,31],N=[1,34],R=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],P={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(C,S,E,b,k,g,B){var y=g.length-1;switch(k){case 2:return g[y-1];case 3:this.$=[];break;case 4:g[y-1].push(g[y]),this.$=g[y-1];break;case 5:case 6:this.$=g[y];break;case 7:case 8:this.$=[];break;case 9:b.setDateFormat(g[y].substr(11)),this.$=g[y].substr(11);break;case 10:b.enableInclusiveEndDates(),this.$=g[y].substr(18);break;case 11:b.TopAxis(),this.$=g[y].substr(8);break;case 12:b.setAxisFormat(g[y].substr(11)),this.$=g[y].substr(11);break;case 13:b.setTickInterval(g[y].substr(13)),this.$=g[y].substr(13);break;case 14:b.setExcludes(g[y].substr(9)),this.$=g[y].substr(9);break;case 15:b.setIncludes(g[y].substr(9)),this.$=g[y].substr(9);break;case 16:b.setTodayMarker(g[y].substr(12)),this.$=g[y].substr(12);break;case 17:b.setDiagramTitle(g[y].substr(6)),this.$=g[y].substr(6);break;case 18:this.$=g[y].trim(),b.setAccTitle(this.$);break;case 19:case 20:this.$=g[y].trim(),b.setAccDescription(this.$);break;case 21:b.addSection(g[y].substr(8)),this.$=g[y].substr(8);break;case 23:b.addTask(g[y-1],g[y]),this.$="task";break;case 27:this.$=g[y-1],b.setClickEvent(g[y-1],g[y],null);break;case 28:this.$=g[y-2],b.setClickEvent(g[y-2],g[y-1],g[y]);break;case 29:this.$=g[y-2],b.setClickEvent(g[y-2],g[y-1],null),b.setLink(g[y-2],g[y]);break;case 30:this.$=g[y-3],b.setClickEvent(g[y-3],g[y-2],g[y-1]),b.setLink(g[y-3],g[y]);break;case 31:this.$=g[y-2],b.setClickEvent(g[y-2],g[y],null),b.setLink(g[y-2],g[y-1]);break;case 32:this.$=g[y-3],b.setClickEvent(g[y-3],g[y-1],g[y]),b.setLink(g[y-3],g[y-2]);break;case 33:this.$=g[y-1],b.setLink(g[y-1],g[y]);break;case 34:case 40:this.$=g[y-1]+" "+g[y];break;case 35:case 36:case 38:this.$=g[y-2]+" "+g[y-1]+" "+g[y];break;case 37:case 39:this.$=g[y-3]+" "+g[y-2]+" "+g[y-1]+" "+g[y];break;case 41:b.parseDirective("%%{","open_directive");break;case 42:b.parseDirective(g[y],"type_directive");break;case 43:g[y]=g[y].trim().replace(/'/g,'"'),b.parseDirective(g[y],"arg_directive");break;case 44:b.parseDirective("}%%","close_directive","gantt");break}},table:[{3:1,4:2,5:e,30:4,40:i},{1:[3]},{3:6,4:2,5:e,30:4,40:i},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:n,13:s,14:a,15:o,16:l,17:h,18:u,19:d,20:f,21:p,23:m,25:_,26:v,27:28,28:w,30:4,35:x,40:i},{32:32,33:[1,33],43:N},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:30,10:35,12:n,13:s,14:a,15:o,16:l,17:h,18:u,19:d,20:f,21:p,23:m,25:_,26:v,27:28,28:w,30:4,35:x,40:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(R,[2,25]),{32:47,43:N},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(R,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=S,E}},parse:function(C){var S=this,E=[0],b=[],k=[null],g=[],B=this.table,y="",M=0,nt=0,Y=2,Q=1,J=g.slice.call(arguments,1),$=Object.create(this.lexer),tt={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(tt.yy[ot]=this.yy[ot]);$.setInput(C,tt.yy),tt.yy.lexer=$,tt.yy.parser=this,typeof $.yylloc>"u"&&($.yylloc={});var at=$.yylloc;g.push(at);var U=$.options&&$.options.ranges;typeof tt.yy.parseError=="function"?this.parseError=tt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Tt(){var Dt;return Dt=b.pop()||$.lex()||Q,typeof Dt!="number"&&(Dt instanceof Array&&(b=Dt,Dt=b.pop()),Dt=S.symbols_[Dt]||Dt),Dt}for(var X,j,W,z,A={},I,q,L,st;;){if(j=E[E.length-1],this.defaultActions[j]?W=this.defaultActions[j]:((X===null||typeof X>"u")&&(X=Tt()),W=B[j]&&B[j][X]),typeof W>"u"||!W.length||!W[0]){var T="";st=[];for(I in B[j])this.terminals_[I]&&I>Y&&st.push("'"+this.terminals_[I]+"'");$.showPosition?T="Parse error on line "+(M+1)+`:
1232
+ `+$.showPosition()+`
1233
+ Expecting `+st.join(", ")+", got '"+(this.terminals_[X]||X)+"'":T="Parse error on line "+(M+1)+": Unexpected "+(X==Q?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(T,{text:$.match,token:this.terminals_[X]||X,line:$.yylineno,loc:at,expected:st})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+X);switch(W[0]){case 1:E.push(X),k.push($.yytext),g.push($.yylloc),E.push(W[1]),X=null,nt=$.yyleng,y=$.yytext,M=$.yylineno,at=$.yylloc;break;case 2:if(q=this.productions_[W[1]][1],A.$=k[k.length-q],A._$={first_line:g[g.length-(q||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(q||1)].first_column,last_column:g[g.length-1].last_column},U&&(A._$.range=[g[g.length-(q||1)].range[0],g[g.length-1].range[1]]),z=this.performAction.apply(A,[y,nt,M,tt.yy,W[1],k,g].concat(J)),typeof z<"u")return z;q&&(E=E.slice(0,-1*q*2),k=k.slice(0,-1*q),g=g.slice(0,-1*q)),E.push(this.productions_[W[1]][0]),k.push(A.$),g.push(A._$),L=B[E[E.length-2]][E[E.length-1]],E.push(L);break;case 3:return!0}}return!0}},V=function(){var O={EOF:1,parseError:function(S,E){if(this.yy.parser)this.yy.parser.parseError(S,E);else throw new Error(S)},setInput:function(C,S){return this.yy=S||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===b.length?this.yylloc.first_column:0)+b[b.length-E.length].length-E[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1234
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+`
1235
+ `+S+"^"},test_match:function(C,S){var E,b,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),b=C[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var g in k)this[g]=k[g];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,S,E,b;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),g=0;g<k.length;g++)if(E=this._input.match(this.rules[k[g]]),E&&(!S||E[0].length>S[0].length)){if(S=E,b=g,this.options.backtrack_lexer){if(C=this.test_match(E,k[g]),C!==!1)return C;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(C=this.test_match(S,k[b]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1236
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(S,E,b,k){switch(b){case 0:return this.begin("open_directive"),40;case 1:return this.begin("type_directive"),41;case 2:return this.popState(),this.begin("arg_directive"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin("acc_title"),21;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),23;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:break;case 13:break;case 14:break;case 15:return 11;case 16:break;case 17:break;case 18:break;case 19:this.begin("href");break;case 20:this.popState();break;case 21:return 38;case 22:this.begin("callbackname");break;case 23:this.popState();break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 36;case 26:this.popState();break;case 27:return 37;case 28:this.begin("click");break;case 29:this.popState();break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return"date";case 41:return 20;case 42:return"accDescription";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return O}();P.lexer=V;function F(){this.yy={}}return F.prototype=P,P.Parser=F,new F}();Nh.parser=Nh;const UA=Nh,WA=t=>t.match(/^\s*gantt/)!==null;mi.extend(B7);mi.extend(N7);mi.extend(M7);let nr="",Ju="",t1,e1="",Ia=[],Ma=[],i1={},r1=[],fl=[],us="";const Xg=["active","done","crit","milestone"];let n1=[],Ra=!1,s1=!1,Ih=0;const HA=function(t,e,i){be.parseDirective(this,t,e,i)},qA=function(){r1=[],fl=[],us="",n1=[],yo=0,Rh=void 0,mo=void 0,Pe=[],nr="",Ju="",t1=void 0,e1="",Ia=[],Ma=[],Ra=!1,s1=!1,Ih=0,i1={},Ti()},GA=function(t){Ju=t},XA=function(){return Ju},jA=function(t){t1=t},$A=function(){return t1},KA=function(t){e1=t},QA=function(){return e1},ZA=function(t){nr=t},JA=function(){Ra=!0},tL=function(){return Ra},eL=function(){s1=!0},iL=function(){return s1},rL=function(){return nr},nL=function(t){Ia=t.toLowerCase().split(/[\s,]+/)},sL=function(){return Ia},aL=function(t){Ma=t.toLowerCase().split(/[\s,]+/)},oL=function(){return Ma},lL=function(){return i1},cL=function(t){us=t,r1.push(t)},hL=function(){return r1},uL=function(){let t=hd();const e=10;let i=0;for(;!t&&i<e;)t=hd(),i++;return fl=Pe,fl},jg=function(t,e,i,r){return r.includes(t.format(e.trim()))?!1:t.isoWeekday()>=6&&i.includes("weekends")||i.includes(t.format("dddd").toLowerCase())?!0:i.includes(t.format(e.trim()))},$g=function(t,e,i,r){if(!i.length||t.manualEndTime)return;let n;t.startTime instanceof Date?n=mi(t.startTime):n=mi(t.startTime,e,!0),n=n.add(1,"d");let s;t.endTime instanceof Date?s=mi(t.endTime):s=mi(t.endTime,e,!0);const[a,o]=dL(n,s,e,i,r);t.endTime=a.toDate(),t.renderEndTime=o},dL=function(t,e,i,r,n){let s=!1,a=null;for(;t<=e;)s||(a=e.toDate()),s=jg(t,i,r,n),s&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},Mh=function(t,e,i){i=i.trim();const n=/^after\s+([\d\w- ]+)/.exec(i.trim());if(n!==null){let a=null;if(n[1].split(" ").forEach(function(o){let l=vs(o);l!==void 0&&(a?l.endTime>a.endTime&&(a=l):a=l)}),a)return a.endTime;{const o=new Date;return o.setHours(0,0,0,0),o}}let s=mi(i,e.trim(),!0);if(s.isValid())return s.toDate();{D.debug("Invalid date:"+i),D.debug("With date format:"+e.trim());const a=new Date(i);if(a===void 0||isNaN(a.getTime()))throw new Error("Invalid date:"+i);return a}},Kg=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},Qg=function(t,e,i,r=!1){i=i.trim();let n=mi(i,e.trim(),!0);if(n.isValid())return r&&(n=n.add(1,"d")),n.toDate();let s=mi(t);const[a,o]=Kg(i);if(!Number.isNaN(a)){const l=s.add(a,o);l.isValid()&&(s=l)}return s.toDate()};let yo=0;const Jn=function(t){return t===void 0?(yo=yo+1,"task"+yo):t},fL=function(t,e){let i;e.substr(0,1)===":"?i=e.substr(1,e.length):i=e;const r=i.split(","),n={};ey(r,n,Xg);for(let a=0;a<r.length;a++)r[a]=r[a].trim();let s="";switch(r.length){case 1:n.id=Jn(),n.startTime=t.endTime,s=r[0];break;case 2:n.id=Jn(),n.startTime=Mh(void 0,nr,r[0]),s=r[1];break;case 3:n.id=Jn(r[0]),n.startTime=Mh(void 0,nr,r[1]),s=r[2];break}return s&&(n.endTime=Qg(n.startTime,nr,s,Ra),n.manualEndTime=mi(s,"YYYY-MM-DD",!0).isValid(),$g(n,nr,Ma,Ia)),n},pL=function(t,e){let i;e.substr(0,1)===":"?i=e.substr(1,e.length):i=e;const r=i.split(","),n={};ey(r,n,Xg);for(let s=0;s<r.length;s++)r[s]=r[s].trim();switch(r.length){case 1:n.id=Jn(),n.startTime={type:"prevTaskEnd",id:t},n.endTime={data:r[0]};break;case 2:n.id=Jn(),n.startTime={type:"getStartDate",startData:r[0]},n.endTime={data:r[1]};break;case 3:n.id=Jn(r[0]),n.startTime={type:"getStartDate",startData:r[1]},n.endTime={data:r[2]};break}return n};let Rh,mo,Pe=[];const Zg={},gL=function(t,e){const i={section:us,type:us,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=pL(mo,e);i.raw.startTime=r.startTime,i.raw.endTime=r.endTime,i.id=r.id,i.prevTaskId=mo,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,i.order=Ih,Ih++;const n=Pe.push(i);mo=i.id,Zg[i.id]=n-1},vs=function(t){const e=Zg[t];return Pe[e]},yL=function(t,e){const i={section:us,type:us,description:t,task:t,classes:[]},r=fL(Rh,e);i.startTime=r.startTime,i.endTime=r.endTime,i.id=r.id,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,Rh=i,fl.push(i)},hd=function(){const t=function(i){const r=Pe[i];let n="";switch(Pe[i].raw.startTime.type){case"prevTaskEnd":{const s=vs(r.prevTaskId);r.startTime=s.endTime;break}case"getStartDate":n=Mh(void 0,nr,Pe[i].raw.startTime.startData),n&&(Pe[i].startTime=n);break}return Pe[i].startTime&&(Pe[i].endTime=Qg(Pe[i].startTime,nr,Pe[i].raw.endTime.data,Ra),Pe[i].endTime&&(Pe[i].processed=!0,Pe[i].manualEndTime=mi(Pe[i].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),$g(Pe[i],nr,Ma,Ia))),Pe[i].processed};let e=!0;for(const[i,r]of Pe.entries())t(i),e=e&&r.processed;return e},mL=function(t,e){let i=e;G().securityLevel!=="loose"&&(i=zr(e)),t.split(",").forEach(function(r){vs(r)!==void 0&&(ty(r,()=>{window.open(i,"_self")}),i1[r]=i)}),Jg(t,"clickable")},Jg=function(t,e){t.split(",").forEach(function(i){let r=vs(i);r!==void 0&&r.classes.push(e)})},bL=function(t,e,i){if(G().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof i=="string"){r=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s<r.length;s++){let a=r[s].trim();a.charAt(0)==='"'&&a.charAt(a.length-1)==='"'&&(a=a.substr(1,a.length-2)),r[s]=a}}r.length===0&&r.push(t),vs(t)!==void 0&&ty(t,()=>{jt.runFunc(e,...r)})},ty=function(t,e){n1.push(function(){const i=document.querySelector(`[id="${t}"]`);i!==null&&i.addEventListener("click",function(){e()})},function(){const i=document.querySelector(`[id="${t}-text"]`);i!==null&&i.addEventListener("click",function(){e()})})},_L=function(t,e,i){t.split(",").forEach(function(r){bL(r,e,i)}),Jg(t,"clickable")},xL=function(t){n1.forEach(function(e){e(t)})},a1={parseDirective:HA,getConfig:()=>G().gantt,clear:qA,setDateFormat:ZA,getDateFormat:rL,enableInclusiveEndDates:JA,endDatesAreInclusive:tL,enableTopAxis:eL,topAxisEnabled:iL,setAxisFormat:GA,getAxisFormat:XA,setTickInterval:jA,getTickInterval:$A,setTodayMarker:KA,getTodayMarker:QA,setAccTitle:_i,getAccTitle:Ei,setDiagramTitle:Qi,getDiagramTitle:Zi,setAccDescription:Ci,getAccDescription:Si,addSection:cL,getSections:hL,getTasks:uL,addTask:gL,findTaskById:vs,addTaskOrg:yL,setIncludes:nL,getIncludes:sL,setExcludes:aL,getExcludes:oL,setClickEvent:_L,setLink:mL,getLinks:lL,bindFunctions:xL,parseDuration:Kg,isInvalidDate:jg};function ey(t,e,i){let r=!0;for(;r;)r=!1,i.forEach(function(n){const s="^\\s*"+n+"\\s*$",a=new RegExp(s);t[0].match(a)&&(e[n]=!0,t.shift(1),r=!0)})}const vL=function(){D.debug("Something is calling, setConf, remove the call")};let _r;const kL=function(t,e,i,r){const n=G().gantt,s=G().securityLevel;let a;s==="sandbox"&&(a=_t("#i"+e));const o=_t(s==="sandbox"?a.nodes()[0].contentDocument.body:"body"),l=s==="sandbox"?a.nodes()[0].contentDocument:document,h=l.getElementById(e);_r=h.parentElement.offsetWidth,_r===void 0&&(_r=1200),n.useWidth!==void 0&&(_r=n.useWidth);const u=r.db.getTasks(),d=u.length*(n.barHeight+n.barGap)+2*n.topPadding;h.setAttribute("viewBox","0 0 "+_r+" "+d);const f=o.select(`[id="${e}"]`),p=q6().domain([x4(u,function(S){return S.startTime}),_4(u,function(S){return S.endTime})]).rangeRound([0,_r-n.leftPadding-n.rightPadding]);let m=[];for(const S of u)m.push(S.type);const _=m;m=F(m);function v(S,E){const b=S.startTime,k=E.startTime;let g=0;return b>k?g=1:b<k&&(g=-1),g}u.sort(v),w(u,_r,d),Ki(f,d,_r,n.useMaxWidth),f.append("text").text(r.db.getDiagramTitle()).attr("x",_r/2).attr("y",n.titleTopMargin).attr("class","titleText");function w(S,E,b){const k=n.barHeight,g=k+n.barGap,B=n.topPadding,y=n.leftPadding,M=Uf().domain([0,m.length]).range(["#00B9FA","#F95002"]).interpolate(zb);N(g,B,y,E,b,S,r.db.getExcludes(),r.db.getIncludes()),R(y,B,E,b),x(S,g,B,y,k,M,E),P(g,B),V(y,B,E,b)}function x(S,E,b,k,g,B,y){f.append("g").selectAll("rect").data(S).enter().append("rect").attr("x",0).attr("y",function(Q,J){return J=Q.order,J*E+b-2}).attr("width",function(){return y-n.rightPadding/2}).attr("height",E).attr("class",function(Q){for(const[J,$]of m.entries())if(Q.type===$)return"section section"+J%n.numberSectionStyles;return"section section0"});const M=f.append("g").selectAll("rect").data(S).enter(),nt=r.db.getLinks();if(M.append("rect").attr("id",function(Q){return Q.id}).attr("rx",3).attr("ry",3).attr("x",function(Q){return Q.milestone?p(Q.startTime)+k+.5*(p(Q.endTime)-p(Q.startTime))-.5*g:p(Q.startTime)+k}).attr("y",function(Q,J){return J=Q.order,J*E+b}).attr("width",function(Q){return Q.milestone?g:p(Q.renderEndTime||Q.endTime)-p(Q.startTime)}).attr("height",g).attr("transform-origin",function(Q,J){return J=Q.order,(p(Q.startTime)+k+.5*(p(Q.endTime)-p(Q.startTime))).toString()+"px "+(J*E+b+.5*g).toString()+"px"}).attr("class",function(Q){const J="task";let $="";Q.classes.length>0&&($=Q.classes.join(" "));let tt=0;for(const[at,U]of m.entries())Q.type===U&&(tt=at%n.numberSectionStyles);let ot="";return Q.active?Q.crit?ot+=" activeCrit":ot=" active":Q.done?Q.crit?ot=" doneCrit":ot=" done":Q.crit&&(ot+=" crit"),ot.length===0&&(ot=" task"),Q.milestone&&(ot=" milestone "+ot),ot+=tt,ot+=" "+$,J+ot}),M.append("text").attr("id",function(Q){return Q.id+"-text"}).text(function(Q){return Q.task}).attr("font-size",n.fontSize).attr("x",function(Q){let J=p(Q.startTime),$=p(Q.renderEndTime||Q.endTime);Q.milestone&&(J+=.5*(p(Q.endTime)-p(Q.startTime))-.5*g),Q.milestone&&($=J+g);const tt=this.getBBox().width;return tt>$-J?$+tt+1.5*n.leftPadding>y?J+k-5:$+k+5:($-J)/2+J+k}).attr("y",function(Q,J){return J=Q.order,J*E+n.barHeight/2+(n.fontSize/2-2)+b}).attr("text-height",g).attr("class",function(Q){const J=p(Q.startTime);let $=p(Q.endTime);Q.milestone&&($=J+g);const tt=this.getBBox().width;let ot="";Q.classes.length>0&&(ot=Q.classes.join(" "));let at=0;for(const[Tt,X]of m.entries())Q.type===X&&(at=Tt%n.numberSectionStyles);let U="";return Q.active&&(Q.crit?U="activeCritText"+at:U="activeText"+at),Q.done?Q.crit?U=U+" doneCritText"+at:U=U+" doneText"+at:Q.crit&&(U=U+" critText"+at),Q.milestone&&(U+=" milestoneText"),tt>$-J?$+tt+1.5*n.leftPadding>y?ot+" taskTextOutsideLeft taskTextOutside"+at+" "+U:ot+" taskTextOutsideRight taskTextOutside"+at+" "+U+" width-"+tt:ot+" taskText taskText"+at+" "+U+" width-"+tt}),G().securityLevel==="sandbox"){let Q;Q=_t("#i"+e);const J=Q.nodes()[0].contentDocument;M.filter(function($){return nt[$.id]!==void 0}).each(function($){var tt=J.querySelector("#"+$.id),ot=J.querySelector("#"+$.id+"-text");const at=tt.parentNode;var U=J.createElement("a");U.setAttribute("xlink:href",nt[$.id]),U.setAttribute("target","_top"),at.appendChild(U),U.appendChild(tt),U.appendChild(ot)})}}function N(S,E,b,k,g,B,y,M){const nt=B.reduce((at,{startTime:U})=>at?Math.min(at,U):U,0),Y=B.reduce((at,{endTime:U})=>at?Math.max(at,U):U,0),Q=r.db.getDateFormat();if(!nt||!Y)return;const J=[];let $=null,tt=mi(nt);for(;tt.valueOf()<=Y;)r.db.isInvalidDate(tt,Q,y,M)?$?$.end=tt:$={start:tt,end:tt}:$&&(J.push($),$=null),tt=tt.add(1,"d");f.append("g").selectAll("rect").data(J).enter().append("rect").attr("id",function(at){return"exclude-"+at.start.format("YYYY-MM-DD")}).attr("x",function(at){return p(at.start)+b}).attr("y",n.gridLineStartPadding).attr("width",function(at){const U=at.end.add(1,"day");return p(U)-p(at.start)}).attr("height",g-E-n.gridLineStartPadding).attr("transform-origin",function(at,U){return(p(at.start)+b+.5*(p(at.end)-p(at.start))).toString()+"px "+(U*S+.5*g).toString()+"px"}).attr("class","exclude-range")}function R(S,E,b,k){let g=A4(p).tickSize(-k+E+n.gridLineStartPadding).tickFormat(Po(r.db.getAxisFormat()||n.axisFormat||"%Y-%m-%d"));const y=/^([1-9]\d*)(minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||n.tickInterval);if(y!==null){const M=y[1];switch(y[2]){case"minute":g.ticks(na.every(M));break;case"hour":g.ticks(sa.every(M));break;case"day":g.ticks(wn.every(M));break;case"week":g.ticks(ns.every(M));break;case"month":g.ticks(aa.every(M));break}}if(f.append("g").attr("class","grid").attr("transform","translate("+S+", "+(k-50)+")").call(g).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||n.topAxis){let M=S4(p).tickSize(-k+E+n.gridLineStartPadding).tickFormat(Po(r.db.getAxisFormat()||n.axisFormat||"%Y-%m-%d"));if(y!==null){const nt=y[1];switch(y[2]){case"minute":M.ticks(na.every(nt));break;case"hour":M.ticks(sa.every(nt));break;case"day":M.ticks(wn.every(nt));break;case"week":M.ticks(ns.every(nt));break;case"month":M.ticks(aa.every(nt));break}}f.append("g").attr("class","grid").attr("transform","translate("+S+", "+E+")").call(M).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function P(S,E){const b=[];let k=0;for(const[g,B]of m.entries())b[g]=[B,C(B,_)];f.append("g").selectAll("text").data(b).enter().append(function(g){const B=g[0].split($t.lineBreakRegex),y=-(B.length-1)/2,M=l.createElementNS("http://www.w3.org/2000/svg","text");M.setAttribute("dy",y+"em");for(const[nt,Y]of B.entries()){const Q=l.createElementNS("http://www.w3.org/2000/svg","tspan");Q.setAttribute("alignment-baseline","central"),Q.setAttribute("x","10"),nt>0&&Q.setAttribute("dy","1em"),Q.textContent=Y,M.appendChild(Q)}return M}).attr("x",10).attr("y",function(g,B){if(B>0)for(let y=0;y<B;y++)return k+=b[B-1][1],g[1]*S/2+k*S+E;else return g[1]*S/2+E}).attr("font-size",n.sectionFontSize).attr("font-size",n.sectionFontSize).attr("class",function(g){for(const[B,y]of m.entries())if(g[0]===y)return"sectionTitle sectionTitle"+B%n.numberSectionStyles;return"sectionTitle"})}function V(S,E,b,k){const g=r.db.getTodayMarker();if(g==="off")return;const B=f.append("g").attr("class","today"),y=new Date,M=B.append("line");M.attr("x1",p(y)+S).attr("x2",p(y)+S).attr("y1",n.titleTopMargin).attr("y2",k-n.titleTopMargin).attr("class","today"),g!==""&&M.attr("style",g.replace(/,/g,";"))}function F(S){const E={},b=[];for(let k=0,g=S.length;k<g;++k)Object.prototype.hasOwnProperty.call(E,S[k])||(E[S[k]]=!0,b.push(S[k]));return b}function O(S){let E=S.length;const b={};for(;E;)b[S[--E]]=(b[S[E]]||0)+1;return b}function C(S,E){return O(E)[S]||0}},wL={setConf:vL,draw:kL};var Fh=function(){var t=function(s,a,o,l){for(o=o||{},l=s.length;l--;o[s[l]]=a);return o},e=[6,9,10],i={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(a,o,l,h,u,d,f){switch(d.length-1,u){case 1:return h;case 4:break;case 6:h.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var l=new Error(a);throw l.hash=o,l}},parse:function(a){var o=this,l=[0],h=[],u=[null],d=[],f=this.table,p="",m=0,_=0,v=2,w=1,x=d.slice.call(arguments,1),N=Object.create(this.lexer),R={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(R.yy[P]=this.yy[P]);N.setInput(a,R.yy),R.yy.lexer=N,R.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var V=N.yylloc;d.push(V);var F=N.options&&N.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(){var Y;return Y=h.pop()||N.lex()||w,typeof Y!="number"&&(Y instanceof Array&&(h=Y,Y=h.pop()),Y=o.symbols_[Y]||Y),Y}for(var C,S,E,b,k={},g,B,y,M;;){if(S=l[l.length-1],this.defaultActions[S]?E=this.defaultActions[S]:((C===null||typeof C>"u")&&(C=O()),E=f[S]&&f[S][C]),typeof E>"u"||!E.length||!E[0]){var nt="";M=[];for(g in f[S])this.terminals_[g]&&g>v&&M.push("'"+this.terminals_[g]+"'");N.showPosition?nt="Parse error on line "+(m+1)+`:
1237
+ `+N.showPosition()+`
1238
+ Expecting `+M.join(", ")+", got '"+(this.terminals_[C]||C)+"'":nt="Parse error on line "+(m+1)+": Unexpected "+(C==w?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError(nt,{text:N.match,token:this.terminals_[C]||C,line:N.yylineno,loc:V,expected:M})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+S+", token: "+C);switch(E[0]){case 1:l.push(C),u.push(N.yytext),d.push(N.yylloc),l.push(E[1]),C=null,_=N.yyleng,p=N.yytext,m=N.yylineno,V=N.yylloc;break;case 2:if(B=this.productions_[E[1]][1],k.$=u[u.length-B],k._$={first_line:d[d.length-(B||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(B||1)].first_column,last_column:d[d.length-1].last_column},F&&(k._$.range=[d[d.length-(B||1)].range[0],d[d.length-1].range[1]]),b=this.performAction.apply(k,[p,_,m,R.yy,E[1],u,d].concat(x)),typeof b<"u")return b;B&&(l=l.slice(0,-1*B*2),u=u.slice(0,-1*B),d=d.slice(0,-1*B)),l.push(this.productions_[E[1]][0]),u.push(k.$),d.push(k._$),y=f[l[l.length-2]][l[l.length-1]],l.push(y);break;case 3:return!0}}return!0}},r=function(){var s={EOF:1,parseError:function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,l=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===h.length?this.yylloc.first_column:0)+h[h.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1239
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+`
1240
+ `+o+"^"},test_match:function(a,o){var l,h,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),h=a[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],l=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var d in u)this[d]=u[d];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,l,h;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),d=0;d<u.length;d++)if(l=this._input.match(this.rules[u[d]]),l&&(!o||l[0].length>o[0].length)){if(o=l,h=d,this.options.backtrack_lexer){if(a=this.test_match(l,u[d]),a!==!1)return a;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(a=this.test_match(o,u[h]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1241
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(o,l,h,u){switch(h){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return s}();i.lexer=r;function n(){this.yy={}}return n.prototype=i,i.Parser=n,new n}();Fh.parser=Fh;const TL=Fh;var iy="",ry=!1;const EL=t=>{D.debug("Setting message to: "+t),iy=t},CL=()=>iy,SL=t=>{ry=t},AL=()=>ry,LL={setMessage:EL,getMessage:CL,setInfo:SL,getInfo:AL,clear:Ti},BL=(t,e,i)=>{try{D.debug(`Rendering info diagram
1242
+ `+t);const r=G().securityLevel;let n;r==="sandbox"&&(n=_t("#i"+e));const a=_t(r==="sandbox"?n.nodes()[0].contentDocument.body:"body").select("#"+e);a.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+i),a.attr("height",100),a.attr("width",400)}catch(r){D.error("Error while rendering info diagram"),D.error(r.message)}},DL={draw:BL},NL=t=>t.match(/^\s*info/)!==null;var Oh=function(){var t=function(V,F,O,C){for(O=O||{},C=V.length;C--;O[V[C]]=F);return O},e=[1,4],i=[1,5],r=[1,6],n=[1,7],s=[1,9],a=[1,11,13,15,17,19,20,26,27,28,29],o=[2,5],l=[1,6,11,13,15,17,19,20,26,27,28,29],h=[26,27,28],u=[2,8],d=[1,18],f=[1,19],p=[1,20],m=[1,21],_=[1,22],v=[1,23],w=[1,28],x=[6,26,27,28,29],N={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(F,O,C,S,E,b,k){var g=b.length-1;switch(E){case 4:S.setShowData(!0);break;case 7:this.$=b[g-1];break;case 9:S.addSection(b[g-1],S.cleanupValue(b[g]));break;case 10:this.$=b[g].trim(),S.setDiagramTitle(this.$);break;case 11:this.$=b[g].trim(),S.setAccTitle(this.$);break;case 12:case 13:this.$=b[g].trim(),S.setAccDescription(this.$);break;case 14:S.addSection(b[g].substr(8)),this.$=b[g].substr(8);break;case 21:S.parseDirective("%%{","open_directive");break;case 22:S.parseDirective(b[g],"type_directive");break;case 23:b[g]=b[g].trim().replace(/'/g,'"'),S.parseDirective(b[g],"arg_directive");break;case 24:S.parseDirective("}%%","close_directive","pie");break}},table:[{3:1,4:2,5:3,6:e,21:8,26:i,27:r,28:n,29:s},{1:[3]},{3:10,4:2,5:3,6:e,21:8,26:i,27:r,28:n,29:s},{3:11,4:2,5:3,6:e,21:8,26:i,27:r,28:n,29:s},t(a,o,{7:12,8:[1,13]}),t(l,[2,18]),t(l,[2,19]),t(l,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(h,u,{21:8,9:16,10:17,5:24,1:[2,3],11:d,13:f,15:p,17:m,19:_,20:v,29:s}),t(a,o,{7:25}),{23:26,24:[1,27],32:w},t([24,32],[2,22]),t(a,[2,6]),{4:29,26:i,27:r,28:n},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),t(h,u,{21:8,9:16,10:17,5:24,1:[2,4],11:d,13:f,15:p,17:m,19:_,20:v,29:s}),t(x,[2,16]),{25:34,31:[1,35]},t(x,[2,24]),t(a,[2,7]),t(h,[2,9]),t(h,[2,10]),t(h,[2,11]),t(h,[2,12]),{23:36,32:w},{32:[2,23]},t(x,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(F,O){if(O.recoverable)this.trace(F);else{var C=new Error(F);throw C.hash=O,C}},parse:function(F){var O=this,C=[0],S=[],E=[null],b=[],k=this.table,g="",B=0,y=0,M=2,nt=1,Y=b.slice.call(arguments,1),Q=Object.create(this.lexer),J={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(J.yy[$]=this.yy[$]);Q.setInput(F,J.yy),J.yy.lexer=Q,J.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var tt=Q.yylloc;b.push(tt);var ot=Q.options&&Q.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function at(){var st;return st=S.pop()||Q.lex()||nt,typeof st!="number"&&(st instanceof Array&&(S=st,st=S.pop()),st=O.symbols_[st]||st),st}for(var U,Tt,X,j,W={},z,A,I,q;;){if(Tt=C[C.length-1],this.defaultActions[Tt]?X=this.defaultActions[Tt]:((U===null||typeof U>"u")&&(U=at()),X=k[Tt]&&k[Tt][U]),typeof X>"u"||!X.length||!X[0]){var L="";q=[];for(z in k[Tt])this.terminals_[z]&&z>M&&q.push("'"+this.terminals_[z]+"'");Q.showPosition?L="Parse error on line "+(B+1)+`:
1243
+ `+Q.showPosition()+`
1244
+ Expecting `+q.join(", ")+", got '"+(this.terminals_[U]||U)+"'":L="Parse error on line "+(B+1)+": Unexpected "+(U==nt?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(L,{text:Q.match,token:this.terminals_[U]||U,line:Q.yylineno,loc:tt,expected:q})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+U);switch(X[0]){case 1:C.push(U),E.push(Q.yytext),b.push(Q.yylloc),C.push(X[1]),U=null,y=Q.yyleng,g=Q.yytext,B=Q.yylineno,tt=Q.yylloc;break;case 2:if(A=this.productions_[X[1]][1],W.$=E[E.length-A],W._$={first_line:b[b.length-(A||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(A||1)].first_column,last_column:b[b.length-1].last_column},ot&&(W._$.range=[b[b.length-(A||1)].range[0],b[b.length-1].range[1]]),j=this.performAction.apply(W,[g,y,B,J.yy,X[1],E,b].concat(Y)),typeof j<"u")return j;A&&(C=C.slice(0,-1*A*2),E=E.slice(0,-1*A),b=b.slice(0,-1*A)),C.push(this.productions_[X[1]][0]),E.push(W.$),b.push(W._$),I=k[C[C.length-2]][C[C.length-1]],C.push(I);break;case 3:return!0}}return!0}},R=function(){var V={EOF:1,parseError:function(O,C){if(this.yy.parser)this.yy.parser.parseError(O,C);else throw new Error(O)},setInput:function(F,O){return this.yy=O||this.yy||{},this._input=F,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var O=F.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),F},unput:function(F){var O=F.length,C=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var S=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:C?(C.length===S.length?this.yylloc.first_column:0)+S[S.length-C.length].length-C[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1245
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(F){this.unput(this.match.slice(F))},pastInput:function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var F=this.pastInput(),O=new Array(F.length+1).join("-");return F+this.upcomingInput()+`
1246
+ `+O+"^"},test_match:function(F,O){var C,S,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),S=F[0].match(/(?:\r\n?|\n).*/g),S&&(this.yylineno+=S.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:S?S[S.length-1].length-S[S.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(F[0].length),this.matched+=F[0],C=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var b in E)this[b]=E[b];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,O,C,S;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),b=0;b<E.length;b++)if(C=this._input.match(this.rules[E[b]]),C&&(!O||C[0].length>O[0].length)){if(O=C,S=b,this.options.backtrack_lexer){if(F=this.test_match(C,E[b]),F!==!1)return F;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(F=this.test_match(O,E[S]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1247
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var O=this.next();return O||this.lex()},begin:function(O){this.conditionStack.push(O)},popState:function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},pushState:function(O){this.begin(O)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(O,C,S,E){switch(S){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:break;case 6:break;case 7:return 26;case 8:break;case 9:break;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:this.begin("string");break;case 20:this.popState();break;case 21:return"txt";case 22:return 6;case 23:return 8;case 24:return"value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};return V}();N.lexer=R;function P(){this.yy={}}return P.prototype=N,N.Parser=P,new P}();Oh.parser=Oh;const IL=Oh,ML=t=>t.match(/^\s*pie/)!==null||t.match(/^\s*bar/)!==null;let pl={},o1=!1;const RL=function(t,e,i){be.parseDirective(this,t,e,i)},FL=function(t,e){t=$t.sanitizeText(t,G()),pl[t]===void 0&&(pl[t]=e,D.debug("Added new section :",t))},OL=()=>pl,PL=function(t){o1=t},VL=function(){return o1},YL=function(t){return t.substring(0,1)===":"&&(t=t.substring(1).trim()),Number(t.trim())},zL=function(){pl={},o1=!1,Ti()},UL={parseDirective:RL,getConfig:()=>G().pie,addSection:FL,getSections:OL,cleanupValue:YL,clear:zL,setAccTitle:_i,getAccTitle:Ei,setDiagramTitle:Qi,getDiagramTitle:Zi,setShowData:PL,getShowData:VL,getAccDescription:Si,setAccDescription:Ci};let xr=G(),vr;const Ns=450,WL=(t,e,i,r)=>{try{xr=G(),D.debug(`Rendering info diagram
1248
+ `+t);const x=G().securityLevel;let N;x==="sandbox"&&(N=_t("#i"+e));const R=_t(x==="sandbox"?N.nodes()[0].contentDocument.body:"body"),P=x==="sandbox"?N.nodes()[0].contentDocument:document;r.db.clear(),r.parser.parse(t),D.debug("Parsed info diagram");const V=P.getElementById(e);vr=V.parentElement.offsetWidth,vr===void 0&&(vr=1200),xr.useWidth!==void 0&&(vr=xr.useWidth),xr.pie.useWidth!==void 0&&(vr=xr.pie.useWidth);const F=R.select("#"+e);Ki(F,Ns,vr,xr.pie.useMaxWidth),V.setAttribute("viewBox","0 0 "+vr+" "+Ns);var n=40,s=18,a=4,o=Math.min(vr,Ns)/2-n,l=F.append("g").attr("transform","translate("+vr/2+","+Ns/2+")"),h=r.db.getSections(),u=0;Object.keys(h).forEach(function(C){u+=h[C]});const O=xr.themeVariables;var d=[O.pie1,O.pie2,O.pie3,O.pie4,O.pie5,O.pie6,O.pie7,O.pie8,O.pie9,O.pie10,O.pie11,O.pie12],f=Vf().range(d),p=Object.entries(h).map(function(C,S){return{order:S,name:C[0],value:C[1]}}),m=nv().value(function(C){return C.value}).sort(function(C,S){return C.order-S.order}),_=m(p),v=lh().innerRadius(0).outerRadius(o);l.selectAll("mySlices").data(_).enter().append("path").attr("d",v).attr("fill",function(C){return f(C.data.name)}).attr("class","pieCircle"),l.selectAll("mySlices").data(_).enter().append("text").text(function(C){return(C.data.value/u*100).toFixed(0)+"%"}).attr("transform",function(C){return"translate("+v.centroid(C)+")"}).style("text-anchor","middle").attr("class","slice"),l.append("text").text(r.db.getDiagramTitle()).attr("x",0).attr("y",-(Ns-50)/2).attr("class","pieTitleText");var w=l.selectAll(".legend").data(f.domain()).enter().append("g").attr("class","legend").attr("transform",function(C,S){const E=s+a,b=E*f.domain().length/2,k=12*s,g=S*E-b;return"translate("+k+","+g+")"});w.append("rect").attr("width",s).attr("height",s).style("fill",f).style("stroke",f),w.data(_).append("text").attr("x",s+a).attr("y",s-a).text(function(C){return r.db.getShowData()||xr.showData||xr.pie.showData?C.data.name+" ["+C.data.value+"]":C.data.name})}catch(x){D.error("Error while rendering info diagram"),D.error(x)}},HL={draw:WL};var Ph=function(){var t=function(Tt,X,j,W){for(j=j||{},W=Tt.length;W--;j[Tt[W]]=X);return j},e=[1,3],i=[1,5],r=[1,6],n=[1,7],s=[1,8],a=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],o=[1,22],l=[2,13],h=[1,26],u=[1,27],d=[1,28],f=[1,29],p=[1,30],m=[1,31],_=[1,24],v=[1,32],w=[1,33],x=[1,36],N=[71,72],R=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],P=[1,56],V=[1,57],F=[1,58],O=[1,59],C=[1,60],S=[1,61],E=[1,62],b=[62,63],k=[1,74],g=[1,70],B=[1,71],y=[1,72],M=[1,73],nt=[1,75],Y=[1,79],Q=[1,80],J=[1,77],$=[1,78],tt=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],ot={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(X,j,W,z,A,I,q){var L=I.length-1;switch(A){case 6:this.$=I[L].trim(),z.setAccTitle(this.$);break;case 7:case 8:this.$=I[L].trim(),z.setAccDescription(this.$);break;case 9:z.parseDirective("%%{","open_directive");break;case 10:z.parseDirective(I[L],"type_directive");break;case 11:I[L]=I[L].trim().replace(/'/g,'"'),z.parseDirective(I[L],"arg_directive");break;case 12:z.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:z.addRequirement(I[L-3],I[L-4]);break;case 20:z.setNewReqId(I[L-2]);break;case 21:z.setNewReqText(I[L-2]);break;case 22:z.setNewReqRisk(I[L-2]);break;case 23:z.setNewReqVerifyMethod(I[L-2]);break;case 26:this.$=z.RequirementType.REQUIREMENT;break;case 27:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=z.RiskLevel.LOW_RISK;break;case 33:this.$=z.RiskLevel.MED_RISK;break;case 34:this.$=z.RiskLevel.HIGH_RISK;break;case 35:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=z.VerifyType.VERIFY_TEST;break;case 39:z.addElement(I[L-3]);break;case 40:z.setNewElementType(I[L-2]);break;case 41:z.setNewElementDocRef(I[L-2]);break;case 44:z.addRelationship(I[L-2],I[L],I[L-4]);break;case 45:z.addRelationship(I[L-2],I[L-4],I[L]);break;case 46:this.$=z.Relationships.CONTAINS;break;case 47:this.$=z.Relationships.COPIES;break;case 48:this.$=z.Relationships.DERIVES;break;case 49:this.$=z.Relationships.SATISFIES;break;case 50:this.$=z.Relationships.VERIFIES;break;case 51:this.$=z.Relationships.REFINES;break;case 52:this.$=z.Relationships.TRACES;break}},table:[{3:1,4:2,6:e,9:4,14:i,16:r,18:n,19:s},{1:[3]},{3:10,4:2,5:[1,9],6:e,9:4,14:i,16:r,18:n,19:s},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},t(a,[2,8]),{20:[2,9]},{3:16,4:2,6:e,9:4,14:i,16:r,18:n,19:s},{1:[2,2]},{4:21,5:o,7:17,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{11:34,12:[1,35],22:x},t([12,22],[2,10]),t(a,[2,6]),t(a,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:o,7:38,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{4:21,5:o,7:39,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{4:21,5:o,7:40,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{4:21,5:o,7:41,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{4:21,5:o,7:42,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:f,44:p,45:m,53:_,71:v,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(R,[2,55]),t(R,[2,56]),t(a,[2,4]),{13:51,21:[1,52]},t(a,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:P,65:V,66:F,67:O,68:C,69:S,70:E},{61:63,64:P,65:V,66:F,67:O,68:C,69:S,70:E},{11:64,22:x},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},t(b,[2,46]),t(b,[2,47]),t(b,[2,48]),t(b,[2,49]),t(b,[2,50]),t(b,[2,51]),t(b,[2,52]),{63:[1,68]},t(a,[2,5]),{5:k,29:69,30:g,33:B,35:y,37:M,39:nt},{5:Y,39:Q,55:76,56:J,58:$},{32:81,71:v,72:w},{32:82,71:v,72:w},t(tt,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:k,29:87,30:g,33:B,35:y,37:M,39:nt},t(tt,[2,25]),t(tt,[2,39]),{31:[1,88]},{31:[1,89]},{5:Y,39:Q,55:90,56:J,58:$},t(tt,[2,43]),t(tt,[2,44]),t(tt,[2,45]),{32:91,71:v,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},t(tt,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},t(tt,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:k,29:116,30:g,33:B,35:y,37:M,39:nt},{5:k,29:117,30:g,33:B,35:y,37:M,39:nt},{5:k,29:118,30:g,33:B,35:y,37:M,39:nt},{5:k,29:119,30:g,33:B,35:y,37:M,39:nt},{5:Y,39:Q,55:120,56:J,58:$},{5:Y,39:Q,55:121,56:J,58:$},t(tt,[2,20]),t(tt,[2,21]),t(tt,[2,22]),t(tt,[2,23]),t(tt,[2,40]),t(tt,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(X,j){if(j.recoverable)this.trace(X);else{var W=new Error(X);throw W.hash=j,W}},parse:function(X){var j=this,W=[0],z=[],A=[null],I=[],q=this.table,L="",st=0,T=0,Dt=2,et=1,Et=I.slice.call(arguments,1),vt=Object.create(this.lexer),pt={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(pt.yy[ut]=this.yy[ut]);vt.setInput(X,pt.yy),pt.yy.lexer=vt,pt.yy.parser=this,typeof vt.yylloc>"u"&&(vt.yylloc={});var gt=vt.yylloc;I.push(gt);var ht=vt.options&&vt.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(){var mt;return mt=z.pop()||vt.lex()||et,typeof mt!="number"&&(mt instanceof Array&&(z=mt,mt=z.pop()),mt=j.symbols_[mt]||mt),mt}for(var he,ie,It,Mt,Kt={},de,qt,Ot,Bt;;){if(ie=W[W.length-1],this.defaultActions[ie]?It=this.defaultActions[ie]:((he===null||typeof he>"u")&&(he=yt()),It=q[ie]&&q[ie][he]),typeof It>"u"||!It.length||!It[0]){var bt="";Bt=[];for(de in q[ie])this.terminals_[de]&&de>Dt&&Bt.push("'"+this.terminals_[de]+"'");vt.showPosition?bt="Parse error on line "+(st+1)+`:
1249
+ `+vt.showPosition()+`
1250
+ Expecting `+Bt.join(", ")+", got '"+(this.terminals_[he]||he)+"'":bt="Parse error on line "+(st+1)+": Unexpected "+(he==et?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(bt,{text:vt.match,token:this.terminals_[he]||he,line:vt.yylineno,loc:gt,expected:Bt})}if(It[0]instanceof Array&&It.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ie+", token: "+he);switch(It[0]){case 1:W.push(he),A.push(vt.yytext),I.push(vt.yylloc),W.push(It[1]),he=null,T=vt.yyleng,L=vt.yytext,st=vt.yylineno,gt=vt.yylloc;break;case 2:if(qt=this.productions_[It[1]][1],Kt.$=A[A.length-qt],Kt._$={first_line:I[I.length-(qt||1)].first_line,last_line:I[I.length-1].last_line,first_column:I[I.length-(qt||1)].first_column,last_column:I[I.length-1].last_column},ht&&(Kt._$.range=[I[I.length-(qt||1)].range[0],I[I.length-1].range[1]]),Mt=this.performAction.apply(Kt,[L,T,st,pt.yy,It[1],A,I].concat(Et)),typeof Mt<"u")return Mt;qt&&(W=W.slice(0,-1*qt*2),A=A.slice(0,-1*qt),I=I.slice(0,-1*qt)),W.push(this.productions_[It[1]][0]),A.push(Kt.$),I.push(Kt._$),Ot=q[W[W.length-2]][W[W.length-1]],W.push(Ot);break;case 3:return!0}}return!0}},at=function(){var Tt={EOF:1,parseError:function(j,W){if(this.yy.parser)this.yy.parser.parseError(j,W);else throw new Error(j)},setInput:function(X,j){return this.yy=j||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var j=X.match(/(?:\r\n?|\n).*/g);return j?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var j=X.length,W=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var z=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===z.length?this.yylloc.first_column:0)+z[z.length-W.length].length-W[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1251
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),j=new Array(X.length+1).join("-");return X+this.upcomingInput()+`
1252
+ `+j+"^"},test_match:function(X,j){var W,z,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),z=X[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],W=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var I in A)this[I]=A[I];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,j,W,z;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),I=0;I<A.length;I++)if(W=this._input.match(this.rules[A[I]]),W&&(!j||W[0].length>j[0].length)){if(j=W,z=I,this.options.backtrack_lexer){if(X=this.test_match(W,A[I]),X!==!1)return X;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(X=this.test_match(j,A[z]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1253
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,W,z,A){switch(z){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 5;case 14:break;case 15:break;case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 53:this.popState();break;case 54:return"qString";case 55:return W.yytext=W.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,55],inclusive:!0}}};return Tt}();ot.lexer=at;function U(){this.yy={}}return U.prototype=ot,ot.Parser=U,new U}();Ph.parser=Ph;const qL=Ph,GL=t=>t.match(/^\s*requirement(Diagram)?/)!==null;let l1=[],yi={},Ks={},Jr={},Qs={};const XL={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},jL={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},$L={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},KL={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},QL=function(t,e,i){be.parseDirective(this,t,e,i)},ZL=(t,e)=>(Ks[t]===void 0&&(Ks[t]={name:t,type:e,id:yi.id,text:yi.text,risk:yi.risk,verifyMethod:yi.verifyMethod}),yi={},Ks[t]),JL=()=>Ks,tB=t=>{yi!==void 0&&(yi.id=t)},eB=t=>{yi!==void 0&&(yi.text=t)},iB=t=>{yi!==void 0&&(yi.risk=t)},rB=t=>{yi!==void 0&&(yi.verifyMethod=t)},nB=t=>(Qs[t]===void 0&&(Qs[t]={name:t,type:Jr.type,docRef:Jr.docRef},D.info("Added new requirement: ",t)),Jr={},Qs[t]),sB=()=>Qs,aB=t=>{Jr!==void 0&&(Jr.type=t)},oB=t=>{Jr!==void 0&&(Jr.docRef=t)},lB=(t,e,i)=>{l1.push({type:t,src:e,dst:i})},cB=()=>l1,hB=()=>{l1=[],yi={},Ks={},Jr={},Qs={},Ti()},uB={RequirementType:XL,RiskLevel:jL,VerifyType:$L,Relationships:KL,parseDirective:QL,getConfig:()=>G().req,addRequirement:ZL,getRequirements:JL,setNewReqId:tB,setNewReqText:eB,setNewReqRisk:iB,setNewReqVerifyMethod:rB,setAccTitle:_i,getAccTitle:Ei,setAccDescription:Ci,getAccDescription:Si,addElement:nB,getElements:sB,setNewElementType:aB,setNewElementDocRef:oB,addRelationship:lB,getRelationships:cB,clear:hB},Vh={CONTAINS:"contains",ARROW:"arrow"},dB=(t,e)=>{let i=t.append("defs").append("marker").attr("id",Vh.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",Vh.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0
1254
+ L${e.line_height},${e.line_height/2}
1255
+ M${e.line_height},${e.line_height/2}
1256
+ L0,${e.line_height}`).attr("stroke-width",1)},ny={ReqMarkers:Vh,insertLineEndings:dB};let ke={},ud=0;const sy=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",ke.rect_min_width+"px").attr("height",ke.rect_min_height+"px"),ay=(t,e,i)=>{let r=ke.rect_min_width/2,n=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",ke.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach(h=>{s==0?n.append("tspan").attr("text-anchor","middle").attr("x",ke.rect_min_width/2).attr("dy",0).text(h):n.append("tspan").attr("text-anchor","middle").attr("x",ke.rect_min_width/2).attr("dy",ke.line_height*.75).text(h),s++});let a=1.5*ke.rect_padding,o=s*ke.line_height*.75,l=a+o;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",ke.rect_min_width).attr("y1",l).attr("y2",l),{titleNode:n,y:l}},oy=(t,e,i,r)=>{let n=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",ke.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0;const a=30;let o=[];return i.forEach(l=>{let h=l.length;for(;h>a&&s<3;){let u=l.substring(0,a);l=l.substring(a,l.length),h=l.length,o[o.length]=u,s++}if(s==3){let u=o[o.length-1];o[o.length-1]=u.substring(0,u.length-4)+"..."}else o[o.length]=l;s=0}),o.forEach(l=>{n.append("tspan").attr("x",ke.rect_padding).attr("dy",ke.line_height).text(l)}),n},fB=(t,e,i,r)=>{const n=e.node().getTotalLength(),s=e.node().getPointAtLength(n*.5),a="rel"+ud;ud++;const l=t.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-l.width/2).attr("y",s.y-l.height/2).attr("width",l.width).attr("height",l.height).attr("fill","white").attr("fill-opacity","85%")},pB=function(t,e,i,r,n){const s=i.edge(ds(e.src),ds(e.dst)),a=bs().x(function(l){return l.x}).y(function(l){return l.y}),o=t.insert("path","#"+r).attr("class","er relationshipLine").attr("d",a(s.points)).attr("fill","none");e.type==n.db.Relationships.CONTAINS?o.attr("marker-start","url("+$t.getUrl(ke.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+$t.getUrl(ke.arrowMarkerAbsolute)+"#"+ny.ReqMarkers.ARROW+"_line_ending)")),fB(t,o,ke,`<<${e.type}>>`)},gB=(t,e,i)=>{Object.keys(t).forEach(r=>{let n=t[r];r=ds(r),D.info("Added new requirement: ",r);const s=i.append("g").attr("id",r),a="req-"+r,o=sy(s,a);let l=ay(s,r+"_title",[`<<${n.type}>>`,`${n.name}`]);oy(s,r+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],l.y);const h=o.node().getBBox();e.setNode(r,{width:h.width,height:h.height,shape:"rect",id:r})})},yB=(t,e,i)=>{Object.keys(t).forEach(r=>{let n=t[r];const s=ds(r),a=i.append("g").attr("id",s),o="element-"+s,l=sy(a,o);let h=ay(a,o+"_title",["<<Element>>",`${r}`]);oy(a,o+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],h.y);const u=l.node().getBBox();e.setNode(s,{width:u.width,height:u.height,shape:"rect",id:s})})},mB=(t,e)=>(t.forEach(function(i){let r=ds(i.src),n=ds(i.dst);e.setEdge(r,n,{relationship:i})}),t),bB=function(t,e){e.nodes().forEach(function(i){i!==void 0&&e.node(i)!==void 0&&(t.select("#"+i),t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )"))})},ds=t=>t.replace(/\s/g,"").replace(/\./g,"_"),_B=(t,e,i,r)=>{ke=G().requirement,r.db.clear(),r.parser.parse(t);const n=ke.securityLevel;let s;n==="sandbox"&&(s=_t("#i"+e));const o=_t(n==="sandbox"?s.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);ny.insertLineEndings(o,ke);const l=new Re({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:ke.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=r.db.getRequirements(),u=r.db.getElements(),d=r.db.getRelationships();gB(h,l,o),yB(u,l,o),mB(d,l),xs(l),bB(o,l),d.forEach(function(v){pB(o,v,l,e,r)});const f=ke.rect_padding,p=o.node().getBBox(),m=p.width+f*2,_=p.height+f*2;Ki(o,_,m,ke.useMaxWidth),o.attr("viewBox",`${p.x-f} ${p.y-f} ${m} ${_}`)},xB={draw:_B};var Yh=function(){var t=function(j,W,z,A){for(z=z||{},A=j.length;A--;z[j[A]]=W);return z},e=[1,2],i=[1,3],r=[1,5],n=[1,7],s=[2,5],a=[1,15],o=[1,17],l=[1,19],h=[1,21],u=[1,22],d=[1,23],f=[1,29],p=[1,30],m=[1,31],_=[1,32],v=[1,33],w=[1,34],x=[1,35],N=[1,36],R=[1,37],P=[1,38],V=[1,39],F=[1,40],O=[1,42],C=[1,43],S=[1,45],E=[1,46],b=[1,47],k=[1,48],g=[1,49],B=[1,50],y=[1,53],M=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],nt=[4,5,21,54,56],Y=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],Q=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],J=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],$=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],tt=[71,72,73],ot=[1,125],at=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],U={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(W,z,A,I,q,L,st){var T=L.length-1;switch(q){case 4:return I.apply(L[T]),L[T];case 5:case 10:this.$=[];break;case 6:case 11:L[T-1].push(L[T]),this.$=L[T-1];break;case 7:case 8:case 12:case 13:this.$=L[T];break;case 9:case 14:this.$=[];break;case 18:L[T-1].unshift({type:"boxStart",boxData:I.parseBoxData(L[T-2])}),L[T-1].push({type:"boxEnd",boxText:L[T-2]}),this.$=L[T-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(L[T-2]),sequenceIndexStep:Number(L[T-1]),sequenceVisible:!0,signalType:I.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(L[T-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:I.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:I.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:I.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:I.LINETYPE.ACTIVE_START,actor:L[T-1]};break;case 25:this.$={type:"activeEnd",signalType:I.LINETYPE.ACTIVE_END,actor:L[T-1]};break;case 31:I.setDiagramTitle(L[T].substring(6)),this.$=L[T].substring(6);break;case 32:I.setDiagramTitle(L[T].substring(7)),this.$=L[T].substring(7);break;case 33:this.$=L[T].trim(),I.setAccTitle(this.$);break;case 34:case 35:this.$=L[T].trim(),I.setAccDescription(this.$);break;case 36:L[T-1].unshift({type:"loopStart",loopText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.LOOP_START}),L[T-1].push({type:"loopEnd",loopText:L[T-2],signalType:I.LINETYPE.LOOP_END}),this.$=L[T-1];break;case 37:L[T-1].unshift({type:"rectStart",color:I.parseMessage(L[T-2]),signalType:I.LINETYPE.RECT_START}),L[T-1].push({type:"rectEnd",color:I.parseMessage(L[T-2]),signalType:I.LINETYPE.RECT_END}),this.$=L[T-1];break;case 38:L[T-1].unshift({type:"optStart",optText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.OPT_START}),L[T-1].push({type:"optEnd",optText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.OPT_END}),this.$=L[T-1];break;case 39:L[T-1].unshift({type:"altStart",altText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.ALT_START}),L[T-1].push({type:"altEnd",signalType:I.LINETYPE.ALT_END}),this.$=L[T-1];break;case 40:L[T-1].unshift({type:"parStart",parText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.PAR_START}),L[T-1].push({type:"parEnd",signalType:I.LINETYPE.PAR_END}),this.$=L[T-1];break;case 41:L[T-1].unshift({type:"criticalStart",criticalText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.CRITICAL_START}),L[T-1].push({type:"criticalEnd",signalType:I.LINETYPE.CRITICAL_END}),this.$=L[T-1];break;case 42:L[T-1].unshift({type:"breakStart",breakText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.BREAK_START}),L[T-1].push({type:"breakEnd",optText:I.parseMessage(L[T-2]),signalType:I.LINETYPE.BREAK_END}),this.$=L[T-1];break;case 45:this.$=L[T-3].concat([{type:"option",optionText:I.parseMessage(L[T-1]),signalType:I.LINETYPE.CRITICAL_OPTION},L[T]]);break;case 47:this.$=L[T-3].concat([{type:"and",parText:I.parseMessage(L[T-1]),signalType:I.LINETYPE.PAR_AND},L[T]]);break;case 49:this.$=L[T-3].concat([{type:"else",altText:I.parseMessage(L[T-1]),signalType:I.LINETYPE.ALT_ELSE},L[T]]);break;case 50:L[T-3].type="addParticipant",L[T-3].description=I.parseMessage(L[T-1]),this.$=L[T-3];break;case 51:L[T-1].type="addParticipant",this.$=L[T-1];break;case 52:L[T-3].type="addActor",L[T-3].description=I.parseMessage(L[T-1]),this.$=L[T-3];break;case 53:L[T-1].type="addActor",this.$=L[T-1];break;case 54:this.$=[L[T-1],{type:"addNote",placement:L[T-2],actor:L[T-1].actor,text:L[T]}];break;case 55:L[T-2]=[].concat(L[T-1],L[T-1]).slice(0,2),L[T-2][0]=L[T-2][0].actor,L[T-2][1]=L[T-2][1].actor,this.$=[L[T-1],{type:"addNote",placement:I.PLACEMENT.OVER,actor:L[T-2].slice(0,2),text:L[T]}];break;case 56:this.$=[L[T-1],{type:"addLinks",actor:L[T-1].actor,text:L[T]}];break;case 57:this.$=[L[T-1],{type:"addALink",actor:L[T-1].actor,text:L[T]}];break;case 58:this.$=[L[T-1],{type:"addProperties",actor:L[T-1].actor,text:L[T]}];break;case 59:this.$=[L[T-1],{type:"addDetails",actor:L[T-1].actor,text:L[T]}];break;case 62:this.$=[L[T-2],L[T]];break;case 63:this.$=L[T];break;case 64:this.$=I.PLACEMENT.LEFTOF;break;case 65:this.$=I.PLACEMENT.RIGHTOF;break;case 66:this.$=[L[T-4],L[T-1],{type:"addMessage",from:L[T-4].actor,to:L[T-1].actor,signalType:L[T-3],msg:L[T]},{type:"activeStart",signalType:I.LINETYPE.ACTIVE_START,actor:L[T-1]}];break;case 67:this.$=[L[T-4],L[T-1],{type:"addMessage",from:L[T-4].actor,to:L[T-1].actor,signalType:L[T-3],msg:L[T]},{type:"activeEnd",signalType:I.LINETYPE.ACTIVE_END,actor:L[T-4]}];break;case 68:this.$=[L[T-3],L[T-1],{type:"addMessage",from:L[T-3].actor,to:L[T-1].actor,signalType:L[T-2],msg:L[T]}];break;case 69:this.$={type:"addParticipant",actor:L[T]};break;case 70:this.$=I.LINETYPE.SOLID_OPEN;break;case 71:this.$=I.LINETYPE.DOTTED_OPEN;break;case 72:this.$=I.LINETYPE.SOLID;break;case 73:this.$=I.LINETYPE.DOTTED;break;case 74:this.$=I.LINETYPE.SOLID_CROSS;break;case 75:this.$=I.LINETYPE.DOTTED_CROSS;break;case 76:this.$=I.LINETYPE.SOLID_POINT;break;case 77:this.$=I.LINETYPE.DOTTED_POINT;break;case 78:this.$=I.parseMessage(L[T].trim().substring(1));break;case 79:I.parseDirective("%%{","open_directive");break;case 80:I.parseDirective(L[T],"type_directive");break;case 81:L[T]=L[T].trim().replace(/'/g,'"'),I.parseDirective(L[T],"arg_directive");break;case 82:I.parseDirective("}%%","close_directive","sequence");break}},table:[{3:1,4:e,5:i,6:4,7:r,14:6,83:n},{1:[3]},{3:8,4:e,5:i,6:4,7:r,14:6,83:n},{3:9,4:e,5:i,6:4,7:r,14:6,83:n},{3:10,4:e,5:i,6:4,7:r,14:6,83:n},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],s,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{16:51,17:[1,52],86:y},t([17,86],[2,80]),t(M,[2,6]),{6:41,10:54,13:18,14:6,19:l,22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},t(M,[2,8]),t(M,[2,9]),t(M,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:B},{27:61,73:B},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(M,[2,31]),t(M,[2,32]),{37:[1,67]},{39:[1,68]},t(M,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(M,[2,43]),{27:76,73:B},{27:77,73:B},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:B},{27:92,73:B},{27:93,73:B},{27:94,73:B},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(M,[2,7]),t(nt,[2,10],{11:98}),t(M,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(M,[2,23]),{5:[1,102]},{5:[1,103]},t(M,[2,26]),t(M,[2,27]),t(M,[2,28]),t(M,[2,29]),t(M,[2,30]),t(M,[2,33]),t(M,[2,34]),t(Y,s,{8:104}),t(Y,s,{8:105}),t(Y,s,{8:106}),t(Q,s,{45:107,8:108}),t(J,s,{47:109,8:110}),t($,s,{49:111,8:112}),t(Y,s,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:B},t(tt,[2,70]),t(tt,[2,71]),t(tt,[2,72]),t(tt,[2,73]),t(tt,[2,74]),t(tt,[2,75]),t(tt,[2,76]),t(tt,[2,77]),{27:121,73:B},{27:123,61:122,73:B},{73:[2,64]},{73:[2,65]},{59:124,82:ot},{59:126,82:ot},{59:127,82:ot},{59:128,82:ot},t(at,[2,15]),{16:129,86:y},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:O,56:C},{5:[1,135]},t(M,[2,21]),t(M,[2,22]),t(M,[2,24]),t(M,[2,25]),{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[1,136],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[1,137],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[1,138],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{21:[1,139]},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[2,48],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,53:[1,140],54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{21:[1,141]},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[2,46],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,52:[1,142],54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{21:[1,143]},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[2,44],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,51:[1,144],54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{4:a,5:o,6:41,9:14,10:16,13:18,14:6,19:l,21:[1,145],22:20,23:h,26:u,27:44,28:d,29:24,30:25,31:26,32:27,33:28,34:f,35:p,36:m,38:_,40:v,41:w,42:x,43:N,44:R,46:P,48:V,50:F,54:O,56:C,57:S,62:E,63:b,64:k,65:g,73:B,83:n},{20:[1,146]},t(M,[2,51]),{20:[1,147]},t(M,[2,53]),{27:148,73:B},{27:149,73:B},{59:150,82:ot},{59:151,82:ot},{59:152,82:ot},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(M,[2,18]),t(nt,[2,11]),{13:155,54:O,56:C},t(nt,[2,13]),t(nt,[2,14]),t(M,[2,20]),t(M,[2,36]),t(M,[2,37]),t(M,[2,38]),t(M,[2,39]),{20:[1,156]},t(M,[2,40]),{20:[1,157]},t(M,[2,41]),{20:[1,158]},t(M,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:ot},{59:162,82:ot},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:B},t(at,[2,16]),t(nt,[2,12]),t(Q,s,{8:108,45:164}),t(J,s,{8:110,47:165}),t($,s,{8:112,49:166}),t(M,[2,50]),t(M,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(W,z){if(z.recoverable)this.trace(W);else{var A=new Error(W);throw A.hash=z,A}},parse:function(W){var z=this,A=[0],I=[],q=[null],L=[],st=this.table,T="",Dt=0,et=0,Et=2,vt=1,pt=L.slice.call(arguments,1),ut=Object.create(this.lexer),gt={yy:{}};for(var ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ht)&&(gt.yy[ht]=this.yy[ht]);ut.setInput(W,gt.yy),gt.yy.lexer=ut,gt.yy.parser=this,typeof ut.yylloc>"u"&&(ut.yylloc={});var yt=ut.yylloc;L.push(yt);var he=ut.options&&ut.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(){var dt;return dt=I.pop()||ut.lex()||vt,typeof dt!="number"&&(dt instanceof Array&&(I=dt,dt=I.pop()),dt=z.symbols_[dt]||dt),dt}for(var It,Mt,Kt,de,qt={},Ot,Bt,bt,mt;;){if(Mt=A[A.length-1],this.defaultActions[Mt]?Kt=this.defaultActions[Mt]:((It===null||typeof It>"u")&&(It=ie()),Kt=st[Mt]&&st[Mt][It]),typeof Kt>"u"||!Kt.length||!Kt[0]){var wt="";mt=[];for(Ot in st[Mt])this.terminals_[Ot]&&Ot>Et&&mt.push("'"+this.terminals_[Ot]+"'");ut.showPosition?wt="Parse error on line "+(Dt+1)+`:
1257
+ `+ut.showPosition()+`
1258
+ Expecting `+mt.join(", ")+", got '"+(this.terminals_[It]||It)+"'":wt="Parse error on line "+(Dt+1)+": Unexpected "+(It==vt?"end of input":"'"+(this.terminals_[It]||It)+"'"),this.parseError(wt,{text:ut.match,token:this.terminals_[It]||It,line:ut.yylineno,loc:yt,expected:mt})}if(Kt[0]instanceof Array&&Kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Mt+", token: "+It);switch(Kt[0]){case 1:A.push(It),q.push(ut.yytext),L.push(ut.yylloc),A.push(Kt[1]),It=null,et=ut.yyleng,T=ut.yytext,Dt=ut.yylineno,yt=ut.yylloc;break;case 2:if(Bt=this.productions_[Kt[1]][1],qt.$=q[q.length-Bt],qt._$={first_line:L[L.length-(Bt||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(Bt||1)].first_column,last_column:L[L.length-1].last_column},he&&(qt._$.range=[L[L.length-(Bt||1)].range[0],L[L.length-1].range[1]]),de=this.performAction.apply(qt,[T,et,Dt,gt.yy,Kt[1],q,L].concat(pt)),typeof de<"u")return de;Bt&&(A=A.slice(0,-1*Bt*2),q=q.slice(0,-1*Bt),L=L.slice(0,-1*Bt)),A.push(this.productions_[Kt[1]][0]),q.push(qt.$),L.push(qt._$),bt=st[A[A.length-2]][A[A.length-1]],A.push(bt);break;case 3:return!0}}return!0}},Tt=function(){var j={EOF:1,parseError:function(z,A){if(this.yy.parser)this.yy.parser.parseError(z,A);else throw new Error(z)},setInput:function(W,z){return this.yy=z||this.yy||{},this._input=W,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var W=this._input[0];this.yytext+=W,this.yyleng++,this.offset++,this.match+=W,this.matched+=W;var z=W.match(/(?:\r\n?|\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),W},unput:function(W){var z=W.length,A=W.split(/(?:\r\n?|\n)/g);this._input=W+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var I=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===I.length?this.yylloc.first_column:0)+I[I.length-A.length].length-A[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1259
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(W){this.unput(this.match.slice(W))},pastInput:function(){var W=this.matched.substr(0,this.matched.length-this.match.length);return(W.length>20?"...":"")+W.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var W=this.match;return W.length<20&&(W+=this._input.substr(0,20-W.length)),(W.substr(0,20)+(W.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var W=this.pastInput(),z=new Array(W.length+1).join("-");return W+this.upcomingInput()+`
1260
+ `+z+"^"},test_match:function(W,z){var A,I,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),I=W[0].match(/(?:\r\n?|\n).*/g),I&&(this.yylineno+=I.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:I?I[I.length-1].length-I[I.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+W[0].length},this.yytext+=W[0],this.match+=W[0],this.matches=W,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(W[0].length),this.matched+=W[0],A=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var L in q)this[L]=q[L];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var W,z,A,I;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),L=0;L<q.length;L++)if(A=this._input.match(this.rules[q[L]]),A&&(!z||A[0].length>z[0].length)){if(z=A,I=L,this.options.backtrack_lexer){if(W=this.test_match(A,q[L]),W!==!1)return W;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(W=this.test_match(z,q[I]),W!==!1?W:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1261
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:"INITIAL"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(z,A,I,q){switch(I){case 0:return this.begin("open_directive"),83;case 1:return this.begin("type_directive"),84;case 2:return this.popState(),this.begin("arg_directive"),17;case 3:return this.popState(),this.popState(),86;case 4:return 85;case 5:return 5;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:return 24;case 12:return this.begin("LINE"),19;case 13:return this.begin("ID"),54;case 14:return this.begin("ID"),56;case 15:return A.yytext=A.yytext.trim(),this.begin("ALIAS"),73;case 16:return this.popState(),this.popState(),this.begin("LINE"),55;case 17:return this.popState(),this.popState(),5;case 18:return this.begin("LINE"),41;case 19:return this.begin("LINE"),42;case 20:return this.begin("LINE"),43;case 21:return this.begin("LINE"),44;case 22:return this.begin("LINE"),53;case 23:return this.begin("LINE"),46;case 24:return this.begin("LINE"),52;case 25:return this.begin("LINE"),48;case 26:return this.begin("LINE"),51;case 27:return this.begin("LINE"),50;case 28:return this.popState(),20;case 29:return 21;case 30:return 68;case 31:return 69;case 32:return 62;case 33:return 63;case 34:return 64;case 35:return 65;case 36:return 60;case 37:return 57;case 38:return this.begin("ID"),26;case 39:return this.begin("ID"),28;case 40:return 34;case 41:return 35;case 42:return this.begin("acc_title"),36;case 43:return this.popState(),"acc_title_value";case 44:return this.begin("acc_descr"),38;case 45:return this.popState(),"acc_descr_value";case 46:this.begin("acc_descr_multiline");break;case 47:this.popState();break;case 48:return"acc_descr_multiline_value";case 49:return 7;case 50:return 23;case 51:return 25;case 52:return 67;case 53:return 5;case 54:return A.yytext=A.yytext.trim(),73;case 55:return 76;case 56:return 77;case 57:return 74;case 58:return 75;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 71;case 65:return 72;case 66:return 5;case 67:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[47,48],inclusive:!1},acc_descr:{rules:[45],inclusive:!1},acc_title:{rules:[43],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,15],inclusive:!1},ALIAS:{rules:[7,8,16,17],inclusive:!1},LINE:{rules:[7,8,28],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,14,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,46,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return j}();U.lexer=Tt;function X(){this.yy={}}return X.prototype=U,U.Parser=X,new X}();Yh.parser=Yh;const vB=Yh,kB=t=>t.match(/^\s*sequenceDiagram/)!==null;let Is,jr={},fs=[],zi=[],jl=!1,zh,Tr;const wB=function(t,e,i){be.parseDirective(this,t,e,i)},TB=function(t){fs.push({name:t.text,wrap:t.wrap===void 0&&An()||!!t.wrap,fill:t.color,actorKeys:[]}),Tr=fs.slice(-1)[0]},Uh=function(t,e,i,r){let n=Tr;const s=jr[t];if(s){if(Tr&&s.box&&Tr!==s.box)throw new Error("A same participant should only be defined in one Box: "+s.name+" can't be in '"+s.box.name+"' and in '"+Tr.name+"' at the same time.");if(n=s.box?s.box:Tr,s.box=n,s&&e===s.name&&i==null)return}(i==null||i.text==null)&&(i={text:e,wrap:null,type:r}),(r==null||i.text==null)&&(i={text:e,wrap:null,type:r}),jr[t]={box:n,name:e,description:i.text,wrap:i.wrap===void 0&&An()||!!i.wrap,prevActor:Is,links:{},properties:{},actorCnt:null,rectData:null,type:r||"participant"},Is&&jr[Is]&&(jr[Is].nextActor=t),Tr&&Tr.actorKeys.push(t),Is=t},EB=t=>{let e,i=0;for(e=0;e<zi.length;e++)zi[e].type===_a.ACTIVE_START&&zi[e].from.actor===t&&i++,zi[e].type===_a.ACTIVE_END&&zi[e].from.actor===t&&i--;return i},CB=function(t,e,i,r){zi.push({from:t,to:e,message:i.text,wrap:i.wrap===void 0&&An()||!!i.wrap,answer:r})},Ce=function(t,e,i={text:void 0,wrap:void 0},r){if(r===_a.ACTIVE_END&&EB(t.actor)<1){let s=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw s.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},s}return zi.push({from:t,to:e,message:i.text,wrap:i.wrap===void 0&&An()||!!i.wrap,type:r}),!0},SB=function(){return fs.length>0},AB=function(){return fs.some(t=>t.name)},LB=function(){return zi},BB=function(){return fs},DB=function(){return jr},Fa=function(t){return jr[t]},NB=function(){return Object.keys(jr)},IB=function(){jl=!0},MB=function(){jl=!1},RB=()=>jl,FB=function(t){zh=t},An=()=>zh!==void 0?zh:G().sequence.wrap,OB=function(){jr={},fs=[],zi=[],jl=!1,Ti()},PB=function(t){const e=t.trim(),i={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:e.match(/^:?wrap:/)!==null?!0:e.match(/^:?nowrap:/)!==null?!1:void 0};return D.debug("parseMessage:",i),i},VB=function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let i=e!=null&&e[1]?e[1].trim():"transparent",r=e!=null&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",i)||(i="transparent",r=t.trim());else{const s=new Option().style;s.color=i,s.color!==i&&(i="transparent",r=t.trim())}return{color:i,text:r!==void 0?Fi(r.replace(/^:?(?:no)?wrap:/,""),G()):void 0,wrap:r!==void 0?r.match(/^:?wrap:/)!==null?!0:r.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},_a={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31},YB={FILLED:0,OPEN:1},zB={LEFTOF:0,RIGHTOF:1,OVER:2},ly=function(t,e,i){i.text,i.wrap===void 0&&An()||i.wrap;const r=[].concat(t,t);zi.push({from:r[0],to:r[1],message:i.text,wrap:i.wrap===void 0&&An()||!!i.wrap,type:_a.NOTE,placement:e})},cy=function(t,e){const i=Fa(t);try{let r=Fi(e.text,G());r=r.replace(/&amp;/g,"&"),r=r.replace(/&equals;/g,"=");const n=JSON.parse(r);c1(i,n)}catch(r){D.error("error while parsing actor link text",r)}},UB=function(t,e){const i=Fa(t);try{const a={};let o=Fi(e.text,G());var r=o.indexOf("@");o=o.replace(/&amp;/g,"&"),o=o.replace(/&equals;/g,"=");var n=o.slice(0,r-1).trim(),s=o.slice(r+1).trim();a[n]=s,c1(i,a)}catch(a){D.error("error while parsing actor link text",a)}};function c1(t,e){if(t.links==null)t.links=e;else for(let i in e)t.links[i]=e[i]}const hy=function(t,e){const i=Fa(t);try{let r=Fi(e.text,G());const n=JSON.parse(r);uy(i,n)}catch(r){D.error("error while parsing actor properties text",r)}};function uy(t,e){if(t.properties==null)t.properties=e;else for(let i in e)t.properties[i]=e[i]}function WB(){Tr=void 0}const dy=function(t,e){const i=Fa(t),r=document.getElementById(e.text);try{const n=r.innerHTML,s=JSON.parse(n);s.properties&&uy(i,s.properties),s.links&&c1(i,s.links)}catch(n){D.error("error while parsing actor details text",n)}},HB=function(t,e){if(t!==void 0&&t.properties!==void 0)return t.properties[e]},fy=function(t){if(Array.isArray(t))t.forEach(function(e){fy(e)});else switch(t.type){case"sequenceIndex":zi.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":Uh(t.actor,t.actor,t.description,"participant");break;case"addActor":Uh(t.actor,t.actor,t.description,"actor");break;case"activeStart":Ce(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":Ce(t.actor,void 0,void 0,t.signalType);break;case"addNote":ly(t.actor,t.placement,t.text);break;case"addLinks":cy(t.actor,t.text);break;case"addALink":UB(t.actor,t.text);break;case"addProperties":hy(t.actor,t.text);break;case"addDetails":dy(t.actor,t.text);break;case"addMessage":Ce(t.from,t.to,t.msg,t.signalType);break;case"boxStart":TB(t.boxData);break;case"boxEnd":WB();break;case"loopStart":Ce(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"rectStart":Ce(void 0,void 0,t.color,t.signalType);break;case"rectEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"optStart":Ce(void 0,void 0,t.optText,t.signalType);break;case"optEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"altStart":Ce(void 0,void 0,t.altText,t.signalType);break;case"else":Ce(void 0,void 0,t.altText,t.signalType);break;case"altEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":_i(t.text);break;case"parStart":Ce(void 0,void 0,t.parText,t.signalType);break;case"and":Ce(void 0,void 0,t.parText,t.signalType);break;case"parEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"criticalStart":Ce(void 0,void 0,t.criticalText,t.signalType);break;case"option":Ce(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":Ce(void 0,void 0,void 0,t.signalType);break;case"breakStart":Ce(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":Ce(void 0,void 0,void 0,t.signalType);break}},dd={addActor:Uh,addMessage:CB,addSignal:Ce,addLinks:cy,addDetails:dy,addProperties:hy,autoWrap:An,setWrap:FB,enableSequenceNumbers:IB,disableSequenceNumbers:MB,showSequenceNumbers:RB,getMessages:LB,getActors:DB,getActor:Fa,getActorKeys:NB,getActorProperty:HB,getAccTitle:Ei,getBoxes:BB,getDiagramTitle:Zi,setDiagramTitle:Qi,parseDirective:wB,getConfig:()=>G().sequence,clear:OB,parseMessage:PB,parseBoxData:VB,LINETYPE:_a,ARROWTYPE:YB,PLACEMENT:zB,addNote:ly,setAccTitle:_i,apply:fy,setAccDescription:Ci,getAccDescription:Si,hasAtLeastOneBox:SB,hasAtLeastOneBoxWithTitle:AB};let Wh=[];const qB=t=>{Wh.push(t)},py=()=>{Wh.forEach(t=>{t()}),Wh=[]},$l=function(t,e){const i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),e.class!==void 0&&i.attr("class",e.class),i},gy=(t,e)=>{qB(()=>{const i=document.querySelectorAll(t);i.length!==0&&(i[0].addEventListener("mouseover",function(){$B("actor"+e+"_popup")}),i[0].addEventListener("mouseout",function(){KB("actor"+e+"_popup")}))})},GB=function(t,e,i,r,n){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const s=e.links,a=e.actorCnt,o=e.rectData;var l="none";n&&(l="block !important");const h=t.append("g");h.attr("id","actor"+a+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",l),gy("#actor"+a+"_popup",a);var u="";o.class!==void 0&&(u=" "+o.class);let d=o.width>i?o.width:i;const f=h.append("rect");if(f.attr("class","actorPopupMenuPanel"+u),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",d),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),s!=null){var p=20;for(let v in s){var m=h.append("a"),_=zr(s[v]);m.attr("xlink:href",_),m.attr("target","_blank"),uD(r)(v,m,o.x+10,o.height+p,d,20,{class:"actor"},r),p+=30}}return f.attr("height",p),{height:o.height+p,width:d}},yy=function(t,e,i,r){const n=t.append("image");n.attr("x",e),n.attr("y",i);var s=zr(r);n.attr("xlink:href",s)},my=function(t,e,i,r){const n=t.append("use");n.attr("x",e),n.attr("y",i);var s=zr(r);n.attr("xlink:href","#"+s)},XB=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'block'; }"},jB=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'none'; }"},$B=function(t){var e=document.getElementById(t);e!=null&&(e.style.display="block")},KB=function(t){var e=document.getElementById(t);e!=null&&(e.style.display="none")},ps=function(t,e){let i=0,r=0;const n=e.text.split($t.lineBreakRegex),[s,a]=La(e.fontSize);let o=[],l=0,h=()=>e.y;if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":h=()=>Math.round(e.y+(i+r+e.textMargin)/2);break;case"bottom":case"end":h=()=>Math.round(e.y+(i+r+2*e.textMargin)-e.textMargin);break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[u,d]of n.entries()){e.textMargin!==void 0&&e.textMargin===0&&s!==void 0&&(l=u*s);const f=t.append("text");if(f.attr("x",e.x),f.attr("y",h()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),a!==void 0&&f.style("font-size",a),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l),e.tspan){const p=f.append("tspan");p.attr("x",e.x),e.fill!==void 0&&p.attr("fill",e.fill),p.text(d)}else f.text(d);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(r+=(f._groups||f)[0][0].getBBox().height,i=r),o.push(f)}return o},by=function(t,e){function i(n,s,a,o,l){return n+","+s+" "+(n+a)+","+s+" "+(n+a)+","+(s+o-l)+" "+(n+a-l*1.2)+","+(s+o)+" "+n+","+(s+o)}const r=t.append("polygon");return r.attr("points",i(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,ps(t,e),r};let rr=-1;const _y=(t,e)=>{t.selectAll&&t.selectAll(".actor-line").attr("class","200").attr("y2",e-55)},QB=function(t,e,i,r){const n=e.x+e.width/2,s=e.y+5,a=t.append("g");var o=a;r||(rr++,o.append("line").attr("id","actor"+rr).attr("x1",n).attr("y1",s).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),o=a.append("g"),e.actorCnt=rr,e.links!=null&&(o.attr("id","root-"+rr),gy("#root-"+rr,rr)));const l=Kl();var h="actor";e.properties!=null&&e.properties.class?h=e.properties.class:l.fill="#eaeaea",l.x=e.x,l.y=e.y,l.width=e.width,l.height=e.height,l.class=h,l.rx=3,l.ry=3;const u=$l(o,l);if(e.rectData=l,e.properties!=null&&e.properties.icon){const f=e.properties.icon.trim();f.charAt(0)==="@"?my(o,l.x+l.width-20,l.y+10,f.substr(1)):yy(o,l.x+l.width-20,l.y+10,f)}h1(i)(e.description,o,l.x,l.y,l.width,l.height,{class:"actor"},i);let d=e.height;if(u.node){const f=u.node().getBBox();e.height=f.height,d=f.height}return d},ZB=function(t,e,i,r){const n=e.x+e.width/2,s=e.y+80;r||(rr++,t.append("line").attr("id","actor"+rr).attr("x1",n).attr("y1",s).attr("x2",n).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));const a=t.append("g");a.attr("class","actor-man");const o=Kl();o.x=e.x,o.y=e.y,o.fill="#eaeaea",o.width=e.width,o.height=e.height,o.class="actor",o.rx=3,o.ry=3,a.append("line").attr("id","actor-man-torso"+rr).attr("x1",n).attr("y1",e.y+25).attr("x2",n).attr("y2",e.y+45),a.append("line").attr("id","actor-man-arms"+rr).attr("x1",n-18).attr("y1",e.y+33).attr("x2",n+18).attr("y2",e.y+33),a.append("line").attr("x1",n-18).attr("y1",e.y+60).attr("x2",n).attr("y2",e.y+45),a.append("line").attr("x1",n).attr("y1",e.y+45).attr("x2",n+16).attr("y2",e.y+60);const l=a.append("circle");l.attr("cx",e.x+e.width/2),l.attr("cy",e.y+10),l.attr("r",15),l.attr("width",e.width),l.attr("height",e.height);const h=a.node().getBBox();return e.height=h.height,h1(i)(e.description,a,o.x,o.y+35,o.width,o.height,{class:"actor"},i),e.height},JB=function(t,e,i,r){switch(e.type){case"actor":return ZB(t,e,i,r);case"participant":return QB(t,e,i,r)}},tD=function(t,e,i){const n=t.append("g");xy(n,e),e.name&&h1(i)(e.name,n,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},i),n.lower()},eD=function(t){return t.append("g")},iD=function(t,e,i,r,n){const s=Kl(),a=e.anchored;s.x=e.startx,s.y=e.starty,s.class="activation"+n%3,s.width=e.stopx-e.startx,s.height=i-e.starty,$l(a,s)},rD=function(t,e,i,r){const{boxMargin:n,boxTextMargin:s,labelBoxHeight:a,labelBoxWidth:o,messageFontFamily:l,messageFontSize:h,messageFontWeight:u}=r,d=t.append("g"),f=function(_,v,w,x){return d.append("line").attr("x1",_).attr("y1",v).attr("x2",w).attr("y2",x).attr("class","loopLine")};f(e.startx,e.starty,e.stopx,e.starty),f(e.stopx,e.starty,e.stopx,e.stopy),f(e.startx,e.stopy,e.stopx,e.stopy),f(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(_){f(e.startx,_.y,e.stopx,_.y).style("stroke-dasharray","3, 3")});let p=Hh();p.text=i,p.x=e.startx,p.y=e.starty,p.fontFamily=l,p.fontSize=h,p.fontWeight=u,p.anchor="middle",p.valign="middle",p.tspan=!1,p.width=o||50,p.height=a||20,p.textMargin=s,p.class="labelText",by(d,p),p=Hh(),p.text=e.title,p.x=e.startx+o/2+(e.stopx-e.startx)/2,p.y=e.starty+n+s,p.anchor="middle",p.valign="middle",p.textMargin=s,p.class="loopText",p.fontFamily=l,p.fontSize=h,p.fontWeight=u,p.wrap=!0;let m=ps(d,p);return e.sectionTitles!==void 0&&e.sectionTitles.forEach(function(_,v){if(_.message){p.text=_.message,p.x=e.startx+(e.stopx-e.startx)/2,p.y=e.sections[v].y+n+s,p.class="loopText",p.anchor="middle",p.valign="middle",p.tspan=!1,p.fontFamily=l,p.fontSize=h,p.fontWeight=u,p.wrap=e.wrap,m=ps(d,p);let w=Math.round(m.map(x=>(x._groups||x)[0][0].getBBox().height).reduce((x,N)=>x+N));e.sections[v].height+=w-(n+s)}}),e.height=Math.round(e.stopy-e.starty),d},xy=function(t,e){$l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},nD=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},sD=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},aD=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},oD=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},lD=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},cD=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},hD=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},Hh=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},Kl=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},h1=function(){function t(n,s,a,o,l,h,u){const d=s.append("text").attr("x",a+l/2).attr("y",o+h/2+5).style("text-anchor","middle").text(n);r(d,u)}function e(n,s,a,o,l,h,u,d){const{actorFontSize:f,actorFontFamily:p,actorFontWeight:m}=d,[_,v]=La(f),w=n.split($t.lineBreakRegex);for(let x=0;x<w.length;x++){const N=x*_-_*(w.length-1)/2,R=s.append("text").attr("x",a+l/2).attr("y",o).style("text-anchor","middle").style("font-size",v).style("font-weight",m).style("font-family",p);R.append("tspan").attr("x",a+l/2).attr("dy",N).text(w[x]),R.attr("y",o+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(R,u)}}function i(n,s,a,o,l,h,u,d){const f=s.append("switch"),m=f.append("foreignObject").attr("x",a).attr("y",o).attr("width",l).attr("height",h).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),e(n,f,a,o,l,h,u,d),r(m,u)}function r(n,s){for(const a in s)s.hasOwnProperty(a)&&n.attr(a,s[a])}return function(n){return n.textPlacement==="fo"?i:n.textPlacement==="old"?t:e}}(),uD=function(){function t(n,s,a,o,l,h,u){const d=s.append("text").attr("x",a).attr("y",o).style("text-anchor","start").text(n);r(d,u)}function e(n,s,a,o,l,h,u,d){const{actorFontSize:f,actorFontFamily:p,actorFontWeight:m}=d,_=n.split($t.lineBreakRegex);for(let v=0;v<_.length;v++){const w=v*f-f*(_.length-1)/2,x=s.append("text").attr("x",a).attr("y",o).style("text-anchor","start").style("font-size",f).style("font-weight",m).style("font-family",p);x.append("tspan").attr("x",a).attr("dy",w).text(_[v]),x.attr("y",o+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(x,u)}}function i(n,s,a,o,l,h,u,d){const f=s.append("switch"),m=f.append("foreignObject").attr("x",a).attr("y",o).attr("width",l).attr("height",h).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),e(n,f,a,o,l,h,u,d),r(m,u)}function r(n,s){for(const a in s)s.hasOwnProperty(a)&&n.attr(a,s[a])}return function(n){return n.textPlacement==="fo"?i:n.textPlacement==="old"?t:e}}(),xe={drawRect:$l,drawText:ps,drawLabel:by,drawActor:JB,drawBox:tD,drawPopup:GB,drawImage:yy,drawEmbeddedImage:my,anchorElement:eD,drawActivation:iD,drawLoop:rD,drawBackgroundRect:xy,insertArrowHead:oD,insertArrowFilledHead:lD,insertSequenceNumber:cD,insertArrowCrossHead:hD,insertDatabaseIcon:nD,insertComputerIcon:sD,insertClockIcon:aD,getTextObj:Hh,getNoteRect:Kl,popupMenu:XB,popdownMenu:jB,fixLifeLineHeights:_y,sanitizeUrl:zr};let it={};const kt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ky(G())},updateVal:function(t,e,i,r){t[e]===void 0?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,r){const n=this;let s=0;function a(o){return function(h){s++;const u=n.sequenceItems.length-s+1;n.updateVal(h,"starty",e-u*it.boxMargin,Math.min),n.updateVal(h,"stopy",r+u*it.boxMargin,Math.max),n.updateVal(kt.data,"startx",t-u*it.boxMargin,Math.min),n.updateVal(kt.data,"stopx",i+u*it.boxMargin,Math.max),o!=="activation"&&(n.updateVal(h,"startx",t-u*it.boxMargin,Math.min),n.updateVal(h,"stopx",i+u*it.boxMargin,Math.max),n.updateVal(kt.data,"starty",e-u*it.boxMargin,Math.min),n.updateVal(kt.data,"stopy",r+u*it.boxMargin,Math.max))}}this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,e,i,r){const n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),o=Math.max(e,r);this.updateVal(kt.data,"startx",n,Math.min),this.updateVal(kt.data,"starty",a,Math.min),this.updateVal(kt.data,"stopx",s,Math.max),this.updateVal(kt.data,"stopy",o,Math.max),this.updateBounds(n,a,s,o)},newActivation:function(t,e,i){const r=i[t.from.actor],n=Ql(t.from.actor).length||0,s=r.x+r.width/2+(n-1)*it.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+it.activationWidth,stopy:void 0,actor:t.from.actor,anchored:xe.anchorElement(e)})},endActivation:function(t){const e=this.activations.map(function(i){return i.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:kt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},dD=function(t,e){kt.bumpVerticalPos(it.boxMargin),e.height=it.boxMargin,e.starty=kt.getVerticalPos();const i=xe.getNoteRect();i.x=e.startx,i.y=e.starty,i.width=e.width||it.width,i.class="note";const r=t.append("g"),n=xe.drawRect(r,i),s=xe.getTextObj();s.x=e.startx,s.y=e.starty,s.width=i.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=it.noteFontFamily,s.fontSize=it.noteFontSize,s.fontWeight=it.noteFontWeight,s.anchor=it.noteAlign,s.textMargin=it.noteMargin,s.valign="center";const a=ps(r,s),o=Math.round(a.map(l=>(l._groups||l)[0][0].getBBox().height).reduce((l,h)=>l+h));n.attr("height",o+2*it.noteMargin),e.height+=o+2*it.noteMargin,kt.bumpVerticalPos(o+2*it.noteMargin),e.stopy=e.starty+o+2*it.noteMargin,e.stopx=e.startx+i.width,kt.insert(e.startx,e.starty,e.stopx,e.stopy),kt.models.addNote(e)},Ln=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),Yn=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),qh=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function fD(t,e){kt.bumpVerticalPos(10);const{startx:i,stopx:r,message:n}=e,s=$t.splitBreaks(n).length,a=jt.calculateTextDimensions(n,Ln(it)),o=a.height/s;e.height+=o,kt.bumpVerticalPos(o);let l,h=a.height-10;const u=a.width;if(i===r){l=kt.getVerticalPos()+h,it.rightAngles||(h+=it.boxMargin,l=kt.getVerticalPos()+h),h+=30;const d=Math.max(u/2,it.width/2);kt.insert(i-d,kt.getVerticalPos()-10+h,r+d,kt.getVerticalPos()+30+h)}else h+=it.boxMargin,l=kt.getVerticalPos()+h,kt.insert(i,l-10,r,l);return kt.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,kt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}const pD=function(t,e,i,r){const{startx:n,stopx:s,starty:a,message:o,type:l,sequenceIndex:h,sequenceVisible:u}=e,d=jt.calculateTextDimensions(o,Ln(it)),f=xe.getTextObj();f.x=n,f.y=a+10,f.width=s-n,f.class="messageText",f.dy="1em",f.text=o,f.fontFamily=it.messageFontFamily,f.fontSize=it.messageFontSize,f.fontWeight=it.messageFontWeight,f.anchor=it.messageAlign,f.valign="center",f.textMargin=it.wrapPadding,f.tspan=!1,ps(t,f);const p=d.width;let m;n===s?it.rightAngles?m=t.append("path").attr("d",`M ${n},${i} H ${n+Math.max(it.width/2,p/2)} V ${i+25} H ${n}`):m=t.append("path").attr("d","M "+n+","+i+" C "+(n+60)+","+(i-10)+" "+(n+60)+","+(i+30)+" "+n+","+(i+20)):(m=t.append("line"),m.attr("x1",n),m.attr("y1",i),m.attr("x2",s),m.attr("y2",i)),l===r.db.LINETYPE.DOTTED||l===r.db.LINETYPE.DOTTED_CROSS||l===r.db.LINETYPE.DOTTED_POINT||l===r.db.LINETYPE.DOTTED_OPEN?(m.style("stroke-dasharray","3, 3"),m.attr("class","messageLine1")):m.attr("class","messageLine0");let _="";it.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),m.attr("stroke-width",2),m.attr("stroke","none"),m.style("fill","none"),(l===r.db.LINETYPE.SOLID||l===r.db.LINETYPE.DOTTED)&&m.attr("marker-end","url("+_+"#arrowhead)"),(l===r.db.LINETYPE.SOLID_POINT||l===r.db.LINETYPE.DOTTED_POINT)&&m.attr("marker-end","url("+_+"#filled-head)"),(l===r.db.LINETYPE.SOLID_CROSS||l===r.db.LINETYPE.DOTTED_CROSS)&&m.attr("marker-end","url("+_+"#crosshead)"),(u||it.showSequenceNumbers)&&(m.attr("marker-start","url("+_+"#sequencenumber)"),t.append("text").attr("x",n).attr("y",i+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},Gh=function(t,e,i,r,n,s,a){if(n.hideUnusedParticipants===!0){const d=new Set;s.forEach(f=>{d.add(f.from),d.add(f.to)}),i=i.filter(f=>d.has(f))}let o=0,l=0,h=0,u;for(const d of i){const f=e[d],p=f.box;u&&u!=p&&(a||kt.models.addBox(u),l+=it.boxMargin+u.margin),p&&p!=u&&(a||(p.x=o+l,p.y=r),l+=p.margin),f.width=f.width||it.width,f.height=Math.max(f.height||it.height,it.height),f.margin=f.margin||it.actorMargin,f.x=o+l,f.y=kt.getVerticalPos();const m=xe.drawActor(t,f,it,a);h=Math.max(h,m),kt.insert(f.x,r,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,kt.models.addActor(f)}u&&!a&&kt.models.addBox(u),kt.bumpVerticalPos(h)},vy=function(t,e,i,r){let n=0,s=0;for(const a of i){const o=e[a],l=mD(o),h=xe.drawPopup(t,o,l,it,it.forceMenus,r);h.height>n&&(n=h.height),h.width+o.x>s&&(s=h.width+o.x)}return{maxHeight:n,maxWidth:s}},ky=function(t){Ge(it,t),t.fontFamily&&(it.actorFontFamily=it.noteFontFamily=it.messageFontFamily=t.fontFamily),t.fontSize&&(it.actorFontSize=it.noteFontSize=it.messageFontSize=t.fontSize),t.fontWeight&&(it.actorFontWeight=it.noteFontWeight=it.messageFontWeight=t.fontWeight)},Ql=function(t){return kt.activations.filter(function(e){return e.actor===t})},fd=function(t,e){const i=e[t],r=Ql(t),n=r.reduce(function(a,o){return Math.min(a,o.startx)},i.x+i.width/2),s=r.reduce(function(a,o){return Math.max(a,o.stopx)},i.x+i.width/2);return[n,s]};function tr(t,e,i,r,n){kt.bumpVerticalPos(i);let s=r;if(e.id&&e.message&&t[e.id]){const a=t[e.id].width,o=Ln(it);e.message=jt.wrapLabel(`[${e.message}]`,a-2*it.wrapPadding,o),e.width=a,e.wrap=!0;const l=jt.calculateTextDimensions(e.message,o),h=Math.max(l.height,it.labelBoxHeight);s=r+h,D.debug(`${h} - ${e.message}`)}n(e),kt.bumpVerticalPos(s)}const gD=function(t,e,i,r){const{securityLevel:n,sequence:s}=G();it=s,r.db.clear(),r.parser.parse(t);let a;n==="sandbox"&&(a=_t("#i"+e));const o=_t(n==="sandbox"?a.nodes()[0].contentDocument.body:"body"),l=n==="sandbox"?a.nodes()[0].contentDocument:document;kt.init(),D.debug(r.db);const h=n==="sandbox"?o.select(`[id="${e}"]`):_t(`[id="${e}"]`),u=r.db.getActors(),d=r.db.getBoxes(),f=r.db.getActorKeys(),p=r.db.getMessages(),m=r.db.getDiagramTitle(),_=r.db.hasAtLeastOneBox(),v=r.db.hasAtLeastOneBoxWithTitle(),w=yD(u,p,r);it.height=bD(u,w,d),xe.insertComputerIcon(h),xe.insertDatabaseIcon(h),xe.insertClockIcon(h),_&&(kt.bumpVerticalPos(it.boxMargin),v&&kt.bumpVerticalPos(d[0].textMaxHeight)),Gh(h,u,f,0,it,p,!1);const x=vD(p,u,w,r);xe.insertArrowHead(h),xe.insertArrowCrossHead(h),xe.insertArrowFilledHead(h),xe.insertSequenceNumber(h);function N(B,y){const M=kt.endActivation(B);M.starty+18>y&&(M.starty=y-6,y+=12),xe.drawActivation(h,M,y,it,Ql(B.from.actor).length),kt.insert(M.startx,y-10,M.stopx,y)}let R=1,P=1;const V=[];p.forEach(function(B){let y,M,nt;switch(B.type){case r.db.LINETYPE.NOTE:M=B.noteModel,dD(h,M);break;case r.db.LINETYPE.ACTIVE_START:kt.newActivation(B,h,u);break;case r.db.LINETYPE.ACTIVE_END:N(B,kt.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.LOOP_END:y=kt.endLoop(),xe.drawLoop(h,y,"loop",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;case r.db.LINETYPE.RECT_START:tr(x,B,it.boxMargin,it.boxMargin,Y=>kt.newLoop(void 0,Y.message));break;case r.db.LINETYPE.RECT_END:y=kt.endLoop(),xe.drawBackgroundRect(h,y),kt.models.addLoop(y),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos());break;case r.db.LINETYPE.OPT_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.OPT_END:y=kt.endLoop(),xe.drawLoop(h,y,"opt",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;case r.db.LINETYPE.ALT_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.ALT_ELSE:tr(x,B,it.boxMargin+it.boxTextMargin,it.boxMargin,Y=>kt.addSectionToLoop(Y));break;case r.db.LINETYPE.ALT_END:y=kt.endLoop(),xe.drawLoop(h,y,"alt",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;case r.db.LINETYPE.PAR_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.PAR_AND:tr(x,B,it.boxMargin+it.boxTextMargin,it.boxMargin,Y=>kt.addSectionToLoop(Y));break;case r.db.LINETYPE.PAR_END:y=kt.endLoop(),xe.drawLoop(h,y,"par",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;case r.db.LINETYPE.AUTONUMBER:R=B.message.start||R,P=B.message.step||P,B.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.CRITICAL_OPTION:tr(x,B,it.boxMargin+it.boxTextMargin,it.boxMargin,Y=>kt.addSectionToLoop(Y));break;case r.db.LINETYPE.CRITICAL_END:y=kt.endLoop(),xe.drawLoop(h,y,"critical",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;case r.db.LINETYPE.BREAK_START:tr(x,B,it.boxMargin,it.boxMargin+it.boxTextMargin,Y=>kt.newLoop(Y));break;case r.db.LINETYPE.BREAK_END:y=kt.endLoop(),xe.drawLoop(h,y,"break",it),kt.bumpVerticalPos(y.stopy-kt.getVerticalPos()),kt.models.addLoop(y);break;default:try{nt=B.msgModel,nt.starty=kt.getVerticalPos(),nt.sequenceIndex=R,nt.sequenceVisible=r.db.showSequenceNumbers();const Y=fD(h,nt);V.push({messageModel:nt,lineStartY:Y}),kt.models.addMessage(nt)}catch(Y){D.error("error while drawing message",Y)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT].includes(B.type)&&(R=R+P)}),V.forEach(B=>pD(h,B.messageModel,B.lineStartY,r)),it.mirrorActors&&(kt.bumpVerticalPos(it.boxMargin*2),Gh(h,u,f,kt.getVerticalPos(),it,p,!0),kt.bumpVerticalPos(it.boxMargin),_y(h,kt.getVerticalPos())),kt.models.boxes.forEach(function(B){B.height=kt.getVerticalPos()-B.y,kt.insert(B.x,B.y,B.x+B.width,B.height),B.startx=B.x,B.starty=B.y,B.stopx=B.startx+B.width,B.stopy=B.starty+B.height,B.stroke="rgb(0,0,0, 0.5)",xe.drawBox(h,B,it)}),_&&kt.bumpVerticalPos(it.boxMargin);const F=vy(h,u,f,l),{bounds:O}=kt.getBounds();D.debug("For line height fix Querying: #"+e+" .actor-line"),uu("#"+e+" .actor-line").attr("y2",O.stopy);let S=O.stopy-O.starty;S<F.maxHeight&&(S=F.maxHeight);let E=S+2*it.diagramMarginY;it.mirrorActors&&(E=E-it.boxMargin+it.bottomMarginAdj);let b=O.stopx-O.startx;b<F.maxWidth&&(b=F.maxWidth);const k=b+2*it.diagramMarginX;m&&h.append("text").text(m).attr("x",(O.stopx-O.startx)/2-2*it.diagramMarginX).attr("y",-25),Ki(h,E,k,it.useMaxWidth);const g=m?40:0;h.attr("viewBox",O.startx-it.diagramMarginX+" -"+(it.diagramMarginY+g)+" "+k+" "+(E+g)),D.debug("models:",kt.models)};function yD(t,e,i){const r={};return e.forEach(function(n){if(t[n.to]&&t[n.from]){const s=t[n.to];if(n.placement===i.db.PLACEMENT.LEFTOF&&!s.prevActor||n.placement===i.db.PLACEMENT.RIGHTOF&&!s.nextActor)return;const a=n.placement!==void 0,o=!a,l=a?Yn(it):Ln(it),h=n.wrap?jt.wrapLabel(n.message,it.width-2*it.wrapPadding,l):n.message,d=jt.calculateTextDimensions(h,l).width+2*it.wrapPadding;o&&n.from===s.nextActor?r[n.to]=Math.max(r[n.to]||0,d):o&&n.from===s.prevActor?r[n.from]=Math.max(r[n.from]||0,d):o&&n.from===n.to?(r[n.from]=Math.max(r[n.from]||0,d/2),r[n.to]=Math.max(r[n.to]||0,d/2)):n.placement===i.db.PLACEMENT.RIGHTOF?r[n.from]=Math.max(r[n.from]||0,d):n.placement===i.db.PLACEMENT.LEFTOF?r[s.prevActor]=Math.max(r[s.prevActor]||0,d):n.placement===i.db.PLACEMENT.OVER&&(s.prevActor&&(r[s.prevActor]=Math.max(r[s.prevActor]||0,d/2)),s.nextActor&&(r[n.from]=Math.max(r[n.from]||0,d/2)))}}),D.debug("maxMessageWidthPerActor:",r),r}const mD=function(t){let e=0;const i=qh(it);for(const r in t.links){const s=jt.calculateTextDimensions(r,i).width+2*it.wrapPadding+2*it.boxMargin;e<s&&(e=s)}return e};function bD(t,e,i){let r=0;Object.keys(t).forEach(s=>{const a=t[s];a.wrap&&(a.description=jt.wrapLabel(a.description,it.width-2*it.wrapPadding,qh(it)));const o=jt.calculateTextDimensions(a.description,qh(it));a.width=a.wrap?it.width:Math.max(it.width,o.width+2*it.wrapPadding),a.height=a.wrap?Math.max(o.height,it.height):it.height,r=Math.max(r,a.height)});for(const s in e){const a=t[s];if(!a)continue;const o=t[a.nextActor];if(!o){const d=e[s]+it.actorMargin-a.width/2;a.margin=Math.max(d,it.actorMargin);continue}const h=e[s]+it.actorMargin-a.width/2-o.width/2;a.margin=Math.max(h,it.actorMargin)}let n=0;return i.forEach(s=>{const a=Ln(it);let o=s.actorKeys.reduce((u,d)=>u+=t[d].width+(t[d].margin||0),0);o-=2*it.boxTextMargin,s.wrap&&(s.name=jt.wrapLabel(s.name,o-2*it.wrapPadding,a));const l=jt.calculateTextDimensions(s.name,a);n=Math.max(l.height,n);const h=Math.max(o,l.width+2*it.wrapPadding);if(s.margin=it.boxTextMargin,o<h){const u=(h-o)/2;s.margin+=u}}),i.forEach(s=>s.textMaxHeight=n),Math.max(r,it.height)}const _D=function(t,e,i){const r=e[t.from].x,n=e[t.to].x,s=t.wrap&&t.message;let a=jt.calculateTextDimensions(s?jt.wrapLabel(t.message,it.width,Yn(it)):t.message,Yn(it));const o={width:s?it.width:Math.max(it.width,a.width+2*it.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===i.db.PLACEMENT.RIGHTOF?(o.width=s?Math.max(it.width,a.width):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*it.noteMargin),o.startx=r+(e[t.from].width+it.actorMargin)/2):t.placement===i.db.PLACEMENT.LEFTOF?(o.width=Math.max(s?it.width:e[t.from].width/2+e[t.to].width/2,a.width+2*it.noteMargin),o.startx=r-o.width+(e[t.from].width-it.actorMargin)/2):t.to===t.from?(a=jt.calculateTextDimensions(s?jt.wrapLabel(t.message,Math.max(it.width,e[t.from].width),Yn(it)):t.message,Yn(it)),o.width=s?Math.max(it.width,e[t.from].width):Math.max(e[t.from].width,it.width,a.width+2*it.noteMargin),o.startx=r+(e[t.from].width-o.width)/2):(o.width=Math.abs(r+e[t.from].width/2-(n+e[t.to].width/2))+it.actorMargin,o.startx=r<n?r+e[t.from].width/2-it.actorMargin/2:n+e[t.to].width/2-it.actorMargin/2),s&&(o.message=jt.wrapLabel(t.message,o.width-2*it.wrapPadding,Yn(it))),D.debug(`NM:[${o.startx},${o.stopx},${o.starty},${o.stopy}:${o.width},${o.height}=${t.message}]`),o},xD=function(t,e,i){let r=!1;if([i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(r=!0),!r)return{};const n=fd(t.from,e),s=fd(t.to,e),a=n[0]<=s[0]?1:0,o=n[0]<s[0]?0:1,l=[...n,...s],h=Math.abs(s[o]-n[a]);t.wrap&&t.message&&(t.message=jt.wrapLabel(t.message,Math.max(h+2*it.wrapPadding,it.width),Ln(it)));const u=jt.calculateTextDimensions(t.message,Ln(it));return{width:Math.max(t.wrap?0:u.width+2*it.wrapPadding,h+2*it.wrapPadding,it.width),height:0,startx:n[a],stopx:s[o],starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,l),toBounds:Math.max.apply(null,l)}},vD=function(t,e,i,r){const n={},s=[];let a,o,l;return t.forEach(function(h){switch(h.id=jt.random({length:10}),h.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:s.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:h.message&&(a=s.pop(),n[a.id]=a,n[h.id]=a,s.push(a));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:a=s.pop(),n[a.id]=a;break;case r.db.LINETYPE.ACTIVE_START:{const d=e[h.from?h.from.actor:h.to.actor],f=Ql(h.from?h.from.actor:h.to.actor).length,p=d.x+d.width/2+(f-1)*it.activationWidth/2,m={startx:p,stopx:p+it.activationWidth,actor:h.from.actor,enabled:!0};kt.activations.push(m)}break;case r.db.LINETYPE.ACTIVE_END:{const d=kt.activations.map(f=>f.actor).lastIndexOf(h.from.actor);delete kt.activations.splice(d,1)[0]}break}h.placement!==void 0?(o=_D(h,e,r),h.noteModel=o,s.forEach(d=>{a=d,a.from=Math.min(a.from,o.startx),a.to=Math.max(a.to,o.startx+o.width),a.width=Math.max(a.width,Math.abs(a.from-a.to))-it.labelBoxWidth})):(l=xD(h,e,r),h.msgModel=l,l.startx&&l.stopx&&s.length>0&&s.forEach(d=>{if(a=d,l.startx===l.stopx){const f=e[h.from],p=e[h.to];a.from=Math.min(f.x-l.width/2,f.x-f.width/2,a.from),a.to=Math.max(p.x+l.width/2,p.x+f.width/2,a.to),a.width=Math.max(a.width,Math.abs(a.to-a.from))-it.labelBoxWidth}else a.from=Math.min(l.startx,a.from),a.to=Math.max(l.stopx,a.to),a.width=Math.max(a.width,l.width)-it.labelBoxWidth}))}),kt.activations=[],D.debug("Loop type widths:",n),n},pd={bounds:kt,drawActors:Gh,drawActorsPopup:vy,setConf:ky,draw:gD};var Xh=function(){var t=function(Q,J,$,tt){for($=$||{},tt=Q.length;tt--;$[Q[tt]]=J);return $},e=[1,2],i=[1,3],r=[1,5],n=[1,7],s=[2,5],a=[1,15],o=[1,17],l=[1,21],h=[1,22],u=[1,23],d=[1,24],f=[1,37],p=[1,25],m=[1,26],_=[1,27],v=[1,28],w=[1,29],x=[1,32],N=[1,33],R=[1,34],P=[1,35],V=[1,36],F=[1,39],O=[1,40],C=[1,41],S=[1,42],E=[1,38],b=[1,45],k=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],g=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],B=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],y=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],M={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(J,$,tt,ot,at,U,Tt){var X=U.length-1;switch(at){case 4:return ot.setRootDoc(U[X]),U[X];case 5:this.$=[];break;case 6:U[X]!="nl"&&(U[X-1].push(U[X]),this.$=U[X-1]);break;case 7:case 8:this.$=U[X];break;case 9:this.$="nl";break;case 12:this.$=U[X];break;case 13:const A=U[X-1];A.description=ot.trimColon(U[X]),this.$=A;break;case 14:this.$={stmt:"relation",state1:U[X-2],state2:U[X]};break;case 15:const I=ot.trimColon(U[X]);this.$={stmt:"relation",state1:U[X-3],state2:U[X-1],description:I};break;case 19:this.$={stmt:"state",id:U[X-3],type:"default",description:"",doc:U[X-1]};break;case 20:var j=U[X],W=U[X-2].trim();if(U[X].match(":")){var z=U[X].split(":");j=z[0],W=[W,z[1]]}this.$={stmt:"state",id:j,type:"default",description:W};break;case 21:this.$={stmt:"state",id:U[X-3],type:"default",description:U[X-5],doc:U[X-1]};break;case 22:this.$={stmt:"state",id:U[X],type:"fork"};break;case 23:this.$={stmt:"state",id:U[X],type:"join"};break;case 24:this.$={stmt:"state",id:U[X],type:"choice"};break;case 25:this.$={stmt:"state",id:ot.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:U[X-1].trim(),note:{position:U[X-2].trim(),text:U[X].trim()}};break;case 30:this.$=U[X].trim(),ot.setAccTitle(this.$);break;case 31:case 32:this.$=U[X].trim(),ot.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:U[X-1].trim(),classes:U[X].trim()};break;case 35:this.$={stmt:"applyClass",id:U[X-1].trim(),styleClass:U[X].trim()};break;case 38:ot.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:ot.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:ot.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:ot.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:U[X].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:U[X-2].trim(),classes:[U[X].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:U[X-2].trim(),classes:[U[X].trim()],type:"default",description:""};break;case 50:ot.parseDirective("%%{","open_directive");break;case 51:ot.parseDirective(U[X],"type_directive");break;case 52:U[X]=U[X].trim().replace(/'/g,'"'),ot.parseDirective(U[X],"arg_directive");break;case 53:ot.parseDirective("}%%","close_directive","state");break}},table:[{3:1,4:e,5:i,6:4,7:r,45:6,60:n},{1:[3]},{3:8,4:e,5:i,6:4,7:r,45:6,60:n},{3:9,4:e,5:i,6:4,7:r,45:6,60:n},{3:10,4:e,5:i,6:4,7:r,45:6,60:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],s,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,22:d,24:f,25:p,26:m,27:_,28:v,29:w,32:31,33:x,35:N,37:R,38:P,42:V,45:6,50:F,51:O,52:C,53:S,56:E,60:n},{47:43,48:[1,44],63:b},t([48,63],[2,51]),t(k,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:l,17:h,19:u,22:d,24:f,25:p,26:m,27:_,28:v,29:w,32:31,33:x,35:N,37:R,38:P,42:V,45:6,50:F,51:O,52:C,53:S,56:E,60:n},t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(k,[2,11]),t(k,[2,12],{14:[1,47],15:[1,48]}),t(k,[2,16]),{18:[1,49]},t(k,[2,18],{20:[1,50]}),{23:[1,51]},t(k,[2,22]),t(k,[2,23]),t(k,[2,24]),t(k,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(k,[2,28]),t(k,[2,29]),{34:[1,56]},{36:[1,57]},t(k,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(g,[2,44],{57:[1,61]}),t(g,[2,45],{57:[1,62]}),t(k,[2,38]),t(k,[2,39]),t(k,[2,40]),t(k,[2,41]),t(B,[2,36]),{49:63,62:[1,64]},t(B,[2,53]),t(k,[2,7]),t(k,[2,13]),{13:65,24:f,56:E},t(k,[2,17]),t(y,s,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(k,[2,30]),t(k,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:b},{63:[2,52]},t(k,[2,14],{14:[1,76]}),{4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,21:[1,77],22:d,24:f,25:p,26:m,27:_,28:v,29:w,32:31,33:x,35:N,37:R,38:P,42:V,45:6,50:F,51:O,52:C,53:S,56:E,60:n},t(k,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(k,[2,33]),t(k,[2,34]),t(k,[2,35]),t(g,[2,46]),t(g,[2,47]),t(B,[2,37]),t(k,[2,15]),t(k,[2,19]),t(y,s,{8:81}),t(k,[2,26]),t(k,[2,27]),{4:a,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,21:[1,82],22:d,24:f,25:p,26:m,27:_,28:v,29:w,32:31,33:x,35:N,37:R,38:P,42:V,45:6,50:F,51:O,52:C,53:S,56:E,60:n},t(k,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(J,$){if($.recoverable)this.trace(J);else{var tt=new Error(J);throw tt.hash=$,tt}},parse:function(J){var $=this,tt=[0],ot=[],at=[null],U=[],Tt=this.table,X="",j=0,W=0,z=2,A=1,I=U.slice.call(arguments,1),q=Object.create(this.lexer),L={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(L.yy[st]=this.yy[st]);q.setInput(J,L.yy),L.yy.lexer=q,L.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var T=q.yylloc;U.push(T);var Dt=q.options&&q.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function et(){var Mt;return Mt=ot.pop()||q.lex()||A,typeof Mt!="number"&&(Mt instanceof Array&&(ot=Mt,Mt=ot.pop()),Mt=$.symbols_[Mt]||Mt),Mt}for(var Et,vt,pt,ut,gt={},ht,yt,he,ie;;){if(vt=tt[tt.length-1],this.defaultActions[vt]?pt=this.defaultActions[vt]:((Et===null||typeof Et>"u")&&(Et=et()),pt=Tt[vt]&&Tt[vt][Et]),typeof pt>"u"||!pt.length||!pt[0]){var It="";ie=[];for(ht in Tt[vt])this.terminals_[ht]&&ht>z&&ie.push("'"+this.terminals_[ht]+"'");q.showPosition?It="Parse error on line "+(j+1)+`:
1262
+ `+q.showPosition()+`
1263
+ Expecting `+ie.join(", ")+", got '"+(this.terminals_[Et]||Et)+"'":It="Parse error on line "+(j+1)+": Unexpected "+(Et==A?"end of input":"'"+(this.terminals_[Et]||Et)+"'"),this.parseError(It,{text:q.match,token:this.terminals_[Et]||Et,line:q.yylineno,loc:T,expected:ie})}if(pt[0]instanceof Array&&pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vt+", token: "+Et);switch(pt[0]){case 1:tt.push(Et),at.push(q.yytext),U.push(q.yylloc),tt.push(pt[1]),Et=null,W=q.yyleng,X=q.yytext,j=q.yylineno,T=q.yylloc;break;case 2:if(yt=this.productions_[pt[1]][1],gt.$=at[at.length-yt],gt._$={first_line:U[U.length-(yt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(yt||1)].first_column,last_column:U[U.length-1].last_column},Dt&&(gt._$.range=[U[U.length-(yt||1)].range[0],U[U.length-1].range[1]]),ut=this.performAction.apply(gt,[X,W,j,L.yy,pt[1],at,U].concat(I)),typeof ut<"u")return ut;yt&&(tt=tt.slice(0,-1*yt*2),at=at.slice(0,-1*yt),U=U.slice(0,-1*yt)),tt.push(this.productions_[pt[1]][0]),at.push(gt.$),U.push(gt._$),he=Tt[tt[tt.length-2]][tt[tt.length-1]],tt.push(he);break;case 3:return!0}}return!0}},nt=function(){var Q={EOF:1,parseError:function($,tt){if(this.yy.parser)this.yy.parser.parseError($,tt);else throw new Error($)},setInput:function(J,$){return this.yy=$||this.yy||{},this._input=J,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var J=this._input[0];this.yytext+=J,this.yyleng++,this.offset++,this.match+=J,this.matched+=J;var $=J.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),J},unput:function(J){var $=J.length,tt=J.split(/(?:\r\n?|\n)/g);this._input=J+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var ot=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),tt.length-1&&(this.yylineno-=tt.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:tt?(tt.length===ot.length?this.yylloc.first_column:0)+ot[ot.length-tt.length].length-tt[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1264
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(J){this.unput(this.match.slice(J))},pastInput:function(){var J=this.matched.substr(0,this.matched.length-this.match.length);return(J.length>20?"...":"")+J.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var J=this.match;return J.length<20&&(J+=this._input.substr(0,20-J.length)),(J.substr(0,20)+(J.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var J=this.pastInput(),$=new Array(J.length+1).join("-");return J+this.upcomingInput()+`
1265
+ `+$+"^"},test_match:function(J,$){var tt,ot,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),ot=J[0].match(/(?:\r\n?|\n).*/g),ot&&(this.yylineno+=ot.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ot?ot[ot.length-1].length-ot[ot.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+J[0].length},this.yytext+=J[0],this.match+=J[0],this.matches=J,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(J[0].length),this.matched+=J[0],tt=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),tt)return tt;if(this._backtrack){for(var U in at)this[U]=at[U];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var J,$,tt,ot;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),U=0;U<at.length;U++)if(tt=this._input.match(this.rules[at[U]]),tt&&(!$||tt[0].length>$[0].length)){if($=tt,ot=U,this.options.backtrack_lexer){if(J=this.test_match(tt,at[U]),J!==!1)return J;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(J=this.test_match($,at[ot]),J!==!1?J:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1266
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var $=this.next();return $||this.lex()},begin:function($){this.conditionStack.push($)},popState:function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},pushState:function($){this.begin($)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function($,tt,ot,at){switch(ot){case 0:return 41;case 1:return 50;case 2:return 51;case 3:return 52;case 4:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:break;case 11:break;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:break;case 17:return this.pushState("SCALE"),17;case 18:return 18;case 19:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 25:this.popState();break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 34:return this.pushState("SCALE"),17;case 35:return 18;case 36:this.popState();break;case 37:this.pushState("STATE");break;case 38:return this.popState(),tt.yytext=tt.yytext.slice(0,-8).trim(),25;case 39:return this.popState(),tt.yytext=tt.yytext.slice(0,-8).trim(),26;case 40:return this.popState(),tt.yytext=tt.yytext.slice(0,-10).trim(),27;case 41:return this.popState(),tt.yytext=tt.yytext.slice(0,-8).trim(),25;case 42:return this.popState(),tt.yytext=tt.yytext.slice(0,-8).trim(),26;case 43:return this.popState(),tt.yytext=tt.yytext.slice(0,-10).trim(),27;case 44:return 50;case 45:return 51;case 46:return 52;case 47:return 53;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:return this.popState(),"ID";case 51:this.popState();break;case 52:return"STATE_DESCR";case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState("struct"),20;case 56:break;case 57:return this.popState(),21;case 58:break;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 64:break;case 65:return"NOTE_TEXT";case 66:return this.popState(),"ID";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),tt.yytext=tt.yytext.substr(2).trim(),31;case 69:return this.popState(),tt.yytext=tt.yytext.slice(0,-8).trim(),31;case 70:return 7;case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return tt.yytext=tt.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 79:return 5;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};return Q}();M.lexer=nt;function Y(){this.yy={}}return Y.prototype=M,M.Parser=Y,new Y}();Xh.parser=Xh;const gd=Xh,kD=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:t.match(/^\s*stateDiagram/)!==null},wD=(t,e)=>{var i;return!!(t.match(/^\s*stateDiagram-v2/)!==null||t.match(/^\s*stateDiagram/)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},TD="LR",ED="TB",gl="state",u1="relation",CD="classDef",SD="applyClass",Oa="default",wy="divider",d1="[*]",Ty="start",Ey=d1,Cy="end",yd="color",md="fill",AD="bgFill",LD=",";function Sy(){return{}}let Ay=TD,yl=[],Zs=Sy();const Ly=()=>({relations:[],states:{},documents:{}});let ml={root:Ly()},ei=ml.root,xa=0,bd=0;const BD={LINE:0,DOTTED_LINE:1},DD={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},Ja=t=>JSON.parse(JSON.stringify(t)),ND=function(t,e,i){be.parseDirective(this,t,e,i)},ID=t=>{D.info("Setting root doc",t),yl=t},MD=()=>yl,bo=(t,e,i)=>{if(e.stmt===u1)bo(t,e.state1,!0),bo(t,e.state2,!1);else if(e.stmt===gl&&(e.id==="[*]"?(e.id=i?t.id+"_start":t.id+"_end",e.start=i):e.id=e.id.trim()),e.doc){const r=[];let n=[],s;for(s=0;s<e.doc.length;s++)if(e.doc[s].type===wy){const a=Ja(e.doc[s]);a.doc=Ja(n),r.push(a),n=[]}else n.push(e.doc[s]);if(r.length>0&&n.length>0){const a={stmt:gl,id:ep(),type:"divider",doc:Ja(n)};r.push(Ja(a)),e.doc=r}e.doc.forEach(a=>bo(e,a,!0))}},RD=()=>(bo({id:"root"},{id:"root",doc:yl},!0),{id:"root",doc:yl}),FD=t=>{let e;t.doc?e=t.doc:e=t,D.info(e),By(!0),D.info("Extract",e),e.forEach(i=>{switch(i.stmt){case gl:Bn(i.id.trim(),i.type,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles);break;case u1:Dy(i.state1,i.state2,i.description);break;case CD:Ny(i.id.trim(),i.classes);break;case SD:f1(i.id.trim(),i.styleClass);break}})},Bn=function(t,e=Oa,i=null,r=null,n=null,s=null,a=null,o=null){const l=t==null?void 0:t.trim();ei.states[l]===void 0?(D.info("Adding state ",l,r),ei.states[l]={id:l,descriptions:[],type:e,doc:i,note:n,classes:[],styles:[],textStyles:[]}):(ei.states[l].doc||(ei.states[l].doc=i),ei.states[l].type||(ei.states[l].type=e)),r&&(D.info("Setting state description",l,r),typeof r=="string"&&Kh(l,r.trim()),typeof r=="object"&&r.forEach(h=>Kh(l,h.trim()))),n&&(ei.states[l].note=n,ei.states[l].note.text=$t.sanitizeText(ei.states[l].note.text,G())),s&&(D.info("Setting state classes",l,s),(typeof s=="string"?[s]:s).forEach(u=>f1(l,u.trim()))),a&&(D.info("Setting state styles",l,a),(typeof a=="string"?[a]:a).forEach(u=>GD(l,u.trim()))),o&&(D.info("Setting state styles",l,a),(typeof o=="string"?[o]:o).forEach(u=>XD(l,u.trim())))},By=function(t){ml={root:Ly()},ei=ml.root,xa=0,Zs=Sy(),t||Ti()},va=function(t){return ei.states[t]},OD=function(){return ei.states},PD=function(){D.info("Documents = ",ml)},VD=function(){return ei.relations};function jh(t=""){let e=t;return t===d1&&(xa++,e=`${Ty}${xa}`),e}function $h(t="",e=Oa){return t===d1?Ty:e}function YD(t=""){let e=t;return t===Ey&&(xa++,e=`${Cy}${xa}`),e}function zD(t="",e=Oa){return t===Ey?Cy:e}function UD(t,e,i){let r=jh(t.id.trim()),n=$h(t.id.trim(),t.type),s=jh(e.id.trim()),a=$h(e.id.trim(),e.type);Bn(r,n,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),Bn(s,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),ei.relations.push({id1:r,id2:s,relationTitle:$t.sanitizeText(i,G())})}const Dy=function(t,e,i){if(typeof t=="object")UD(t,e,i);else{const r=jh(t.trim()),n=$h(t),s=YD(e.trim()),a=zD(e);Bn(r,n),Bn(s,a),ei.relations.push({id1:r,id2:s,title:$t.sanitizeText(i,G())})}},Kh=function(t,e){const i=ei.states[t],r=e.startsWith(":")?e.replace(":","").trim():e;i.descriptions.push($t.sanitizeText(r,G()))},WD=function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},HD=()=>(bd++,"divider-id-"+bd),Ny=function(t,e=""){Zs[t]===void 0&&(Zs[t]={id:t,styles:[],textStyles:[]});const i=Zs[t];e!=null&&e.split(LD).forEach(r=>{const n=r.replace(/([^;]*);/,"$1").trim();if(r.match(yd)){const a=n.replace(md,AD).replace(yd,md);i.textStyles.push(a)}i.styles.push(n)})},qD=function(){return Zs},f1=function(t,e){t.split(",").forEach(function(i){let r=va(i);if(r===void 0){const n=i.trim();Bn(n),r=va(n)}r.classes.push(e)})},GD=function(t,e){const i=va(t);i!==void 0&&i.textStyles.push(e)},XD=function(t,e){const i=va(t);i!==void 0&&i.textStyles.push(e)},jD=()=>Ay,$D=t=>{Ay=t},KD=t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),Cr={parseDirective:ND,getConfig:()=>G().state,addState:Bn,clear:By,getState:va,getStates:OD,getRelations:VD,getClasses:qD,getDirection:jD,addRelation:Dy,getDividerId:HD,setDirection:$D,cleanupLabel:WD,lineType:BD,relationType:DD,logDocuments:PD,getRootDoc:MD,setRootDoc:ID,getRootDocV2:RD,extract:FD,trimColon:KD,getAccTitle:Ei,setAccTitle:_i,getAccDescription:Si,setAccDescription:Ci,addStyleClass:Ny,setCssClass:f1,addDescription:Kh,setDiagramTitle:Qi,getDiagramTitle:Zi},QD=t=>t.append("circle").attr("class","start-state").attr("r",G().state.sizeUnit).attr("cx",G().state.padding+G().state.sizeUnit).attr("cy",G().state.padding+G().state.sizeUnit),ZD=t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",G().state.textHeight).attr("class","divider").attr("x2",G().state.textHeight*2).attr("y1",0).attr("y2",0),JD=(t,e)=>{const i=t.append("text").attr("x",2*G().state.padding).attr("y",G().state.textHeight+2*G().state.padding).attr("font-size",G().state.fontSize).attr("class","state-title").text(e.id),r=i.node().getBBox();return t.insert("rect",":first-child").attr("x",G().state.padding).attr("y",G().state.padding).attr("width",r.width+2*G().state.padding).attr("height",r.height+2*G().state.padding).attr("rx",G().state.radius),i},tN=(t,e)=>{const i=function(f,p,m){const _=f.append("tspan").attr("x",2*G().state.padding).text(p);m||_.attr("dy",G().state.textHeight)},n=t.append("text").attr("x",2*G().state.padding).attr("y",G().state.textHeight+1.3*G().state.padding).attr("font-size",G().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),s=n.height,a=t.append("text").attr("x",G().state.padding).attr("y",s+G().state.padding*.4+G().state.dividerMargin+G().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(i(a,f,l),l=!1),o=!1});const h=t.append("line").attr("x1",G().state.padding).attr("y1",G().state.padding+s+G().state.dividerMargin/2).attr("y2",G().state.padding+s+G().state.dividerMargin/2).attr("class","descr-divider"),u=a.node().getBBox(),d=Math.max(u.width,n.width);return h.attr("x2",d+3*G().state.padding),t.insert("rect",":first-child").attr("x",G().state.padding).attr("y",G().state.padding).attr("width",d+2*G().state.padding).attr("height",u.height+s+2*G().state.padding).attr("rx",G().state.radius),t},eN=(t,e,i)=>{const r=G().state.padding,n=2*G().state.padding,s=t.node().getBBox(),a=s.width,o=s.x,l=t.append("text").attr("x",0).attr("y",G().state.titleShift).attr("font-size",G().state.fontSize).attr("class","state-title").text(e.id),u=l.node().getBBox().width+n;let d=Math.max(u,a);d===a&&(d=d+n);let f;const p=t.node().getBBox();e.doc,f=o-r,u>a&&(f=(a-d)/2+r),Math.abs(o-p.x)<r&&u>a&&(f=o-(u-a)/2);const m=1-G().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",m).attr("class",i?"alt-composit":"composit").attr("width",d).attr("height",p.height+G().state.textHeight+G().state.titleShift+1).attr("rx","0"),l.attr("x",f+r),u<=a&&l.attr("x",o+(d-n)/2-u/2+r),t.insert("rect",":first-child").attr("x",f).attr("y",G().state.titleShift-G().state.textHeight-G().state.padding).attr("width",d).attr("height",G().state.textHeight*3).attr("rx",G().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",G().state.titleShift-G().state.textHeight-G().state.padding).attr("width",d).attr("height",p.height+3+2*G().state.textHeight).attr("rx",G().state.radius),t},iN=t=>(t.append("circle").attr("class","end-state-outer").attr("r",G().state.sizeUnit+G().state.miniPadding).attr("cx",G().state.padding+G().state.sizeUnit+G().state.miniPadding).attr("cy",G().state.padding+G().state.sizeUnit+G().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",G().state.sizeUnit).attr("cx",G().state.padding+G().state.sizeUnit+2).attr("cy",G().state.padding+G().state.sizeUnit+2)),rN=(t,e)=>{let i=G().state.forkWidth,r=G().state.forkHeight;if(e.parentId){let n=i;i=r,r=n}return t.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",r).attr("x",G().state.padding).attr("y",G().state.padding)},nN=(t,e,i,r)=>{let n=0;const s=r.append("text");s.style("text-anchor","start"),s.attr("class","noteText");let a=t.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");const o=a.split($t.lineBreakRegex);let l=1.25*G().state.noteMargin;for(const h of o){const u=h.trim();if(u.length>0){const d=s.append("tspan");if(d.text(u),l===0){const f=d.node().getBBox();l+=f.height}n+=l,d.attr("x",e+G().state.noteMargin),d.attr("y",i+n+1.25*G().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:n}},sN=(t,e)=>{e.attr("class","state-note");const i=e.append("rect").attr("x",0).attr("y",G().state.padding),r=e.append("g"),{textWidth:n,textHeight:s}=nN(t,0,0,r);return i.attr("height",s+2*G().state.noteMargin),i.attr("width",n+G().state.noteMargin*2),i},_d=function(t,e){const i=e.id,r={id:i,label:e.id,width:0,height:0},n=t.append("g").attr("id",i).attr("class","stateGroup");e.type==="start"&&QD(n),e.type==="end"&&iN(n),(e.type==="fork"||e.type==="join")&&rN(n,e),e.type==="note"&&sN(e.note.text,n),e.type==="divider"&&ZD(n),e.type==="default"&&e.descriptions.length===0&&JD(n,e),e.type==="default"&&e.descriptions.length>0&&tN(n,e);const s=n.node().getBBox();return r.width=s.width+2*G().state.padding,r.height=s.height+2*G().state.padding,r};let xd=0;const aN=function(t,e,i){const r=function(l){switch(l){case Cr.relationType.AGGREGATION:return"aggregation";case Cr.relationType.EXTENSION:return"extension";case Cr.relationType.COMPOSITION:return"composition";case Cr.relationType.DEPENDENCY:return"dependency"}};e.points=e.points.filter(l=>!Number.isNaN(l.y));const n=e.points,s=bs().x(function(l){return l.x}).y(function(l){return l.y}).curve(os),a=t.append("path").attr("d",s(n)).attr("id","edge"+xd).attr("class","transition");let o="";if(G().state.arrowMarkerAbsolute&&(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,o=o.replace(/\(/g,"\\("),o=o.replace(/\)/g,"\\)")),a.attr("marker-end","url("+o+"#"+r(Cr.relationType.DEPENDENCY)+"End)"),i.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:h,y:u}=jt.calcLabelPosition(e.points),d=$t.getRows(i.title);let f=0;const p=[];let m=0,_=0;for(let x=0;x<=d.length;x++){const N=l.append("text").attr("text-anchor","middle").text(d[x]).attr("x",h).attr("y",u+f),R=N.node().getBBox();m=Math.max(m,R.width),_=Math.min(_,R.x),D.info(R.x,h,u+f),f===0&&(f=N.node().getBBox().height,D.info("Title height",f,u)),p.push(N)}let v=f*d.length;if(d.length>1){const x=(d.length-1)*f*.5;p.forEach((N,R)=>N.attr("y",u+R*f-x)),v=f*d.length}const w=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",h-m/2-G().state.padding/2).attr("y",u-v/2-G().state.padding/2-3.5).attr("width",m+G().state.padding).attr("height",v+G().state.padding),D.info(w)}xd++};let vi;const Vc={},oN=function(){},lN=function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},cN=function(t,e,i,r){vi=G().state;const n=G().securityLevel;let s;n==="sandbox"&&(s=_t("#i"+e));const a=_t(n==="sandbox"?s.nodes()[0].contentDocument.body:"body"),o=n==="sandbox"?s.nodes()[0].contentDocument:document;D.debug("Rendering diagram "+t);const l=a.select(`[id='${e}']`);lN(l),new Re({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}});const u=r.db.getRootDoc();Iy(u,l,void 0,!1,a,o,r);const d=vi.padding,f=l.node().getBBox(),p=f.width+d*2,m=f.height+d*2,_=p*1.75;Ki(l,m,_,vi.useMaxWidth),l.attr("viewBox",`${f.x-vi.padding} ${f.y-vi.padding} `+p+" "+m)},hN=t=>t?t.length*vi.fontSizeFactor:1,Iy=(t,e,i,r,n,s,a)=>{const o=new Re({compound:!0,multigraph:!0});let l,h=!0;for(l=0;l<t.length;l++)if(t[l].stmt==="relation"){h=!1;break}i?o.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:h?1:vi.edgeLengthFactor,nodeSep:h?1:50,isMultiGraph:!0}):o.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:h?1:vi.edgeLengthFactor,nodeSep:h?1:50,ranker:"tight-tree",isMultiGraph:!0}),o.setDefaultEdgeLabel(function(){return{}}),a.db.extract(t);const u=a.db.getStates(),d=a.db.getRelations(),f=Object.keys(u);for(const w of f){const x=u[w];i&&(x.parentId=i);let N;if(x.doc){let R=e.append("g").attr("id",x.id).attr("class","stateGroup");N=Iy(x.doc,R,x.id,!r,n,s,a);{R=eN(R,x,r);let P=R.node().getBBox();N.width=P.width,N.height=P.height+vi.padding/2,Vc[x.id]={y:vi.compositTitleSize}}}else N=_d(e,x);if(x.note){const R={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},P=_d(e,R);x.note.position==="left of"?(o.setNode(N.id+"-note",P),o.setNode(N.id,N)):(o.setNode(N.id,N),o.setNode(N.id+"-note",P)),o.setParent(N.id,N.id+"-group"),o.setParent(N.id+"-note",N.id+"-group")}else o.setNode(N.id,N)}D.debug("Count=",o.nodeCount(),o);let p=0;d.forEach(function(w){p++,D.debug("Setting edge",w),o.setEdge(w.id1,w.id2,{relation:w,width:hN(w.title),height:vi.labelHeight*$t.getRows(w.title).length,labelpos:"c"},"id"+p)}),xs(o),D.debug("Graph after layout",o.nodes());const m=e.node();o.nodes().forEach(function(w){w!==void 0&&o.node(w)!==void 0?(D.warn("Node "+w+": "+JSON.stringify(o.node(w))),n.select("#"+m.id+" #"+w).attr("transform","translate("+(o.node(w).x-o.node(w).width/2)+","+(o.node(w).y+(Vc[w]?Vc[w].y:0)-o.node(w).height/2)+" )"),n.select("#"+m.id+" #"+w).attr("data-x-shift",o.node(w).x-o.node(w).width/2),s.querySelectorAll("#"+m.id+" #"+w+" .divider").forEach(N=>{const R=N.parentElement;let P=0,V=0;R&&(R.parentElement&&(P=R.parentElement.getBBox().width),V=parseInt(R.getAttribute("data-x-shift"),10),Number.isNaN(V)&&(V=0)),N.setAttribute("x1",0-V+8),N.setAttribute("x2",P-V-8)})):D.debug("No Node "+w+": "+JSON.stringify(o.node(w)))});let _=m.getBBox();o.edges().forEach(function(w){w!==void 0&&o.edge(w)!==void 0&&(D.debug("Edge "+w.v+" -> "+w.w+": "+JSON.stringify(o.edge(w))),aN(e,o.edge(w),o.edge(w).relation))}),_=m.getBBox();const v={id:i||"root",label:i||"root",width:0,height:0};return v.width=_.width+2*vi.padding,v.height=_.height+2*vi.padding,D.debug("Doc rendered",v,o),v},uN={setConf:oN,draw:cN},_o="rect",Yc="rectWithTitle",dN="start",fN="end",pN="divider",gN="roundedWithTitle",yN="note",mN="noteGroup",gs="statediagram",bN="state",_N=`${gs}-${bN}`,My="transition",xN="note",vN="note-edge",kN=`${My} ${vN}`,wN=`${gs}-${xN}`,TN="cluster",EN=`${gs}-${TN}`,CN="cluster-alt",SN=`${gs}-${CN}`,Ry="parent",Fy="note",AN="state",p1="----",LN=`${p1}${Fy}`,vd=`${p1}${Ry}`,Oy="fill:none",Py="fill: #333",Vy="c",Yy="text",zy="normal";let xo={},Xr=0;const BN=function(t){const e=Object.keys(t);for(const i of e)t[i]},DN=function(t,e){D.trace("Extracting classes"),e.db.clear();try{return e.parser.parse(t),e.db.extract(e.db.getRootDocV2()),e.db.getClasses()}catch(i){return i}};function NN(t){return t==null?"":t.classes?t.classes.join(" "):""}function zc(t="",e=0,i="",r=p1){const n=i!==null&&i.length>0?`${r}${i}`:"";return`${AN}-${t}${n}-${e}`}const Us=(t,e,i,r,n,s)=>{const a=i.id,o=NN(r[a]);if(a!=="root"){let l=_o;i.start===!0&&(l=dN),i.start===!1&&(l=fN),i.type!==Oa&&(l=i.type),xo[a]||(xo[a]={id:a,shape:l,description:$t.sanitizeText(a,G()),classes:`${o} ${_N}`});const h=xo[a];i.description&&(Array.isArray(h.description)?(h.shape=Yc,h.description.push(i.description)):h.description.length>0?(h.shape=Yc,h.description===a?h.description=[i.description]:h.description=[h.description,i.description]):(h.shape=_o,h.description=i.description),h.description=$t.sanitizeTextOrArray(h.description,G())),h.description.length===1&&h.shape===Yc&&(h.shape=_o),!h.type&&i.doc&&(D.info("Setting cluster for ",a,Qh(i)),h.type="group",h.dir=Qh(i),h.shape=i.type===wy?pN:gN,h.classes=h.classes+" "+EN+" "+(s?SN:""));const u={labelStyle:"",shape:h.shape,labelText:h.description,classes:h.classes,style:"",id:a,dir:h.dir,domId:zc(a,Xr),type:h.type,padding:15};if(i.note){const d={labelStyle:"",shape:yN,labelText:i.note.text,classes:wN,style:"",id:a+LN+"-"+Xr,domId:zc(a,Xr,Fy),type:h.type,padding:15},f={labelStyle:"",shape:mN,labelText:i.note.text,classes:h.classes,style:"",id:a+vd,domId:zc(a,Xr,Ry),type:"group",padding:0};Xr++;const p=a+vd;t.setNode(p,f),t.setNode(d.id,d),t.setNode(a,u),t.setParent(a,p),t.setParent(d.id,p);let m=a,_=d.id;i.note.position==="left of"&&(m=d.id,_=a),t.setEdge(m,_,{arrowhead:"none",arrowType:"",style:Oy,labelStyle:"",classes:kN,arrowheadStyle:Py,labelpos:Vy,labelType:Yy,thickness:zy})}else t.setNode(a,u)}e&&e.id!=="root"&&(D.trace("Setting node ",a," to be child of its parent ",e.id),t.setParent(a,e.id)),i.doc&&(D.trace("Adding nodes children "),IN(t,i,i.doc,r,n,!s))},IN=(t,e,i,r,n,s)=>{D.trace("items",i),i.forEach(a=>{switch(a.stmt){case gl:Us(t,e,a,r,n,s);break;case Oa:Us(t,e,a,r,n,s);break;case u1:{Us(t,e,a.state1,r,n,s),Us(t,e,a.state2,r,n,s);const o={id:"edge"+Xr,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Oy,labelStyle:"",label:$t.sanitizeText(a.description,G()),arrowheadStyle:Py,labelpos:Vy,labelType:Yy,thickness:zy,classes:My};t.setEdge(a.state1.id,a.state2.id,o,Xr),Xr++}break}})},Qh=(t,e=ED)=>{let i=e;if(t.doc)for(let r=0;r<t.doc.length;r++){const n=t.doc[r];n.stmt==="dir"&&(i=n.value)}return i},MN=function(t,e,i,r){D.info("Drawing state diagram (v2)",e),xo={},r.db.getDirection();const{securityLevel:n,state:s}=G(),a=s.nodeSpacing||50,o=s.rankSpacing||50;D.info(r.db.getRootDocV2()),r.db.extract(r.db.getRootDocV2()),D.info(r.db.getRootDocV2());const l=r.db.getStates(),h=new Re({multigraph:!0,compound:!0}).setGraph({rankdir:Qh(r.db.getRootDocV2()),nodesep:a,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Us(h,void 0,r.db.getRootDocV2(),l,r.db,!0);let u;n==="sandbox"&&(u=_t("#i"+e));const d=_t(n==="sandbox"?u.nodes()[0].contentDocument.body:"body"),f=d.select(`[id="${e}"]`),p=d.select("#"+e+" g");$u(p,h,["barb"],gs,e);const m=8;jt.insertTitle(f,"statediagramTitleText",s.titleTopMargin,r.db.getDiagramTitle());const _=f.node().getBBox(),v=_.width+m*2,w=_.height+m*2;f.attr("class",gs);const x=f.node().getBBox();Ki(f,w,v,s.useMaxWidth);const N=`${x.x-m} ${x.y-m} ${v} ${w}`;D.debug(`viewBox ${N}`),f.attr("viewBox",N);const R=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const P of R){const V=P.getBBox(),F=document.createElementNS("http://www.w3.org/2000/svg",_o);F.setAttribute("rx",0),F.setAttribute("ry",0),F.setAttribute("width",V.width),F.setAttribute("height",V.height),P.insertBefore(F,P.firstChild)}},RN={setConf:BN,getClasses:DN,draw:MN};var Zh=function(){var t=function(_,v,w,x){for(w=w||{},x=_.length;x--;w[_[x]]=v);return w},e=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],n=[1,15],s=[1,16],a=[1,17],o=[1,18],l=[1,19],h=[1,20],u=[1,24],d=[4,6,9,11,17,18,20,22,23,24,26],f={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(v,w,x,N,R,P,V){var F=P.length-1;switch(R){case 1:return P[F-1];case 3:this.$=[];break;case 4:P[F-1].push(P[F]),this.$=P[F-1];break;case 5:case 6:this.$=P[F];break;case 7:case 8:this.$=[];break;case 11:N.setDiagramTitle(P[F].substr(6)),this.$=P[F].substr(6);break;case 12:this.$=P[F].trim(),N.setAccTitle(this.$);break;case 13:case 14:this.$=P[F].trim(),N.setAccDescription(this.$);break;case 15:N.addSection(P[F].substr(8)),this.$=P[F].substr(8);break;case 16:N.addTask(P[F-1],P[F]),this.$="task";break;case 18:N.parseDirective("%%{","open_directive");break;case 19:N.parseDirective(P[F],"type_directive");break;case 20:P[F]=P[F].trim().replace(/'/g,'"'),N.parseDirective(P[F],"arg_directive");break;case 21:N.parseDirective("}%%","close_directive","journey");break}},table:[{3:1,4:e,7:3,12:4,26:i},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:n,18:s,20:a,22:o,23:l,24:h,26:i},{1:[2,2]},{14:22,15:[1,23],29:u},t([15,29],[2,19]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:21,10:25,12:4,17:n,18:s,20:a,22:o,23:l,24:h,26:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),{19:[1,26]},{21:[1,27]},t(r,[2,14]),t(r,[2,15]),{25:[1,28]},t(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},t(r,[2,5]),t(r,[2,12]),t(r,[2,13]),t(r,[2,16]),t(d,[2,9]),{14:32,29:u},{29:[2,20]},{11:[1,33]},t(d,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(v,w){if(w.recoverable)this.trace(v);else{var x=new Error(v);throw x.hash=w,x}},parse:function(v){var w=this,x=[0],N=[],R=[null],P=[],V=this.table,F="",O=0,C=0,S=2,E=1,b=P.slice.call(arguments,1),k=Object.create(this.lexer),g={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(g.yy[B]=this.yy[B]);k.setInput(v,g.yy),g.yy.lexer=k,g.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var y=k.yylloc;P.push(y);var M=k.options&&k.options.ranges;typeof g.yy.parseError=="function"?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nt(){var j;return j=N.pop()||k.lex()||E,typeof j!="number"&&(j instanceof Array&&(N=j,j=N.pop()),j=w.symbols_[j]||j),j}for(var Y,Q,J,$,tt={},ot,at,U,Tt;;){if(Q=x[x.length-1],this.defaultActions[Q]?J=this.defaultActions[Q]:((Y===null||typeof Y>"u")&&(Y=nt()),J=V[Q]&&V[Q][Y]),typeof J>"u"||!J.length||!J[0]){var X="";Tt=[];for(ot in V[Q])this.terminals_[ot]&&ot>S&&Tt.push("'"+this.terminals_[ot]+"'");k.showPosition?X="Parse error on line "+(O+1)+`:
1267
+ `+k.showPosition()+`
1268
+ Expecting `+Tt.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":X="Parse error on line "+(O+1)+": Unexpected "+(Y==E?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(X,{text:k.match,token:this.terminals_[Y]||Y,line:k.yylineno,loc:y,expected:Tt})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+Y);switch(J[0]){case 1:x.push(Y),R.push(k.yytext),P.push(k.yylloc),x.push(J[1]),Y=null,C=k.yyleng,F=k.yytext,O=k.yylineno,y=k.yylloc;break;case 2:if(at=this.productions_[J[1]][1],tt.$=R[R.length-at],tt._$={first_line:P[P.length-(at||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(at||1)].first_column,last_column:P[P.length-1].last_column},M&&(tt._$.range=[P[P.length-(at||1)].range[0],P[P.length-1].range[1]]),$=this.performAction.apply(tt,[F,C,O,g.yy,J[1],R,P].concat(b)),typeof $<"u")return $;at&&(x=x.slice(0,-1*at*2),R=R.slice(0,-1*at),P=P.slice(0,-1*at)),x.push(this.productions_[J[1]][0]),R.push(tt.$),P.push(tt._$),U=V[x[x.length-2]][x[x.length-1]],x.push(U);break;case 3:return!0}}return!0}},p=function(){var _={EOF:1,parseError:function(w,x){if(this.yy.parser)this.yy.parser.parseError(w,x);else throw new Error(w)},setInput:function(v,w){return this.yy=w||this.yy||{},this._input=v,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var w=v.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),v},unput:function(v){var w=v.length,x=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var N=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===N.length?this.yylloc.first_column:0)+N[N.length-x.length].length-x[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
1269
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(v){this.unput(this.match.slice(v))},pastInput:function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var v=this.match;return v.length<20&&(v+=this._input.substr(0,20-v.length)),(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var v=this.pastInput(),w=new Array(v.length+1).join("-");return v+this.upcomingInput()+`
1270
+ `+w+"^"},test_match:function(v,w){var x,N,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),N=v[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(v[0].length),this.matched+=v[0],x=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),x)return x;if(this._backtrack){for(var P in R)this[P]=R[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var v,w,x,N;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),P=0;P<R.length;P++)if(x=this._input.match(this.rules[R[P]]),x&&(!w||x[0].length>w[0].length)){if(w=x,N=P,this.options.backtrack_lexer){if(v=this.test_match(x,R[P]),v!==!1)return v;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(v=this.test_match(w,R[N]),v!==!1?v:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
1271
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var w=this.next();return w||this.lex()},begin:function(w){this.conditionStack.push(w)},popState:function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},pushState:function(w){this.begin(w)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(w,x,N,R){switch(N){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:break;case 6:break;case 7:return 11;case 8:break;case 9:break;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};return _}();f.lexer=p;function m(){this.yy={}}return m.prototype=f,f.Parser=m,new m}();Zh.parser=Zh;const FN=Zh,ON=t=>t.match(/^\s*journey/)!==null;let ys="";const g1=[],ka=[],wa=[],PN=function(t,e,i){be.parseDirective(this,t,e,i)},VN=function(){g1.length=0,ka.length=0,ys="",wa.length=0,Ti()},YN=function(t){ys=t,g1.push(t)},zN=function(){return g1},UN=function(){let t=kd();const e=100;let i=0;for(;!t&&i<e;)t=kd(),i++;return ka.push(...wa),ka},WN=function(){const t=[];return ka.forEach(i=>{i.people&&t.push(...i.people)}),[...new Set(t)].sort()},HN=function(t,e){const i=e.substr(1).split(":");let r=0,n=[];i.length===1?(r=Number(i[0]),n=[]):(r=Number(i[0]),n=i[1].split(","));const s=n.map(o=>o.trim()),a={section:ys,type:ys,people:s,task:t,score:r};wa.push(a)},qN=function(t){const e={section:ys,type:ys,description:t,task:t,classes:[]};ka.push(e)},kd=function(){const t=function(i){return wa[i].processed};let e=!0;for(const[i,r]of wa.entries())t(i),e=e&&r.processed;return e},GN=function(){return WN()},wd={parseDirective:PN,getConfig:()=>G().journey,clear:VN,setDiagramTitle:Qi,getDiagramTitle:Zi,setAccTitle:_i,getAccTitle:Ei,setAccDescription:Ci,getAccDescription:Si,addSection:YN,getSections:zN,getTasks:UN,addTask:HN,addTaskOrg:qN,getActors:GN},Zl=function(t,e){const i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),e.class!==void 0&&i.attr("class",e.class),i},XN=function(t,e){const r=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");n.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function s(l){const h=lh().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(l){const h=lh().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(l){l.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return e.score>3?s(n):e.score<3?a(n):o(n),r},Uy=function(t,e){const i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),i.class!==void 0&&i.attr("class",i.class),e.title!==void 0&&i.append("title").text(e.title),i},Wy=function(t,e){const i=e.text.replace(/<br\s*\/?>/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class!==void 0&&r.attr("class",e.class);const n=r.append("tspan");return n.attr("x",e.x+e.textMargin*2),n.text(i),r},jN=function(t,e){function i(n,s,a,o,l){return n+","+s+" "+(n+a)+","+s+" "+(n+a)+","+(s+o-l)+" "+(n+a-l*1.2)+","+(s+o)+" "+n+","+(s+o)}const r=t.append("polygon");r.attr("points",i(e.x,e.y,50,20,7)),r.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Wy(t,e)},$N=function(t,e,i){const r=t.append("g"),n=y1();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=i.width,n.height=i.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,Zl(r,n),Hy(i)(e.text,r,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},i,e.colour)};let Td=-1;const KN=function(t,e,i){const r=e.x+i.width/2,n=t.append("g");Td++;const s=300+5*30;n.append("line").attr("id","task"+Td).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",s).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),XN(n,{cx:r,cy:300+(5-e.score)*30,score:e.score});const a=y1();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=i.width,a.height=i.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,Zl(n,a);let o=e.x+14;e.people.forEach(l=>{const h=e.actors[l].color,u={cx:o,cy:e.y,r:7,fill:h,stroke:"#000",title:l,pos:e.actors[l].position};Uy(n,u),o+=10}),Hy(i)(e.task,n,a.x,a.y,a.width,a.height,{class:"task"},i,e.colour)},QN=function(t,e){Zl(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},ZN=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},y1=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},Hy=function(){function t(n,s,a,o,l,h,u,d){const f=s.append("text").attr("x",a+l/2).attr("y",o+h/2+5).style("font-color",d).style("text-anchor","middle").text(n);r(f,u)}function e(n,s,a,o,l,h,u,d,f){const{taskFontSize:p,taskFontFamily:m}=d,_=n.split(/<br\s*\/?>/gi);for(let v=0;v<_.length;v++){const w=v*p-p*(_.length-1)/2,x=s.append("text").attr("x",a+l/2).attr("y",o).attr("fill",f).style("text-anchor","middle").style("font-size",p).style("font-family",m);x.append("tspan").attr("x",a+l/2).attr("dy",w).text(_[v]),x.attr("y",o+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(x,u)}}function i(n,s,a,o,l,h,u,d){const f=s.append("switch"),m=f.append("foreignObject").attr("x",a).attr("y",o).attr("width",l).attr("height",h).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(n),e(n,f,a,o,l,h,u,d),r(m,u)}function r(n,s){for(const a in s)a in s&&n.attr(a,s[a])}return function(n){return n.textPlacement==="fo"?i:n.textPlacement==="old"?t:e}}(),JN=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},Ta={drawRect:Zl,drawCircle:Uy,drawSection:$N,drawText:Wy,drawLabel:jN,drawTask:KN,drawBackgroundRect:QN,getTextObj:ZN,getNoteRect:y1,initGraphics:JN},tI=function(t){Object.keys(t).forEach(function(i){Jl[i]=t[i]})},Ir={};function eI(t){const e=G().journey;let i=60;Object.keys(Ir).forEach(r=>{const n=Ir[r].color,s={cx:20,cy:i,r:7,fill:n,stroke:"#000",pos:Ir[r].position};Ta.drawCircle(t,s);const a={x:40,y:i+7,fill:"#666",text:r,textMargin:e.boxTextMargin|5};Ta.drawText(t,a),i+=20})}const Jl=G().journey,pn=Jl.leftMargin,iI=function(t,e,i,r){const n=G().journey;r.db.clear(),r.parser.parse(t+`
1272
+ `);const s=G().securityLevel;let a;s==="sandbox"&&(a=_t("#i"+e));const o=_t(s==="sandbox"?a.nodes()[0].contentDocument.body:"body");Ii.init();const l=o.select("#"+e);Ta.initGraphics(l);const h=r.db.getTasks(),u=r.db.getDiagramTitle(),d=r.db.getActors();for(const w in Ir)delete Ir[w];let f=0;d.forEach(w=>{Ir[w]={color:n.actorColours[f%n.actorColours.length],position:f},f++}),eI(l),Ii.insert(0,0,pn,Object.keys(Ir).length*50),rI(l,h,0);const p=Ii.getBounds();u&&l.append("text").text(u).attr("x",pn).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const m=p.stopy-p.starty+2*n.diagramMarginY,_=pn+p.stopx+2*n.diagramMarginX;Ki(l,m,_,n.useMaxWidth),l.append("line").attr("x1",pn).attr("y1",n.height*4).attr("x2",_-pn-4).attr("y2",n.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const v=u?70:0;l.attr("viewBox",`${p.startx} -25 ${_} ${m+v}`),l.attr("preserveAspectRatio","xMinYMin meet"),l.attr("height",m+v+25)},Ii={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,i,r){t[e]===void 0?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,r){const n=G().journey,s=this;let a=0;function o(l){return function(u){a++;const d=s.sequenceItems.length-a+1;s.updateVal(u,"starty",e-d*n.boxMargin,Math.min),s.updateVal(u,"stopy",r+d*n.boxMargin,Math.max),s.updateVal(Ii.data,"startx",t-d*n.boxMargin,Math.min),s.updateVal(Ii.data,"stopx",i+d*n.boxMargin,Math.max),l!=="activation"&&(s.updateVal(u,"startx",t-d*n.boxMargin,Math.min),s.updateVal(u,"stopx",i+d*n.boxMargin,Math.max),s.updateVal(Ii.data,"starty",e-d*n.boxMargin,Math.min),s.updateVal(Ii.data,"stopy",r+d*n.boxMargin,Math.max))}}this.sequenceItems.forEach(o())},insert:function(t,e,i,r){const n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),o=Math.max(e,r);this.updateVal(Ii.data,"startx",n,Math.min),this.updateVal(Ii.data,"starty",a,Math.min),this.updateVal(Ii.data,"stopx",s,Math.max),this.updateVal(Ii.data,"stopy",o,Math.max),this.updateBounds(n,a,s,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Uc=Jl.sectionFills,Ed=Jl.sectionColours,rI=function(t,e,i){const r=G().journey;let n="";const s=r.height*2+r.diagramMarginY,a=i+s;let o=0,l="#CCC",h="black",u=0;for(const[d,f]of e.entries()){if(n!==f.section){l=Uc[o%Uc.length],u=o%Uc.length,h=Ed[o%Ed.length];const m={x:d*r.taskMargin+d*r.width+pn,y:50,text:f.section,fill:l,num:u,colour:h};Ta.drawSection(t,m,r),n=f.section,o++}const p=f.people.reduce((m,_)=>(Ir[_]&&(m[_]=Ir[_]),m),{});f.x=d*r.taskMargin+d*r.width+pn,f.y=a,f.width=r.diagramMarginX,f.height=r.diagramMarginY,f.colour=h,f.fill=l,f.num=u,f.actors=p,Ta.drawTask(t,f,r),Ii.insert(f.x,f.y,f.x+f.width+r.taskMargin,300+5*30)}},Cd={setConf:tI,draw:iI};let Sd={};const nI=function(t){Sd={...Sd,...t}},sI=(t,e,i)=>{try{D.debug(`Renering svg for syntax error
1273
+ `);const r=_t("#"+e),n=r.append("g");n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),r.attr("height",100),r.attr("width",500),r.attr("viewBox","768 0 912 512")}catch(r){D.error("Error while rendering info diagram"),D.error(lE(r))}},bl={setConf:nI,draw:sI},qy="flowchart-elk",aI=(t,e)=>{var i;return!!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},oI=async()=>{const{diagram:t}=await tu(()=>import("./flowchart-elk-definition-170a3958-fa48ti80.js"),__vite__mapDeps([]));return{id:qy,diagram:t}},lI={id:qy,detector:aI,loader:oI},cI=lI,Gy="timeline",hI=t=>t.match(/^\s*timeline/)!==null,uI=async()=>{const{diagram:t}=await tu(()=>import("./timeline-definition-8e5a9bc6-NKNlIEgm.js"),__vite__mapDeps([]));return{id:Gy,diagram:t}},dI={id:Gy,detector:hI,loader:uI},fI=dI,Xy="mindmap",pI=t=>t.match(/^\s*mindmap/)!==null,gI=async()=>{const{diagram:t}=await tu(()=>import("./mindmap-definition-44684416-AfCKDD9v.js"),__vite__mapDeps([]));return{id:Xy,diagram:t}},yI={id:Xy,detector:pI,loader:gI},mI=yI;let Ad=!1;const Pa=()=>{Ad||(Ad=!0,Z2(cI,fI,mI),Oe("error",{db:{clear:()=>{}},styles:kh,renderer:bl,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},t=>t.toLowerCase().trim()==="error"),Oe("---",{db:{clear:()=>{}},styles:kh,renderer:bl,parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with unindented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Oe("c4",{parser:yC,db:Ap,renderer:j0,styles:mp,init:t=>{j0.setConf(t.c4)}},mC),Oe("class",{parser:$0,db:Gn,renderer:Y9,styles:Xs,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Gn.clear()}},c9),Oe("classDiagram",{parser:$0,db:Gn,renderer:JS,styles:Xs,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Gn.clear()}},h9),Oe("er",{parser:tA,db:hA,renderer:kA,styles:hp},eA),Oe("gantt",{parser:UA,db:a1,renderer:wL,styles:up},WA),Oe("info",{parser:TL,db:LL,renderer:DL,styles:dp},NL),Oe("pie",{parser:IL,db:UL,renderer:HL,styles:fp},ML),Oe("requirement",{parser:qL,db:uB,renderer:xB,styles:pp},GL),Oe("sequence",{parser:vB,db:dd,renderer:pd,styles:gp,init:t=>{if(t.sequence||(t.sequence={}),t.sequence.arrowMarkerAbsolute=t.arrowMarkerAbsolute,"sequenceDiagram"in t)throw new Error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.");dd.setWrap(t.wrap),pd.setConf(t.sequence)}},kB),Oe("state",{parser:gd,db:Cr,renderer:uN,styles:Qo,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Cr.clear()}},kD),Oe("stateDiagram",{parser:gd,db:Cr,renderer:RN,styles:Qo,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Cr.clear()}},wD),Oe("journey",{parser:FN,db:wd,renderer:Cd,styles:yp,init:t=>{Cd.setConf(t.journey),wd.clear()}},ON),Oe("flowchart",{parser:ld,db:ir,renderer:Pc,styles:Ko,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,PA.setConf(t.flowchart),ir.clear(),ir.setGen("gen-1")}},wA),Oe("flowchart-v2",{parser:ld,db:ir,renderer:Pc,styles:Ko,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,ap({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),Pc.setConf(t.flowchart),ir.clear(),ir.setGen("gen-2")}},TA),Oe("gitGraph",{parser:VE,db:sC,renderer:fC,styles:gC},YE))};class Jh{constructor(e,i){var r,n;this.txt=e,this.type="graph",this.detectTypeFailed=!1;const s=G();this.txt=e;try{this.type=Mu(e,s)}catch(l){this.handleError(l,i),this.type="error",this.detectTypeFailed=!0}const a=xp(this.type);D.debug("Type "+this.type),this.db=a.db,(n=(r=this.db).clear)==null||n.call(r),this.renderer=a.renderer,this.parser=a.parser;const o=this.parser.parse.bind(this.parser);this.parser.parse=l=>o(UT(l,this.db)),this.parser.parser.yy=this.db,a.init&&(a.init(s),D.info("Initialized diagram "+this.type,s)),this.txt+=`
1274
+ `,this.parse(this.txt,i)}parse(e,i){var r,n;if(this.detectTypeFailed)return!1;try{return e=e+`
1275
+ `,(n=(r=this.db).clear)==null||n.call(r),this.parser.parse(e),!0}catch(s){this.handleError(s,i)}return!1}handleError(e,i){if(i===void 0)throw e;if(Fu(e)){i(e.str,e.hash);return}i(e)}getParser(){return this.parser}getType(){return this.type}}const m1=(t,e)=>{const i=Mu(t,G());try{xp(i)}catch{const n=qT(i);if(!n)throw new Error(`Diagram ${i} not found.`);return n().then(({diagram:s})=>(Oe(i,s,void 0),new Jh(t,e)))}return new Jh(t,e)},b1=Jh,bI="graphics-document document";function _I(t,e){t.attr("role",bI),jn(e)||t.attr("aria-roledescription",e)}function xI(t,e,i,r){if(t.insert!==void 0)if(e||i){if(i){const n="chart-desc-"+r;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n="chart-title-"+r;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}else return}const _1=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],jy="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",$y="sandbox",Ky="loose",vI="http://www.w3.org/2000/svg",Qy="http://www.w3.org/1999/xlink",Zy="http://www.w3.org/1999/xhtml",kI="100%",wI="100%",TI="border:0;margin:0;",EI="margin:0",CI="allow-top-navigation-by-user-activation allow-popups",SI='The "iframe" tag is not supported by your browser.',Jy=["foreignobject"],tm=["dominant-baseline"];function AI(t,e){return Pa(),new b1(t,e).parse(t,e)}async function LI(t,e){return Pa(),(await m1(t,e)).parse(t,e)}const em=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},x1=function(t){let e=t;return e=e.replace(/fl°°/g,"&#"),e=e.replace(/fl°/g,"&"),e=e.replace(/¶ß/g,";"),e},Ld=(t,e,i=[])=>`
1276
+ .${t} ${e} { ${i.join(" !important; ")} !important; }`,BI=(t,e,i={})=>{var r;let n="";if(t.themeCSS!==void 0&&(n+=`
1277
+ ${t.themeCSS}`),t.fontFamily!==void 0&&(n+=`
1278
+ :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(n+=`
1279
+ :root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!jn(i)&&_1.includes(e)){const l=t.htmlLabels||((r=t.flowchart)==null?void 0:r.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const h in i){const u=i[h];jn(u.styles)||l.forEach(d=>{n+=Ld(u.id,d,u.styles)}),jn(u.textStyles)||(n+=Ld(u.id,"tspan",u.textStyles))}}return n},im=(t,e,i,r)=>{const n=BI(t,e,i),s=BE(e,n,t.themeVariables);return ym(bm(`${r}{${s}}`),mm)},rm=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),r=x1(r),r=r.replace(/<br>/g,"<br/>"),r},nm=(t="",e)=>{const i=e?e.viewBox.baseVal.height+"px":wI,r=btoa('<body style="'+EI+'">'+t+"</body>");return`<iframe style="width:${kI};height:${i};${TI}" src="data:text/html;base64,${r}" sandbox="${CI}">
1280
+ ${SI}
1281
+ </iframe>`},_l=(t,e,i,r,n)=>{const s=t.append("div");s.attr("id",i),r&&s.attr("style",r);const a=s.append("svg").attr("id",e).attr("width","100%").attr("xmlns",vI);return n&&a.attr("xmlns:xlink",n),a.append("g"),t};function xl(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const sm=(t,e,i,r)=>{var n,s,a;(n=t.getElementById(e))==null||n.remove(),(s=t.getElementById(i))==null||s.remove(),(a=t.getElementById(r))==null||a.remove()},DI=function(t,e,i,r){var n,s,a,o;Pa(),ua();const l=jt.detectInit(e);l&&(En(l),Ou(l));const h=G();D.debug(h),e.length>((h==null?void 0:h.maxTextSize)??5e4)&&(e=jy),e=e.replace(/\r\n?/g,`
1282
+ `);const u="#"+t,d="i"+t,f="#"+d,p="d"+t,m="#"+p;let _=_t("body");const v=h.securityLevel===$y,w=h.securityLevel===Ky,x=h.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),v){const nt=xl(_t(r),d);_=_t(nt.nodes()[0].contentDocument.body),_.node().style.margin=0}else _=_t(r);_l(_,t,p,`font-family: ${x}`,Qy)}else{if(sm(document,t,p,d),v){const nt=xl(_t("body"),d);_=_t(nt.nodes()[0].contentDocument.body),_.node().style.margin=0}else _=_t("body");_l(_,t,p)}e=em(e);let N,R;try{if(N=m1(e),"then"in N)throw new Error("Diagram is a promise. Use renderAsync.")}catch(nt){N=new b1("error"),R=nt}const P=_.select(m).node(),V=N.type,F=P.firstChild,O=F.firstChild,C=_1.includes(V)?N.renderer.getClasses(e,N):{},S=im(h,V,C,u),E=document.createElement("style");E.innerHTML=S,F.insertBefore(E,O);try{N.renderer.draw(e,t,$o,N)}catch(nt){throw bl.draw(e,t,$o),nt}const b=_.select(`${m} svg`),k=(s=(n=N.db).getAccTitle)==null?void 0:s.call(n),g=(o=(a=N.db).getAccDescription)==null?void 0:o.call(a);am(V,b,k,g),_.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Zy);let B=_.select(m).node().innerHTML;if(D.debug("config.arrowMarkerAbsolute",h.arrowMarkerAbsolute),B=rm(B,v,Xe(h.arrowMarkerAbsolute)),v){const nt=_.select(m+" svg").node();B=nm(B,nt)}else w||(B=la.sanitize(B,{ADD_TAGS:Jy,ADD_ATTR:tm}));if(i!==void 0)switch(V){case"flowchart":case"flowchart-v2":i(B,ir.bindFunctions);break;case"gantt":i(B,a1.bindFunctions);break;case"class":case"classDiagram":i(B,Gn.bindFunctions);break;default:i(B)}else D.debug("CB = undefined!");py();const M=_t(v?f:m).node();if(M&&"remove"in M&&M.remove(),R)throw R;return B},NI=async function(t,e,i,r){var n,s,a,o;Pa(),ua();const l=jt.detectInit(e);l&&(En(l),Ou(l));const h=G();D.debug(h),e.length>((h==null?void 0:h.maxTextSize)??5e4)&&(e=jy),e=e.replace(/\r\n?/g,`
1283
+ `);const u="#"+t,d="i"+t,f="#"+d,p="d"+t,m="#"+p;let _=_t("body");const v=h.securityLevel===$y,w=h.securityLevel===Ky,x=h.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),v){const nt=xl(_t(r),d);_=_t(nt.nodes()[0].contentDocument.body),_.node().style.margin=0}else _=_t(r);_l(_,t,p,`font-family: ${x}`,Qy)}else{if(sm(document,t,p,d),v){const nt=xl(_t("body"),d);_=_t(nt.nodes()[0].contentDocument.body),_.node().style.margin=0}else _=_t("body");_l(_,t,p)}e=em(e);let N,R;try{N=await m1(e)}catch(nt){N=new b1("error"),R=nt}const P=_.select(m).node(),V=N.type,F=P.firstChild,O=F.firstChild,C=_1.includes(V)?N.renderer.getClasses(e,N):{},S=im(h,V,C,u),E=document.createElement("style");E.innerHTML=S,F.insertBefore(E,O);try{await N.renderer.draw(e,t,$o,N)}catch(nt){throw bl.draw(e,t,$o),nt}const b=_.select(`${m} svg`),k=(s=(n=N.db).getAccTitle)==null?void 0:s.call(n),g=(o=(a=N.db).getAccDescription)==null?void 0:o.call(a);am(V,b,k,g),_.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Zy);let B=_.select(m).node().innerHTML;if(D.debug("config.arrowMarkerAbsolute",h.arrowMarkerAbsolute),B=rm(B,v,Xe(h.arrowMarkerAbsolute)),v){const nt=_.select(m+" svg").node();B=nm(B,nt)}else w||(B=la.sanitize(B,{ADD_TAGS:Jy,ADD_ATTR:tm}));if(i!==void 0)switch(V){case"flowchart":case"flowchart-v2":i(B,ir.bindFunctions);break;case"gantt":i(B,a1.bindFunctions);break;case"class":case"classDiagram":i(B,Gn.bindFunctions);break;default:i(B)}else D.debug("CB = undefined!");py();const M=_t(v?f:m).node();if(M&&"remove"in M&&M.remove(),R)throw R;return B};function II(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),uE(t),t!=null&&t.theme&&t.theme in Rr?t.themeVariables=Rr[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Rr.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?hE(t):sp();Bu(i.logLevel),Pa()}function am(t,e,i,r){_I(e,t),xI(e,i,r,e.attr("id"))}const be=Object.freeze({render:DI,renderAsync:NI,parse:AI,parseAsync:LI,parseDirective:bp,initialize:II,getConfig:G,setConfig:ap,getSiteConfig:sp,updateSiteConfig:dE,reset:()=>{ua()},globalReset:()=>{ua(cs)},defaultConfig:cs});Bu(G().logLevel);ua(G());const MI=async function(t,e,i){try{await lm(t,e,i)}catch(r){D.warn("Syntax Error rendering"),Fu(r)&&D.warn(r.str),wi.parseError&&wi.parseError(r)}},om=(t,e,i)=>{D.warn(t),Fu(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},RI=function(t,e,i){const r=be.getConfig();t&&(wi.sequenceConfig=t),D.debug(`${i?"":"No "}Callback function found`);let n;if(e===void 0)n=document.querySelectorAll(".mermaid");else if(typeof e=="string")n=document.querySelectorAll(e);else if(e instanceof HTMLElement)n=[e];else if(e instanceof NodeList)n=e;else throw new Error("Invalid argument nodes for mermaid.init");D.debug(`Found ${n.length} diagrams`),(t==null?void 0:t.startOnLoad)!==void 0&&(D.debug("Start On Load: "+(t==null?void 0:t.startOnLoad)),be.updateSiteConfig({startOnLoad:t==null?void 0:t.startOnLoad}));const s=new jt.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let a;const o=[];for(const l of Array.from(n)){D.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${s.next()}`;a=l.innerHTML,a=Zd(jt.entityDecode(a)).trim().replace(/<br\s*\/?>/gi,"<br/>");const u=jt.detectInit(a);u&&D.debug("Detected early reinit: ",u);try{be.render(h,a,(d,f)=>{l.innerHTML=d,i!==void 0&&i(h),f&&f(l)},l)}catch(d){om(d,o,wi.parseError)}}if(o.length>0)throw o[0]},FI=async(...t)=>{D.debug(`Loading ${t.length} external diagrams`);const i=(await Promise.allSettled(t.map(async({id:r,detector:n,loader:s})=>{const{diagram:a}=await s();Oe(r,a,n)}))).filter(r=>r.status==="rejected");if(i.length>0){D.error(`Failed to load ${i.length} external diagrams`);for(const r of i)D.error(r);throw new Error(`Failed to load ${i.length} external diagrams`)}},lm=async function(t,e,i){const r=be.getConfig();t&&(wi.sequenceConfig=t),D.debug(`${i?"":"No "}Callback function found`);let n;if(e===void 0)n=document.querySelectorAll(".mermaid");else if(typeof e=="string")n=document.querySelectorAll(e);else if(e instanceof HTMLElement)n=[e];else if(e instanceof NodeList)n=e;else throw new Error("Invalid argument nodes for mermaid.init");D.debug(`Found ${n.length} diagrams`),(t==null?void 0:t.startOnLoad)!==void 0&&(D.debug("Start On Load: "+(t==null?void 0:t.startOnLoad)),be.updateSiteConfig({startOnLoad:t==null?void 0:t.startOnLoad}));const s=new jt.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let a;const o=[];for(const l of Array.from(n)){D.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${s.next()}`;a=l.innerHTML,a=Zd(jt.entityDecode(a)).trim().replace(/<br\s*\/?>/gi,"<br/>");const u=jt.detectInit(a);u&&D.debug("Detected early reinit: ",u);try{await be.renderAsync(h,a,(d,f)=>{l.innerHTML=d,i!==void 0&&i(h),f&&f(l)},l)}catch(d){om(d,o,wi.parseError)}}if(o.length>0)throw o[0]},OI=function(t){be.initialize(t)},PI=async(t,{lazyLoad:e=!0}={})=>{e?Z2(...t):await FI(...t)},cm=function(){if(wi.startOnLoad){const{startOnLoad:t}=be.getConfig();t&&wi.init().catch(e=>D.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*!
1284
+ * Wait for document loaded before starting the execution
1285
+ */window.addEventListener("load",cm,!1)}const VI=function(t){wi.parseError=t},YI=t=>be.parse(t,wi.parseError),vl=[];let Wc=!1;const hm=async()=>{if(!Wc){for(Wc=!0;vl.length>0;){const t=vl.shift();if(t)try{await t()}catch(e){D.error("Error executing queue",e)}}Wc=!1}},zI=t=>new Promise((e,i)=>{const r=()=>new Promise((n,s)=>{be.parseAsync(t,wi.parseError).then(a=>{n(a),e(a)},a=>{D.error("Error parsing",a),s(a),i(a)})});vl.push(r),hm().catch(i)}),UI=(t,e,i,r)=>new Promise((n,s)=>{const a=()=>new Promise((o,l)=>{be.renderAsync(t,e,i,r).then(h=>{o(h),n(h)},h=>{D.error("Error parsing",h),l(h),s(h)})});vl.push(a),hm().catch(s)}),wi={startOnLoad:!0,diagrams:{},mermaidAPI:be,parse:YI,parseAsync:zI,render:be.render,renderAsync:UI,init:MI,initThrowsErrors:RI,initThrowsErrorsAsync:lm,registerExternalDiagrams:PI,initialize:OI,parseError:void 0,contentLoaded:cm,setParseErrorHandler:VI},WI=Dd("div")(({theme:t})=>({display:"flex",justifyContent:"center","#mermaid":{".edgeLabel":{backgroundColor:t.palette.background.paper,color:t.palette.text.primary},".nodeLabel":{color:t.palette.secondary.dark},".edgePaths > path":{stroke:t.palette.secondary.dark},".arrowMarkerPath":{fill:t.palette.secondary.dark,stroke:"transparent"}},"&&& #mermaid .node rect":{stroke:t.palette.secondary.border,fill:t.palette.secondary.light}}));wi.initialize({startOnLoad:!1,theme:"default",themeCSS:`
1286
+ .clusters #_ rect {
1287
+ fill: transparent;
1288
+ stroke: transparent;
1289
+ }
1290
+ `});const HI=({children:t,...e})=>{const i=Hc.useRef(null);return Hc.useEffect(()=>{wi.render("mermaid",t,r=>{i.current&&(i.current.innerHTML=r)})},[t]),to.jsx(WI,{ref:i,...e})},qI=Dd(HI)(({theme:t})=>({"#mermaid .node rect":{fill:t.palette.secondary.light,stroke:t.palette.secondary.border},"#mermaid .unleash-logo":{padding:t.spacing(1)}})),GI=t=>t[0]*1e3>new Date().getTime()-6e5,XI=t=>{var n,s;const i=(t.values||[]).filter(a=>GI(a)),r=i.length?parseFloat(i[i.length-1][1]):0;return{label:t.label,reqs:r,type:qd((s=(n=t.metric)==null?void 0:n.endpoint)==null?void 0:s.split("/")[2])}},jI=(t,e)=>{var r;const i=e.label+e.type;return t[i]={...e,reqs:e.reqs+(((r=t[i])==null?void 0:r.reqs)??0)},t},$I=t=>{var r,n;const i=(((n=(r=t==null?void 0:t.data)==null?void 0:r.result)==null?void 0:n.map(s=>{var a;return{...s,label:qd((a=s.metric)==null?void 0:a.appName)}}).filter(s=>s.label!=="unknown"))||[]).map(XI).reduce(jI,{});return Object.values(i).map(s=>({...s,reqs:s.reqs.toFixed(2)})).filter(s=>s.reqs!=="0.00")??[]},Bd=()=>{_m("Network - Overview");const{themeMode:t}=xm(),{metrics:e}=Zm(),i=Hc.useMemo(()=>$I(e),[e]),r=`
1291
+ graph TD
1292
+ subgraph _[ ]
1293
+ direction BT
1294
+ Unleash(<img src='${vm(t==="dark"?Tm:Em)}' width='72' height='72' class='unleash-logo'/><br/>Unleash)
1295
+ ${i.map(({label:n,reqs:s,type:a},o)=>`app-${o}("${n.replaceAll('"',"&quot;")}") -- ${s} req/s<br>${a} --> Unleash`).join(`
1296
+ `)}
1297
+ end
1298
+ `;return to.jsx(km,{condition:i.length===0,show:to.jsx(wm,{severity:"warning",children:"No data available."}),elseShow:to.jsx(qI,{children:r})})},sM=Object.freeze(Object.defineProperty({__proto__:null,NetworkOverview:Bd,default:Bd},Symbol.toStringTag,{value:"Module"}));export{Vr as C,sM as N,ee as U,Ul as a,rn as b,Su as c,nM as d,Xe as e,$t as f,G as g,NS as h,Z9 as i,Hi as j,ki as k,D as l,WS as m,bs as n,NE as o,ld as p,bp as q,Ti as r,_t as s,zt as t,Qt as u,lh as v,Fi as w};
1299
+ function __vite__mapDeps(indexes) {
1300
+ if (!__vite__mapDeps.viteFileDeps) {
1301
+ __vite__mapDeps.viteFileDeps = []
1302
+ }
1303
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
1304
+ }