unleash-server 5.2.8 → 5.3.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 (767) hide show
  1. package/dist/lib/addons/addon-schema.js +10 -0
  2. package/dist/lib/addons/addon-schema.js.map +1 -1
  3. package/dist/lib/addons/addon.d.ts +1 -0
  4. package/dist/lib/addons/addon.js.map +1 -1
  5. package/dist/lib/addons/datadog-definition.js +1 -0
  6. package/dist/lib/addons/datadog-definition.js.map +1 -1
  7. package/dist/lib/addons/feature-event-formatter-md.d.ts +1 -0
  8. package/dist/lib/addons/feature-event-formatter-md.js +7 -0
  9. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  10. package/dist/lib/addons/index.d.ts +2 -1
  11. package/dist/lib/addons/index.js +12 -2
  12. package/dist/lib/addons/index.js.map +1 -1
  13. package/dist/lib/addons/installation-definition-schema.d.ts +2 -0
  14. package/dist/lib/addons/installation-definition-schema.js +13 -0
  15. package/dist/lib/addons/installation-definition-schema.js.map +1 -0
  16. package/dist/lib/addons/slack-app-definition.d.ts +3 -0
  17. package/dist/lib/addons/slack-app-definition.js +68 -0
  18. package/dist/lib/addons/slack-app-definition.js.map +1 -0
  19. package/dist/lib/addons/slack-app.d.ts +23 -0
  20. package/dist/lib/addons/slack-app.js +137 -0
  21. package/dist/lib/addons/slack-app.js.map +1 -0
  22. package/dist/lib/addons/slack-app.test.d.ts +1 -0
  23. package/dist/lib/addons/slack-app.test.js +191 -0
  24. package/dist/lib/addons/slack-app.test.js.map +1 -0
  25. package/dist/lib/addons/slack-definition.js +1 -0
  26. package/dist/lib/addons/slack-definition.js.map +1 -1
  27. package/dist/lib/addons/teams-definition.js +1 -0
  28. package/dist/lib/addons/teams-definition.js.map +1 -1
  29. package/dist/lib/addons/webhook-definition.js +1 -0
  30. package/dist/lib/addons/webhook-definition.js.map +1 -1
  31. package/dist/lib/create-config.js +2 -2
  32. package/dist/lib/create-config.js.map +1 -1
  33. package/dist/lib/db/access-store.d.ts +0 -1
  34. package/dist/lib/db/access-store.js +1 -14
  35. package/dist/lib/db/access-store.js.map +1 -1
  36. package/dist/lib/db/client-metrics-store-v2.js +7 -2
  37. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  38. package/dist/lib/db/context-field-store.js +9 -18
  39. package/dist/lib/db/context-field-store.js.map +1 -1
  40. package/dist/lib/db/event-store.d.ts +2 -0
  41. package/dist/lib/db/event-store.js +19 -9
  42. package/dist/lib/db/event-store.js.map +1 -1
  43. package/dist/lib/db/feature-strategy-store.js +5 -0
  44. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  45. package/dist/lib/db/feature-strategy-store.test.js +1 -0
  46. package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
  47. package/dist/lib/db/feature-toggle-client-store.d.ts +7 -8
  48. package/dist/lib/db/feature-toggle-client-store.js +46 -24
  49. package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
  50. package/dist/lib/db/feature-toggle-store.d.ts +6 -0
  51. package/dist/lib/db/feature-toggle-store.js +35 -0
  52. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  53. package/dist/lib/db/feature-type-store.d.ts +1 -0
  54. package/dist/lib/db/feature-type-store.js +12 -0
  55. package/dist/lib/db/feature-type-store.js.map +1 -1
  56. package/dist/lib/db/group-store.d.ts +5 -7
  57. package/dist/lib/db/group-store.js +51 -25
  58. package/dist/lib/db/group-store.js.map +1 -1
  59. package/dist/lib/db/index.js +1 -1
  60. package/dist/lib/db/index.js.map +1 -1
  61. package/dist/lib/db/project-store.d.ts +3 -5
  62. package/dist/lib/db/project-store.js +19 -19
  63. package/dist/lib/db/project-store.js.map +1 -1
  64. package/dist/lib/db/segment-store.d.ts +2 -1
  65. package/dist/lib/db/segment-store.js +23 -20
  66. package/dist/lib/db/segment-store.js.map +1 -1
  67. package/dist/lib/db/segment-store.test.d.ts +1 -0
  68. package/dist/lib/db/segment-store.test.js +32 -0
  69. package/dist/lib/db/segment-store.test.js.map +1 -0
  70. package/dist/lib/error/bad-data-error.d.ts +1 -0
  71. package/dist/lib/error/bad-data-error.js +18 -5
  72. package/dist/lib/error/bad-data-error.js.map +1 -1
  73. package/dist/lib/error/content-type-error.d.ts +1 -0
  74. package/dist/lib/error/content-type-error.js +1 -0
  75. package/dist/lib/error/content-type-error.js.map +1 -1
  76. package/dist/lib/error/disabled-error.d.ts +1 -0
  77. package/dist/lib/error/disabled-error.js +4 -0
  78. package/dist/lib/error/disabled-error.js.map +1 -1
  79. package/dist/lib/error/feature-has-tag-error.d.ts +1 -0
  80. package/dist/lib/error/feature-has-tag-error.js +4 -0
  81. package/dist/lib/error/feature-has-tag-error.js.map +1 -1
  82. package/dist/lib/error/forbidden-error.d.ts +5 -0
  83. package/dist/lib/error/forbidden-error.js +12 -0
  84. package/dist/lib/error/forbidden-error.js.map +1 -0
  85. package/dist/lib/error/from-legacy-error.js +68 -0
  86. package/dist/lib/error/from-legacy-error.js.map +1 -1
  87. package/dist/lib/error/incompatible-project-error.d.ts +1 -0
  88. package/dist/lib/error/incompatible-project-error.js +1 -0
  89. package/dist/lib/error/incompatible-project-error.js.map +1 -1
  90. package/dist/lib/error/index.d.ts +3 -2
  91. package/dist/lib/error/index.js +5 -3
  92. package/dist/lib/error/index.js.map +1 -1
  93. package/dist/lib/error/invalid-operation-error.d.ts +1 -0
  94. package/dist/lib/error/invalid-operation-error.js +4 -0
  95. package/dist/lib/error/invalid-operation-error.js.map +1 -1
  96. package/dist/lib/error/invalid-token-error.d.ts +1 -0
  97. package/dist/lib/error/invalid-token-error.js +1 -0
  98. package/dist/lib/error/invalid-token-error.js.map +1 -1
  99. package/dist/lib/error/minimum-one-environment-error.d.ts +1 -0
  100. package/dist/lib/error/minimum-one-environment-error.js +4 -0
  101. package/dist/lib/error/minimum-one-environment-error.js.map +1 -1
  102. package/dist/lib/error/name-exists-error.d.ts +1 -0
  103. package/dist/lib/error/name-exists-error.js +4 -0
  104. package/dist/lib/error/name-exists-error.js.map +1 -1
  105. package/dist/lib/error/not-implemented-error.d.ts +1 -0
  106. package/dist/lib/error/not-implemented-error.js +4 -0
  107. package/dist/lib/error/not-implemented-error.js.map +1 -1
  108. package/dist/lib/error/notfound-error.d.ts +1 -0
  109. package/dist/lib/error/notfound-error.js +1 -0
  110. package/dist/lib/error/notfound-error.js.map +1 -1
  111. package/dist/lib/error/operation-denied-error.d.ts +1 -0
  112. package/dist/lib/error/operation-denied-error.js +4 -0
  113. package/dist/lib/error/operation-denied-error.js.map +1 -1
  114. package/dist/lib/error/owasp-validation-error.d.ts +1 -0
  115. package/dist/lib/error/owasp-validation-error.js +1 -0
  116. package/dist/lib/error/owasp-validation-error.js.map +1 -1
  117. package/dist/lib/error/password-mismatch.d.ts +1 -0
  118. package/dist/lib/error/password-mismatch.js +1 -0
  119. package/dist/lib/error/password-mismatch.js.map +1 -1
  120. package/dist/lib/error/password-undefined.d.ts +1 -0
  121. package/dist/lib/error/password-undefined.js +1 -0
  122. package/dist/lib/error/password-undefined.js.map +1 -1
  123. package/dist/lib/error/{no-access-error.d.ts → permission-error.d.ts} +3 -2
  124. package/dist/lib/error/{no-access-error.js → permission-error.js} +10 -7
  125. package/dist/lib/error/permission-error.js.map +1 -0
  126. package/dist/lib/error/project-without-owner-error.d.ts +1 -0
  127. package/dist/lib/error/project-without-owner-error.js +1 -0
  128. package/dist/lib/error/project-without-owner-error.js.map +1 -1
  129. package/dist/lib/error/role-in-use-error.d.ts +1 -0
  130. package/dist/lib/error/role-in-use-error.js +4 -0
  131. package/dist/lib/error/role-in-use-error.js.map +1 -1
  132. package/dist/lib/error/unauthorized-error.d.ts +1 -0
  133. package/dist/lib/error/unauthorized-error.js +4 -0
  134. package/dist/lib/error/unauthorized-error.js.map +1 -1
  135. package/dist/lib/error/unleash-error.d.ts +5 -3
  136. package/dist/lib/error/unleash-error.js +4 -61
  137. package/dist/lib/error/unleash-error.js.map +1 -1
  138. package/dist/lib/error/unleash-error.test.js +67 -37
  139. package/dist/lib/error/unleash-error.test.js.map +1 -1
  140. package/dist/lib/error/used-token-error.d.ts +1 -0
  141. package/dist/lib/error/used-token-error.js +1 -0
  142. package/dist/lib/error/used-token-error.js.map +1 -1
  143. package/dist/lib/features/export-import-toggles/export-import-controller.js +12 -7
  144. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  145. package/dist/lib/features/export-import-toggles/import-permissions-service.js +1 -1
  146. package/dist/lib/features/export-import-toggles/import-permissions-service.js.map +1 -1
  147. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +1 -1
  148. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  149. package/dist/lib/features/group/createGroupService.d.ts +4 -0
  150. package/dist/lib/features/group/createGroupService.js +20 -0
  151. package/dist/lib/features/group/createGroupService.js.map +1 -0
  152. package/dist/lib/features/playground/feature-evaluator/client.d.ts +3 -1
  153. package/dist/lib/features/playground/feature-evaluator/client.js +33 -13
  154. package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -1
  155. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +3 -1
  156. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js +14 -1
  157. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -1
  158. package/dist/lib/features/playground/feature-evaluator/variant.d.ts +4 -4
  159. package/dist/lib/features/playground/feature-evaluator/variant.js +14 -10
  160. package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -1
  161. package/dist/lib/features/playground/offline-unleash-client.js +7 -0
  162. package/dist/lib/features/playground/offline-unleash-client.js.map +1 -1
  163. package/dist/lib/features/playground/offline-unleash-client.test.js +69 -0
  164. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
  165. package/dist/lib/features/playground/playground-service.js +5 -3
  166. package/dist/lib/features/playground/playground-service.js.map +1 -1
  167. package/dist/lib/features/playground/playground.js +12 -15
  168. package/dist/lib/features/playground/playground.js.map +1 -1
  169. package/dist/lib/middleware/api-token-middleware.js +1 -1
  170. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  171. package/dist/lib/openapi/index.js +15 -3
  172. package/dist/lib/openapi/index.js.map +1 -1
  173. package/dist/lib/openapi/meta-schema-rules.test.js +0 -126
  174. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  175. package/dist/lib/openapi/spec/addon-type-schema.d.ts +57 -0
  176. package/dist/lib/openapi/spec/addon-type-schema.js +50 -0
  177. package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
  178. package/dist/lib/openapi/spec/addons-schema.d.ts +64 -0
  179. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +166 -4
  180. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +1 -2
  181. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
  182. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +331 -6
  183. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +662 -12
  184. package/dist/lib/openapi/spec/api-tokens-schema.d.ts +2 -2
  185. package/dist/lib/openapi/spec/api-tokens-schema.js +2 -2
  186. package/dist/lib/openapi/spec/api-tokens-schema.js.map +1 -1
  187. package/dist/lib/openapi/spec/batch-features-schema.d.ts +3 -0
  188. package/dist/lib/openapi/spec/batch-features-schema.js +3 -0
  189. package/dist/lib/openapi/spec/batch-features-schema.js.map +1 -1
  190. package/dist/lib/openapi/spec/batch-stale-schema.d.ts +7 -0
  191. package/dist/lib/openapi/spec/batch-stale-schema.js +7 -0
  192. package/dist/lib/openapi/spec/batch-stale-schema.js.map +1 -1
  193. package/dist/lib/openapi/spec/change-password-schema.d.ts +5 -0
  194. package/dist/lib/openapi/spec/change-password-schema.js +5 -0
  195. package/dist/lib/openapi/spec/change-password-schema.js.map +1 -1
  196. package/dist/lib/openapi/spec/client-feature-schema.d.ts +121 -3
  197. package/dist/lib/openapi/spec/client-feature-schema.js +2 -0
  198. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  199. package/dist/lib/openapi/spec/client-features-schema.d.ts +246 -16
  200. package/dist/lib/openapi/spec/client-features-schema.js +5 -3
  201. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  202. package/dist/lib/openapi/spec/client-features-schema.test.js +1 -2
  203. package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
  204. package/dist/lib/openapi/spec/client-segment-schema.d.ts +75 -0
  205. package/dist/lib/openapi/spec/client-segment-schema.js +35 -0
  206. package/dist/lib/openapi/spec/client-segment-schema.js.map +1 -0
  207. package/dist/lib/openapi/spec/clone-feature-schema.d.ts +5 -0
  208. package/dist/lib/openapi/spec/clone-feature-schema.js +5 -0
  209. package/dist/lib/openapi/spec/clone-feature-schema.js.map +1 -1
  210. package/dist/lib/openapi/spec/context-field-schema.d.ts +22 -3
  211. package/dist/lib/openapi/spec/context-field-schema.js +17 -3
  212. package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
  213. package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +1 -1
  214. package/dist/lib/openapi/spec/context-field-strategies-schema.js +1 -1
  215. package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -1
  216. package/dist/lib/openapi/spec/context-fields-schema.d.ts +28 -3
  217. package/dist/lib/openapi/spec/context-fields-schema.js +1 -0
  218. package/dist/lib/openapi/spec/context-fields-schema.js.map +1 -1
  219. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +130 -32
  220. package/dist/lib/openapi/spec/create-api-token-schema.js +71 -35
  221. package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
  222. package/dist/lib/openapi/spec/create-feature-schema.d.ts +9 -0
  223. package/dist/lib/openapi/spec/create-feature-schema.js +9 -0
  224. package/dist/lib/openapi/spec/create-feature-schema.js.map +1 -1
  225. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +63 -2
  226. package/dist/lib/openapi/spec/create-feature-strategy-schema.js +12 -2
  227. package/dist/lib/openapi/spec/create-feature-strategy-schema.js.map +1 -1
  228. package/dist/lib/openapi/spec/create-group-schema.d.ts +61 -0
  229. package/dist/lib/openapi/spec/create-group-schema.js +43 -0
  230. package/dist/lib/openapi/spec/create-group-schema.js.map +1 -0
  231. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +52 -0
  232. package/dist/lib/openapi/spec/create-strategy-schema.js +60 -0
  233. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -0
  234. package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +54 -0
  235. package/dist/lib/openapi/spec/create-strategy-variant-schema.js +53 -0
  236. package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -0
  237. package/dist/lib/openapi/spec/create-user-response-schema.d.ts +98 -0
  238. package/dist/lib/openapi/spec/create-user-response-schema.js +31 -0
  239. package/dist/lib/openapi/spec/create-user-response-schema.js.map +1 -0
  240. package/dist/lib/openapi/spec/create-user-schema.d.ts +21 -1
  241. package/dist/lib/openapi/spec/create-user-schema.js +24 -1
  242. package/dist/lib/openapi/spec/create-user-schema.js.map +1 -1
  243. package/dist/lib/openapi/spec/email-schema.d.ts +3 -0
  244. package/dist/lib/openapi/spec/email-schema.js +3 -0
  245. package/dist/lib/openapi/spec/email-schema.js.map +1 -1
  246. package/dist/lib/openapi/spec/environment-project-schema.d.ts +115 -2
  247. package/dist/lib/openapi/spec/environment-project-schema.js +2 -0
  248. package/dist/lib/openapi/spec/environment-project-schema.js.map +1 -1
  249. package/dist/lib/openapi/spec/environments-project-schema.d.ts +118 -2
  250. package/dist/lib/openapi/spec/environments-project-schema.js +3 -0
  251. package/dist/lib/openapi/spec/environments-project-schema.js.map +1 -1
  252. package/dist/lib/openapi/spec/environments-schema.d.ts +4 -0
  253. package/dist/lib/openapi/spec/environments-schema.js +4 -0
  254. package/dist/lib/openapi/spec/environments-schema.js.map +1 -1
  255. package/dist/lib/openapi/spec/event-schema.d.ts +130 -0
  256. package/dist/lib/openapi/spec/event-schema.js +42 -2
  257. package/dist/lib/openapi/spec/event-schema.js.map +1 -1
  258. package/dist/lib/openapi/spec/events-schema.d.ts +137 -0
  259. package/dist/lib/openapi/spec/events-schema.js +7 -0
  260. package/dist/lib/openapi/spec/events-schema.js.map +1 -1
  261. package/dist/lib/openapi/spec/export-query-schema.d.ts +7 -0
  262. package/dist/lib/openapi/spec/export-query-schema.js +7 -0
  263. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  264. package/dist/lib/openapi/spec/export-result-schema.d.ts +609 -17
  265. package/dist/lib/openapi/spec/export-result-schema.js +90 -0
  266. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  267. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +125 -3
  268. package/dist/lib/openapi/spec/feature-environment-schema.js +6 -0
  269. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  270. package/dist/lib/openapi/spec/feature-events-schema.d.ts +141 -1
  271. package/dist/lib/openapi/spec/feature-events-schema.js +13 -1
  272. package/dist/lib/openapi/spec/feature-events-schema.js.map +1 -1
  273. package/dist/lib/openapi/spec/feature-schema.d.ts +251 -6
  274. package/dist/lib/openapi/spec/feature-schema.js +7 -0
  275. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  276. package/dist/lib/openapi/spec/feature-schema.test.js +2 -2
  277. package/dist/lib/openapi/spec/feature-schema.test.js.map +1 -1
  278. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +61 -1
  279. package/dist/lib/openapi/spec/feature-strategy-schema.js +10 -1
  280. package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
  281. package/dist/lib/openapi/spec/feature-type-schema.d.ts +11 -1
  282. package/dist/lib/openapi/spec/feature-type-schema.js +11 -1
  283. package/dist/lib/openapi/spec/feature-type-schema.js.map +1 -1
  284. package/dist/lib/openapi/spec/feature-types-schema.d.ts +42 -1
  285. package/dist/lib/openapi/spec/feature-types-schema.js +37 -0
  286. package/dist/lib/openapi/spec/feature-types-schema.js.map +1 -1
  287. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +11 -2
  288. package/dist/lib/openapi/spec/feature-variants-schema.js +4 -0
  289. package/dist/lib/openapi/spec/feature-variants-schema.js.map +1 -1
  290. package/dist/lib/openapi/spec/features-schema.d.ts +501 -12
  291. package/dist/lib/openapi/spec/features-schema.js +6 -0
  292. package/dist/lib/openapi/spec/features-schema.js.map +1 -1
  293. package/dist/lib/openapi/spec/feedback-create-schema.d.ts +21 -0
  294. package/dist/lib/openapi/spec/feedback-create-schema.js +23 -0
  295. package/dist/lib/openapi/spec/feedback-create-schema.js.map +1 -0
  296. package/dist/lib/openapi/spec/feedback-response-schema.d.ts +33 -0
  297. package/dist/lib/openapi/spec/feedback-response-schema.js +35 -0
  298. package/dist/lib/openapi/spec/feedback-response-schema.js.map +1 -0
  299. package/dist/lib/openapi/spec/feedback-update-schema.d.ts +27 -0
  300. package/dist/lib/openapi/spec/feedback-update-schema.js +29 -0
  301. package/dist/lib/openapi/spec/feedback-update-schema.js.map +1 -0
  302. package/dist/lib/openapi/spec/group-schema.d.ts +107 -9
  303. package/dist/lib/openapi/spec/group-schema.js +20 -3
  304. package/dist/lib/openapi/spec/group-schema.js.map +1 -1
  305. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +46 -3
  306. package/dist/lib/openapi/spec/group-user-model-schema.js +5 -0
  307. package/dist/lib/openapi/spec/group-user-model-schema.js.map +1 -1
  308. package/dist/lib/openapi/spec/groups-schema.d.ts +196 -15
  309. package/dist/lib/openapi/spec/groups-schema.js +2 -0
  310. package/dist/lib/openapi/spec/groups-schema.js.map +1 -1
  311. package/dist/lib/openapi/spec/health-overview-schema.d.ts +733 -16
  312. package/dist/lib/openapi/spec/health-overview-schema.js +10 -0
  313. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  314. package/dist/lib/openapi/spec/health-report-schema.d.ts +733 -16
  315. package/dist/lib/openapi/spec/id-schema.d.ts +3 -0
  316. package/dist/lib/openapi/spec/id-schema.js +3 -0
  317. package/dist/lib/openapi/spec/id-schema.js.map +1 -1
  318. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +1198 -63
  319. package/dist/lib/openapi/spec/import-toggles-schema.js +7 -0
  320. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  321. package/dist/lib/openapi/spec/import-toggles-validate-item-schema.d.ts +5 -0
  322. package/dist/lib/openapi/spec/import-toggles-validate-item-schema.js +5 -0
  323. package/dist/lib/openapi/spec/import-toggles-validate-item-schema.js.map +1 -1
  324. package/dist/lib/openapi/spec/import-toggles-validate-schema.d.ts +18 -0
  325. package/dist/lib/openapi/spec/import-toggles-validate-schema.js +17 -0
  326. package/dist/lib/openapi/spec/import-toggles-validate-schema.js.map +1 -1
  327. package/dist/lib/openapi/spec/index.d.ts +15 -3
  328. package/dist/lib/openapi/spec/index.js +15 -3
  329. package/dist/lib/openapi/spec/index.js.map +1 -1
  330. package/dist/lib/openapi/spec/legal-value-schema.d.ts +5 -0
  331. package/dist/lib/openapi/spec/legal-value-schema.js +5 -0
  332. package/dist/lib/openapi/spec/legal-value-schema.js.map +1 -1
  333. package/dist/lib/openapi/spec/login-schema.d.ts +5 -0
  334. package/dist/lib/openapi/spec/login-schema.js +5 -0
  335. package/dist/lib/openapi/spec/login-schema.js.map +1 -1
  336. package/dist/lib/openapi/spec/me-schema.d.ts +69 -11
  337. package/dist/lib/openapi/spec/me-schema.js +7 -3
  338. package/dist/lib/openapi/spec/me-schema.js.map +1 -1
  339. package/dist/lib/openapi/spec/name-schema.d.ts +3 -0
  340. package/dist/lib/openapi/spec/name-schema.js +3 -0
  341. package/dist/lib/openapi/spec/name-schema.js.map +1 -1
  342. package/dist/lib/openapi/spec/parameters-schema.d.ts +1 -0
  343. package/dist/lib/openapi/spec/parameters-schema.js +1 -0
  344. package/dist/lib/openapi/spec/parameters-schema.js.map +1 -1
  345. package/dist/lib/openapi/spec/password-schema.d.ts +7 -0
  346. package/dist/lib/openapi/spec/password-schema.js +7 -0
  347. package/dist/lib/openapi/spec/password-schema.js.map +1 -1
  348. package/dist/lib/openapi/spec/patches-schema.d.ts +1 -0
  349. package/dist/lib/openapi/spec/patches-schema.js +1 -0
  350. package/dist/lib/openapi/spec/patches-schema.js.map +1 -1
  351. package/dist/lib/openapi/spec/permission-schema.d.ts +7 -0
  352. package/dist/lib/openapi/spec/permission-schema.js +7 -0
  353. package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
  354. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +165 -3
  355. package/dist/lib/openapi/spec/playground-feature-schema.js +0 -1
  356. package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
  357. package/dist/lib/openapi/spec/playground-response-schema.d.ts +330 -5
  358. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +204 -0
  359. package/dist/lib/openapi/spec/playground-strategy-schema.js +49 -0
  360. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
  361. package/dist/lib/openapi/spec/profile-schema.d.ts +267 -7
  362. package/dist/lib/openapi/spec/profile-schema.js +5 -0
  363. package/dist/lib/openapi/spec/profile-schema.js.map +1 -1
  364. package/dist/lib/openapi/spec/project-environment-schema.d.ts +115 -2
  365. package/dist/lib/openapi/spec/project-environment-schema.js +2 -0
  366. package/dist/lib/openapi/spec/project-environment-schema.js.map +1 -1
  367. package/dist/lib/openapi/spec/project-overview-schema.d.ts +733 -16
  368. package/dist/lib/openapi/spec/project-overview-schema.js +10 -0
  369. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  370. package/dist/lib/openapi/spec/proxy-client-schema.d.ts +3 -0
  371. package/dist/lib/openapi/spec/proxy-client-schema.js +3 -0
  372. package/dist/lib/openapi/spec/proxy-client-schema.js.map +1 -1
  373. package/dist/lib/openapi/spec/proxy-feature-schema.d.ts +20 -2
  374. package/dist/lib/openapi/spec/proxy-feature-schema.js +20 -3
  375. package/dist/lib/openapi/spec/proxy-feature-schema.js.map +1 -1
  376. package/dist/lib/openapi/spec/proxy-features-schema.d.ts +22 -1
  377. package/dist/lib/openapi/spec/proxy-features-schema.js +2 -0
  378. package/dist/lib/openapi/spec/proxy-features-schema.js.map +1 -1
  379. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +52 -4
  380. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +104 -8
  381. package/dist/lib/openapi/spec/push-variants-schema.d.ts +7 -2
  382. package/dist/lib/openapi/spec/requests-per-second-schema.d.ts +16 -0
  383. package/dist/lib/openapi/spec/requests-per-second-schema.js +22 -2
  384. package/dist/lib/openapi/spec/requests-per-second-schema.js.map +1 -1
  385. package/dist/lib/openapi/spec/requests-per-second-segmented-schema.d.ts +17 -0
  386. package/dist/lib/openapi/spec/requests-per-second-segmented-schema.js +1 -0
  387. package/dist/lib/openapi/spec/requests-per-second-segmented-schema.js.map +1 -1
  388. package/dist/lib/openapi/spec/role-schema.d.ts +11 -1
  389. package/dist/lib/openapi/spec/role-schema.js +11 -1
  390. package/dist/lib/openapi/spec/role-schema.js.map +1 -1
  391. package/dist/lib/openapi/spec/search-events-schema.d.ts +9 -0
  392. package/dist/lib/openapi/spec/search-events-schema.js +10 -0
  393. package/dist/lib/openapi/spec/search-events-schema.js.map +1 -1
  394. package/dist/lib/openapi/spec/segment-schema.d.ts +23 -6
  395. package/dist/lib/openapi/spec/segment-schema.js +18 -15
  396. package/dist/lib/openapi/spec/segment-schema.js.map +1 -1
  397. package/dist/lib/openapi/spec/set-strategy-sort-order-schema.d.ts +6 -0
  398. package/dist/lib/openapi/spec/set-strategy-sort-order-schema.js +6 -0
  399. package/dist/lib/openapi/spec/set-strategy-sort-order-schema.js.map +1 -1
  400. package/dist/lib/openapi/spec/set-ui-config-schema.d.ts +4 -0
  401. package/dist/lib/openapi/spec/set-ui-config-schema.js +4 -0
  402. package/dist/lib/openapi/spec/set-ui-config-schema.js.map +1 -1
  403. package/dist/lib/openapi/spec/splash-request-schema.d.ts +21 -0
  404. package/dist/lib/openapi/spec/splash-request-schema.js +23 -0
  405. package/dist/lib/openapi/spec/splash-request-schema.js.map +1 -0
  406. package/dist/lib/openapi/spec/splash-response-schema.d.ts +27 -0
  407. package/dist/lib/openapi/spec/splash-response-schema.js +21 -0
  408. package/dist/lib/openapi/spec/splash-response-schema.js.map +1 -0
  409. package/dist/lib/openapi/spec/state-schema.d.ts +523 -19
  410. package/dist/lib/openapi/spec/state-schema.js +2 -0
  411. package/dist/lib/openapi/spec/state-schema.js.map +1 -1
  412. package/dist/lib/openapi/spec/strategies-schema.d.ts +9 -3
  413. package/dist/lib/openapi/spec/strategies-schema.js +5 -0
  414. package/dist/lib/openapi/spec/strategies-schema.js.map +1 -1
  415. package/dist/lib/openapi/spec/strategy-schema.d.ts +4 -3
  416. package/dist/lib/openapi/spec/strategy-schema.js +4 -3
  417. package/dist/lib/openapi/spec/strategy-schema.js.map +1 -1
  418. package/dist/lib/openapi/spec/strategy-schema.test.js +5 -0
  419. package/dist/lib/openapi/spec/strategy-schema.test.js.map +1 -1
  420. package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +54 -0
  421. package/dist/lib/openapi/spec/strategy-variant-schema.js +16 -0
  422. package/dist/lib/openapi/spec/strategy-variant-schema.js.map +1 -0
  423. package/dist/lib/openapi/spec/tag-type-schema.d.ts +7 -0
  424. package/dist/lib/openapi/spec/tag-type-schema.js +7 -0
  425. package/dist/lib/openapi/spec/tag-type-schema.js.map +1 -1
  426. package/dist/lib/openapi/spec/tag-types-schema.d.ts +11 -0
  427. package/dist/lib/openapi/spec/tag-types-schema.js +4 -0
  428. package/dist/lib/openapi/spec/tag-types-schema.js.map +1 -1
  429. package/dist/lib/openapi/spec/tag-with-version-schema.d.ts +3 -0
  430. package/dist/lib/openapi/spec/tag-with-version-schema.js +3 -0
  431. package/dist/lib/openapi/spec/tag-with-version-schema.js.map +1 -1
  432. package/dist/lib/openapi/spec/telemetry-settings-schema.d.ts +22 -0
  433. package/dist/lib/openapi/spec/telemetry-settings-schema.js +24 -0
  434. package/dist/lib/openapi/spec/telemetry-settings-schema.js.map +1 -0
  435. package/dist/lib/openapi/spec/token-user-schema.d.ts +23 -2
  436. package/dist/lib/openapi/spec/token-user-schema.js +12 -1
  437. package/dist/lib/openapi/spec/token-user-schema.js.map +1 -1
  438. package/dist/lib/openapi/spec/ui-config-schema.d.ts +77 -1
  439. package/dist/lib/openapi/spec/ui-config-schema.js +53 -0
  440. package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
  441. package/dist/lib/openapi/spec/update-api-token-schema.d.ts +3 -0
  442. package/dist/lib/openapi/spec/update-api-token-schema.js +3 -0
  443. package/dist/lib/openapi/spec/update-api-token-schema.js.map +1 -1
  444. package/dist/lib/openapi/spec/update-feature-schema.d.ts +11 -14
  445. package/dist/lib/openapi/spec/update-feature-schema.js +11 -14
  446. package/dist/lib/openapi/spec/update-feature-schema.js.map +1 -1
  447. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +5 -0
  448. package/dist/lib/openapi/spec/update-feature-strategy-schema.js +4 -0
  449. package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
  450. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.d.ts +19 -0
  451. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js +21 -0
  452. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js.map +1 -0
  453. package/dist/lib/openapi/spec/update-strategy-schema.d.ts +47 -0
  454. package/dist/lib/openapi/spec/update-strategy-schema.js +55 -0
  455. package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -0
  456. package/dist/lib/openapi/spec/update-tag-type-schema.d.ts +5 -0
  457. package/dist/lib/openapi/spec/update-tag-type-schema.js +5 -0
  458. package/dist/lib/openapi/spec/update-tag-type-schema.js.map +1 -1
  459. package/dist/lib/openapi/spec/update-user-schema.d.ts +15 -1
  460. package/dist/lib/openapi/spec/update-user-schema.js +18 -1
  461. package/dist/lib/openapi/spec/update-user-schema.js.map +1 -1
  462. package/dist/lib/openapi/spec/upsert-context-field-schema.d.ts +5 -0
  463. package/dist/lib/openapi/spec/user-schema.d.ts +41 -3
  464. package/dist/lib/openapi/spec/user-schema.js +41 -3
  465. package/dist/lib/openapi/spec/user-schema.js.map +1 -1
  466. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +194 -15
  467. package/dist/lib/openapi/spec/users-schema.d.ts +55 -4
  468. package/dist/lib/openapi/spec/users-schema.js +3 -0
  469. package/dist/lib/openapi/spec/users-schema.js.map +1 -1
  470. package/dist/lib/openapi/spec/users-search-schema.d.ts +41 -3
  471. package/dist/lib/openapi/spec/validate-feature-schema.d.ts +16 -0
  472. package/dist/lib/openapi/spec/validate-feature-schema.js +18 -0
  473. package/dist/lib/openapi/spec/validate-feature-schema.js.map +1 -0
  474. package/dist/lib/openapi/spec/validate-password-schema.d.ts +3 -0
  475. package/dist/lib/openapi/spec/validate-password-schema.js +3 -0
  476. package/dist/lib/openapi/spec/validate-password-schema.js.map +1 -1
  477. package/dist/lib/openapi/spec/validate-tag-type-schema.d.ts +10 -0
  478. package/dist/lib/openapi/spec/validate-tag-type-schema.js +3 -0
  479. package/dist/lib/openapi/spec/validate-tag-type-schema.js.map +1 -1
  480. package/dist/lib/openapi/spec/variant-flag-schema.d.ts +11 -0
  481. package/dist/lib/openapi/spec/variant-flag-schema.js +11 -0
  482. package/dist/lib/openapi/spec/variant-flag-schema.js.map +1 -1
  483. package/dist/lib/openapi/spec/variant-schema.d.ts +7 -2
  484. package/dist/lib/openapi/spec/variant-schema.js +7 -2
  485. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  486. package/dist/lib/openapi/spec/variants-schema.d.ts +7 -2
  487. package/dist/lib/openapi/spec/version-schema.d.ts +16 -1
  488. package/dist/lib/openapi/spec/version-schema.js +16 -1
  489. package/dist/lib/openapi/spec/version-schema.js.map +1 -1
  490. package/dist/lib/openapi/util/openapi-tags.d.ts +14 -2
  491. package/dist/lib/openapi/util/openapi-tags.js +9 -1
  492. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  493. package/dist/lib/openapi/util/standard-responses.d.ts +1 -1
  494. package/dist/lib/openapi/util/standard-responses.js +1 -1
  495. package/dist/lib/openapi/util/standard-responses.js.map +1 -1
  496. package/dist/lib/openapi/validate.js +1 -1
  497. package/dist/lib/openapi/validate.js.map +1 -1
  498. package/dist/lib/routes/admin-api/api-token.js +12 -0
  499. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  500. package/dist/lib/routes/admin-api/archive.d.ts +0 -1
  501. package/dist/lib/routes/admin-api/archive.js +20 -5
  502. package/dist/lib/routes/admin-api/archive.js.map +1 -1
  503. package/dist/lib/routes/admin-api/config.js +4 -0
  504. package/dist/lib/routes/admin-api/config.js.map +1 -1
  505. package/dist/lib/routes/admin-api/constraints.d.ts +2 -2
  506. package/dist/lib/routes/admin-api/constraints.js +5 -2
  507. package/dist/lib/routes/admin-api/constraints.js.map +1 -1
  508. package/dist/lib/routes/admin-api/context.d.ts +2 -1
  509. package/dist/lib/routes/admin-api/context.js +16 -4
  510. package/dist/lib/routes/admin-api/context.js.map +1 -1
  511. package/dist/lib/routes/admin-api/event.js +6 -3
  512. package/dist/lib/routes/admin-api/event.js.map +1 -1
  513. package/dist/lib/routes/admin-api/favorites.js +24 -4
  514. package/dist/lib/routes/admin-api/favorites.js.map +1 -1
  515. package/dist/lib/routes/admin-api/feature-type.d.ts +6 -0
  516. package/dist/lib/routes/admin-api/feature-type.js +37 -1
  517. package/dist/lib/routes/admin-api/feature-type.js.map +1 -1
  518. package/dist/lib/routes/admin-api/feature.d.ts +2 -3
  519. package/dist/lib/routes/admin-api/feature.js +14 -3
  520. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  521. package/dist/lib/routes/admin-api/index.js +2 -0
  522. package/dist/lib/routes/admin-api/index.js.map +1 -1
  523. package/dist/lib/routes/admin-api/project/project-archive.js +13 -4
  524. package/dist/lib/routes/admin-api/project/project-archive.js.map +1 -1
  525. package/dist/lib/routes/admin-api/project/project-features.d.ts +1 -1
  526. package/dist/lib/routes/admin-api/project/project-features.js +116 -27
  527. package/dist/lib/routes/admin-api/project/project-features.js.map +1 -1
  528. package/dist/lib/routes/admin-api/project/variants.js +26 -16
  529. package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
  530. package/dist/lib/routes/admin-api/strategy.d.ts +6 -3
  531. package/dist/lib/routes/admin-api/strategy.js +40 -12
  532. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  533. package/dist/lib/routes/admin-api/strategy.test.js +5 -5
  534. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  535. package/dist/lib/routes/admin-api/tag-type.js +21 -1
  536. package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
  537. package/dist/lib/routes/admin-api/tag.js +17 -1
  538. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  539. package/dist/lib/routes/admin-api/telemetry.d.ts +14 -0
  540. package/dist/lib/routes/admin-api/telemetry.js +41 -0
  541. package/dist/lib/routes/admin-api/telemetry.js.map +1 -0
  542. package/dist/lib/routes/admin-api/user/user.js +20 -4
  543. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  544. package/dist/lib/routes/admin-api/user-admin.d.ts +3 -2
  545. package/dist/lib/routes/admin-api/user-admin.js +88 -14
  546. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  547. package/dist/lib/routes/admin-api/user-feedback.js +17 -7
  548. package/dist/lib/routes/admin-api/user-feedback.js.map +1 -1
  549. package/dist/lib/routes/admin-api/user-splash.js +9 -3
  550. package/dist/lib/routes/admin-api/user-splash.js.map +1 -1
  551. package/dist/lib/routes/auth/reset-password-controller.js +24 -4
  552. package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
  553. package/dist/lib/routes/auth/simple-password-provider.js +4 -0
  554. package/dist/lib/routes/auth/simple-password-provider.js.map +1 -1
  555. package/dist/lib/routes/client-api/feature.js +1 -1
  556. package/dist/lib/routes/client-api/feature.js.map +1 -1
  557. package/dist/lib/routes/client-api/feature.test.js +8 -3
  558. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  559. package/dist/lib/routes/client-api/metrics.js +3 -3
  560. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  561. package/dist/lib/routes/controller.js +2 -2
  562. package/dist/lib/routes/controller.js.map +1 -1
  563. package/dist/lib/routes/index.js +1 -3
  564. package/dist/lib/routes/index.js.map +1 -1
  565. package/dist/lib/routes/proxy-api/index.d.ts +1 -1
  566. package/dist/lib/routes/proxy-api/index.js +27 -4
  567. package/dist/lib/routes/proxy-api/index.js.map +1 -1
  568. package/dist/lib/segments/segment-service-interface.d.ts +2 -1
  569. package/dist/lib/server-impl.js +1 -0
  570. package/dist/lib/server-impl.js.map +1 -1
  571. package/dist/lib/services/addon-service.d.ts +2 -1
  572. package/dist/lib/services/addon-service.js +6 -2
  573. package/dist/lib/services/addon-service.js.map +1 -1
  574. package/dist/lib/services/client-metrics/metrics-service-v2.js +24 -13
  575. package/dist/lib/services/client-metrics/metrics-service-v2.js.map +1 -1
  576. package/dist/lib/services/event-announcer-service.d.ts +8 -0
  577. package/dist/lib/services/event-announcer-service.js +13 -0
  578. package/dist/lib/services/event-announcer-service.js.map +1 -0
  579. package/dist/lib/services/feature-service-potentially-stale.test.d.ts +1 -0
  580. package/dist/lib/services/feature-service-potentially-stale.test.js +44 -0
  581. package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -0
  582. package/dist/lib/services/feature-toggle-service.d.ts +5 -2
  583. package/dist/lib/services/feature-toggle-service.js +95 -16
  584. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  585. package/dist/lib/services/feature-type-service.d.ts +1 -0
  586. package/dist/lib/services/feature-type-service.js +14 -0
  587. package/dist/lib/services/feature-type-service.js.map +1 -1
  588. package/dist/lib/services/group-service.d.ts +4 -4
  589. package/dist/lib/services/group-service.js.map +1 -1
  590. package/dist/lib/services/index.js +9 -1
  591. package/dist/lib/services/index.js.map +1 -1
  592. package/dist/lib/services/project-schema.js +1 -0
  593. package/dist/lib/services/project-schema.js.map +1 -1
  594. package/dist/lib/services/project-service.d.ts +2 -4
  595. package/dist/lib/services/project-service.js +4 -9
  596. package/dist/lib/services/project-service.js.map +1 -1
  597. package/dist/lib/services/segment-service.d.ts +2 -1
  598. package/dist/lib/services/segment-service.js +3 -0
  599. package/dist/lib/services/segment-service.js.map +1 -1
  600. package/dist/lib/services/tag-type-service.d.ts +2 -2
  601. package/dist/lib/services/tag-type-service.js +5 -3
  602. package/dist/lib/services/tag-type-service.js.map +1 -1
  603. package/dist/lib/services/user-service.js +13 -7
  604. package/dist/lib/services/user-service.js.map +1 -1
  605. package/dist/lib/services/version-service.d.ts +1 -2
  606. package/dist/lib/services/version-service.js +2 -4
  607. package/dist/lib/services/version-service.js.map +1 -1
  608. package/dist/lib/services/version-service.test.js +0 -57
  609. package/dist/lib/services/version-service.test.js.map +1 -1
  610. package/dist/lib/types/authentication-required.d.ts +1 -0
  611. package/dist/lib/types/authentication-required.js +1 -0
  612. package/dist/lib/types/authentication-required.js.map +1 -1
  613. package/dist/lib/types/events.d.ts +138 -99
  614. package/dist/lib/types/events.js +136 -3
  615. package/dist/lib/types/events.js.map +1 -1
  616. package/dist/lib/types/experimental.d.ts +1 -1
  617. package/dist/lib/types/experimental.js +5 -5
  618. package/dist/lib/types/experimental.js.map +1 -1
  619. package/dist/lib/types/group.d.ts +7 -0
  620. package/dist/lib/types/group.js.map +1 -1
  621. package/dist/lib/types/model.d.ts +24 -2
  622. package/dist/lib/types/model.js.map +1 -1
  623. package/dist/lib/types/services.d.ts +3 -0
  624. package/dist/lib/types/stores/event-store.d.ts +1 -0
  625. package/dist/lib/types/stores/feature-toggle-client-store.d.ts +2 -1
  626. package/dist/lib/types/stores/feature-toggle-store.d.ts +6 -0
  627. package/dist/lib/types/stores/feature-type-store.d.ts +1 -0
  628. package/dist/lib/types/stores/group-store.d.ts +4 -4
  629. package/dist/lib/types/stores/project-store.d.ts +3 -6
  630. package/dist/lib/types/stores/segment-store.d.ts +2 -1
  631. package/dist/lib/util/is-email.d.ts +7 -0
  632. package/dist/lib/util/is-email.js +9 -0
  633. package/dist/lib/util/is-email.js.map +1 -1
  634. package/dist/lib/util/load-index-html.js +1 -1
  635. package/dist/lib/util/load-index-html.js.map +1 -1
  636. package/dist/migrations/20230630080126-delete-deprecated-permissions.d.ts +2 -0
  637. package/dist/migrations/20230630080126-delete-deprecated-permissions.js +15 -0
  638. package/dist/migrations/20230630080126-delete-deprecated-permissions.js.map +1 -0
  639. package/dist/migrations/20230706123907-events-announced-column.d.ts +2 -0
  640. package/dist/migrations/20230706123907-events-announced-column.js +15 -0
  641. package/dist/migrations/20230706123907-events-announced-column.js.map +1 -0
  642. package/dist/migrations/20230711094214-add-potentially-stale-flag.d.ts +2 -0
  643. package/dist/migrations/20230711094214-add-potentially-stale-flag.js +18 -0
  644. package/dist/migrations/20230711094214-add-potentially-stale-flag.js.map +1 -0
  645. package/dist/migrations/20230711163311-project-feature-limit.d.ts +2 -0
  646. package/dist/migrations/20230711163311-project-feature-limit.js +13 -0
  647. package/dist/migrations/20230711163311-project-feature-limit.js.map +1 -0
  648. package/dist/migrations/20230712091834-strategy-variants.d.ts +2 -0
  649. package/dist/migrations/20230712091834-strategy-variants.js +81 -0
  650. package/dist/migrations/20230712091834-strategy-variants.js.map +1 -0
  651. package/dist/server-dev.js +5 -3
  652. package/dist/server-dev.js.map +1 -1
  653. package/dist/test/arbitraries.test.js +1 -1
  654. package/dist/test/arbitraries.test.js.map +1 -1
  655. package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -1
  656. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  657. package/dist/test/e2e/api/admin/api-token.e2e.test.js +7 -1
  658. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  659. package/dist/test/e2e/api/admin/archive.test.js +7 -1
  660. package/dist/test/e2e/api/admin/archive.test.js.map +1 -1
  661. package/dist/test/e2e/api/admin/config.e2e.test.js +7 -1
  662. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -1
  663. package/dist/test/e2e/api/admin/favorites.e2e.test.js +7 -1
  664. package/dist/test/e2e/api/admin/favorites.e2e.test.js.map +1 -1
  665. package/dist/test/e2e/api/admin/feature-type.test.js +41 -1
  666. package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
  667. package/dist/test/e2e/api/admin/feedback.e2e.test.js +7 -1
  668. package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
  669. package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
  670. package/dist/test/e2e/api/admin/project/features.e2e.test.js +152 -0
  671. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  672. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +28 -12
  673. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
  674. package/dist/test/e2e/api/admin/splash.e2e.test.js +7 -1
  675. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
  676. package/dist/test/e2e/api/admin/state.e2e.test.js +6 -6
  677. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  678. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +7 -1
  679. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  680. package/dist/test/e2e/api/openapi/openapi.e2e.test.js +9 -6
  681. package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
  682. package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
  683. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  684. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +26 -4
  685. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  686. package/dist/test/e2e/services/group-service.e2e.test.js +16 -0
  687. package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
  688. package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
  689. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  690. package/dist/test/e2e/stores/event-store.e2e.test.js +3 -2
  691. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  692. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +163 -0
  693. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  694. package/dist/test/e2e/stores/feature-type-store.e2e.test.js +13 -0
  695. package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
  696. package/dist/test/fixtures/fake-event-store.d.ts +1 -0
  697. package/dist/test/fixtures/fake-event-store.js +3 -0
  698. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  699. package/dist/test/fixtures/fake-feature-toggle-client-store.d.ts +1 -0
  700. package/dist/test/fixtures/fake-feature-toggle-client-store.js +10 -0
  701. package/dist/test/fixtures/fake-feature-toggle-client-store.js.map +1 -1
  702. package/dist/test/fixtures/fake-feature-toggle-store.d.ts +6 -0
  703. package/dist/test/fixtures/fake-feature-toggle-store.js +6 -0
  704. package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
  705. package/dist/test/fixtures/fake-feature-type-store.d.ts +1 -0
  706. package/dist/test/fixtures/fake-feature-type-store.js +8 -0
  707. package/dist/test/fixtures/fake-feature-type-store.js.map +1 -1
  708. package/dist/test/fixtures/fake-group-store.d.ts +4 -4
  709. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  710. package/dist/test/fixtures/fake-project-store.d.ts +3 -4
  711. package/dist/test/fixtures/fake-project-store.js +4 -13
  712. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  713. package/dist/test/fixtures/fake-segment-store.d.ts +2 -1
  714. package/dist/test/fixtures/fake-segment-store.js +3 -0
  715. package/dist/test/fixtures/fake-segment-store.js.map +1 -1
  716. package/frontend/build/index.html +2 -2
  717. package/frontend/build/static/AdvancedPlayground-4c9d02ea.js +13 -0
  718. package/frontend/build/static/CreateProject-16b35d57.js +4 -0
  719. package/frontend/build/static/{Error-2c3030da.js → Error-50364f10.js} +1 -1
  720. package/frontend/build/static/{FeatureArchiveDialog-a529848e.js → FeatureArchiveDialog-fda1aa0c.js} +3 -3
  721. package/frontend/build/static/{FeatureMetricsChart-e8ede36a.js → FeatureMetricsChart-839cdf1e.js} +2 -2
  722. package/frontend/build/static/FeatureViewLazyExport-47bb7f13.js +7 -0
  723. package/frontend/build/static/LazyAdminExport-8ef0ca21.js +37 -0
  724. package/frontend/build/static/LazyProjectExport-49541c75.js +16 -0
  725. package/frontend/build/static/{NetworkOverview-e6f0a590.js → NetworkOverview-711050f3.js} +8 -8
  726. package/frontend/build/static/{NetworkTraffic-d1efc782.js → NetworkTraffic-e587c2c7.js} +1 -1
  727. package/frontend/build/static/RoleCell-9a62b4ed.js +1 -0
  728. package/frontend/build/static/StrategyItemContainer-4098c8ef.js +1 -0
  729. package/frontend/build/static/{chartjs-adapter-date-fns.esm-0d05c046.js → chartjs-adapter-date-fns.esm-d57aaddd.js} +1 -1
  730. package/frontend/build/static/demo-qr-c2ce85bd.png +0 -0
  731. package/frontend/build/static/{flowchart-elk-definition-170a3958-cc4ae597.js → flowchart-elk-definition-170a3958-4dece62b.js} +2 -2
  732. package/frontend/build/static/{index-a563ae6f.js → index-1c8194e0.js} +1 -1
  733. package/frontend/build/static/index-770afaee.css +1 -0
  734. package/frontend/build/static/{index-ade82986.js → index-9bb67f88.js} +1 -1
  735. package/frontend/build/static/index-9c528324.js +453 -0
  736. package/frontend/build/static/{is_dark-49e2e68f.js → is_dark-ba77f0b9.js} +1 -1
  737. package/frontend/build/static/{mindmap-definition-44684416-c6d3a96e.js → mindmap-definition-44684416-a4071c9f.js} +3 -3
  738. package/frontend/build/static/{timeline-definition-8e5a9bc6-920370f9.js → timeline-definition-8e5a9bc6-c996bf40.js} +2 -2
  739. package/frontend/build/static/{unknownify-30fed5e1.js → unknownify-db48ebae.js} +1 -1
  740. package/frontend/package.json +16 -16
  741. package/package.json +15 -13
  742. package/dist/lib/error/no-access-error.js.map +0 -1
  743. package/dist/lib/openapi/endpoint-descriptions.d.ts +0 -20
  744. package/dist/lib/openapi/endpoint-descriptions.js +0 -24
  745. package/dist/lib/openapi/endpoint-descriptions.js.map +0 -1
  746. package/dist/lib/openapi/spec/feedback-schema.d.ts +0 -24
  747. package/dist/lib/openapi/spec/feedback-schema.js +0 -26
  748. package/dist/lib/openapi/spec/feedback-schema.js.map +0 -1
  749. package/dist/lib/openapi/spec/splash-schema.d.ts +0 -20
  750. package/dist/lib/openapi/spec/splash-schema.js +0 -22
  751. package/dist/lib/openapi/spec/splash-schema.js.map +0 -1
  752. package/dist/lib/openapi/spec/upsert-strategy-schema.d.ts +0 -39
  753. package/dist/lib/openapi/spec/upsert-strategy-schema.js +0 -41
  754. package/dist/lib/openapi/spec/upsert-strategy-schema.js.map +0 -1
  755. package/frontend/build/static/AdvancedPlayground-bc3db7fd.js +0 -1
  756. package/frontend/build/static/CreateProject-4013b189.js +0 -4
  757. package/frontend/build/static/FeatureViewLazyExport-773303d1.js +0 -7
  758. package/frontend/build/static/LazyAdminExport-a9aeca56.js +0 -37
  759. package/frontend/build/static/LazyProjectExport-7c849a96.js +0 -13
  760. package/frontend/build/static/Playground-4fd4e26e.js +0 -1
  761. package/frontend/build/static/PlaygroundGuidancePopper-c761bfb7.js +0 -13
  762. package/frontend/build/static/RoleCell-cbb192fa.js +0 -1
  763. package/frontend/build/static/StrategyItemContainer-128fc163.js +0 -1
  764. package/frontend/build/static/demo-qr-1bebe2c9.png +0 -0
  765. package/frontend/build/static/index-66c635eb.css +0 -1
  766. package/frontend/build/static/index-bd571775.js +0 -450
  767. package/frontend/build/static/stringify-ec884b6d.js +0 -1
@@ -1,13 +0,0 @@
1
- import{E as le,j as n,cH as e0,cJ as t0,t as h,cu as n0,cr as Xe,K as it,r as d,ef as a0,U as s1,f as t1,h as l,M as st,N as ct,O as lt,Q as dt,c2 as r0,bb as G1,A as w1,aR as de,aS as K1,aT as J1,eg as $3,aI as K,eh as R1,bW as S1,m as u1,cl as x1,au as ut,a6 as b1,ei as o0,H as Ae,cU as i2,ej as z3,ek as E1,o as o1,S as k1,P as l1,C as x,aO as D1,k as ue,i as C1,cp as i0,c as pt,el as s0,be as ke,bf as De,bg as Re,B as T,b4 as Y1,I as L1,bl as c0,x as ht,dA as mt,em as ae,cv as s2,ah as N1,en as It,b8 as re,e5 as l0,ba as oe,T as Z,cx as B3,aN as gt,v as q1,ao as V3,cc as c2,b as p1,d as y1,eo as d0,F as Y,ep as M3,z as Z1,ai as d1,eq as u0,bz as p0,n as m1,bQ as h0,y as l2,cf as ft,bR as L3,aZ as Fe,b2 as Pe,a_ as Ze,er as H3,dy as W3,bH as m0,as as I1,u as d2,es as g0,cs as f0,et as v0,eu as y0,ev as b0,ew as N3,ex as q3,L as U3,ey as C0,d2 as vt,e as yt,d3 as _0,cq as x0,bU as G3,V as bt,ez as w0,a3 as S0,aQ as T0,cm as A0,a as K3,eA as E0,p as j1,eB as J3,ap as Y3,eC as Q3,aq as k0,eD as D0,eE as R0,aU as X3,eF as u2,ac as F0,eG as en,eH as P0,eI as Z0,eJ as I0,eK as j0,bM as tn,eL as nn,eM as an,s as Ie,g as Ct,eN as O0,eO as $0,aK as z0,bu as B0,eP as _t,eQ as V0,eR as rn,eS as M0,aB as pe,aC as Q1,aL as O1,aD as he,aG as me,aH as ge,eT as L0,ci as Te,bT as on,eU as sn,eV as H0,bt as X1,ar as cn,bv as p2,eW as W0,eX as N0,eY as q0,eZ as U0,e_ as G0,e$ as K0,f0 as J0,dH as Y0,ch as Q0,du as et,f1 as X0,cz as h2,f2 as xt,bZ as U1,aM as V1,aP as wt,c0 as m2,dg as g2,am as ln,al as f2,dl as ea,aA as M1,av as dn,f3 as ta,f4 as na,dd as We,f5 as aa,f6 as ra,de as oa,df as ia,f7 as sa,f8 as ca,f9 as la,bX as fe,bY as X,fa as da,fb as O2,fc as un,a8 as v2,ax as ua,fd as pa,cX as ha,fe as $2,ff as ma,fg as ga,fh as fa,fi as va,fj as ya,br as ba,bs as Ca,bE as _a,bF as xa,bG as wa,a0 as Sa,fk as Ta,ct as pn,fl as Aa,da as hn,fm as ie,fn as J,fo as Ea,fp as ka,fq as Da,fr as Ra,fs as Fa,dp as Pa,ft as Za,fu as Ia,fv as ja,fw as Oa}from"./index-bd571775.js";import{e as mn,W as z2,b as $a,u as gn,T as za,c as Ba,h as Va,F as Ma,V as La,a as Ha,g as Wa,C as Na,U as qa,E as Ua,i as Ga}from"./FeatureArchiveDialog-a529848e.js";import{a as Ka}from"./index-a563ae6f.js";import{m as Ja,h as Ya,b as Qa,c as Xa,d as er,e as tr,E as nr,f as ar,u as rr,a as or,R as ir,C as sr,A as cr,B as fn}from"./RoleCell-cbb192fa.js";import{S as lr}from"./StrategyItemContainer-128fc163.js";import{E as dr}from"./Error-2c3030da.js";const ur=le(n("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpward"),pr=le(n("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5z"}),"CallMade"),hr=le(n("path",{d:"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"}),"FileUpload"),mr=le(n("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"}),"Pending"),gr=le(n("path",{d:"M12 5.99 19.53 19H4.47L12 5.99M12 2 1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),fr=le(n("path",{d:"M19 9h-2v6.59L5.41 4 4 5.41 15.59 17H9v2h10V9z"}),"SouthEast");function vr(e,t){e0(2,arguments);var a=t0(t);return Ka(e,-a)}const B2=h("div")(()=>({display:"flex"})),yr=h("div")(()=>({display:"flex",flexDirection:"row",justifyContent:"space-between",width:"100%"}));h("div")(()=>({display:"flex",flexDirection:"column"}));const br=h("span")(({theme:e})=>({fontSize:e.typography.h1.fontSize,textOverflow:"ellipsis",whiteSpace:"nowrap"})),Cr=h("span")(({theme:e})=>({fontSize:e.fontSizes.smallBody,fontWeight:"normal"}));h(Cr)(({theme:e})=>({color:e.palette.neutral.dark}));const _r=h(n0)(({theme:e})=>({marginLeft:e.spacing(-1.5)})),xr=h("div")(({theme:e})=>({backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadiusLarge,marginBottom:e.spacing(2)})),wr=h("div")(({theme:e})=>({padding:e.spacing(2.5,5),display:"flex",flexDirection:"column",alignItems:"start"})),Sr=h("span")(({theme:e})=>({margin:0,width:"100%",fontSize:e.fontSizes.mainHeader,fontWeight:"bold",display:"flex",justifyContent:"space-between",alignItems:"center",gap:e.spacing(2)})),Tr=h("div")(({theme:e})=>({width:"100%",backgroundColor:e.palette.divider,height:"1px"})),Ar=h("div")(({theme:e})=>({padding:e.spacing(0,4)})),Er=h(Xe)(({theme:e})=>({textTransform:"none",fontSize:e.fontSizes.bodySize,flexGrow:1,flexBasis:0,[e.breakpoints.down("md")]:{paddingLeft:e.spacing(1),paddingRight:e.spacing(1)},[e.breakpoints.up("md")]:{minWidth:160}})),kr=e=>e.reduce((t,a)=>a.enabled?t+1:t,0),Dr=h(it)(({theme:e})=>({marginTop:e.spacing(3)})),Rr=h("p",{shouldForwardProp:e=>e!=="warning"})(({theme:e,warning:t})=>({color:t?e.palette.error.dark:e.palette.text.primary,textAlign:"center"})),Fr=({environment:e,warnEnabledToggles:t})=>{const a=d.useMemo(()=>[{id:"Icon",width:"1%",Cell:({row:{original:u}})=>n(a0,{environment:u})},{Header:"Name",accessor:"name",Cell:s1},{Header:"Type",accessor:"type",Cell:s1},{Header:"Toggles enabled",accessor:"projectEnabledToggleCount",Cell:({value:u})=>n(s1,{children:n(Rr,{warning:u>0,children:u===1?"1 toggle":`${u} toggles`})}),align:"center"}],[t]),{getTableProps:r,getTableBodyProps:o,headerGroups:i,rows:s,prepareRow:c}=t1.useTable({columns:a,data:[e],disableSortBy:!0});return l(Dr,{...r(),rowHeight:"compact",children:[n(st,{headerGroups:i}),n(ct,{...o(),children:s.map(u=>(c(u),n(lt,{hover:!0,...u.getRowProps(),children:u.cells.map(p=>n(dt,{...p.getCellProps(),children:p.render("Cell")}))})))})]})},Pr=h("p")(({theme:e})=>({marginTop:e.spacing(3),marginBottom:e.spacing(1.5)})),Zr=h(r0)(()=>({width:"100%"})),Ir=({environment:e,open:t,setOpen:a,onConfirm:r})=>{const[o,i]=d.useState("");return d.useEffect(()=>{i("")},[t]),l(G1,{title:"Hide environment and disable feature toggles?",open:t,primaryButtonText:"Hide environment and disable feature toggles",disabledPrimaryButton:(e==null?void 0:e.name)!==o,secondaryButtonText:"Close",onClick:r,onClose:()=>{a(!1)},children:[l(w1,{severity:"error",children:[n("strong",{children:"Danger!"})," Hiding an environment will disable all the feature toggles that are enabled in this environment and it can impact client applications connected to the environment."]}),n(Fr,{environment:e}),l(Pr,{children:["In order to hide this environment, please enter the id of the environment in the textfield below:"," ",n("strong",{children:e==null?void 0:e.name})]}),n(Zr,{label:"Environment name",value:o,onChange:s=>i(s.target.value)})]})},jr=e=>{const{data:t,error:a,mutate:r}=de(K1(`api/admin/environments/project/${e}`),Or),o=d.useMemo(()=>t||[],[t]),i=d.useCallback(async()=>{await r()},[r]);return{environments:o,refetchEnvironments:i,loading:!a&&!t,error:a}},Or=async e=>(await fetch(e).then(J1("Environments")).then(a=>a.json())).environments.sort((a,r)=>a.sortOrder-r.sortOrder),$r=h(w1)(({theme:e})=>({marginBottom:e.spacing(4)})),zr=h("div")(({theme:e})=>({display:"flex",flexWrap:"wrap",[e.breakpoints.down("sm")]:{justifyContent:"center"}})),Br=h($3)(({theme:e})=>({maxWidth:"400px",marginBottom:e.spacing(2)})),vn=()=>{const e=K("projectId"),t=R1(e);S1(`Project environments – ${t}`);const{setToastData:a,setToastApiError:r}=u1(),{environments:o,loading:i,error:s,refetchEnvironments:c}=jr(e),{project:u,refetch:p}=x1(e),{removeEnvironmentFromProject:m,addEnvironmentToProject:g}=ut(),[y,_]=d.useState(),[C,b]=d.useState(!1),{isOss:R}=b1(),f=d.useMemo(()=>o.map(P=>({...P,projectVisible:u==null?void 0:u.environments.map(W=>W.environment).includes(P.name)})),[o,u==null?void 0:u.environments]),F=()=>{c(),p()},E=()=>n(Br,{onClick:F,text:"Error fetching environments"}),O=P=>`Got an API error when trying to set the environment as ${P?"visible":"hidden"}`,M=async P=>{if(P.projectVisible){if(kr(f)>1){_(P),b(!0);return}a({title:"One environment must be visible",text:"You must always have at least one visible environment per project",type:"error"})}else try{await g(e,P.name),F(),a({title:"Environment set as visible",text:"Environment successfully set as visible.",type:"success"})}catch{r(O(!0))}},S=async()=>{if(y)try{await m(e,y.name),F(),a({title:"Environment set as hidden",text:"Environment successfully set as hidden.",type:"success"})}catch{r(O(!1))}finally{b(!1)}},I=P=>R()&&P==="default",j=d.useMemo(()=>[{Header:"Name",accessor:"name",Cell:({row:{original:P}})=>n(o0,{environment:P})},{Header:"Type",accessor:"type",Cell:Ae},{Header:"Project API tokens",accessor:P=>P.projectApiTokenCount===1?"1 token":`${P.projectApiTokenCount} tokens`,Cell:s1},{Header:"Visible in project",accessor:"enabled",align:"center",width:1,Cell:({row:{original:P}})=>n(i2,{children:n(z3,{tooltip:P.projectVisible?"Hide environment and disable feature toggles":"Make it visible",size:"medium",disabled:I(P.name),projectId:e,permission:E1,checked:P.projectVisible,onChange:()=>M(P)})}),disableGlobalFilter:!0}],[f]),{getTableProps:V,getTableBodyProps:H,headerGroups:B,rows:Q,prepareRow:U,state:{globalFilter:v},setGlobalFilter:w}=t1.useTable({columns:j,data:f,disableSortBy:!0},t1.useGlobalFilter),$=n(o1,{title:`Environments (${Q.length})`,actions:n(k1,{initialValue:v,onChange:w})});return n(l1,{header:$,isLoading:i,children:l(zr,{children:[n(x,{condition:!!s,show:E()}),l($r,{severity:"info",children:[n("strong",{children:"Important!"})," In order for your application to retrieve configured activation strategies for a specific environment, the application must use an environment specific API token. You can look up the environment-specific"," ",n(D1,{to:"/admin/api",children:"API tokens here"}),".",n("br",{}),n("br",{}),"Your administrator can configure an environment-specific API token to be used in the SDK. If you are an administrator you can ",n(D1,{to:"/admin/api",children:"create a new API token here"}),"."]}),n(ue,{value:v,children:l(it,{...V(),rowHeight:"compact",children:[n(st,{headerGroups:B}),n(ct,{...H(),children:Q.map(P=>(U(P),n(lt,{hover:!0,...P.getRowProps(),children:P.cells.map(W=>n(dt,{...W.getCellProps(),children:W.render("Cell")}))})))})]})}),n(x,{condition:Q.length===0,show:n(x,{condition:(v==null?void 0:v.length)>0,show:l(C1,{children:["No environments found matching “",v,"”"]}),elseShow:n(C1,{children:"No environments available. Get started by adding one."})})}),n(Ir,{environment:y,open:C,setOpen:b,onConfirm:S})]})})},Vr={id:"archivedAt"},Mr=({projectId:e})=>{const{archivedFeatures:t,loading:a,refetchArchived:r}=i0(e),{value:o,setValue:i}=pt(`${e}:ProjectFeaturesArchiveTable`,Vr);return n(s0,{title:"Project archive",archivedFeatures:t||[],loading:a,storedParams:o,setStoredParams:i,refetch:r,projectId:e})},Lr=()=>{const e=K("projectId"),t=R1(e);return S1(`Project archive – ${t}`),n(Mr,{projectId:e})},Hr=(e=[])=>{var r;let t=e.map(o=>o.environment);const a=d.useRef(t);return t.join("")!==((r=a.current)==null?void 0:r.join(""))&&(a.current=t),a.current};var y2={},Wr=De;Object.defineProperty(y2,"__esModule",{value:!0});var yn=y2.default=void 0,Nr=Wr(ke()),qr=Re,Ur=(0,Nr.default)((0,qr.jsx)("path",{d:"m20.54 5.23-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5 6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z"}),"Archive");yn=y2.default=Ur;var b2={},Gr=De;Object.defineProperty(b2,"__esModule",{value:!0});var bn=b2.default=void 0,Kr=Gr(ke()),Jr=Re,Yr=(0,Kr.default)((0,Jr.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater");bn=b2.default=Yr;const Qr=h(T)(({theme:e})=>({display:"flex",justifyContent:"center",paddingRight:e.spacing(2)})),Xr=({projectId:e,row:t,onOpenArchiveDialog:a,onOpenStaleDialog:r})=>{const[o,i]=d.useState(null),{original:{name:s,stale:c}}=t,u=!!o,p=_=>{i(_.currentTarget)},m=()=>{i(null)},g=`feature-${s}-actions`,y=`${g}-menu`;return l(Qr,{children:[n(Y1,{title:"Feature toggle actions",arrow:!0,describeChild:!0,children:n(L1,{id:g,"aria-controls":u?y:void 0,"aria-haspopup":"true","aria-expanded":u?"true":void 0,onClick:p,type:"button",children:n(c0,{})})}),n(ht,{id:y,anchorEl:o,open:u,onClose:m,transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},disableScrollLock:!0,PaperProps:{sx:_=>({borderRadius:`${_.shape.borderRadius}px`,padding:_.spacing(1,1.5)})},children:l(mt,{"aria-labelledby":g,children:[n(ae,{projectId:e,permission:s2,children:({hasAccess:_})=>l(N1,{sx:It,onClick:m,disabled:!_,component:D1,to:`/projects/${e}/features/${s}/strategies/copy`,children:[n(re,{children:n(l0,{})}),n(oe,{children:n(Z,{variant:"body2",children:"Copy"})})]})}),n(ae,{projectId:e,permission:B3,children:({hasAccess:_})=>l(N1,{sx:It,onClick:()=>{a(s),m()},disabled:!_,children:[n(re,{children:n(yn,{})}),n(oe,{children:n(Z,{variant:"body2",children:"Archive"})})]})}),n(ae,{projectId:e,permission:gt,children:({hasAccess:_})=>l(N1,{sx:It,onClick:()=>{m(),r({featureId:s,stale:c===!0})},disabled:!_,children:[n(re,{children:n(bn,{})}),n(oe,{children:l(Z,{variant:"body2",children:[c?"Un-mark":"Mark"," as stale"]})})]})})]})})]})};var C2={},eo=De;Object.defineProperty(C2,"__esModule",{value:!0});var Cn=C2.default=void 0,to=eo(ke()),no=Re,ao=(0,to.default)((0,no.jsx)("path",{d:"M5.33 20H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h1.33c1.1 0 2 .9 2 2v12c0 1.1-.89 2-2 2zM22 18V6c0-1.1-.9-2-2-2h-1.33c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2H20c1.11 0 2-.9 2-2zm-7.33 0V6c0-1.1-.9-2-2-2h-1.33c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h1.33c1.1 0 2-.9 2-2z"}),"ViewWeek");Cn=C2.default=ao;const ro=h(T)(()=>({...q1,justifyContent:"center"})),oo=h(L1)(({theme:e})=>({margin:e.spacing(-1,0)})),io=h(T)(({theme:e})=>({...q1,justifyContent:"space-between",padding:e.spacing(1,1,0,4)})),so=h(N1)(({theme:e})=>({padding:e.spacing(0,2),margin:e.spacing(0,2),borderRadius:e.shape.borderRadius})),V2=h(V3)(({theme:e})=>({"&.MuiDivider-root.MuiDivider-fullWidth":{margin:e.spacing(.75,0)}})),co=h(c2)(({theme:e})=>({padding:e.spacing(.75,1)})),lo={favorite:"Favorite"},uo=({allColumns:e,staticColumns:t=[],dividerBefore:a=[],dividerAfter:r=[],isCustomized:o=!1,setHiddenColumns:i})=>{const[s,c]=d.useState(null),u=p1(),p=y1(u.breakpoints.down("sm")),m=y1(u.breakpoints.down("md")),g=y1(u.breakpoints.down("lg"));d.useEffect(()=>{if(o)return;const f=(F,E=0)=>{const O=e.filter(({id:S})=>S.startsWith("environments.")!==!1).map(({id:S})=>S).slice(0,E),M=e.map(({id:S})=>S).filter(S=>!F.includes(S)).filter(S=>!t.includes(S)).filter(S=>!O.includes(S));i(M)};if(p)return f(["createdAt"]);if(m)return f(["createdAt"],1);if(g)return f(["type","createdAt"],1);f(["lastSeenAt","type","createdAt"],3)},[p,m,g]);const y=f=>{c(f.currentTarget)},_=()=>{c(null)},C=!!s,b="columns-menu",R=`columns-menu-list-${b}`;return l(ro,{children:[n(Y1,{title:"Select columns",arrow:!0,describeChild:!0,children:n(oo,{id:b,"aria-controls":C?R:void 0,"aria-haspopup":"true","aria-expanded":C?"true":void 0,onClick:y,type:"button",size:"large","data-loading":!0,children:n(Cn,{})})}),l(ht,{id:R,open:C,anchorEl:s,onClose:_,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,PaperProps:{sx:f=>({borderRadius:f.shape.borderRadius,paddingBottom:f.spacing(2)})},children:[l(io,{children:[n(Z,{variant:"body2",children:n("strong",{children:"Columns"})}),n(L1,{onClick:_,children:n(d0,{})})]}),n(mt,{children:e.filter(({hideInMenu:f})=>!f).map(f=>[n(x,{condition:a.includes(f.id),show:n(V2,{})}),l(so,{onClick:()=>f.toggleHidden(f.isVisible),disabled:t.includes(f.id),children:[n(re,{children:n(co,{edge:"start",checked:f.isVisible,disableRipple:!0,inputProps:{"aria-labelledby":f.id},size:"medium"})}),n(oe,{id:f.id,primary:n(Z,{variant:"body2",children:n(x,{condition:!!(typeof f.Header=="string"&&f.Header),show:()=>n(Y,{children:f.Header}),elseShow:()=>lo[f.id]||f.id})})})]}),n(x,{condition:r.includes(f.id),show:n(V2,{})})])})]})]})},po=M3()(e=>({container:{boxShadow:"none",marginLeft:"1rem",minHeight:"100%",width:"calc(100% - 1rem)",position:"relative",[e.breakpoints.down("md")]:{marginLeft:"0",paddingBottom:"4rem",width:"inherit"}}})),ho=({projectId:e,features:t})=>{const{refetch:a}=x1(e),[r,o]=d.useState(!1),{trackEvent:i}=Z1();return l(Y,{children:[n(ae,{projectId:e,permission:B3,children:({hasAccess:c})=>n(d1,{disabled:!c||r,variant:"outlined",size:"small",onClick:()=>o(!0),children:"Archive"})}),n(mn,{projectId:e,featureIds:t,onConfirm:async()=>{o(!1),await a(),i("batch_operations",{props:{eventType:"features archived"}})},isOpen:r,onClose:()=>o(!1)})]})},Ne="selection-actions-menu",mo=({projectId:e,data:t})=>{const{refetch:a}=x1(e),[r,o]=d.useState(null),{staleFeatures:i}=ut(),{setToastData:s,setToastApiError:c}=u1(),{trackEvent:u}=Z1(),p=!!r,m=t.map(({name:f})=>f),g=f=>{o(f.currentTarget)},y=()=>{o(null)},_=t.some(({stale:f})=>f===!0),C=t.some(({stale:f})=>f===!1),b=async()=>{try{y(),await i(e,m),await a(),s({title:"State updated",text:"Feature toggles marked as stale",type:"success"}),u("batch_operations",{props:{eventType:"features staled"}})}catch(f){c(m1(f))}},R=async()=>{try{y(),await i(e,m,!1),await a(),s({title:"State updated",text:"Feature toggles unmarked as stale",type:"success"}),u("batch_operations",{props:{eventType:"features unstaled"}})}catch(f){c(m1(f))}};return l(Y,{children:[n(Y1,{title:"More bulk actions",arrow:!0,describeChild:!0,children:n(L1,{id:Ne,"aria-controls":p?Ne:void 0,"aria-haspopup":"true","aria-expanded":p?"true":void 0,onClick:g,type:"button","data-testid":u0,children:n(p0,{})})}),n(ht,{id:`${Ne}-menu`,anchorEl:r,open:p,onClose:y,transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},disableScrollLock:!0,PaperProps:{sx:f=>({borderRadius:`${f.shape.borderRadius}px`,padding:f.spacing(1,1.5)})},children:n(mt,{"aria-labelledby":`${Ne}-menu`,children:n(ae,{projectId:e,permission:gt,children:({hasAccess:f})=>l(Y,{children:[n(x,{condition:C,show:()=>l(N1,{onClick:b,disabled:!f,sx:{borderRadius:F=>`${F.shape.borderRadius}px`},children:[n(re,{children:n(z2,{})}),n(oe,{children:n(Z,{variant:"body2",children:"Mark as stale"})})]})}),n(x,{condition:_,show:()=>l(N1,{onClick:R,disabled:!f,sx:{borderRadius:F=>`${F.shape.borderRadius}px`},children:[n(re,{children:n(z2,{})}),n(oe,{children:n(Z,{variant:"body2",children:"Un-mark as stale"})})]})})]})})})})]})},go=h("section")(({theme:e})=>({["& > *"]:{margin:e.spacing(1,0)}})),M2="manage-tags-form",L2=(e,t)=>[...e,...e.some(a=>a.value===t.value&&a.type===t.type)?[]:[t]],H2=(e,t)=>e.filter(a=>!(a.value===t.value&&a.type===t.type)),fo=(e,t)=>{switch(t.type){case"add":return{...e,addedTags:L2(e.addedTags,t.payload),removedTags:H2(e.removedTags,t.payload)};case"remove":return{...e,addedTags:H2(e.addedTags,t.payload),removedTags:L2(e.removedTags,t.payload)};case"clear":return{addedTags:[],removedTags:t.payload};default:return e}},W2={name:"",description:"",icon:""},vo=({open:e,initialValues:t,initialIndeterminateValues:a,onCancel:r,onSubmit:o})=>{const{tagTypes:i,loading:s}=h0(),[c,u]=d.useState(W2),[p,m]=d.useState([]),[g,y]=d.useState([]),{tags:_,refetch:C}=$a(c.name),{createTag:b}=gn(),R=_.map(({value:j})=>({title:j})),[f,F]=d.useReducer(fo,{addedTags:[],removedTags:[]}),E=(j=i.length>0?i[0]:W2)=>{u(j);const V=a.filter(({type:H})=>H===j.name);m(t.filter(({type:H})=>H===j.name).filter(({type:H,value:B})=>!V.some(Q=>Q.value===B&&Q.type===H)).map(({value:H})=>({title:H}))),y(V.map(({value:H})=>({title:H}))),F({type:"clear",payload:[]})};d.useEffect(()=>{i.length>0&&E()},[s]);const O=(j,V)=>{V!=null&&typeof V!="string"&&(j.preventDefault(),E(V))},M=(j,V)=>b({value:j,type:V}).then(async()=>{await C(),m(H=>[...H,{title:j}]),F({type:"add",payload:{value:j,type:V}})}),S=(j,V,H,B)=>{H==="selectOption"?V.forEach(Q=>{if(typeof Q!="string"&&typeof Q.inputValue=="string"&&Q.inputValue&&Q.title.startsWith("Create new value"))return M(Q.inputValue,c.name);m(V),y(U=>U.filter(({title:v})=>v!==Q.title)),B!=null&&B.option&&F({type:"add",payload:{value:B.option.title,type:c.name}})}):H==="clear"?(m([]),F({type:"clear",payload:t})):H==="removeOption"&&(m(V),B!=null&&B.option&&F({type:"remove",payload:{value:B.option.title,type:c.name}}))},I=()=>{E(),r()};return l(G1,{open:e,secondaryButtonText:"Cancel",primaryButtonText:"Save tags",title:"Update tags to feature toggle",onClick:()=>o(f),disabledPrimaryButton:f.addedTags.length===0&&f.removedTags.length===0,onClose:I,formId:M2,children:[n(Z,{paragraph:!0,sx:{marginBottom:j=>j.spacing(2.5)},children:"Tags allow you to group features together"}),n("form",{id:M2,onSubmit:()=>o(f),children:l(go,{children:[n(za,{options:i,disabled:s||i.length===0,value:c,onChange:O},s?"loading":i.length),n(x,{condition:!s&&i.length===0,show:l(Z,{variant:"body1",children:["No"," ",n(l2,{component:D1,to:"/tag-types",children:"tag types"})," ","available."]}),elseShow:n(Ba,{disabled:s,options:R,existingTags:t,indeterminateOptions:g,tagType:c,selectedOptions:p,onChange:S})})]})})]})},yo=({projectId:e,data:t})=>{const{bulkUpdateTags:a}=gn(),{refetch:r}=x1(e),{setToastData:o,setToastApiError:i}=u1(),{trackEvent:s}=Z1(),[c,u]=d.useState(!1),[p,m]=d.useMemo(()=>{const y=t.flatMap(({tags:C})=>C||[]).reduce((C,b)=>[...C,...C.some(R=>R.type===b.type&&R.value===b.value)?[]:[b]],[]),_=y.filter(C=>!t.every(({tags:b})=>b==null?void 0:b.some(R=>R.type===C.type&&R.value===C.value)));return[y,_]},[t]);return l(Y,{children:[n(ae,{projectId:e,permission:gt,children:({hasAccess:y})=>n(d1,{disabled:!y||c,variant:"outlined",size:"small",onClick:()=>u(!0),children:"Tags"})}),n(vo,{open:c,onCancel:()=>u(!1),onSubmit:async({addedTags:y,removedTags:_})=>{const C=t.map(({name:R})=>R),b={features:C,tags:{addedTags:y,removedTags:_}};try{await a(b,e),r();const R=y.length?`Added tags: ${y.map(({type:F,value:E})=>`${F}:${E}`).join(", ")}.`:"",f=_.length?`Removed tags: ${_.map(({type:F,value:E})=>`${F}:${E}`).join(", ")}.`:"";o({title:"Tags updated",text:`${C.length} feature toggles updated. ${R} ${f}`,type:"success",autoHideDuration:12e3}),s("batch_operations",{props:{eventType:"tags updated"}})}catch(R){i(m1(R))}u(!1)},initialValues:p,initialIndeterminateValues:m},t.length)]})},bo=h(ft)(({theme:e})=>({minWidth:"450px",marginTop:e.spacing(2),marginBottom:e.spacing(1.5)})),N2=h(w1)(({theme:e})=>({marginBottom:e.spacing(1.5)})),Co=({showExportDialog:e,data:t,onClose:a,onConfirm:r,environments:o,projectId:i})=>{const[s,c]=d.useState(o[0]),{bulkToggleFeaturesEnvironmentOff:u}=L3(),{addChange:p}=Fe(),{refetch:m}=x1(i),{setToastApiError:g,setToastData:y}=u1(),{isChangeRequestConfigured:_}=Pe(i),{refetch:C}=Ze(i),b=t.filter(E=>{var O,M;return((M=(O=E.environments)==null?void 0:O.find(S=>s===S.name))==null?void 0:M.enabled)===!1}).length,R=()=>o.map(E=>({key:E,label:E})),f=async()=>{try{_(s)?(await p(i,s,t.map(E=>({action:"updateEnabled",feature:E.name,payload:{enabled:!1}}))),C(),y({text:"Your disabled feature toggles changes have been added to change request",type:"success",title:"Changes added to a draft"})):(await u(i,t.map(E=>E.name),s),m(),y({text:"Your feature toggles have been disabled",type:"success",title:"Features disabled"})),a(),r==null||r()}catch(E){g(m1(E))}},F=_(s)?"Add to change request":"Disable toggles";return n(G1,{open:e,title:"Disable feature toggles",onClose:a,onClick:f,primaryButtonText:F,secondaryButtonText:"Cancel",children:l(T,{children:["You have selected ",n("b",{children:t.length})," feature toggles to disable.",n("br",{}),n("br",{}),n(Z,{children:"Select which environment to disable the features for:"}),n(bo,{options:R(),value:s,onChange:E=>c(E)}),n(x,{condition:_(s),show:n(N2,{severity:"warning",children:"Change requests are enabled for this environment."})}),n(x,{condition:b>0,show:l(N2,{severity:"info",children:[b," feature"," ",b>1?"toggles are ":"toggle is ","already disabled."]})})]})})},_o=h(ft)(({theme:e})=>({minWidth:"450px",marginTop:e.spacing(2),marginBottom:e.spacing(1.5)})),q2=h(w1)(({theme:e})=>({marginBottom:e.spacing(1.5)})),xo=({showExportDialog:e,data:t,onClose:a,onConfirm:r,environments:o,projectId:i})=>{const[s,c]=d.useState(o[0]),{bulkToggleFeaturesEnvironmentOn:u}=L3(),{addChange:p}=Fe(),{refetch:m}=x1(i),{setToastApiError:g,setToastData:y}=u1(),{isChangeRequestConfigured:_}=Pe(i),{refetch:C}=Ze(i),b=t.filter(E=>{var O,M;return((M=(O=E.environments)==null?void 0:O.find(S=>s===S.name))==null?void 0:M.enabled)===!0}).length,R=()=>o.map(E=>({key:E,label:E})),f=async()=>{try{_(s)?(await p(i,s,t.map(E=>({action:"updateEnabled",feature:E.name,payload:{enabled:!0}}))),C(),y({text:"Your enable feature toggles changes have been added to change request",type:"success",title:"Changes added to a draft"})):(await u(i,t.map(E=>E.name),s),m(),y({text:"Your feature toggles have been enabled",type:"success",title:"Features enabled"})),a(),r==null||r()}catch(E){g(m1(E))}},F=_(s)?"Add to change request":"Enable toggles";return n(G1,{open:e,title:"Enable feature toggles",onClose:a,onClick:f,primaryButtonText:F,secondaryButtonText:"Cancel",children:l(T,{children:["You have selected ",n("b",{children:t.length})," feature toggles to enable.",n("br",{}),n("br",{}),n(Z,{children:"Select which environment to enable the features for:"}),n(_o,{options:R(),value:s,onChange:E=>c(E)}),n(x,{condition:_(s),show:n(q2,{severity:"warning",children:"Change requests are enabled for this environment."})}),n(x,{condition:b>0,show:l(q2,{severity:"info",children:[b," feature"," ",b>1?"toggles are ":"toggle is ","already enabled."]})})]})})},wo=({selectedIds:e,data:t,projectId:a})=>{var R,f;const{uiConfig:r}=b1(),[o,i]=d.useState(!1),[s,c]=d.useState(!1),[u,p]=d.useState(!1),{trackEvent:m}=Z1(),g=d.useMemo(()=>t.filter(F=>e.includes(F.name)),[t,e]),y=d.useMemo(()=>{const F=g.flatMap(E=>E.environments).map(E=>E==null?void 0:E.name).filter(E=>E!==void 0);return Array.from(new Set(F))},[g]),_=()=>{m("batch_operations",{props:{eventType:"features exported"}})},C=()=>{m("batch_operations",{props:{eventType:"features enabled"}})},b=()=>{m("batch_operations",{props:{eventType:"features disabled"}})};return l(Y,{children:[n(x,{condition:!!((R=r==null?void 0:r.flags)!=null&&R.disableBulkToggle),show:null,elseShow:n(d1,{variant:"outlined",size:"small",onClick:()=>c(!0),children:"Enable"})}),n(x,{condition:!!((f=r==null?void 0:r.flags)!=null&&f.disableBulkToggle),show:null,elseShow:n(d1,{variant:"outlined",size:"small",onClick:()=>p(!0),children:"Disable"})}),n(ho,{projectId:a,features:e}),n(d1,{variant:"outlined",size:"small",onClick:()=>i(!0),children:"Export"}),n(yo,{projectId:a,data:g}),n(mo,{projectId:a,data:g}),n(H3,{showExportDialog:o,data:g,onClose:()=>i(!1),environments:y,onConfirm:_}),n(xo,{showExportDialog:s,data:g,onClose:()=>c(!1),environments:y,projectId:a,onConfirm:C}),n(Co,{showExportDialog:u,data:g,onClose:()=>p(!1),environments:y,projectId:a,onConfirm:b})]})},So=h(W3)(()=>({whiteSpace:"nowrap"})),To=h("div",{shouldForwardProp:e=>e!=="hasWarning"})(({theme:e,hasWarning:t})=>({flexGrow:0,...q1,justifyContent:"center",...t&&{"::before":{content:'""',display:"block",width:e.spacing(2)}}})),qe=["Select","Actions","name","favorite"],Ao={id:"createdAt"},Eo=({features:e,loading:t,environments:a=[]})=>{var P1,te;const{classes:r}=po(),o=p1(),i=y1(o.breakpoints.down("md")),[s,c]=d.useState({open:!1,featureId:"",environmentName:""}),[u,p]=d.useState({}),[m,g]=d.useState(),y=K("projectId"),{value:_,setValue:C}=pt(`${y}:FeatureToggleListTable:v1`,Ao),{value:b,setValue:R}=m0(),f=I1(),[F,E]=d2(),O=Hr(t?[{environment:"a"},{environment:"b"},{environment:"c"}]:a),{refetch:M}=x1(y),{isFavoritesPinned:S,sortTypes:I,onChangeIsFavoritePinned:j}=g0(F.has("favorites")?F.get("favorites")==="true":b.favorites),{favorite:V,unfavorite:H}=f0(),{onChangeRequestToggleClose:B,onChangeRequestToggleConfirm:Q,changeRequestDialogDetails:U}=Va(y),[v,w]=d.useState(!1),{uiConfig:$}=b1(),P=d.useCallback(async D=>{D!=null&&D.favorite?await H(y,D.name):await V(y,D.name),M()},[y,M]),W=d.useMemo(()=>e.some(D=>{var L;return(L=D==null?void 0:D.tags)==null?void 0:L.length}),[e]),k=d.useMemo(()=>[{id:"Select",Header:({getToggleAllRowsSelectedProps:D})=>n(c2,{...D()}),Cell:({row:D})=>{var L;return n(v0,{...(L=D==null?void 0:D.getToggleRowSelectedProps)==null?void 0:L.call(D)})},maxWidth:50,disableSortBy:!0,hideInMenu:!0},{id:"favorite",Header:n(y0,{isActive:S,onClick:j}),accessor:"favorite",Cell:({row:{original:D}})=>n(b0,{value:D==null?void 0:D.favorite,onClick:()=>P(D)}),maxWidth:50,disableSortBy:!0,hideInMenu:!0},{Header:"Seen",accessor:"lastSeenAt",Cell:N3,sortType:"date",align:"center",maxWidth:80},{Header:"Type",accessor:"type",Cell:q3,align:"center",maxWidth:80},{Header:"Name",accessor:"name",Cell:({value:D})=>n(U3,{title:D,to:`/projects/${y}/features/${D}`}),minWidth:100,sortType:"alphanumeric",searchable:!0},...W?[{id:"tags",Header:"Tags",accessor:D=>{var L;return((L=D.tags)==null?void 0:L.map(({type:a1,value:q})=>`${a1}:${q}`).join(`
2
- `))||""},Cell:C0,width:80,searchable:!0}]:[],{Header:"Created",accessor:"createdAt",Cell:vt,sortType:"date",minWidth:120},...O.map(D=>{const L=typeof D=="string"?D:D.environment;return{Header:t?()=>"":L,maxWidth:90,id:`environments.${L}`,accessor:a1=>{var q;return(q=a1.environments[L])==null?void 0:q.enabled},align:"center",Cell:({value:a1,row:{original:q}})=>{const h1=q.someEnabledEnvironmentHasVariants&&q.environments[L].variantCount===0&&q.environments[L].enabled;return l(To,{hasWarning:h1,children:[n(Ma,{value:a1,projectId:y,featureId:q.name,environmentName:L}),n(x,{condition:h1,show:n(La,{})})]})},sortType:"boolean",filterName:L,filterParsing:a1=>a1?"enabled":"disabled"}}),{id:"Actions",maxWidth:56,width:56,Cell:D=>n(Xr,{projectId:y,onOpenArchiveDialog:g,onOpenStaleDialog:p,...D}),disableSortBy:!0,hideInMenu:!0}],[y,O,t]),[N,c1]=d.useState(F.get("search")||""),g1=d.useMemo(()=>e.map(D=>{var L;return{...D,environments:Object.fromEntries(O.map(a1=>{const q=D==null?void 0:D.environments.find(h1=>(h1==null?void 0:h1.name)===a1);return[a1,{name:a1,enabled:(q==null?void 0:q.enabled)||!1,variantCount:(q==null?void 0:q.variantCount)||0}]})),someEnabledEnvironmentHasVariants:((L=D.environments)==null?void 0:L.some(a1=>a1.variantCount>0&&a1.enabled))||!1}}),[e,O]),{data:f1,getSearchText:$1,getSearchContext:Ce}=yt(k,N,g1),T1=d.useMemo(()=>t?Array(6).fill({type:"-",name:"Feature name",createdAt:new Date,environments:{production:{name:"production",enabled:!1}}}):f1,[t,f1]),Be=d.useMemo(()=>{var a1;const D=k.map(q=>(q==null?void 0:q.id)||(typeof(q==null?void 0:q.accessor)=="string"?q==null?void 0:q.accessor:"")).filter(Boolean);let L=O.filter((q,h1)=>h1>=3).map(q=>`environments.${q}`);if(F.has("columns")){const q=((a1=F.get("columns"))==null?void 0:a1.split(","))||[],h1=[...qe,...q];L=D.filter(A=>!h1.includes(A))}else if(_.columns){const q=[...qe,..._.columns];L=D.filter(h1=>!q.includes(h1))}return{sortBy:[{id:F.get("sort")||"createdAt",desc:F.has("order")?F.get("order")==="desc":_.desc}],hiddenColumns:L,selectedRowIds:{}}},[O]),Ve=d.useCallback(D=>D.name,[]),{allColumns:_e,headerGroups:ee,rows:z1,state:{selectedRowIds:F1,sortBy:B1,hiddenColumns:H1},prepareRow:Me,setHiddenColumns:Le}=t1.useTable({columns:k,data:T1,initialState:Be,sortTypes:I,autoResetHiddenColumns:!1,disableSortRemove:!0,autoResetSortBy:!1,getRowId:Ve},t1.useFlexLayout,t1.useSortBy,t1.useRowSelect);return d.useEffect(()=>{if(t)return;const D={};D.sort=B1[0].id,B1[0].desc&&(D.order="desc"),N&&(D.search=N),S&&(D.favorites="true"),D.columns=_e.map(({id:L})=>L).filter(L=>!qe.includes(L)&&!(H1!=null&&H1.includes(L))).join(","),E(D,{replace:!0}),C(L=>({...L,id:B1[0].id,desc:B1[0].desc||!1,columns:D.columns.split(",")})),R(L=>({...L,favorites:!!S}))},[t,B1,H1,N,E,S]),l(Y,{children:[l(l1,{isLoading:t,className:r.container,header:n(o1,{titleElement:`Feature toggles (${z1.length})`,actions:l(Y,{children:[n(x,{condition:!i,show:n(k1,{initialValue:N,onChange:c1,hasFilters:!0,getSearchContext:Ce})}),n(uo,{allColumns:_e,staticColumns:qe,dividerAfter:["createdAt"],dividerBefore:["Actions"],isCustomized:!!_.columns,setHiddenColumns:Le}),n(o1.Divider,{sx:{marginLeft:0}}),n(x,{condition:!!((P1=$==null?void 0:$.flags)!=null&&P1.featuresExportImport),show:n(Y1,{title:"Export toggles visible in the table below",arrow:!0,children:n(L1,{onClick:()=>w(!0),sx:D=>({marginRight:D.spacing(2)}),children:n(_0,{})})})}),n(So,{onClick:()=>f(x0(y)),maxWidth:"960px",Icon:G3,projectId:y,permission:s2,"data-testid":"NAVIGATE_TO_CREATE_FEATURE",children:"New feature toggle"})]}),children:n(x,{condition:i,show:n(k1,{initialValue:N,onChange:c1,hasFilters:!0,getSearchContext:Ce})})}),children:[n(ue,{value:$1(N),children:n(bt,{rows:z1,headerGroups:ee,prepareRow:Me})}),n(x,{condition:z1.length===0,show:n(x,{condition:(N==null?void 0:N.length)>0,show:l(C1,{children:["No feature toggles found matching “",N,"”"]}),elseShow:n(C1,{children:"No feature toggles available. Get started by adding a new feature toggle."})})}),n(Ha,{onClose:()=>c(D=>({...D,open:!1})),projectId:y,...s}),n(Wa,{isStale:u.stale===!0,isOpen:!!u.featureId,onClose:()=>{p({}),M()},featureId:u.featureId||"",projectId:y}),n(mn,{isOpen:!!m,onConfirm:()=>{M()},onClose:()=>{g(void 0)},featureIds:[m||""],projectId:y})," ",n(Na,{isOpen:U.isOpen,onClose:B,environment:U==null?void 0:U.environment,onConfirm:Q,messageComponent:n(qa,{featureName:U.featureName,enabled:U.enabled,environment:U==null?void 0:U.environment})}),n(x,{condition:!!((te=$==null?void 0:$.flags)!=null&&te.featuresExportImport)&&!t,show:n(H3,{showExportDialog:v,data:T1,onClose:()=>w(!1),environments:O})})]}),n(w0,{count:Object.keys(F1).length,children:n(wo,{selectedIds:Object.keys(F1),data:e,projectId:y})})]})},je=h("div")(({theme:e})=>({margin:"0",textAlign:"center",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadiusLarge,width:"100%",minWidth:225,padding:e.spacing(3),[e.breakpoints.down("md")]:{display:"flex",flexDirection:"column",position:"relative",padding:e.spacing(1.5)}})),Oe=h("p")(({theme:e})=>({marginBottom:e.spacing(2.5)})),_2=h("span")(({theme:e})=>({fontSize:e.typography.h2.fontSize,fontWeight:"bold",color:e.palette.text.primary})),St=({children:e,to:t})=>n(Z,{variant:"body2",textAlign:"center",sx:{paddingTop:a=>a.spacing(2.5),marginTop:"auto",justifySelf:"flex-end"},children:n(l2,{component:D1,to:t,children:e})}),ko=h("p")(({theme:e})=>({fontSize:"1.5rem",[e.breakpoints.down("md")]:{fontSize:e.fontSizes.bodySize,marginBottom:e.spacing(4)}})),Do=h("p")(({theme:e})=>({fontSize:"1.5rem",[e.breakpoints.down("md")]:{fontSize:e.fontSizes.bodySize}})),Ro=({projectId:e,health:t})=>l(je,{children:[n(Oe,{"data-loading":!0,children:"Project health"}),l(T,{sx:{display:"flex",alignItems:"center",justifyContent:"center",gap:a=>a.spacing(2)},children:[n(Do,{children:n(S0,{percentage:t})}),l(ko,{"data-loading":!0,children:[t,"%"]})]}),n(St,{to:`/projects/${e}/health`,children:"View project health"})]}),Fo=h(_2)(({theme:e})=>({marginLeft:"auto",fontWeight:e.typography.fontWeightRegular,color:e.palette.text.secondary})),Po=h("div")(({theme:e})=>({display:"flex",gap:e.spacing(1.5),width:"100%",gridTemplateColumns:`${e.spacing(2.5)} auto auto`,margin:e.spacing(1,0),fontSize:e.fontSizes.smallBody,color:e.palette.text.secondary,alignItems:"center",[e.breakpoints.down("md")]:{margin:0}})),Zo=({type:e,Icon:t,count:a})=>l(Po,{"data-loading":!0,children:[n(t,{fontSize:"small","data-loading":!0}),n("div",{children:(o=>o.charAt(0).toUpperCase()+o.slice(1).replace("-"," "))(e)}),n(Fo,{children:a})]}),Io=({features:e})=>{const t=d.useMemo(()=>{const a=(e==null?void 0:e.filter(c=>c.type==="release").length)||0,r=(e==null?void 0:e.filter(c=>c.type==="experiment").length)||0,o=(e==null?void 0:e.filter(c=>c.type==="operational").length)||0,i=(e==null?void 0:e.filter(c=>c.type==="kill-switch").length)||0,s=(e==null?void 0:e.filter(c=>c.type==="permission").length)||0;return{release:a,experiment:r,operational:o,"kill-switch":i,permission:s}},[e]);return l(je,{sx:{padding:a=>a.spacing(3)},children:[n(Oe,{children:"Toggle types used"}),Object.keys(t).map(a=>n(Zo,{type:a,Icon:T0(a),count:t[a]},a))]})},jo=h("div")(({theme:e})=>({textAlign:"left",borderRadius:`${e.shape.borderRadius}px`,backgroundColor:`${e.palette.background.elevation2}`,padding:e.spacing(.5,2),fontSize:e.typography.body2.fontSize})),Oo=({id:e,description:t})=>l(je,{children:[n(Oe,{children:"Project Meta"}),l(jo,{children:[n(Z,{component:"span",variant:"body2",color:"text.secondary",children:"ID:"})," ",n("code",{"data-loading":!0,children:e||"__________"})]}),n(x,{condition:!!t,show:n(Z,{variant:"body2",sx:{marginTop:a=>a.spacing(1.5),marginBottom:0,textAlign:"left"},children:t})}),n(x,{condition:!t,show:n(St,{to:`/projects/${e}/edit`,children:"Add description"})})]}),$o=h(Z)(({theme:e})=>({marginBottom:e.spacing(2.5)})),zo=h(T)(({theme:e})=>({fontSize:e.fontSizes.largeHeader})),jt=h(T)(({theme:e})=>({...q1,flexDirection:"column",alignItems:"center",marginLeft:e.spacing(2.5)})),U2=h(Z)(({theme:e})=>({color:e.palette.text.secondary,fontSize:e.typography.body2.fontSize})),Bo=h(Z)(({theme:e})=>({marginLeft:e.spacing(1),fontSize:e.typography.body1.fontSize,fontWeight:e.typography.fontWeightBold})),Vo=e=>e>0?n(pr,{sx:{color:"success.dark",height:20,width:20}}):n(fr,{sx:{color:"warning.dark",height:20,width:20}}),Mo=e=>e>0?"success.dark":"warning.dark",Se=({title:e,boxText:t,change:a,percentage:r,children:o,customChangeElement:i})=>l(Y,{children:[n(x,{condition:!!e,show:n($o,{children:e})}),o,l(T,{sx:{...q1,justifyContent:"center",width:"auto"},children:[n(zo,{children:t}),n(x,{condition:!!i,show:n(jt,{children:i}),elseShow:n(x,{condition:a!==void 0&&a!==0,show:l(jt,{children:[l(T,{sx:{...q1},children:[Vo(a),l(Bo,{color:Mo(a),children:[a>0?"+":"",a,r?"%":""]})]}),n(U2,{children:"this month"})]}),elseShow:n(jt,{children:n(U2,{children:"No change"})})})})]})]}),Lo=({projectId:e,memberCount:t,change:a=0})=>{var i,s;const{uiConfig:r}=b1();let o="/admin/users";return(s=(i=r==null?void 0:r.versionInfo)==null?void 0:i.current)!=null&&s.enterprise&&(o=`/projects/${e}/settings/access`),l(je,{children:[n(Oe,{"data-loading":!0,children:"Project members"}),n(T,{sx:{display:"flex",justifyContent:"center"},children:n(Se,{boxText:`${t}`,change:a})}),n(St,{to:o,children:"View all members"})]})},Ho=e=>fetch(e).then(J1("ChangeRequest")).then(t=>t.json()),_n=e=>{const{data:t,error:a,mutate:r}=A0([],K1(`api/admin/projects/${e}/change-requests`),Ho);return d.useMemo(()=>({changeRequests:t,loading:!a&&!t,refetch:r,error:a}),[t,a,r])},Ke="change-requests-widget",Wo=h(T)(({theme:e})=>({display:"flex",flexWrap:"wrap",gap:e.spacing(1.5)})),G2=h(T)(({theme:e})=>({flex:1,textAlign:"left",padding:e.spacing(1.5),borderRadius:e.shape.borderRadiusMedium,alignItems:"center",minWidth:175})),K2=h(T)(({theme:e})=>({display:"flex",alignItems:"center"})),No=h(_2)(({theme:e})=>({background:e.palette.seen.recent,padding:e.spacing(0,1),marginRight:e.spacing(.5),borderRadius:e.shape.borderRadius})),qo=h(_2)(({theme:e})=>({background:e.palette.seen.primary,padding:e.spacing(0,1),marginRight:e.spacing(.5),borderRadius:e.shape.borderRadius})),J2=h(Z)(({theme:e})=>({fontSize:e.typography.body2.fontSize,marginBottom:e.spacing(.5)})),Y2=()=>n(Z,{component:"span",variant:"body2",color:"text.secondary",lineHeight:1,"data-loading":Ke,children:"change requests"}),Uo=({projectId:e})=>{const{changeRequests:t,loading:a}=_n(e),r=K3(a,`[data-loading="${Ke}"]`),o=t==null?void 0:t.filter(s=>(s==null?void 0:s.state)==="Approved").length,i=t==null?void 0:t.filter(s=>(s==null?void 0:s.state)==="In review").length;return l(je,{ref:r,children:[n(Oe,{children:"Open change requests"}),l(Wo,{children:[l(G2,{sx:{background:s=>s.palette.success.light},children:[n(J2,{children:"To be applied"}),l(K2,{children:[n(No,{"data-loading":Ke,children:o||0})," ",n(Y2,{})]})]}),l(G2,{sx:{background:s=>s.palette.secondary.light},children:[n(J2,{children:"To be reviewed"}),l(K2,{children:[n(qo,{"data-loading":Ke,children:i||0})," ",n(Y2,{})]})]})]}),n(St,{to:`/projects/${e}/change-requests`,children:"View change requests"})]})},Go=h(T)(({theme:e})=>({...q1,width:"225px",flexDirection:"column",gap:e.spacing(2),boxShadow:"none",[e.breakpoints.down("md")]:{display:"grid",width:"100%",alignItems:"stretch",marginBottom:e.spacing(2)},[e.breakpoints.down("sm")]:{display:"flex"}})),Ko=({id:e,description:t,memberCount:a,health:r,features:o,stats:i})=>{const{isEnterprise:s}=b1(),c=p1(),u=y1(c.breakpoints.down("md")),{isChangeRequestConfiguredInAnyEnv:p}=Pe(e),m=s()&&p(),g=e!==E0;return n("aside",{children:l(Go,{sx:!m&&!g||u&&m&&g?{gridTemplateColumns:"repeat(auto-fill, minmax(225px, 1fr))"}:{gridTemplateColumns:"repeat(2, 1fr)"},children:[n(x,{condition:m,show:n(T,{sx:{gridColumnStart:g?"span 2":"span 1",flex:1,display:"flex"},children:n(Uo,{projectId:e})})}),n(Oo,{id:e,description:t}),n(Ro,{projectId:e,health:r}),n(x,{condition:g,show:n(Lo,{projectId:e,memberCount:a,change:i==null?void 0:i.projectMembersAddedCurrentWindow})}),n(Io,{features:o})]})})},Jo=h(j1)(({theme:e})=>({padding:e.spacing(3,3),maxWidth:"350px",borderRadius:`${e.shape.borderRadiusMedium}px`,border:`1px solid ${e.palette.neutral.border}`,fontSize:e.typography.body2.fontSize})),Q2=({children:e,id:t})=>{const[a,r]=d.useState(null),o=c=>r(c.currentTarget),i=()=>r(null);return l(T,{sx:{position:"absolute",top:c=>c.spacing(.5),right:c=>c.spacing(.5)},children:[n(L1,{onClick:o,"aria-describedby":t,size:"small",children:n(J3,{sx:{fontSize:c=>c.typography.body1.fontSize}})}),n(Y3,{id:t,open:!!a,anchorEl:a,sx:c=>({zIndex:c.zIndex.tooltip}),children:n(Q3,{onClickAway:i,children:l(Jo,{elevation:3,children:[n(L1,{onClick:i,sx:{position:"absolute",right:4,top:4},children:n(k0,{sx:{fontSize:c=>c.typography.body1.fontSize}})}),e,n(D0,{id:t,eventName:"project_overview",localStorageKey:"ProjectOverviewFeedback"})]})})})]})},Yo=h(T)(({theme:e})=>({padding:e.spacing(0,0,2,2),display:"grid",gap:e.spacing(2),gridTemplateColumns:"repeat(4, 1fr)",flexWrap:"wrap",[e.breakpoints.down("lg")]:{gridTemplateColumns:"repeat(2, 1fr)"},[e.breakpoints.down("md")]:{padding:e.spacing(0,0,2)},[e.breakpoints.down("sm")]:{flexDirection:"column"}})),Ue=h(T)(({theme:e})=>({position:"relative",padding:e.spacing(3),backgroundColor:e.palette.background.paper,flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:`${e.shape.borderRadiusLarge}px`,[e.breakpoints.down("lg")]:{padding:e.spacing(2)}})),Qo=h(Z)(({theme:e})=>({color:e.palette.text.secondary,fontSize:e.typography.body2.fontSize,lineHeight:e.typography.body2.lineHeight})),Xo=({stats:e})=>{if(Object.keys(e).length===0)return null;const{avgTimeToProdCurrentWindow:t,projectActivityCurrentWindow:a,projectActivityPastWindow:r,createdCurrentWindow:o,createdPastWindow:i,archivedCurrentWindow:s,archivedPastWindow:c}=e;return l(Yo,{children:[n(Ue,{children:n(Se,{title:"Total changes",boxText:String(a),change:a-r,children:n(Q2,{id:"total-changes",children:"Sum of all configuration and state modifications in the project."})})}),n(Ue,{children:n(Se,{title:"Avg. time to production",boxText:l(T,{sx:{display:"flex",alignItems:"center",gap:u=>u.spacing(1)},children:[t," ",n(Z,{component:"span",children:"days"})]}),customChangeElement:n(Qo,{children:"In project life"}),percentage:!0,children:n(Q2,{id:"avg-time-to-prod",children:'How long did it take on average from a feature toggle was created until it was enabled in an environment of type production. This is calculated only from feature toggles with the type of "release".'})})}),n(Ue,{children:n(Se,{title:"Features created",boxText:String(o),change:o-i})}),n(Ue,{children:n(Se,{title:"Features archived",boxText:String(s),change:s-c})})]})},e4=15*1e3,t4=h("div")(({theme:e})=>({display:"flex",[e.breakpoints.down("md")]:{flexDirection:"column"}})),n4=h("div")(()=>({width:"100%",minWidth:0})),a4=h(T)(()=>({display:"flex",flexDirection:"column",width:"100%",minWidth:0})),r4=()=>{const e=K("projectId"),t=R1(e),{project:a,loading:r}=x1(e,{refreshInterval:e4}),{members:o,features:i,health:s,description:c,environments:u,stats:p}=a;S1(`Project overview – ${t}`);const{setLastViewed:m}=R0();return d.useEffect(()=>{m(e)},[e,m]),l(t4,{children:[n(Ko,{id:e,description:c,memberCount:o,health:s,features:i,stats:p}),l(a4,{children:[n(Xo,{stats:a.stats}),n(n4,{children:n(Eo,{features:i,environments:u,loading:r})})]})]})},o4=(e,t)=>{const a=K1(`api/admin/projects/${e}/health-report`),{data:r,error:o}=de(a,i4,t),i=d.useCallback(()=>{X3(a).catch(console.warn)},[a]);return{healthReport:r,refetchHealthReport:i,loading:!o&&!r,error:o}},i4=e=>fetch(e).then(J1("Health report")).then(t=>t.json());var x2={},s4=De;Object.defineProperty(x2,"__esModule",{value:!0});var Qt=x2.default=void 0,c4=s4(ke()),l4=Re,d4=(0,c4.default)((0,l4.jsx)("path",{d:"M12 5.99 19.53 19H4.47L12 5.99M12 2 1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined");Qt=x2.default=d4;const u4=h(T)(({theme:e})=>({display:"flex",alignItems:"center",color:e.palette.success.dark,"& svg":{color:e.palette.success.main}})),X2=h(T)(({theme:e})=>({display:"flex",alignItems:"center",color:e.palette.warning.dark,"& svg":{color:e.palette.warning.main}})),p4=h(j1)(({theme:e})=>({padding:e.spacing(4),marginBottom:e.spacing(2),borderRadius:e.shape.borderRadiusLarge,boxShadow:"none",display:"flex",justifyContent:"space-between",[e.breakpoints.down("md")]:{flexDirection:"column",gap:e.spacing(2)}})),Ot=h("h2")(({theme:e})=>({fontSize:e.fontSizes.mainHeader,marginBottom:e.spacing(1)})),h4=h("p")(({theme:e})=>({fontSize:"2rem",fontWeight:e.fontWeight.bold})),m4=h("p")(({theme:e})=>({color:e.palette.text.secondary})),e3=h("ul")(({theme:e})=>({listStyleType:"none",margin:0,padding:0,"& svg":{marginRight:e.spacing(1)}})),t3=h("p")(({theme:e})=>({marginLeft:e.spacing(4)})),g4=({healthReport:e})=>{const t=e.health<50?"error.main":e.health<75?"warning.main":"success.main",a=()=>l(u4,{children:[n(F0,{}),l("span",{children:[e.activeCount," active toggles"]})]}),r=()=>l(X2,{children:[n(Qt,{}),l("span",{children:[e.staleCount," stale toggles"]})]}),o=()=>l(X2,{children:[n(Qt,{}),l("span",{children:[e.potentiallyStaleCount," potentially stale toggles"]})]});return l(p4,{children:[l(T,{children:[n(Ot,{children:"Health rating"}),n(x,{condition:e.health>-1,show:l(Y,{children:[l(h4,{sx:{color:t},children:[e.health,"%"]}),l(m4,{children:["Last updated:"," ",n(u2,{date:e.updatedAt,live:!1})]})]})})]}),l(T,{children:[n(Ot,{children:"Toggle report"}),l(e3,{children:[n("li",{children:n(x,{condition:!!e.activeCount,show:a})}),n(x,{condition:!!e.activeCount,show:n(t3,{children:"Also includes potentially stale toggles."})}),n("li",{children:n(x,{condition:!!e.staleCount,show:r})})]})]}),l(T,{sx:{flexBasis:"40%"},children:[n(Ot,{children:"Potential actions"}),n(e3,{children:n("li",{children:n(x,{condition:!!e.potentiallyStaleCount,show:o})})}),n(x,{condition:!!e.potentiallyStaleCount,show:n(t3,{children:"Review your feature toggles and delete unused toggles."}),elseShow:n("span",{children:"No action is required"})})]})]})},f4=({row:e})=>{const t=p1();return e.original.expiredAt?n(vt,{value:e.original.expiredAt}):n(s1,{children:n(Z,{variant:"body2",color:t.palette.text.secondary,children:"N/A"})})},v4=h("span")(({theme:e})=>({display:"flex",gap:"1ch",alignItems:"center",color:e.palette.warning.dark,"& svg":{color:e.palette.warning.main}})),y4=h("span")(({theme:e})=>({display:"flex",gap:"1ch",alignItems:"center",color:e.palette.success.dark,"& svg":{color:e.palette.success.main}})),b4=({row:e})=>e.original.status==="potentially-stale"?n(s1,{children:l(v4,{children:[n(gr,{}),n("span",{children:"Potentially stale"})]})}):n(s1,{children:l(y4,{children:[n(en,{}),n("span",{children:"Healthy"})]})}),n3=40,C4=7,xn={[Z0]:n3,[I0]:n3,[j0]:C4},wn=(e,t)=>Math.abs(P0(e,t)),Sn=(e,t)=>e>=xn[t],_4=e=>{const{type:t,createdAt:a}=e,r=tn(a),i=wn(r,new Date);return Sn(i,t)&&t!==nn&&t!==an?"potentially-stale":"healthy"},x4=e=>{const{type:t,createdAt:a}=e;if(t===nn||t===an)return;const r=tn(a),o=new Date,i=wn(r,o);if(Sn(i,t)){const s=i-xn[t];return vr(o,s).toISOString()}},w4=({projectId:e,features:t})=>{const a=p1(),r=y1(a.breakpoints.down("sm")),o=y1(a.breakpoints.down("md")),i=y1(a.breakpoints.down("lg")),s=d.useMemo(()=>t.map(b=>({project:e,name:b.name,type:b.type,stale:b.stale,status:_4(b),lastSeenAt:b.lastSeenAt,createdAt:b.createdAt,expiredAt:x4(b)})),[e,t]),c=d.useMemo(()=>({hiddenColumns:[],sortBy:[{id:"createdAt"}]}),[]),{headerGroups:u,rows:p,prepareRow:m,state:{globalFilter:g},setGlobalFilter:y,setHiddenColumns:_}=t1.useTable({columns:a3,data:s,initialState:c,sortTypes:Ie,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0},t1.useGlobalFilter,t1.useFlexLayout,t1.useSortBy);Ct([{condition:r,columns:["stale"]},{condition:o,columns:["expiredAt","lastSeenAt"]},{condition:i,columns:["createdAt"]}],_,a3);const C=p.length<s.length?`Feature toggles (${p.length} of ${s.length})`:`Feature toggles (${s.length})`;return l(l1,{header:n(o1,{title:C,actions:n(k1,{initialValue:g,onChange:y})}),children:[n(ue,{value:g,children:n(bt,{headerGroups:u,prepareRow:m,rows:p})}),n(x,{condition:p.length===0,show:n(x,{condition:(g==null?void 0:g.length)>0,show:l(C1,{children:["No feature toggles found matching “",g,"”"]}),elseShow:n(C1,{children:"No feature toggles available. Get started by adding a new feature toggle."})})})]})},a3=[{Header:"Seen",accessor:"lastSeenAt",sortType:"date",align:"center",Cell:N3,disableGlobalFilter:!0,maxWidth:85},{Header:"Type",accessor:"type",align:"center",Cell:q3,disableGlobalFilter:!0,maxWidth:85},{Header:"Name",accessor:"name",sortType:"alphanumeric",Cell:O0,minWidth:120},{Header:"Created",accessor:"createdAt",sortType:"date",Cell:vt,disableGlobalFilter:!0,maxWidth:150},{Header:"Expired",accessor:"expiredAt",Cell:f4,disableGlobalFilter:!0,maxWidth:150},{Header:"Status",id:"status",accessor:"status",Cell:b4,disableGlobalFilter:!0,width:180},{Header:"State",accessor:"stale",sortType:"boolean",Cell:$0,disableGlobalFilter:!0,maxWidth:120}],S4=()=>{const e=K("projectId"),t=R1(e);S1(`Project health – ${t}`);const{healthReport:a,refetchHealthReport:r,error:o}=o4(e,{refreshInterval:15*1e3});return a?l("div",{children:[n(x,{condition:!!o,show:n($3,{"data-loading":!0,style:{maxWidth:"500px",marginTop:"1rem"},onClick:r,text:`Could not fetch health rating for ${e}`})}),n(g4,{healthReport:a}),n(w4,{projectId:e,features:a.features})]}):null},T4=h("div")(({theme:e})=>({borderRadius:"12.5px",backgroundColor:e.palette.background.paper,padding:"2rem"})),A4=()=>{const e=K("projectId");return n(T4,{children:n(z0,{title:"Event Log",project:e,displayInline:!0})})},Tn=(e,t)=>{const{data:a,error:r,mutate:o}=de(K1(`api/admin/projects/${e}/change-requests/${t}`),E4,{refreshInterval:15e3});return{data:a,loading:!r&&!a,refetchChangeRequest:()=>o(),error:r}},E4=e=>fetch(e).then(J1("Request changes")).then(t=>t.json()),k4=h(j1)(({theme:e})=>({padding:e.spacing(3,4),borderRadius:`${e.shape.borderRadiusLarge}px`}));h(T)(({theme:e})=>({display:"flex",alignItems:"center",marginBottom:e.spacing(2)}));const D4=h(T)(({theme:e})=>({display:"flex",alignItems:"center"})),R4=h(Z)(({theme:e})=>({display:"flex",alignItems:"center",marginRight:e.spacing(1),fontSize:e.fontSizes.mainHeader})),F4=h(B0)(({theme:e})=>({padding:e.spacing(.75,1.5),backgroundColor:e.palette.background.elevation2})),An=h(_t)(({theme:e})=>({height:"24px",width:"24px"})),P4=({changeRequest:e})=>{var r,o,i;const[t,a]=d.useState(e.title);return l(k4,{elevation:0,children:[n(V0,{environmentChangeRequest:e,title:t,setTitle:a,children:n(R4,{variant:"h1",sx:{mr:1.5},children:t})}),l(D4,{children:[n(rn,{state:e.state}),l(Z,{variant:"body2",sx:s=>({margin:s.spacing("auto",0,"auto",2)}),children:["Created"," ",n(u2,{minPeriod:60,date:new Date(e.createdAt)})," ","by"]}),n(T,{sx:s=>({marginLeft:s.spacing(1)}),children:n(Y1,{title:(r=e==null?void 0:e.createdBy)==null?void 0:r.username,children:n(An,{src:(o=e==null?void 0:e.createdBy)==null?void 0:o.imageUrl})})}),n(Z,{variant:"body2",sx:s=>({marginLeft:s.spacing(.5)}),children:(i=e==null?void 0:e.createdBy)==null?void 0:i.username}),n(T,{sx:s=>({marginLeft:s.spacing(1.5)}),children:n(F4,{variant:"outlined",children:l(Z,{variant:"body2",sx:{lineHeight:1},children:["Environment:"," ",n(Z,{display:"inline",fontWeight:"bold",variant:"body2",component:"span",children:e==null?void 0:e.environment})," ",n(M0,{})," Updates:"," ",l(Z,{variant:"body2",display:"inline",fontWeight:"bold",component:"span",children:[e.features.length," ",e.features.length===1?"feature toggle":"feature toggles"]})]})})})]})]})};function r1(){return r1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},r1.apply(this,arguments)}function ve(e,t){if(e==null)return{};var a={},r=Object.keys(e),o,i;for(i=0;i<r.length;i++)o=r[i],!(t.indexOf(o)>=0)&&(a[o]=e[o]);return a}const Z4=d.createContext({}),tt=Z4;function I4(e){return pe("MuiTimeline",e)}Q1("MuiTimeline",["root","positionLeft","positionRight","positionAlternate"]);const j4=["position","className"],O4=e=>{const{position:t,classes:a}=e,r={root:["root",t&&`position${O1(t)}`]};return ge(r,I4,a)},$4=h("ul",{name:"MuiTimeline",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:a}=e;return[t.root,a.position&&t[`position${O1(a.position)}`]]}})({display:"flex",flexDirection:"column",padding:"6px 16px",flexGrow:1}),z4=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimeline"}),{position:o="right",className:i}=r,s=ve(r,j4),c=r1({},r,{position:o}),u=O4(c),p=d.useMemo(()=>({position:o}),[o]);return n(tt.Provider,{value:p,children:n($4,r1({className:me(u.root,i),ownerState:c,ref:a},s))})}),En=z4;function B4(e){return pe("MuiTimelineContent",e)}const V4=Q1("MuiTimelineContent",["root","positionLeft","positionRight","positionAlternate"]),M4=["className"],L4=e=>{const{position:t,classes:a}=e,r={root:["root",`position${O1(t)}`]};return ge(r,B4,a)},H4=h(Z,{name:"MuiTimelineContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:a}=e;return[t.root,t[`position${O1(a.position)}`]]}})(({ownerState:e})=>r1({flex:1,padding:"6px 16px",textAlign:"left"},e.position==="left"&&{textAlign:"right"})),W4=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimelineContent"}),{className:o}=r,i=ve(r,M4),{position:s}=d.useContext(tt),c=r1({},r,{position:s||"right"}),u=L4(c);return n(H4,r1({component:"div",className:me(u.root,o),ownerState:c,ref:a},i))}),kn=W4,N4=Q1("MuiTimelineOppositeContent",["root","positionLeft","positionRight","positionAlternate"]),q4=N4;function U4(e){return pe("MuiTimelineItem",e)}const G4=Q1("MuiTimelineItem",["root","positionLeft","positionRight","positionAlternate","missingOppositeContent"]),Dn=G4,K4=["position","className"],J4=e=>{const{position:t,classes:a,hasOppositeContent:r}=e,o={root:["root",`position${O1(t)}`,!r&&"missingOppositeContent"]};return ge(o,U4,a)},Y4=h("li",{name:"MuiTimelineItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:a}=e;return[t.root,t[`position${O1(a.position)}`]]}})(({ownerState:e})=>r1({listStyle:"none",display:"flex",position:"relative",minHeight:70},e.position==="left"&&{flexDirection:"row-reverse"},e.position==="alternate"&&{"&:nth-of-type(even)":{flexDirection:"row-reverse",[`& .${V4.root}`]:{textAlign:"right"},[`& .${q4.root}`]:{textAlign:"left"}}},!e.hasOppositeContent&&{"&:before":{content:'""',flex:1,padding:"6px 16px"}})),Q4=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimelineItem"}),{position:o,className:i}=r,s=ve(r,K4),{position:c}=d.useContext(tt);let u=!1;d.Children.forEach(r.children,y=>{L0(y,["TimelineOppositeContent"])&&(u=!0)});const p=r1({},r,{position:o||c||"right",hasOppositeContent:u}),m=J4(p),g=d.useMemo(()=>({position:p.position}),[p.position]);return n(tt.Provider,{value:g,children:n(Y4,r1({className:me(m.root,i),ownerState:p,ref:a},s))})}),Je=Q4;function X4(e){return pe("MuiTimelineSeparator",e)}Q1("MuiTimelineSeparator",["root"]);const ei=["className"],ti=e=>{const{classes:t}=e;return ge({root:["root"]},X4,t)},ni=h("div",{name:"MuiTimelineSeparator",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"column",flex:0,alignItems:"center"}),ai=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimelineSeparator"}),{className:o}=r,i=ve(r,ei),s=r,c=ti(s);return n(ni,r1({className:me(c.root,o),ownerState:s,ref:a},i))}),Ye=ai;function ri(e){return pe("MuiTimelineDot",e)}Q1("MuiTimelineDot",["root","filled","outlined","filledGrey","outlinedGrey","filledPrimary","outlinedPrimary","filledSecondary","outlinedSecondary"]);const oi=["className","color","variant"],ii=e=>{const{color:t,variant:a,classes:r}=e,o={root:["root",a,t!=="inherit"&&`${a}${O1(t)}`]};return ge(o,ri,r)},si=h("span",{name:"MuiTimelineDot",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:a}=e;return[t.root,t[a.color!=="inherit"&&`${a.variant}${O1(a.color)}`],t[a.variant]]}})(({ownerState:e,theme:t})=>r1({display:"flex",alignSelf:"baseline",borderStyle:"solid",borderWidth:2,padding:4,borderRadius:"50%",boxShadow:(t.vars||t).shadows[1],margin:"11.5px 0"},e.variant==="filled"&&r1({borderColor:"transparent"},e.color!=="inherit"&&r1({},e.color==="grey"?{color:(t.vars||t).palette.grey[50],backgroundColor:(t.vars||t).palette.grey[400]}:{color:(t.vars||t).palette[e.color].contrastText,backgroundColor:(t.vars||t).palette[e.color].main})),e.variant==="outlined"&&r1({boxShadow:"none",backgroundColor:"transparent"},e.color!=="inherit"&&r1({},e.color==="grey"?{borderColor:(t.vars||t).palette.grey[400]}:{borderColor:(t.vars||t).palette[e.color].main})))),ci=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimelineDot"}),{className:o,color:i="grey",variant:s="filled"}=r,c=ve(r,oi),u=r1({},r,{color:i,variant:s}),p=ii(u);return n(si,r1({className:me(p.root,o),ownerState:u,ref:a},c))}),Rn=ci;function li(e){return pe("MuiTimelineConnector",e)}Q1("MuiTimelineConnector",["root"]);const di=["className"],ui=e=>{const{classes:t}=e;return ge({root:["root"]},li,t)},pi=h("span",{name:"MuiTimelineConnector",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({width:2,backgroundColor:(e.vars||e).palette.grey[400],flexGrow:1})),hi=d.forwardRef(function(t,a){const r=he({props:t,name:"MuiTimelineConnector"}),{className:o}=r,i=ve(r,di),s=r,c=ui(s);return n(pi,r1({className:me(c.root,o),ownerState:s,ref:a},i))}),w2=hi,mi=h(j1)(({theme:e})=>({marginTop:e.spacing(2),borderRadius:`${e.shape.borderRadiusLarge}px`})),gi=h(T)(({theme:e})=>({padding:e.spacing(2),marginBottom:`-${e.spacing(4)}`})),fi=h(En)(()=>({[`& .${Dn.root}:before`]:{flex:0,padding:0}})),vi=({state:e})=>{const t=r=>["Draft","In review","Approved","Applied"].map(i=>({title:i,active:i===r}));return n(mi,{elevation:0,children:n(gi,{children:n(fi,{children:(()=>{const r=t(e),o=r.findIndex(s=>s.active),i=o!==-1?o:null;return e==="Cancelled"?bi(r):yi(r,i)})()})})})},yi=(e,t)=>e.map(({title:a},r)=>{const o=r<e.length-1,i=n(x,{condition:o,show:n(w2,{})});return t!==null&&t>=r?Qe("success",a,i):t!==null&&t+1===r?Qe("primary",a,i,{variant:"outlined"}):Qe("grey",a,i)}),bi=e=>e.map(({title:t},a)=>{const r=a<e.length-1;return Qe("grey",t,n(x,{condition:r,show:n(w2,{})}))}),Qe=(e,t,a,r={})=>l(Je,{children:[l(Ye,{children:[n(Rn,{color:e,...r}),a]}),n(kn,{children:t})]},t),Ci=h(T)(({theme:e})=>({marginBottom:e.spacing(2)})),_i=({actualApprovals:e,minApprovals:t})=>l(Y,{children:["Reviewers"," ",l(Z,{component:"span",color:"text.secondary",children:["(",e,"/",t," required)"]})]}),xi=({header:e,children:t})=>l(j1,{elevation:0,sx:a=>({marginTop:a.spacing(2),padding:a.spacing(4),borderRadius:r=>`${r.shape.borderRadiusLarge}px`}),children:[n(Ci,{children:e}),n(Z,{variant:"body1",color:"text.secondary",children:n(x,{condition:Te.Children.count(t)>0,show:"Approved by",elseShow:"No approvals yet"})}),t]}),S2=()=>e=>e!=="color"&&e!=="sx"&&e!=="approved"&&e!=="border"&&e!=="bgColor"&&e!=="svgColor",se=h(T)(({theme:e})=>({display:"flex",alignItems:"center"})),wi=h(on)(({theme:e})=>({color:e.palette.error.main,height:"35px",width:"35px",marginRight:e.spacing(1)})),r3=h(on)(({theme:e})=>({color:e.palette.warning.main,height:"35px",width:"35px",marginRight:e.spacing(1)})),Xt=h(sn)(({theme:e})=>({color:e.palette.success.main,height:"35px",width:"35px",marginRight:e.spacing(1)})),Si=h(T)(({theme:e})=>({display:"flex",marginTop:e.spacing(2)})),Ti=h(T,{shouldForwardProp:S2()})(({theme:e,bgColor:t,svgColor:a})=>({borderRadius:`${e.shape.borderRadiusMedium}px`,backgroundColor:t,padding:e.spacing(1,2),marginRight:e.spacing(2),height:"45px",width:"45px",display:"flex",alignItems:"center",justifyContent:"center",svg:{color:a}})),Fn=h(V3)(({theme:e})=>({margin:e.spacing(2.5,0)})),Ai=h(T,{shouldForwardProp:S2()})(({theme:e,border:t})=>({borderRadius:`${e.shape.borderRadiusLarge}px`,border:t,padding:e.spacing(3),width:"100%"})),ce=h(Z,{shouldForwardProp:S2()})(({theme:e,color:t})=>({fontWeight:"bold",color:t})),Ei=(e,t)=>e==="Approved"?`2px solid ${t.palette.success.main}`:e==="Applied"?`2px solid ${t.palette.primary.main}`:`1px solid ${t.palette.divider}`,ki=(e,t)=>e==="Approved"?{bgColor:t.palette.success.main,svgColor:t.palette.background.paper}:e==="Applied"?{bgColor:t.palette.primary.main,svgColor:t.palette.background.paper}:{bgColor:t.palette.background.elevation2,svgColor:t.palette.neutral.main},Di=({changeRequest:e})=>{const t=p1();return l(Si,{children:[n(Ti,{...ki(e.state,t),children:n(H0,{style:{transform:"scale(1.5)"}})}),n(Ai,{sx:{backgroundColor:e.state==="In review"?t.palette.warning.light:"initial"},border:Ei(e.state,t),children:n(Ri,{changeRequest:e})})]})},Ri=({changeRequest:e})=>{const{state:t}=e;return t?t==="Approved"?n(Fi,{}):t==="Applied"?n(Zi,{}):t==="Cancelled"?n(Ii,{}):n(Pi,{minApprovals:e.minApprovals}):null},Fi=()=>{const e=p1();return l(Y,{children:[l(se,{children:[n(Xt,{}),l(T,{children:[n(ce,{color:e.palette.success.dark,children:"Changes approved"}),n(Z,{children:"One approving review from requested approvers"})]})]}),n(Fn,{}),l(se,{children:[n(Xt,{}),n(T,{children:n(ce,{color:e.palette.success.dark,children:"Changes are ready to be applied"})})]})]})},Pi=({minApprovals:e})=>{const t=p1();return l(Y,{children:[l(se,{children:[n(r3,{}),l(T,{children:[n(ce,{color:t.palette.warning.dark,children:"Review required"}),l(Z,{children:["At least ",e," approval(s) must be submitted before changes can be applied"]})]})]}),n(Fn,{}),l(se,{children:[n(r3,{}),n(ce,{color:t.palette.warning.dark,children:"Apply changes is blocked"})]})]})},Zi=()=>{const e=p1();return n(Y,{children:l(se,{children:[n(Xt,{sx:{color:e.palette.primary.main}}),n(T,{children:n(ce,{color:e.palette.primary.main,children:"Changes applied"})})]})})},Ii=()=>{const e=p1();return n(Y,{children:l(se,{children:[n(wi,{}),n(T,{children:n(ce,{color:e.palette.error.main,children:"Changes cancelled"})})]})})};var T2={},ji=De;Object.defineProperty(T2,"__esModule",{value:!0});var Pn=T2.default=void 0,Oi=ji(ke()),$i=Re,zi=(0,Oi.default)((0,$i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");Pn=T2.default=zi;const Bi=({disabled:e})=>{const{isAdmin:t}=d.useContext(X1),a=K("projectId"),r=K("id"),{user:o}=cn(),{refetchChangeRequest:i,data:s}=Tn(a,r),{refetch:c}=Ze(a),{setToastApiError:u,setToastData:p}=u1(),{changeState:m}=Fe(),[g,y]=Te.useState(!1),_=Te.useRef(null),C=async()=>{try{await m(a,Number(r),{state:"Approved"}),i(),c(),p({type:"success",title:"Success",text:"Changes approved"})}catch(f){u(m1(f))}},b=()=>{y(f=>!f)},R=f=>{_.current&&_.current.contains(f.target)||y(!1)};return l(Te.Fragment,{children:[n(p2,{variant:"contained",disabled:e||(s==null?void 0:s.createdBy.id)===(o==null?void 0:o.id)&&!t,"aria-controls":g?"review-options-menu":void 0,"aria-expanded":g?"true":void 0,"aria-label":"review changes","aria-haspopup":"menu",onClick:b,ref:_,endIcon:n(Pn,{}),permission:W0,projectId:a,environmentId:s==null?void 0:s.environment,children:"Review changes"}),n(Y3,{sx:{zIndex:1},open:g,anchorEl:_.current,role:void 0,transition:!0,disablePortal:!0,children:({TransitionProps:f,placement:F})=>n(N0,{...f,style:{transformOrigin:F==="bottom"?"center top":"center bottom"},children:n(j1,{className:"dropdown-outline",children:n(Q3,{onClickAway:R,children:n(mt,{id:"review-options-menu",autoFocusItem:!0,children:n(N1,{onClick:C,children:"Approve changes"})})})})})})]})},Vi=h(T)(({theme:e})=>({display:"flex",alignItems:"center",flexWrap:"wrap",marginTop:e.spacing(1.5),gap:e.spacing(1)})),Mi=h(sn)(({theme:e})=>({color:e.palette.success.main,marginLeft:"auto"})),Li=({name:e,imageUrl:t})=>l(Vi,{children:[n(An,{src:t}),n(Z,{variant:"body1",color:"text.primary",sx:{maxWidth:"170px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},children:e}),n(Mi,{})]});var Zn={},A2={},E2={};Object.defineProperty(E2,"__esModule",{value:!0});var Hi=d,Wi=Ni(Hi);function Ni(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}E2.default=function(e,t,a){return Wi.createElement("a",{href:e,key:a},t)};var k2={};Object.defineProperty(k2,"__esModule",{value:!0});k2.default=function(e){return e};var D2={},$t,o3;function qi(){return o3||(o3=1,$t=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),$t}var zt,i3;function Ui(){return i3||(i3=1,zt=/[\0-\x1F\x7F-\x9F]/),zt}var Bt,s3;function Gi(){return s3||(s3=1,Bt=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),Bt}var Vt,c3;function Ki(){return c3||(c3=1,Vt=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/),Vt}var Mt,l3;function Ji(){return l3||(l3=1,Mt=function(e){var t={};t.src_Any=qi().source,t.src_Cc=Ui().source,t.src_Z=Gi().source,t.src_P=Ki().source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");var a="[><|]";return t.src_pseudo_letter="(?:(?!"+a+"|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|"+a+"|"+t.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|"+a+`|[()[\\]{}.,"'?!\\-]).|\\[(?:(?!`+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-]).|\\.{2,4}[a-zA-Z0-9%/]|\\.(?!"+t.src_ZCc+"|[.]).|"+(e&&e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+"\\,(?!"+t.src_ZCc+").|\\!(?!"+t.src_ZCc+"|[!]).|\\?(?!"+t.src_ZCc+"|[?]).)+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy="(^|"+a+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}),Mt}function e2(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach(function(a){a&&Object.keys(a).forEach(function(r){e[r]=a[r]})}),e}function Tt(e){return Object.prototype.toString.call(e)}function Yi(e){return Tt(e)==="[object String]"}function Qi(e){return Tt(e)==="[object Object]"}function Xi(e){return Tt(e)==="[object RegExp]"}function d3(e){return Tt(e)==="[object Function]"}function es(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var In={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function ts(e){return Object.keys(e||{}).reduce(function(t,a){return t||In.hasOwnProperty(a)},!1)}var ns={"http:":{validate:function(e,t,a){var r=e.slice(t);return a.re.http||(a.re.http=new RegExp("^\\/\\/"+a.re.src_auth+a.re.src_host_port_strict+a.re.src_path,"i")),a.re.http.test(r)?r.match(a.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,a){var r=e.slice(t);return a.re.no_http||(a.re.no_http=new RegExp("^"+a.re.src_auth+"(?:localhost|(?:(?:"+a.re.src_domain+")\\.)+"+a.re.src_domain_root+")"+a.re.src_port+a.re.src_host_terminator+a.re.src_path,"i")),a.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(a.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,a){var r=e.slice(t);return a.re.mailto||(a.re.mailto=new RegExp("^"+a.re.src_email_name+"@"+a.re.src_host_strict,"i")),a.re.mailto.test(r)?r.match(a.re.mailto)[0].length:0}}},as="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",rs="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function os(e){e.__index__=-1,e.__text_cache__=""}function is(e){return function(t,a){var r=t.slice(a);return e.test(r)?r.match(e)[0].length:0}}function u3(){return function(e,t){t.normalize(e)}}function nt(e){var t=e.re=Ji()(e.__opts__),a=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||a.push(as),a.push(t.src_xn),t.src_tlds=a.join("|");function r(c){return c.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");var o=[];e.__compiled__={};function i(c,u){throw new Error('(LinkifyIt) Invalid schema "'+c+'": '+u)}Object.keys(e.__schemas__).forEach(function(c){var u=e.__schemas__[c];if(u!==null){var p={validate:null,link:null};if(e.__compiled__[c]=p,Qi(u)){Xi(u.validate)?p.validate=is(u.validate):d3(u.validate)?p.validate=u.validate:i(c,u),d3(u.normalize)?p.normalize=u.normalize:u.normalize?i(c,u):p.normalize=u3();return}if(Yi(u)){o.push(c);return}i(c,u)}}),o.forEach(function(c){e.__compiled__[e.__schemas__[c]]&&(e.__compiled__[c].validate=e.__compiled__[e.__schemas__[c]].validate,e.__compiled__[c].normalize=e.__compiled__[e.__schemas__[c]].normalize)}),e.__compiled__[""]={validate:null,normalize:u3()};var s=Object.keys(e.__compiled__).filter(function(c){return c.length>0&&e.__compiled__[c]}).map(es).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+s+")","ig"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),os(e)}function ss(e,t){var a=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(a,r);this.schema=e.__schema__.toLowerCase(),this.index=a+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function p3(e,t){var a=new ss(e,t);return e.__compiled__[a.schema].normalize(a,e),a}function _1(e,t){if(!(this instanceof _1))return new _1(e,t);t||ts(e)&&(t=e,e={}),this.__opts__=e2({},In,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=e2({},ns,e),this.__compiled__={},this.__tlds__=rs,this.__tlds_replaced__=!1,this.re={},nt(this)}_1.prototype.add=function(t,a){return this.__schemas__[t]=a,nt(this),this};_1.prototype.set=function(t){return this.__opts__=e2(this.__opts__,t),this};_1.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;var a,r,o,i,s,c,u,p,m;if(this.re.schema_test.test(t)){for(u=this.re.schema_search,u.lastIndex=0;(a=u.exec(t))!==null;)if(i=this.testSchemaAt(t,a[2],u.lastIndex),i){this.__schema__=a[2],this.__index__=a.index+a[1].length,this.__last_index__=a.index+a[0].length+i;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(p=t.search(this.re.host_fuzzy_test),p>=0&&(this.__index__<0||p<this.__index__)&&(r=t.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(s=r.index+r[1].length,(this.__index__<0||s<this.__index__)&&(this.__schema__="",this.__index__=s,this.__last_index__=r.index+r[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(m=t.indexOf("@"),m>=0&&(o=t.match(this.re.email_fuzzy))!==null&&(s=o.index+o[1].length,c=o.index+o[0].length,(this.__index__<0||s<this.__index__||s===this.__index__&&c>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=s,this.__last_index__=c))),this.__index__>=0};_1.prototype.pretest=function(t){return this.re.pretest.test(t)};_1.prototype.testSchemaAt=function(t,a,r){return this.__compiled__[a.toLowerCase()]?this.__compiled__[a.toLowerCase()].validate(t,r,this):0};_1.prototype.match=function(t){var a=0,r=[];this.__index__>=0&&this.__text_cache__===t&&(r.push(p3(this,a)),a=this.__last_index__);for(var o=a?t.slice(a):t;this.test(o);)r.push(p3(this,a)),o=o.slice(this.__last_index__),a+=this.__last_index__;return r.length?r:null};_1.prototype.tlds=function(t,a){return t=Array.isArray(t)?t:[t],a?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,o,i){return r!==i[o-1]}).reverse(),nt(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,nt(this),this)};_1.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};_1.prototype.onCompile=function(){};var cs=_1;const ls=["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cbs","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","etisalat","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","guardian","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerrylogistics","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kinder","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mutual","mv","mw","mx","my","mz","na","nab","nagoya","name","natura","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","northwesternmutual","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","pramerica","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocher","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volkswagen","volvo","vote","voting","voto","voyage","vu","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","اتصالات","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"];Object.defineProperty(D2,"__esModule",{value:!0});var ds=cs,us=jn(ds),ps=ls,hs=jn(ps);function jn(e){return e&&e.__esModule?e:{default:e}}var On=new us.default;On.tlds(hs.default);D2.default=function(e){return On.match(e)};var R2={};Object.defineProperty(R2,"__esModule",{value:!0});R2.default=function(e){return e};Object.defineProperty(A2,"__esModule",{value:!0});var ms=function(){function e(t,a){for(var r=0;r<a.length;r++){var o=a[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),gs=d,we=Ss(gs),fs=E2,vs=At(fs),ys=k2,bs=At(ys),Cs=D2,_s=At(Cs),xs=R2,ws=At(xs);function At(e){return e&&e.__esModule?e:{default:e}}function Ss(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}function Ts(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function As(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:e}function Es(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var $n=function(e){Es(t,e);function t(){return Ts(this,t),As(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ms(t,[{key:"parseString",value:function(r){var o=this;if(r==="")return r;var i=this.props.matchDecorator(r);if(!i)return r;var s=[],c=0;return i.forEach(function(u,p){u.index>c&&s.push(r.substring(c,u.index));var m=o.props.hrefDecorator(u.url),g=o.props.textDecorator(u.text),y=o.props.componentDecorator(m,g,p);s.push(y),c=u.lastIndex}),r.length>c&&s.push(r.substring(c)),s.length===1?s[0]:s}},{key:"parse",value:function(r){var o=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof r=="string"?this.parseString(r):we.isValidElement(r)&&r.type!=="a"&&r.type!=="button"?we.cloneElement(r,{key:i},this.parse(r.props.children)):Array.isArray(r)?r.map(function(s,c){return o.parse(s,c)}):r}},{key:"render",value:function(){return we.createElement(we.Fragment,null,this.parse(this.props.children))}}]),t}(we.Component);$n.defaultProps={componentDecorator:vs.default,hrefDecorator:bs.default,matchDecorator:_s.default,textDecorator:ws.default};A2.default=$n;Object.defineProperty(Zn,"__esModule",{value:!0});var ks=A2,Ds=Rs(ks);function Rs(e){return e&&e.__esModule?e:{default:e}}var Fs=Zn.default=Ds.default;const Ps=h(T)(({theme:e})=>({display:"flex",marginTop:e.spacing(2)})),Zs=h(j1)(({theme:e})=>({width:"100%",padding:e.spacing(1.5,3,2.5,3),backgroundColor:e.palette.neutral.light,borderRadius:e.shape.borderRadiusLarge,borderColor:e.palette.divider})),Is=h(T)(({theme:e})=>({display:"flex",borderBottom:"1px solid",borderColor:e.palette.divider,paddingBottom:e.spacing(1.5)})),js=({comment:e})=>l(Ps,{children:[n(Y1,{title:e.createdBy.username,children:n(q0,{src:e.createdBy.imageUrl})}),l(Zs,{variant:"outlined",children:[n(Is,{children:l(T,{children:[n("strong",{children:e.createdBy.username})," ",l(Z,{color:"text.secondary",component:"span",children:["commented"," ",n(u2,{minPeriod:60,date:new Date(e.createdAt)})]})]})}),n(T,{sx:{paddingTop:2.5},children:n(Fs,{children:e.text})})]})]}),Os=h(T)(({theme:e})=>({width:"30%",display:"flex",flexDirection:"column",[e.breakpoints.down("sm")]:{width:"100%"}})),$s=h(j1)(({theme:e})=>({marginTop:e.spacing(2),marginLeft:e.spacing(2),width:"70%",padding:e.spacing(1,2),borderRadius:e.shape.borderRadiusLarge,[e.breakpoints.down("sm")]:{marginLeft:0,width:"100%"}})),zs=h(T)(({theme:e})=>({marginTop:e.spacing(3),display:"flex",justifyContent:"flex-end"})),Bs=h(T)(({theme:e})=>({padding:e.spacing(2)})),Vs=h(T)(({theme:e})=>({display:"flex",[e.breakpoints.down("sm")]:{flexDirection:"column"}})),Ms=()=>{var V,H;const e=K("projectId"),[t,a]=d.useState(!1),{user:r}=cn(),{isAdmin:o}=d.useContext(X1),[i,s]=d.useState(""),c=K("id"),{data:u,refetchChangeRequest:p}=Tn(e,c),{changeState:m,addComment:g,loading:y}=Fe(),{refetch:_}=Ze(e),{setToastData:C,setToastApiError:b}=u1(),{isChangeRequestConfiguredForReview:R}=Pe(e);if(!u)return null;const f=R(u.environment),F=async()=>{try{await m(e,Number(c),{state:"Applied"}),p(),_(),C({type:"success",title:"Success",text:"Changes applied"})}catch(B){b(m1(B))}},E=async()=>{try{await g(e,c,i),s(""),p(),C({type:"success",title:"Success",text:"Comment added"})}catch(B){b(m1(B))}},O=async()=>{try{await m(e,Number(c),{state:"Cancelled"}),a(!1),p(),_(),C({type:"success",title:"Success",text:"Changes cancelled"})}catch(B){b(m1(B))}},M=()=>a(!0),S=()=>a(!1),I=(u==null?void 0:u.createdBy.id)===(r==null?void 0:r.id)&&u.state==="In review"&&!o,j=u.approvals.some(B=>B.createdBy.id===(r==null?void 0:r.id));return l(Y,{children:[n(P4,{changeRequest:u}),l(Vs,{children:[l(Os,{children:[n(vi,{state:u.state}),n(xi,{header:n(_i,{actualApprovals:u.approvals.length,minApprovals:u.minApprovals}),children:(V=u.approvals)==null?void 0:V.map(B=>n(Li,{name:B.createdBy.username||"Unknown user",imageUrl:B.createdBy.imageUrl},B.createdBy.username))})]}),n($s,{elevation:0,children:l(Bs,{children:["Requested Changes (",U0(u),")",n(G0,{changeRequest:u,onRefetch:p}),(H=u.comments)==null?void 0:H.map(B=>n(js,{comment:B},B.id)),n(K0,{user:r,commentText:i,onTypeComment:s,children:n(d1,{variant:"outlined",onClick:E,disabled:!f||i.trim().length===0||i.trim().length>1e3,children:"Comment"})}),n(x,{condition:I,show:n(w1,{sx:B=>({marginTop:B.spacing(1.5)}),severity:"info",children:"You can not approve your own change request"})}),n(Di,{changeRequest:u}),l(zs,{children:[n(x,{condition:u.state==="In review"&&!j,show:n(Bi,{disabled:!f})}),n(x,{condition:u.state==="Approved",show:n(p2,{variant:"contained",onClick:F,projectId:e,permission:J0,environmentId:u.environment,disabled:!f||y,children:"Apply changes"})}),n(x,{condition:u.state!=="Applied"&&u.state!=="Cancelled"&&(u.createdBy.id===(r==null?void 0:r.id)||o),show:n(d1,{sx:{marginLeft:B=>B.spacing(2)},variant:"outlined",onClick:M,children:"Cancel changes"})})]})]})}),l(G1,{open:t,onClick:O,onClose:S,title:"Cancel change request",children:[n(Z,{sx:{marginBottom:2},children:"You are about to cancel this change request"}),n(Z,{variant:"body2",sx:B=>({color:B.palette.neutral.dark}),children:"The change request will be moved to closed, and it can't be applied anymore. Once cancelled, the change request can't be reopened."})]})]})]})},Ls=({value:e})=>{const t=()=>e?n(rn,{state:e}):null;return e?n(s1,{children:t()}):n(s1,{})},Hs=h("div")(({theme:e})=>({display:"flex",flexDirection:"row",alignItems:"center",margin:0})),Ws=({value:e})=>n(s1,{children:n(Hs,{children:l(Z,{component:"span",variant:"body2",children:[" ",e==null?void 0:e.username]})})}),Ns=h("div")(({theme:e})=>({display:"flex",flexDirection:"row",margin:0})),qs=({value:e,row:{original:t}})=>{const a=K("projectId"),{id:r,title:o,features:i}=t,s=`/projects/${a}/change-requests/${r}`;return e?l(s1,{sx:{minWidth:"200px"},children:[n(Ns,{children:n(Z,{variant:"body2",children:n(l2,{component:D1,underline:"hover",to:s,sx:c=>({paddingTop:c.spacing(.2),marginRight:c.spacing(1),"&:hover":{textDecoration:"underline"}}),children:o})})}),l("span",{children:[`${i==null?void 0:i.length}`," ",i.length<=1?"update":"updates"]})]}):n(s1,{})},Us=M3()(e=>({header:{padding:e.spacing(0,4)},bodyClass:{padding:e.spacing(4),overflowX:"auto"}})),Gs=h(T)(({theme:e})=>({display:"flex",flexDirection:"column",width:"300px",padding:e.spacing(1,0,1,2)})),Ks=h(D1)(({theme:e})=>({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textDecoration:"none","&:hover, &:focus":{textDecoration:"underline"}})),Js=h(D1)(({theme:e})=>({textDecoration:"none","&:hover, &:focus":{textDecoration:"underline"}})),Ys=h(T)(({theme:e})=>({display:"flex",flexDirection:"column",fontSize:e.fontSizes.smallBody,width:"100%",whiteSpace:"nowrap"})),Qs=({value:e,project:t})=>{const a=e==null?void 0:e.map(r=>r.name);return n(Gs,{children:n(x,{condition:(a==null?void 0:a.length)<3,show:a==null?void 0:a.map(r=>n(Ks,{title:r,to:`/projects/${t}/features/${r}`,children:r})),elseShow:l(Y0,{tooltipProps:{maxWidth:"800px"},tooltip:n(Ys,{children:a==null?void 0:a.map(r=>n(Js,{title:r,to:`/projects/${t}/features/${r}`,children:r}))}),children:[a==null?void 0:a.length," toggles"]})})})},Xs={id:"createdAt"},e5=h("div")({paddingLeft:0,paddingBottom:0}),t5=h(Xe)(({theme:e})=>({textTransform:"none",width:"auto",fontSize:e.fontSizes.bodySize,[e.breakpoints.up("md")]:{minWidth:160}})),n5=({changeRequests:e=[],loading:t,projectId:a})=>{var U,v;const{classes:r}=Us(),o=y1(Q0.breakpoints.down("md")),[i,s]=d2(),[c,u]=d.useState(i.get("search")||""),{value:p,setValue:m}=pt(`${a}:ProjectChangeRequest`,Xs),[g,y]=d.useMemo(()=>{const w=e.filter(P=>P.state!=="Cancelled"&&P.state!=="Applied"),$=e.filter(P=>P.state==="Cancelled"||P.state==="Applied");return[w,$]},[e]),_=[{title:"Change requests",data:g},{title:"Closed",data:y}],[C,b]=d.useState(0),R=d.useMemo(()=>[{id:"Title",Header:"Title",width:100,canSort:!0,accessor:"title",searchable:!0,Cell:qs},{id:"Updated feature toggles",Header:"Updated feature toggles",canSort:!1,accessor:"features",Cell:({value:w,row:{original:{title:$}}})=>n(Qs,{project:a,value:w},$)},{Header:"By",accessor:"createdBy",maxWidth:180,canSort:!1,Cell:Ws,align:"left"},{Header:"Submitted",accessor:"createdAt",searchable:!0,maxWidth:100,Cell:et,sortType:"alphanumeric"},{Header:"Environment",accessor:"environment",searchable:!0,maxWidth:100,Cell:s1},{Header:"Status",accessor:"state",searchable:!0,maxWidth:"170px",Cell:Ls}],[a]),{data:f,getSearchText:F,getSearchContext:E}=yt(R,c,(U=_[C])==null?void 0:U.data),O=d.useMemo(()=>t?X0:f,[f,t]),[M]=d.useState(()=>({sortBy:[{id:i.get("sort")||p.id,desc:i.has("order")?i.get("order")==="desc":p.desc}],hiddenColumns:[]})),{headerGroups:S,rows:I,state:{sortBy:j},prepareRow:V,setHiddenColumns:H,getTableProps:B,getTableBodyProps:Q}=t1.useTable({columns:R,data:O,initialState:M,sortTypes:Ie,autoResetHiddenColumns:!1,disableSortRemove:!0,autoResetSortBy:!1,defaultColumn:{Cell:s1}},t1.useSortBy);return Ct([{condition:o,columns:["createdBy"]}],H,R),d.useEffect(()=>{if(t)return;const w={};w.sort=j[0].id,j[0].desc&&(w.order="desc"),c&&(w.search=c),s(w,{replace:!0}),m($=>({...$,id:j[0].id,desc:j[0].desc||!1}))},[t,j,c,s]),l(l1,{isLoading:t,bodyClass:r.bodyClass,headerClass:r.header,header:n(o1,{titleElement:n(e5,{children:n(h2,{value:(v=_[C])==null?void 0:v.title,indicatorColor:"primary",textColor:"primary",variant:"scrollable",allowScrollButtonsMobile:!0,children:_.map((w,$)=>n(t5,{label:`${w.title} (${w.data.length})`,value:w.title,onClick:()=>b($)},w.title))})}),actions:n(k1,{initialValue:c,onChange:u,hasFilters:!0,getSearchContext:E})}),children:[n(ue,{value:F(c),children:l(it,{...B(),children:[n(st,{headerGroups:S}),n(ct,{...Q(),children:I.map(w=>(V(w),n(lt,{hover:!0,...w.getRowProps(),children:w.cells.map($=>n(dt,{...$.getCellProps(),padding:"none",children:$.render("Cell")}))})))})]})}),n(x,{condition:I.length===0,show:()=>n(x,{condition:(c==null?void 0:c.length)>0,show:l(C1,{children:["No changes found matching “",c,"”"]}),elseShow:n(C1,{children:"None of the changes were submitted yet."})})})]})},a5=()=>{const e=K("projectId"),t=R1(e),{isOss:a,isPro:r}=b1();S1(`Change requests – ${t}`);const{changeRequests:o,loading:i}=_n(e);return a()||r()?n(l1,{sx:{justifyContent:"center"},children:n(xt,{feature:"change-requests"})}):n(n5,{changeRequests:o,projectId:e,loading:i})};var G=(e=>(e.USER="USERS",e.GROUP="GROUPS",e.SERVICE_ACCOUNT="SERVICE ACCOUNTS",e))(G||{});const $e=(e,t={})=>{const a=K1(`api/admin/projects/${e}/access`),r=()=>fetch(a,{method:"GET"}).then(J1("project access")).then(g=>g.json()),o=`api/admin/projects/${e}/users`,{data:i,error:s}=de(o,r,t),[c,u]=d.useState(!s&&!i),p=()=>{X3(o)};return d.useEffect(()=>{u(!s&&!i)},[i,s]),{access:d.useMemo(()=>{if(i)return r5({roles:i.roles,users:i.users.filter(({accountType:g})=>!g||g==="User"),serviceAccounts:i.users.filter(({accountType:g})=>g==="Service Account"),groups:(i==null?void 0:i.groups.map(g=>({...g,users:Ja(g.users??[])})))??[]})},[i]),error:s,loading:c,refetchProjectAccess:p}},r5=e=>{const t=e.users||[],a=e.serviceAccounts||[],r=e.groups||[];return{...e,rows:[...t.map(o=>({entity:o,type:"USERS"})),...a.map(o=>({entity:o,type:"SERVICE ACCOUNTS"})),...r.map(o=>({entity:o,type:"GROUPS"}))]}},o5=h(l1)(({theme:e})=>({height:"100vh",overflow:"auto",padding:e.spacing(7.5,6),[e.breakpoints.down("md")]:{padding:e.spacing(4,2)},"& .header":{padding:e.spacing(0,0,2,0)},"& .body":{padding:e.spacing(3,0,0,0)},borderRadius:`${e.spacing(1.5,0,0,1.5)} !important`})),i5=h("div")(({theme:e})=>({display:"flex",flexDirection:"column","& > span":{color:e.palette.text.secondary,fontSize:e.fontSizes.bodySize}})),h3={id:"joinedAt"},Lt=[{Header:"Avatar",accessor:"imageUrl",Cell:({row:{original:e}})=>n(s1,{children:n(g2,{user:e})}),maxWidth:85,disableSortBy:!0},{id:"name",Header:"Name",accessor:e=>e.name||"",Cell:Ae,minWidth:100,searchable:!0},{id:"username",Header:"Username",accessor:e=>e.username||e.email,Cell:Ae,minWidth:100,searchable:!0},{id:"joined",Header:"Joined",accessor:"joinedAt",Cell:vt,sortType:"date",maxWidth:150},{id:"lastLogin",Header:"Last login",accessor:e=>e.seenAt||"",Cell:({row:{original:e}})=>n(et,{value:e.seenAt,emptyText:"Never",title:t=>`Last login: ${t}`}),sortType:"date",maxWidth:150}],s5=["imageUrl","name","joined","lastLogin"],c5=({open:e,setOpen:t,group:a,projectId:r,subtitle:o,onEdit:i,onRemove:s})=>{const c=p1(),u=y1(c.breakpoints.down("md")),[p]=d.useState(()=>({sortBy:[{id:h3.id,desc:h3.desc}]})),[m,g]=d.useState(""),{data:y,getSearchText:_,getSearchContext:C}=yt(Lt,m,(a==null?void 0:a.users)??[]),{headerGroups:b,rows:R,prepareRow:f,setHiddenColumns:F}=t1.useTable({columns:Lt,data:y,initialState:p,sortTypes:Ie,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},t1.useSortBy,t1.useFlexLayout);return Ct([{condition:u,columns:s5}],F,Lt),n(U1,{open:e,onClose:()=>{t(!1)},label:(a==null?void 0:a.name)||"Group",children:l(o5,{header:n(o1,{secondary:!0,titleElement:l(i5,{children:[a==null?void 0:a.name," (",R.length<y.length?`${R.length} of ${y.length}`:y.length,")",n("span",{children:o})]}),actions:l(Y,{children:[n(x,{condition:!u,show:l(Y,{children:[n(k1,{initialValue:m,onChange:g,hasFilters:!0,getSearchContext:C}),n(o1.Divider,{})]})}),n(V1,{permission:E1,projectId:r,tooltipProps:{title:"Edit group access"},onClick:i,children:n(wt,{})}),n(V1,{permission:E1,projectId:r,tooltipProps:{title:"Remove group access"},onClick:s,children:n(m2,{})})]}),children:n(x,{condition:u,show:n(k1,{initialValue:m,onChange:g,hasFilters:!0,getSearchContext:C})})}),children:[n(ue,{value:_(m),children:n(bt,{rows:R,headerGroups:b,prepareRow:f})}),n(x,{condition:R.length===0,show:n(x,{condition:(m==null?void 0:m.length)>0,show:l(C1,{children:["No users found matching “",m,"” in this group."]}),elseShow:n(C1,{children:"This group is empty. Get started by adding a user to the group."})})})]})})},l5=h("div")(({theme:e})=>({display:"flex",flexDirection:"column","& > span:last-of-type":{fontSize:e.fontSizes.smallerBody,color:e.palette.text.secondary}})),d5=({value:e,setValue:t,required:a,roles:r,...o})=>l(Y,{children:[n(ln,{openOnFocus:!0,size:"small",value:e,onChange:(s,c)=>t(c||null),options:r,renderOption:(s,c)=>n("li",{...s,children:l(l5,{children:[n("span",{children:c.name}),n("span",{children:c.description})]})}),getOptionLabel:s=>s.name,renderInput:s=>n(f2,{...s,label:"Role",required:a}),...o}),n(x,{condition:!!e,show:()=>n(ea,{sx:{marginTop:1},roleId:e.id})})]}),u5=h("form")(()=>({display:"flex",flexDirection:"column",height:"100%"})),m3=h("p")(({theme:e})=>({color:e.palette.text.secondary,marginBottom:e.spacing(1)})),g3=h("div")(({theme:e})=>({"& > div:first-of-type":{width:"100%",maxWidth:e.spacing(50),marginBottom:e.spacing(2)}})),p5=h("div")(({theme:e})=>({marginTop:e.spacing(6),display:"flex",justifyContent:"flex-end"})),h5=h(d1)(({theme:e})=>({marginLeft:e.spacing(3)})),m5=h("div")(({theme:e})=>({display:"flex",flexDirection:"column","& > span:last-of-type":{color:e.palette.text.secondary}})),g5=h("div")(({theme:e})=>({display:"flex",flexDirection:"column","& > span:first-of-type":{color:e.palette.text.secondary}})),F2=({selected:e,accesses:t,users:a,serviceAccounts:r,groups:o,roles:i})=>{const{uiConfig:s}=b1(),{flags:c}=s,u=c.UG?"user / group":"user",p=K("projectId"),{refetchProjectAccess:m}=$e(p),{addAccessToProject:g,changeUserRole:y,changeGroupRole:_,loading:C}=ut(),b=!!e,{setToastData:R,setToastApiError:f}=u1(),F=I1(),E=[...o.filter(v=>b||!t.some(({entity:{id:w},type:$})=>v.id===w&&$===G.GROUP)).map(v=>({id:v.id,entity:v,type:G.GROUP})),...a.filter(v=>b||!t.some(({entity:{id:w},type:$})=>v.id===w&&$===G.USER)).sort((v,w)=>{const $=v.name||v.username||"",P=w.name||w.username||"";return $.localeCompare(P)}).map(v=>({id:v.id,entity:v,type:G.USER})),...r.filter(v=>b||!t.some(({entity:{id:w},type:$})=>v.id===w&&$===G.SERVICE_ACCOUNT)).sort((v,w)=>{const $=v.name||v.username||"",P=w.name||w.username||"";return $.localeCompare(P)}).map(v=>({id:v.id,entity:v,type:G.SERVICE_ACCOUNT}))],[O,M]=d.useState(()=>E.filter(({id:v,type:w})=>v===(e==null?void 0:e.entity.id)&&w===(e==null?void 0:e.type))),[S,I]=d.useState(i.find(({id:v})=>v===(e==null?void 0:e.entity.roleId))??null),j={users:O==null?void 0:O.filter(({type:v})=>v===G.USER||v===G.SERVICE_ACCOUNT).map(({id:v})=>({id:v})),groups:O==null?void 0:O.filter(({type:v})=>v===G.GROUP).map(({id:v})=>({id:v}))},V=async v=>{if(v.preventDefault(),!!U)try{b?(e==null?void 0:e.type)===G.USER||(e==null?void 0:e.type)===G.SERVICE_ACCOUNT?await y(p,S.id,e.entity.id):(e==null?void 0:e.type)===G.GROUP&&await _(p,S.id,e.entity.id):await g(p,S.id,j),m(),F(M1),R({title:`${O.length} ${O.length===1?"access":"accesses"} ${b?"edited":"assigned"} successfully`,type:"success"})}catch(w){f(m1(w))}},H=()=>b?`curl --location --request ${b?"PUT":"POST"} '${s.unleashUrl}/api/admin/projects/${p}/${(e==null?void 0:e.type)===G.USER||(e==null?void 0:e.type)===G.SERVICE_ACCOUNT?"users":"groups"}/${e==null?void 0:e.entity.id}/roles/${S==null?void 0:S.id}' \\
3
- --header 'Authorization: INSERT_API_KEY'`:`curl --location --request ${b?"PUT":"POST"} '${s.unleashUrl}/api/admin/projects/${p}/role/${S==null?void 0:S.id}/access' \\
4
- --header 'Authorization: INSERT_API_KEY' \\
5
- --header 'Content-Type: application/json' \\
6
- --data-raw '${JSON.stringify(j,void 0,2)}'`,B=v=>{if(v&&v.rootRole)return"This group has an Admin or Editor role associated with it. Groups with a root role association cannot be assigned to projects, and users in this group already have the role applied globally."},Q=(v,w,$)=>{let P,W;return w.type===G.GROUP?P=w.entity:W=w.entity,n(Y1,{title:B(P),children:n("span",{children:l("li",{...v,children:[n(c2,{icon:n(oa,{fontSize:"small"}),checkedIcon:n(ia,{fontSize:"small"}),style:{marginRight:8},checked:$}),n(x,{condition:w.type===G.GROUP,show:n("span",{children:l(m5,{children:[n("span",{children:P==null?void 0:P.name}),l("span",{children:[P==null?void 0:P.userCount," users"]})]})}),elseShow:l(g5,{children:[n("span",{children:(W==null?void 0:W.name)||(W==null?void 0:W.username)}),n("span",{children:W!=null&&W.name&&(W!=null&&W.username)?W==null?void 0:W.username:W==null?void 0:W.email})]})})]})})})},U=O.length>0&&S;return n(U1,{open:!0,onClose:()=>F(M1),label:`${b?"Edit":"Assign"} ${u} access`,children:n(dn,{loading:C,modal:!0,title:`${b?"Edit":"Assign"} ${u} access`,description:"Custom project roles allow you to fine-tune access rights and permissions within your projects.",documentationLink:"https://docs.getunleash.io/how-to/how-to-create-and-assign-custom-project-roles",documentationLinkLabel:"Project access documentation",formatApiCode:H,children:l(u5,{onSubmit:V,children:[l("div",{children:[l(m3,{"data-testid":ta,children:["Select the ",u]}),n(g3,{children:n(ln,{"data-testid":na,size:"small",multiple:!0,openOnFocus:!0,limitTags:10,disableCloseOnSelect:!0,disabled:b,value:O,getOptionDisabled:v=>v.type===G.GROUP?!!v.entity.rootRole:!1,onChange:(v,w,$)=>{v.type==="keydown"&&v.key==="Backspace"&&$==="removeOption"||M(w)},options:E,groupBy:v=>v.type,renderOption:(v,w,{selected:$})=>Q(v,w,$),getOptionLabel:v=>{if(v.type===G.USER||v.type===G.SERVICE_ACCOUNT){const w=v.entity;return w.email||w.name||w.username||""}else return v.entity.name},filterOptions:(v,{inputValue:w})=>v.filter($=>{if($.type===G.USER||$.type===G.SERVICE_ACCOUNT){const P=$.entity;return We(w,P.email)||We(w,P.name)||We(w,P.username)}return We(w,$.entity.name)}),isOptionEqualToValue:(v,w)=>v.type===w.type&&v.entity.id===w.entity.id,renderInput:v=>n(f2,{...v,label:O1(u)})})}),n(m3,{children:"Select the role to assign for this project"}),n(g3,{children:n(d5,{"data-testid":aa,roles:i,value:S,setValue:v=>I(v||null)})})]}),l(p5,{children:[n(d1,{"data-testid":ra,type:"submit",variant:"contained",color:"primary",disabled:!U,children:b?"Save":`Assign ${u}`}),n(h5,{onClick:()=>F(M1),children:"Cancel"})]})]})})})},P2=()=>{var r,o;const{data:e,error:t,mutate:a}=de(K1("api/admin/user-admin/access"),f5);return{users:(r=e==null?void 0:e.users)==null?void 0:r.filter(({accountType:i})=>!i||i==="User"),serviceAccounts:(o=e==null?void 0:e.users)==null?void 0:o.filter(({accountType:i})=>i==="Service Account"),groups:e==null?void 0:e.groups,loading:!t&&!e,refetch:()=>a(),error:t}},f5=e=>fetch(e).then(J1("Access")).then(t=>t.json()),v5=()=>{const e=K("projectId"),{access:t}=$e(e),{users:a,serviceAccounts:r,groups:o}=P2();return!t||!a||!r||!o?null:n(F2,{accesses:t.rows,users:a,serviceAccounts:r,groups:o,roles:t.roles})},y5=()=>{const e=K("projectId"),t=K("userId"),{access:a}=$e(e),{users:r,serviceAccounts:o,groups:i}=P2();if(!a||!r||!o||!i)return null;const s=a.rows.find(c=>c.entity.id===Number(t)&&c.type!==G.GROUP);return n(F2,{accesses:a.rows,selected:s,users:r,serviceAccounts:o,groups:i,roles:a.roles})},b5=()=>{const e=K("projectId"),t=K("groupId"),{access:a}=$e(e),{users:r,serviceAccounts:o,groups:i}=P2();if(!a||!r||!o||!i)return null;const s=a.rows.find(c=>c.entity.id===Number(t)&&c.type===G.GROUP);return n(F2,{accesses:a.rows,selected:s,users:r,serviceAccounts:o,groups:i,roles:a.roles})},C5={id:"added"},{value:f3,setValue:_5}=pt("ProjectAccess:v1",C5),x5=h("div")(({theme:e})=>({display:"inline-flex",alignItems:"center",flexWrap:"wrap",marginLeft:e.spacing(1)})),w5=h(g2)(({theme:e})=>({marginRight:e.spacing(-3.5)})),S5=h(g2)(({theme:e})=>({outline:`${e.spacing(.25)} solid ${e.palette.background.paper}`})),T5=["imageUrl","role","added","lastLogin"],A5=["lastLogin","added"],E5=()=>{var W;const e=K("projectId"),{uiConfig:t}=b1(),{flags:a}=t,r=a.UG?"user / group":"user",o=I1(),i=p1(),s=y1(i.breakpoints.down("md")),c=y1(i.breakpoints.down("lg")),{setToastData:u}=u1(),{access:p,refetchProjectAccess:m}=$e(e),{removeUserFromRole:g,removeGroupFromRole:y}=ut(),[_,C]=d.useState(!1),[b,R]=d.useState(!1),[f,F]=d.useState(),E=d.useMemo(()=>[{Header:"Avatar",accessor:"imageUrl",Cell:({row:{original:k}})=>{var N;return l(x5,{children:[n(x,{condition:k.type===G.GROUP,show:n(w5,{})}),n(S5,{user:k.entity,children:(N=k.entity.users)==null?void 0:N.length})]})},maxWidth:85,disableSortBy:!0},{id:"name",Header:"Name",accessor:k=>k.entity.name||"",Cell:({value:k,row:{original:N}})=>{var c1,g1,f1;return n(x,{condition:N.type===G.GROUP,show:n(U3,{onClick:()=>{F(N),R(!0)},title:k,subtitle:`${(c1=N.entity.users)==null?void 0:c1.length} users`}),elseShow:n(Ae,{value:k,subtitle:((g1=N.entity)==null?void 0:g1.username)||((f1=N.entity)==null?void 0:f1.email)})})},minWidth:100,searchable:!0},{id:"username",Header:"Username",accessor:k=>{if(k.type!==G.GROUP){const N=k.entity;return N.username||N.email}return""},Cell:Ae,minWidth:100,searchable:!0},{id:"role",Header:"Role",accessor:k=>{var N;return(N=p==null?void 0:p.roles.find(({id:c1})=>c1===k.entity.roleId))==null?void 0:N.name},Cell:({value:k,row:{original:N}})=>n(Ya,{roleId:N.entity.roleId,value:k}),maxWidth:125,filterName:"role"},{id:"added",Header:"Added",accessor:k=>k.entity.addedAt||"",Cell:({value:k})=>n(et,{value:k,emptyText:"Never"}),sortType:"date",maxWidth:130},{id:"lastLogin",Header:"Last login",accessor:k=>k.type!==G.GROUP?k.entity.seenAt||"":k.entity.users.map(({seenAt:c1})=>c1).sort().reverse()[0],Cell:({value:k})=>n(et,{value:k,emptyText:"Never"}),sortType:"date",maxWidth:130},{id:"actions",Header:"Actions",disableSortBy:!0,align:"center",maxWidth:150,Cell:({row:{original:k}})=>l(i2,{children:[n(V1,{"data-testid":sa,component:D1,permission:E1,projectId:e,to:`edit/${k.type===G.GROUP?"group":"user"}/${k.entity.id}`,disabled:(p==null?void 0:p.rows.length)===1,tooltipProps:{title:(p==null?void 0:p.rows.length)===1?"Cannot edit access. A project must have at least one owner":"Edit access"},children:n(wt,{})}),n(V1,{"data-testid":ca,permission:E1,projectId:e,onClick:()=>{F(k),C(!0)},disabled:(p==null?void 0:p.rows.length)===1,tooltipProps:{title:(p==null?void 0:p.rows.length)===1?"Cannot remove access. A project must have at least one owner":"Remove access"},children:n(m2,{})})]})}],[p,e]),[O,M]=d2(),[S]=d.useState(()=>({sortBy:[{id:O.get("sort")||f3.id,desc:O.has("order")?O.get("order")==="desc":f3.desc}],globalFilter:O.get("search")||""})),[I,j]=d.useState(S.globalFilter),{data:V,getSearchText:H,getSearchContext:B}=yt(E,I,(p==null?void 0:p.rows)??[]),{headerGroups:Q,rows:U,prepareRow:v,setHiddenColumns:w,state:{sortBy:$}}=t1.useTable({columns:E,data:V,initialState:S,sortTypes:Ie,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:s1}},t1.useSortBy,t1.useFlexLayout);Ct([{condition:s,columns:T5},{condition:c,columns:A5}],w,E),d.useEffect(()=>{const k={};k.sort=$[0].id,$[0].desc&&(k.order="desc"),I&&(k.search=I),M(k,{replace:!0}),_5({id:$[0].id,desc:$[0].desc||!1})},[$,I,M]);const P=async k=>{if(!k)return;const{id:N,roleId:c1}=k.entity;let g1=k.entity.name;if(k.type!==G.GROUP){const f1=k.entity;g1=g1||f1.email||f1.username||""}try{k.type!==G.GROUP?await g(e,c1,N):await y(e,c1,N),m(),u({type:"success",title:`${g1||`The ${r}`} has been removed from project`})}catch(f1){u({type:"error",title:f1.message||`Server problems when removing ${r}.`})}C(!1)};return l(l1,{header:n(o1,{secondary:!0,title:`Access (${U.length<V.length?`${U.length} of ${V.length}`:V.length})`,actions:l(Y,{children:[n(x,{condition:!s,show:l(Y,{children:[n(k1,{initialValue:I,onChange:j,hasFilters:!0,getSearchContext:B}),n(o1.Divider,{})]})}),l(W3,{onClick:()=>o("create"),maxWidth:"700px",Icon:G3,permission:E1,projectId:e,"data-testid":la,children:["Assign ",r]})]}),children:n(x,{condition:s,show:n(k1,{initialValue:I,onChange:j,hasFilters:!0,getSearchContext:B})})}),children:[n(ue,{value:H(I),children:n(bt,{rows:U,headerGroups:Q,prepareRow:v})}),n(x,{condition:U.length===0,show:n(x,{condition:(I==null?void 0:I.length)>0,show:l(C1,{children:["No access found matching “",I,"”"]}),elseShow:l(C1,{children:["No access available. Get started by assigning a"," ",r,"."]})})}),l(fe,{children:[n(X,{path:"create",element:n(v5,{})}),n(X,{path:"edit/group/:groupId",element:n(b5,{})}),n(X,{path:"edit/user/:userId",element:n(y5,{})})]}),n(G1,{open:_,onClick:()=>P(f),onClose:()=>{C(!1)},title:`Really remove ${r} from this project?`}),n(c5,{open:b,setOpen:R,group:f==null?void 0:f.entity,projectId:e,subtitle:`Role: ${(W=p==null?void 0:p.roles.find(({id:k})=>k===(f==null?void 0:f.entity.roleId)))==null?void 0:W.name}`,onEdit:()=>{o(`edit/group/${f==null?void 0:f.entity.id}`)},onRemove:()=>{R(!1),C(!0)}})]})},k5=()=>{const e=K("projectId"),t=R1(e),{hasAccess:a}=d.useContext(X1),{isOss:r}=b1();return S1(`Project access – ${t}`),r()?n(l1,{header:n(o1,{title:"Access"}),sx:{justifyContent:"center"},children:n(xt,{feature:"access"})}):a(E1,e)?n(E5,{}):n(l1,{header:n(o1,{title:"Access"}),children:n(w1,{severity:"error",children:"You need project owner permissions to access this section."})})},D5=e=>d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:860,height:298,fill:"none",...e},d.createElement("rect",{width:860,height:298,fill:"#F2F2F5",rx:12}),d.createElement("rect",{width:109,height:23,x:515.5,y:114.5,fill:"#F4FAEB",rx:3.5}),d.createElement("g",{clipPath:"url(#a)"},d.createElement("path",{fill:"#68A611",d:"m537.75 129.128-2.603-2.603a.747.747 0 1 0-1.057 1.058l3.135 3.135a.747.747 0 0 0 1.057 0l7.935-7.935a.747.747 0 1 0-1.057-1.058l-7.41 7.403Z"})),d.createElement("path",{fill:"#3B6600",d:"m557.639 122.09 3.656 7.91h-1.91l-.598-1.465h-3.105l-.598 1.465h-1.91l3.656-7.91h.809Zm-.399 2.66-.984 2.402h1.969l-.985-2.402Zm8.473-.82c.469 0 .902.121 1.301.363.406.234.73.582.972 1.043.25.453.375 1.008.375 1.664 0 .656-.125 1.223-.375 1.699a2.675 2.675 0 0 1-.996 1.102c-.414.25-.875.375-1.383.375-.328 0-.656-.078-.984-.235a2.799 2.799 0 0 1-.809-.609v3.48h-1.488v-8.73h1.488v.996c.172-.32.422-.59.75-.808a1.97 1.97 0 0 1 1.149-.34Zm-.375 1.488c-.266 0-.516.07-.75.211a1.557 1.557 0 0 0-.574.574c-.141.25-.207.551-.2.902v.856c.211.219.438.402.68.551.25.14.52.211.809.211.304 0 .57-.082.797-.246.226-.165.402-.375.527-.633.125-.266.187-.547.187-.844 0-.445-.136-.82-.41-1.125-.265-.305-.621-.457-1.066-.457Zm7.828-1.488c.469 0 .902.121 1.301.363.406.234.73.582.972 1.043.25.453.375 1.008.375 1.664 0 .656-.125 1.223-.375 1.699a2.675 2.675 0 0 1-.996 1.102c-.414.25-.875.375-1.382.375-.329 0-.657-.078-.985-.235a2.78 2.78 0 0 1-.808-.609v3.48h-1.489v-8.73h1.489v.996c.171-.32.421-.59.75-.808.328-.227.711-.34 1.148-.34Zm-.375 1.488c-.266 0-.516.07-.75.211a1.557 1.557 0 0 0-.574.574c-.141.25-.207.551-.199.902v.856c.211.219.437.402.679.551.25.14.52.211.809.211.305 0 .57-.082.797-.246.226-.165.402-.375.527-.633a1.96 1.96 0 0 0 .188-.844c0-.445-.137-.82-.411-1.125-.265-.305-.621-.457-1.066-.457Zm8.168.328a1.576 1.576 0 0 0-.785-.211 1.16 1.16 0 0 0-.856.34 3.196 3.196 0 0 0-.597.82V130h-1.489v-5.918h1.489v1.113c.203-.351.441-.644.715-.879.281-.234.597-.351.949-.351.211 0 .402.035.574.105v1.676Zm3.902-1.816c.578 0 1.106.14 1.582.422.477.273.86.648 1.149 1.125.297.468.445.996.445 1.582 0 .586-.148 1.113-.445 1.582a3.31 3.31 0 0 1-1.149 1.125 3.125 3.125 0 0 1-1.582.41 3.17 3.17 0 0 1-1.582-.41 3.315 3.315 0 0 1-1.148-1.125 2.954 2.954 0 0 1-.434-1.582c0-.586.145-1.114.434-1.582a3.165 3.165 0 0 1 1.148-1.125 3.09 3.09 0 0 1 1.582-.422Zm0 1.441c-.281 0-.543.067-.785.199a1.539 1.539 0 0 0-.586.575c-.14.25-.211.554-.211.914 0 .359.071.664.211.914.149.25.344.441.586.574.242.125.504.187.785.187.282 0 .543-.062.785-.187.243-.133.438-.324.586-.574.149-.25.223-.555.223-.914 0-.36-.074-.664-.223-.914a1.525 1.525 0 0 0-.586-.575 1.612 1.612 0 0 0-.785-.199Zm10.067-1.289L592.127 130h-.949l-2.766-5.918h1.734l1.489 3.668 1.558-3.668h1.735Zm3.328-.152c.578 0 1.074.125 1.488.375.422.25.742.597.961 1.043.227.437.34.945.34 1.523v.633h-4.289c.078.398.273.719.586.961.312.242.695.363 1.148.363.43 0 .821-.086 1.172-.258.352-.172.633-.347.844-.527l-.012 1.383c-.187.164-.469.332-.844.504a2.952 2.952 0 0 1-1.218.246 3.283 3.283 0 0 1-1.606-.399 3.14 3.14 0 0 1-1.148-1.089c-.282-.461-.422-.989-.422-1.583 0-.578.129-1.105.387-1.582a3.071 3.071 0 0 1 1.066-1.148 2.759 2.759 0 0 1 1.547-.445Zm-.035 1.3c-.367 0-.676.114-.926.34-.25.227-.422.532-.516.914h2.836c-.031-.422-.187-.734-.469-.937a1.506 1.506 0 0 0-.925-.317Zm9.808-3.668V130h-1.488v-.996c-.172.32-.422.598-.75.832-.328.226-.711.34-1.148.34-.477 0-.918-.121-1.325-.364-.398-.242-.718-.593-.961-1.054-.242-.461-.363-1.02-.363-1.676 0-.656.121-1.219.363-1.687.25-.469.582-.829.997-1.079a2.625 2.625 0 0 1 1.394-.386c.32 0 .645.074.973.222.328.149.601.348.82.598v-3.188h1.488Zm-2.976 3.833c-.313 0-.582.082-.809.246-.219.156-.39.363-.515.621-.125.25-.188.523-.188.82 0 .445.133.824.398 1.137.274.312.633.469 1.079.469.265 0 .511-.071.738-.211a1.56 1.56 0 0 0 .562-.586c.149-.258.223-.567.223-.926v-.844a2.44 2.44 0 0 0-.691-.527 1.63 1.63 0 0 0-.797-.199Z"}),d.createElement("rect",{width:109,height:23,x:515.5,y:114.5,stroke:"#B0D182",rx:3.5}),d.createElement("rect",{width:141,height:23,x:680.5,y:114.5,fill:"#F4FAEB",rx:3.5}),d.createElement("path",{fill:"#68A611",d:"m690.692 122.251 1.058-1.057 2.557 2.557-1.057 1.058-2.558-2.558Zm9.308 7.125v-2.625h-4.193l-4.057 4.058-1.057-1.058 4.499-4.5H700v-2.625l3.375 3.375-3.375 3.375Z"}),d.createElement("path",{fill:"#3B6600",d:"M715.097 121.304c.533 0 .995.076 1.384.228.389.144.728.343 1.016.597v1.777c-.204-.152-.415-.3-.635-.444a2.983 2.983 0 0 0-1.714-.495 2.67 2.67 0 0 0-1.384.368 2.735 2.735 0 0 0-1.358 2.412c0 .525.122.999.368 1.422.245.415.575.745.99.99a2.74 2.74 0 0 0 1.384.356c.567 0 1.041-.085 1.422-.254.389-.178.74-.394 1.054-.648v1.714a3.276 3.276 0 0 1-1.08.635 4.333 4.333 0 0 1-1.447.228 4.69 4.69 0 0 1-1.726-.317 4.617 4.617 0 0 1-1.435-.914 4.348 4.348 0 0 1-.978-1.409 4.47 4.47 0 0 1-.355-1.803c0-.66.119-1.261.355-1.803a4.2 4.2 0 0 1 .978-1.396 4.313 4.313 0 0 1 1.435-.914 4.54 4.54 0 0 1 1.726-.33Zm7.643 2.12c.651 0 1.197.22 1.637.66.441.44.661 1.1.661 1.98V130h-1.613l-.012-3.72c0-.431-.106-.753-.318-.965-.203-.211-.486-.317-.85-.317-.288 0-.559.093-.813.279a2.974 2.974 0 0 0-.635.661V130h-1.612v-9.141h1.612v3.644a3.32 3.32 0 0 1 .787-.736 2.016 2.016 0 0 1 1.156-.343Zm6.69 0c.347 0 .698.08 1.054.241.355.161.652.377.889.647v-.723h1.612V130h-1.612v-1.079a2.648 2.648 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.995-.131-1.435-.393-.431-.262-.778-.643-1.041-1.143-.262-.499-.393-1.104-.393-1.815 0-.711.131-1.32.393-1.828a2.95 2.95 0 0 1 1.079-1.168c.457-.28.961-.419 1.511-.419Zm.33 1.574c-.338 0-.63.089-.876.267a1.733 1.733 0 0 0-.558.673 2.027 2.027 0 0 0-.203.901c0 .482.143.893.431 1.231.296.339.686.508 1.168.508.288 0 .555-.076.8-.228a1.69 1.69 0 0 0 .609-.635c.161-.279.242-.614.242-1.003v-.914a2.864 2.864 0 0 0-.749-.584 1.77 1.77 0 0 0-.864-.216Zm6.818-1.409v.914a3.3 3.3 0 0 1 .787-.736 2.01 2.01 0 0 1 1.155-.343c.652 0 1.198.22 1.638.66.44.44.66 1.1.66 1.98V130h-1.612l-.013-3.72c0-.431-.106-.753-.318-.965-.203-.211-.486-.317-.85-.317-.288 0-.559.093-.813.279a2.947 2.947 0 0 0-.634.661V130h-1.613v-6.411h1.613Zm8.632-.165c.347 0 .699.08 1.054.241.356.161.652.377.889.647v-.723h1.612v6.246c0 .728-.161 1.341-.482 1.841a3.12 3.12 0 0 1-1.283 1.155 3.808 3.808 0 0 1-1.751.406c-.568 0-1.033-.084-1.397-.254a6.634 6.634 0 0 1-1.016-.584v-1.523c.195.118.398.245.61.381.22.135.465.25.736.343.279.093.601.139.965.139.381 0 .724-.072 1.028-.216.305-.143.542-.347.711-.609.178-.254.267-.546.267-.876v-1.117a2.638 2.638 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.041-1.143-.263-.499-.394-1.104-.394-1.815 0-.711.131-1.32.394-1.828.27-.508.63-.897 1.079-1.168.457-.28.96-.419 1.51-.419Zm.331 1.587c-.339 0-.631.089-.876.266a1.75 1.75 0 0 0-.559.673 1.965 1.965 0 0 0-.203.889c0 .482.144.893.431 1.231.297.33.686.495 1.168.495.288 0 .555-.072.8-.215a1.7 1.7 0 0 0 .61-.635c.16-.279.241-.614.241-1.003v-.914a2.62 2.62 0 0 0-.749-.571 1.766 1.766 0 0 0-.863-.216Zm8.01-1.587c.627 0 1.164.135 1.613.406.457.271.804.648 1.041 1.13.245.474.368 1.024.368 1.65v.686h-4.647c.085.432.296.779.635 1.041.339.262.753.393 1.244.393.466 0 .889-.093 1.27-.279.381-.186.685-.376.914-.571l-.013 1.498c-.203.178-.508.36-.914.546a3.197 3.197 0 0 1-1.32.266 3.557 3.557 0 0 1-1.74-.431 3.405 3.405 0 0 1-1.244-1.181c-.304-.499-.457-1.071-.457-1.714 0-.626.14-1.197.419-1.714.28-.516.665-.931 1.155-1.244a2.996 2.996 0 0 1 1.676-.482Zm-.038 1.409a1.44 1.44 0 0 0-1.003.368c-.271.246-.457.576-.558.99h3.072c-.034-.457-.203-.795-.508-1.015a1.633 1.633 0 0 0-1.003-.343Zm6.602-1.409c.398 0 .766.059 1.104.178.339.118.601.253.787.406v1.422a4.603 4.603 0 0 0-.749-.394 2.205 2.205 0 0 0-.901-.19c-.305 0-.546.067-.724.203-.177.135-.266.296-.266.482 0 .136.051.263.152.381.102.11.296.207.584.292l.724.241c.973.288 1.46.851 1.46 1.689 0 .398-.115.753-.343 1.066a2.27 2.27 0 0 1-.901.724 2.853 2.853 0 0 1-1.245.266c-.431 0-.85-.067-1.256-.203-.407-.135-.716-.283-.927-.444v-1.409c.161.11.355.216.584.317.228.102.465.186.711.254.245.059.469.089.673.089.321 0 .567-.055.736-.165a.563.563 0 0 0 .266-.495.431.431 0 0 0-.215-.381 2.91 2.91 0 0 0-.635-.279l-.787-.28c-.491-.16-.83-.389-1.016-.685-.186-.296-.279-.648-.279-1.054s.101-.757.305-1.054c.211-.304.503-.541.876-.711a2.95 2.95 0 0 1 1.282-.266Zm9.889 0c.347 0 .699.08 1.054.241.356.161.652.377.889.647v-.723h1.612V130h-1.612v-1.079a2.638 2.638 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.041-1.143-.263-.499-.394-1.104-.394-1.815 0-.711.131-1.32.394-1.828.27-.508.63-.897 1.079-1.168.457-.28.96-.419 1.51-.419Zm.33 1.574c-.338 0-.63.089-.876.267a1.742 1.742 0 0 0-.558.673 2.027 2.027 0 0 0-.203.901c0 .482.144.893.431 1.231.297.339.686.508 1.168.508.288 0 .555-.076.8-.228a1.7 1.7 0 0 0 .61-.635c.16-.279.241-.614.241-1.003v-.914a2.848 2.848 0 0 0-.749-.584 1.767 1.767 0 0 0-.864-.216Zm8.874-1.574c.508 0 .978.131 1.41.393.44.254.791.631 1.053 1.13.271.491.407 1.092.407 1.803 0 .711-.136 1.325-.407 1.841a2.897 2.897 0 0 1-1.079 1.193 2.84 2.84 0 0 1-1.498.406c-.355 0-.711-.084-1.066-.253a3.017 3.017 0 0 1-.876-.661v3.771h-1.612v-9.458h1.612v1.079a2.43 2.43 0 0 1 .812-.876 2.141 2.141 0 0 1 1.244-.368Zm-.406 1.612c-.288 0-.558.076-.812.229a1.68 1.68 0 0 0-.622.622c-.153.271-.225.596-.216.977v.927c.228.237.474.436.736.597.271.152.563.228.876.228.33 0 .618-.089.863-.266a1.81 1.81 0 0 0 .572-.686c.135-.288.203-.592.203-.914 0-.482-.148-.889-.444-1.219-.288-.33-.673-.495-1.156-.495Zm8.481-1.612c.508 0 .977.131 1.409.393.44.254.791.631 1.054 1.13.27.491.406 1.092.406 1.803 0 .711-.136 1.325-.406 1.841a2.903 2.903 0 0 1-1.079 1.193 2.843 2.843 0 0 1-1.499.406c-.355 0-.71-.084-1.066-.253a3.017 3.017 0 0 1-.876-.661v3.771h-1.612v-9.458h1.612v1.079c.186-.347.457-.639.813-.876.355-.245.77-.368 1.244-.368Zm-.407 1.612c-.287 0-.558.076-.812.229a1.686 1.686 0 0 0-.622.622c-.152.271-.224.596-.216.977v.927c.229.237.474.436.736.597.271.152.563.228.876.228.33 0 .618-.089.864-.266.245-.178.436-.407.571-.686.135-.288.203-.592.203-.914 0-.482-.148-.889-.444-1.219-.288-.33-.673-.495-1.156-.495Zm6.424-4.177V130h-1.612v-9.141h1.612Zm3.314-.609c.304 0 .567.11.787.33a1.048 1.048 0 0 1 0 1.524c-.22.22-.483.33-.787.33-.305 0-.567-.11-.787-.33a1.067 1.067 0 0 1-.318-.762c0-.296.106-.55.318-.762.22-.22.482-.33.787-.33Zm.939 3.339V130h-1.612v-5.04h-1.028v-1.371h2.64Zm4.837-.165c.626 0 1.164.135 1.612.406.457.271.804.648 1.041 1.13.246.474.369 1.024.369 1.65v.686h-4.647c.085.432.296.779.635 1.041.338.262.753.393 1.244.393.466 0 .889-.093 1.27-.279.38-.186.685-.376.914-.571l-.013 1.498c-.203.178-.508.36-.914.546a3.197 3.197 0 0 1-1.32.266 3.557 3.557 0 0 1-1.74-.431 3.405 3.405 0 0 1-1.244-1.181c-.305-.499-.457-1.071-.457-1.714 0-.626.14-1.197.419-1.714a3.328 3.328 0 0 1 1.155-1.244 2.996 2.996 0 0 1 1.676-.482Zm-.038 1.409a1.44 1.44 0 0 0-1.003.368c-.271.246-.457.576-.558.99h3.072c-.034-.457-.203-.795-.508-1.015a1.633 1.633 0 0 0-1.003-.343Zm10.626-3.974V130h-1.612v-1.079a2.638 2.638 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.042-1.143-.262-.499-.393-1.104-.393-1.815 0-.711.131-1.32.393-1.828a2.946 2.946 0 0 1 1.08-1.168c.457-.28.96-.419 1.51-.419.347 0 .699.08 1.054.241.356.161.652.377.889.647v-3.453h1.612Zm-3.225 4.152c-.338 0-.63.089-.876.266-.237.17-.423.394-.558.673a1.952 1.952 0 0 0-.203.889c0 .482.144.893.431 1.231.297.339.686.508 1.168.508.288 0 .555-.076.8-.228a1.7 1.7 0 0 0 .61-.635c.16-.279.241-.614.241-1.003v-.914a2.62 2.62 0 0 0-.749-.571 1.767 1.767 0 0 0-.864-.216Z"}),d.createElement("rect",{width:141,height:23,x:680.5,y:114.5,stroke:"#B0D182",rx:3.5}),d.createElement("rect",{width:141,height:23,x:680.5,y:177.5,fill:"#FFF2F3",rx:3.5}),d.createElement("path",{fill:"#D93644",d:"M725.724 184.283a.745.745 0 0 0-1.057 0l-3.668 3.66-3.667-3.668a.748.748 0 0 0-1.058 1.058l3.668 3.667-3.668 3.668a.747.747 0 1 0 1.058 1.057l3.667-3.667 3.668 3.667a.745.745 0 0 0 1.057 0 .745.745 0 0 0 0-1.057L722.057 189l3.667-3.667a.752.752 0 0 0 0-1.05Z"}),d.createElement("path",{fill:"#D11525",d:"M738.973 184.973c.492 0 .918.07 1.277.211.359.132.672.316.938.55v1.641a11.253 11.253 0 0 0-.586-.41 2.99 2.99 0 0 0-.692-.328 2.745 2.745 0 0 0-.89-.129c-.469 0-.895.113-1.278.34a2.558 2.558 0 0 0-.914.914c-.226.383-.34.82-.34 1.312 0 .485.114.922.34 1.313.227.383.531.687.914.914.383.219.809.328 1.278.328.523 0 .96-.078 1.312-.234.359-.165.684-.364.973-.598v1.582a3.048 3.048 0 0 1-.996.586c-.399.14-.844.211-1.336.211a4.347 4.347 0 0 1-1.594-.293 4.263 4.263 0 0 1-1.324-.844 4.01 4.01 0 0 1-.903-1.301 4.118 4.118 0 0 1-.328-1.664c0-.609.11-1.164.328-1.664.219-.5.52-.93.903-1.289a4.007 4.007 0 0 1 1.324-.844 4.195 4.195 0 0 1 1.594-.304Zm6.117 1.957c.32 0 .644.074.972.222.329.149.602.348.821.598v-.668h1.488V193h-1.488v-.996c-.172.32-.422.598-.75.832-.328.226-.711.34-1.149.34-.476 0-.918-.121-1.324-.364a2.627 2.627 0 0 1-.961-1.054c-.242-.461-.363-1.02-.363-1.676 0-.656.121-1.219.363-1.687a2.72 2.72 0 0 1 .996-1.079 2.631 2.631 0 0 1 1.395-.386Zm.305 1.453a1.34 1.34 0 0 0-.809.246 1.606 1.606 0 0 0-.516.621 1.882 1.882 0 0 0-.187.832c0 .445.133.824.398 1.137.274.312.633.469 1.078.469.266 0 .512-.071.739-.211a1.56 1.56 0 0 0 .562-.586c.149-.258.223-.567.223-.926v-.844a2.652 2.652 0 0 0-.692-.539 1.624 1.624 0 0 0-.796-.199Zm6.293-1.301v.844c.179-.242.421-.469.726-.68a1.862 1.862 0 0 1 1.066-.316c.602 0 1.106.203 1.512.609.406.406.61 1.016.61 1.828V193h-1.489l-.011-3.434c0-.398-.098-.695-.293-.89-.188-.196-.45-.293-.786-.293-.265 0-.515.086-.75.258a2.707 2.707 0 0 0-.585.609V193h-1.489v-5.918h1.489Zm8.32-.152c.437 0 .797.07 1.078.211.281.14.504.277.668.41v1.371a3.03 3.03 0 0 0-.692-.375c-.25-.102-.558-.152-.925-.152a1.641 1.641 0 0 0-1.43.82c-.148.25-.223.535-.223.855 0 .485.157.883.469 1.196.313.312.707.468 1.184.468.367 0 .675-.046.925-.14.258-.102.489-.227.692-.375v1.359a2.998 2.998 0 0 1-.668.41c-.281.125-.641.188-1.078.188-.602 0-1.137-.141-1.606-.422a3.257 3.257 0 0 1-1.101-1.137 3.12 3.12 0 0 1-.399-1.547c0-.414.075-.808.223-1.183.156-.375.375-.707.656-.996.281-.297.61-.532.985-.703a2.99 2.99 0 0 1 1.242-.258Zm5.66 0c.578 0 1.074.125 1.488.375.422.25.742.597.961 1.043.227.437.34.945.34 1.523v.633h-4.289c.078.398.273.719.586.961.312.242.695.363 1.148.363.43 0 .821-.086 1.172-.258.352-.172.633-.347.844-.527l-.012 1.383c-.187.164-.468.332-.844.504a2.952 2.952 0 0 1-1.218.246 3.283 3.283 0 0 1-1.606-.399 3.14 3.14 0 0 1-1.148-1.089c-.281-.461-.422-.989-.422-1.583 0-.578.129-1.105.387-1.582a3.071 3.071 0 0 1 1.066-1.148 2.759 2.759 0 0 1 1.547-.445Zm-.035 1.3c-.367 0-.676.114-.926.34-.25.227-.422.532-.516.914h2.836c-.031-.422-.187-.734-.468-.937a1.511 1.511 0 0 0-.926-.317Zm5.672-3.668V193h-1.489v-8.438h1.489Zm3.304 0V193h-1.488v-8.438h1.488Zm4.407 2.368c.578 0 1.074.125 1.488.375.422.25.742.597.961 1.043.226.437.34.945.34 1.523v.633h-4.289c.078.398.273.719.586.961.312.242.695.363 1.148.363.43 0 .82-.086 1.172-.258.351-.172.633-.347.844-.527l-.012 1.383c-.188.164-.469.332-.844.504a2.953 2.953 0 0 1-1.219.246 3.277 3.277 0 0 1-1.605-.399 3.132 3.132 0 0 1-1.148-1.089c-.282-.461-.422-.989-.422-1.583 0-.578.129-1.105.386-1.582a3.082 3.082 0 0 1 1.067-1.148 2.759 2.759 0 0 1 1.547-.445Zm-.036 1.3c-.367 0-.675.114-.925.34-.25.227-.422.532-.516.914h2.836c-.031-.422-.187-.734-.469-.937a1.51 1.51 0 0 0-.926-.317Zm9.809-3.668V193h-1.488v-.996c-.172.32-.422.598-.75.832-.328.226-.711.34-1.149.34-.476 0-.918-.121-1.324-.364a2.627 2.627 0 0 1-.961-1.054c-.242-.461-.363-1.02-.363-1.676 0-.656.121-1.219.363-1.687a2.72 2.72 0 0 1 .996-1.079 2.631 2.631 0 0 1 1.395-.386c.32 0 .644.074.972.222.329.149.602.348.821.598v-3.188h1.488Zm-2.977 3.833a1.34 1.34 0 0 0-.808.246 1.606 1.606 0 0 0-.516.621c-.125.25-.187.523-.187.82 0 .445.133.824.398 1.137.274.312.633.469 1.078.469.266 0 .512-.071.739-.211a1.56 1.56 0 0 0 .562-.586c.149-.258.223-.567.223-.926v-.844a2.443 2.443 0 0 0-.692-.527 1.625 1.625 0 0 0-.797-.199Z"}),d.createElement("rect",{width:141,height:23,x:680.5,y:177.5,stroke:"#FEB0B7",rx:3.5}),d.createElement("rect",{width:139,height:23,x:287.5,y:146.5,fill:"#F1F0FC",rx:3.5}),d.createElement("path",{fill:"#6C65E5",d:"M304 150.5a7.493 7.493 0 0 0-7.5 7.5c0 4.148 3.352 7.5 7.5 7.5s7.5-3.352 7.5-7.5-3.352-7.5-7.5-7.5Zm0 13.5c-3.307 0-6-2.693-6-6s2.693-6 6-6 6 2.693 6 6-2.693 6-6 6Z"}),d.createElement("path",{fill:"#615BC2",d:"M321.979 153.494c.398 0 .788.055 1.168.165.381.11.724.279 1.029.508.313.229.558.516.736.863.186.339.279.745.279 1.219 0 .499-.127.931-.38 1.295a2.56 2.56 0 0 1-.978.838 3.637 3.637 0 0 1-1.32.343l3.059 3.275h-2.323l-2.958-3.479V162h-1.765v-8.506h3.453Zm-1.688 1.651v2.145c.203.068.427.123.673.165.254.034.508.051.762.051.507 0 .909-.102 1.206-.305.304-.211.457-.508.457-.889 0-.414-.161-.71-.483-.888-.313-.186-.698-.279-1.155-.279h-1.46Zm9.052.279c.626 0 1.164.135 1.612.406.457.271.804.648 1.041 1.13.246.474.368 1.024.368 1.65v.686h-4.646c.084.432.296.779.635 1.041.338.262.753.393 1.244.393.465 0 .888-.093 1.269-.279.381-.186.686-.376.914-.571l-.012 1.498c-.204.178-.508.36-.914.546a3.198 3.198 0 0 1-1.321.266 3.553 3.553 0 0 1-1.739-.431 3.405 3.405 0 0 1-1.244-1.181c-.305-.499-.457-1.071-.457-1.714 0-.626.139-1.197.419-1.714a3.328 3.328 0 0 1 1.155-1.244 2.993 2.993 0 0 1 1.676-.482Zm-.038 1.409a1.44 1.44 0 0 0-1.003.368c-.271.246-.457.576-.559.99h3.072c-.033-.457-.203-.795-.507-1.015a1.633 1.633 0 0 0-1.003-.343Zm10.727-1.244L336.998 162h-1.028l-2.996-6.411h1.879l1.612 3.973 1.688-3.973h1.879Zm2.463-3.339c.305 0 .567.11.787.33a1.048 1.048 0 0 1 0 1.524c-.22.22-.482.33-.787.33-.305 0-.567-.11-.787-.33a1.066 1.066 0 0 1-.317-.762c0-.296.105-.55.317-.762.22-.22.482-.33.787-.33Zm.94 3.339V162h-1.613v-5.04h-1.028v-1.371h2.641Zm4.836-.165c.627 0 1.164.135 1.613.406.457.271.804.648 1.041 1.13.245.474.368 1.024.368 1.65v.686h-4.647c.085.432.297.779.635 1.041.339.262.754.393 1.244.393.466 0 .889-.093 1.27-.279.381-.186.685-.376.914-.571l-.013 1.498c-.203.178-.508.36-.914.546a3.197 3.197 0 0 1-1.32.266 3.55 3.55 0 0 1-1.739-.431 3.397 3.397 0 0 1-1.244-1.181c-.305-.499-.458-1.071-.458-1.714 0-.626.14-1.197.419-1.714.28-.516.665-.931 1.156-1.244a2.992 2.992 0 0 1 1.675-.482Zm-.038 1.409c-.397 0-.732.123-1.003.368-.27.246-.457.576-.558.99h3.072c-.034-.457-.203-.795-.508-1.015a1.63 1.63 0 0 0-1.003-.343Zm13.445-1.244L359.456 162h-1.168l-1.498-4.151-1.498 4.151h-1.181l-2.209-6.411h1.752l1.181 3.796 1.384-3.796h1.155l1.371 3.796 1.181-3.796h1.752Zm8.963 1.803a1.707 1.707 0 0 0-.851-.229 1.26 1.26 0 0 0-.927.368 3.44 3.44 0 0 0-.647.889V162h-1.612v-6.411h1.612v1.206a3.63 3.63 0 0 1 .774-.952 1.566 1.566 0 0 1 1.029-.381c.228 0 .435.038.622.114v1.816Zm4.049-1.968c.627 0 1.164.135 1.613.406.457.271.804.648 1.041 1.13.245.474.368 1.024.368 1.65v.686h-4.647c.085.432.297.779.635 1.041.339.262.753.393 1.244.393.466 0 .889-.093 1.27-.279.381-.186.685-.376.914-.571l-.013 1.498c-.203.178-.508.36-.914.546a3.197 3.197 0 0 1-1.32.266 3.55 3.55 0 0 1-1.739-.431 3.407 3.407 0 0 1-1.245-1.181c-.304-.499-.457-1.071-.457-1.714 0-.626.14-1.197.419-1.714.28-.516.665-.931 1.156-1.244a2.992 2.992 0 0 1 1.675-.482Zm-.038 1.409c-.397 0-.732.123-1.003.368-.27.246-.457.576-.558.99h3.072c-.034-.457-.203-.795-.508-1.015a1.63 1.63 0 0 0-1.003-.343Zm7.072-1.409c.347 0 .698.08 1.053.241.356.161.652.377.889.647v-.723h1.612v9.458h-1.612v-4.126a2.645 2.645 0 0 1-.812.901 2.135 2.135 0 0 1-1.245.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.041-1.143-.263-.499-.394-1.104-.394-1.815 0-.711.131-1.32.394-1.828.271-.508.63-.897 1.079-1.168.457-.28.961-.419 1.511-.419Zm.33 1.587c-.339 0-.631.089-.876.266-.237.17-.423.394-.559.673a1.965 1.965 0 0 0-.203.889c0 .482.144.893.432 1.231.296.33.685.495 1.168.495.287 0 .554-.072.799-.215a1.7 1.7 0 0 0 .61-.635c.161-.279.241-.614.241-1.003v-.914a2.606 2.606 0 0 0-.749-.571 1.763 1.763 0 0 0-.863-.216Zm10.867-1.422v3.821c0 .567-.127 1.058-.381 1.473a2.543 2.543 0 0 1-1.041.939 3.2 3.2 0 0 1-1.473.33c-.558 0-1.058-.11-1.498-.33a2.565 2.565 0 0 1-1.028-.939c-.245-.415-.368-.906-.368-1.473v-3.821h1.625l.013 3.529c0 .5.114.872.342 1.117.229.246.534.369.914.369.373 0 .673-.123.902-.369.237-.245.355-.617.355-1.117v-3.529h1.638Zm3.186-3.339c.305 0 .567.11.788.33a1.048 1.048 0 0 1 0 1.524c-.221.22-.483.33-.788.33-.304 0-.567-.11-.787-.33a1.07 1.07 0 0 1-.317-.762c0-.296.106-.55.317-.762.22-.22.483-.33.787-.33Zm.94 3.339V162h-1.612v-5.04h-1.029v-1.371h2.641Zm6.068 1.803a1.703 1.703 0 0 0-.85-.229c-.373 0-.682.123-.927.368a3.441 3.441 0 0 0-.648.889V162h-1.612v-6.411h1.612v1.206c.22-.381.479-.698.775-.952a1.564 1.564 0 0 1 1.028-.381c.229 0 .436.038.622.114v1.816Zm4.05-1.968c.626 0 1.164.135 1.612.406.457.271.804.648 1.041 1.13.246.474.369 1.024.369 1.65v.686h-4.647c.085.432.296.779.635 1.041.338.262.753.393 1.244.393a2.85 2.85 0 0 0 1.269-.279c.381-.186.686-.376.915-.571l-.013 1.498c-.203.178-.508.36-.914.546a3.198 3.198 0 0 1-1.321.266 3.556 3.556 0 0 1-1.739-.431 3.405 3.405 0 0 1-1.244-1.181c-.305-.499-.457-1.071-.457-1.714 0-.626.14-1.197.419-1.714a3.328 3.328 0 0 1 1.155-1.244 2.996 2.996 0 0 1 1.676-.482Zm-.038 1.409a1.44 1.44 0 0 0-1.003.368c-.271.246-.457.576-.559.99h3.073c-.034-.457-.203-.795-.508-1.015a1.633 1.633 0 0 0-1.003-.343Zm10.626-3.974V162h-1.612v-1.079a2.648 2.648 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.994-.131-1.435-.393-.431-.262-.778-.643-1.041-1.143-.262-.499-.393-1.104-.393-1.815 0-.711.131-1.32.393-1.828a2.946 2.946 0 0 1 1.08-1.168c.457-.28.96-.419 1.51-.419.347 0 .698.08 1.054.241.355.161.652.377.889.647v-3.453h1.612Zm-3.225 4.152c-.338 0-.63.089-.876.266-.237.17-.423.394-.558.673a1.952 1.952 0 0 0-.203.889c0 .482.144.893.431 1.231.296.339.686.508 1.168.508.288 0 .555-.076.8-.228a1.69 1.69 0 0 0 .609-.635c.161-.279.242-.614.242-1.003v-.914a2.633 2.633 0 0 0-.749-.571 1.77 1.77 0 0 0-.864-.216Z"}),d.createElement("rect",{width:139,height:23,x:287.5,y:146.5,stroke:"#BEBBF3",rx:3.5}),d.createElement("rect",{width:88,height:23,x:142.5,y:146.5,fill:"#FFF4E5",rx:3.5}),d.createElement("path",{fill:"#B35300",d:"M154.692 153.291c.897 0 1.684.182 2.361.546a3.9 3.9 0 0 1 1.574 1.523c.381.652.572 1.418.572 2.298 0 .838-.178 1.6-.533 2.285a4.056 4.056 0 0 1-1.524 1.613c-.66.397-1.447.596-2.361.596a17.819 17.819 0 0 1-3.39-.33v-8.201a41.433 41.433 0 0 1 1.612-.228 13.767 13.767 0 0 1 1.689-.102Zm.038 1.65a9.506 9.506 0 0 0-1.574.14v5.281c.254.051.516.089.787.115.279.016.542.025.787.025.559 0 1.037-.119 1.435-.356.397-.245.702-.579.914-1.002.211-.424.317-.898.317-1.422 0-.542-.106-1.02-.317-1.435a2.372 2.372 0 0 0-.914-.977c-.398-.246-.876-.369-1.435-.369Zm10.067 2.451a1.7 1.7 0 0 0-.85-.229c-.373 0-.682.123-.927.368a3.44 3.44 0 0 0-.647.889V162h-1.613v-6.411h1.613v1.206a3.63 3.63 0 0 1 .774-.952 1.564 1.564 0 0 1 1.028-.381c.229 0 .436.038.622.114v1.816Zm3.784-1.968c.347 0 .698.08 1.053.241.356.161.652.377.889.647v-.723h1.612V162h-1.612v-1.079a2.638 2.638 0 0 1-.813.901 2.13 2.13 0 0 1-1.244.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.041-1.143-.263-.499-.394-1.104-.394-1.815 0-.711.131-1.32.394-1.828.271-.508.63-.897 1.079-1.168.457-.28.96-.419 1.511-.419Zm.33 1.574a1.45 1.45 0 0 0-.876.267 1.735 1.735 0 0 0-.559.673 2.04 2.04 0 0 0-.203.901c0 .482.144.893.432 1.231.296.339.685.508 1.168.508.287 0 .554-.076.799-.228a1.7 1.7 0 0 0 .61-.635c.161-.279.241-.614.241-1.003v-.914a2.848 2.848 0 0 0-.749-.584 1.763 1.763 0 0 0-.863-.216Zm8.963-1.409v1.346h-1.664V162h-1.612v-5.065h-.977v-1.346h.977v-.571c0-.491.102-.91.305-1.257.211-.356.486-.627.825-.813a2.283 2.283 0 0 1 1.117-.279c.271 0 .508.03.711.089.203.059.381.139.533.241v1.346a1.731 1.731 0 0 0-.964-.241.985.985 0 0 0-.648.253c-.178.153-.267.407-.267.762v.47h1.664Zm3.656-1.866v1.866h1.777v1.346h-1.777v2.767c0 .288.063.516.19.686.136.161.335.241.597.241.228 0 .423-.025.584-.076.169-.051.326-.123.47-.216v1.282a2.012 2.012 0 0 1-.61.406c-.237.11-.537.165-.901.165-.576 0-1.045-.182-1.409-.545-.356-.373-.534-.881-.534-1.524v-3.186h-1.155v-.826c.406-.144.779-.414 1.117-.812.347-.398.622-.923.826-1.574h.825Zm8.912 1.866v.812c.195-.245.427-.469.698-.672.279-.204.635-.305 1.067-.305.448 0 .854.106 1.218.317.364.203.648.512.851.927.254-.347.55-.639.889-.876a1.96 1.96 0 0 1 1.18-.368c.432 0 .825.101 1.181.305.355.194.639.486.85.875.221.39.331.876.331 1.46V162h-1.613l-.012-3.72c0-.431-.115-.753-.343-.965-.22-.211-.512-.317-.876-.317-.28 0-.521.089-.724.267a3.597 3.597 0 0 0-.571.609V162h-1.612l-.013-3.72c0-.431-.114-.753-.343-.965-.22-.211-.508-.317-.863-.317a1.13 1.13 0 0 0-.724.254 3.057 3.057 0 0 0-.571.571V162h-1.612v-6.411h1.612Zm13.089-.165a3.31 3.31 0 0 1 1.714.457c.516.296.931.702 1.244 1.219.321.507.482 1.079.482 1.713 0 .635-.161 1.207-.482 1.714a3.576 3.576 0 0 1-1.244 1.219 3.388 3.388 0 0 1-1.714.444 3.43 3.43 0 0 1-1.714-.444 3.576 3.576 0 0 1-1.244-1.219 3.198 3.198 0 0 1-.47-1.714c0-.634.157-1.206.47-1.713a3.428 3.428 0 0 1 1.244-1.219 3.351 3.351 0 0 1 1.714-.457Zm0 1.561c-.305 0-.588.072-.851.216a1.662 1.662 0 0 0-.635.622c-.152.271-.228.601-.228.99 0 .39.076.72.228.991.161.271.373.478.635.622.263.135.546.203.851.203.304 0 .588-.068.85-.203.263-.144.474-.351.635-.622.161-.271.241-.601.241-.991 0-.389-.08-.719-.241-.99a1.655 1.655 0 0 0-.635-.622 1.738 1.738 0 0 0-.85-.216Zm11.057-4.126V162h-1.612v-1.079a2.645 2.645 0 0 1-.812.901 2.135 2.135 0 0 1-1.245.368c-.516 0-.994-.131-1.434-.393-.432-.262-.779-.643-1.041-1.143-.263-.499-.394-1.104-.394-1.815 0-.711.131-1.32.394-1.828.271-.508.63-.897 1.079-1.168.457-.28.961-.419 1.511-.419.347 0 .698.08 1.053.241.356.161.652.377.889.647v-3.453h1.612Zm-3.224 4.152c-.339 0-.631.089-.876.266-.237.17-.423.394-.559.673a1.965 1.965 0 0 0-.203.889c0 .482.144.893.432 1.231.296.339.685.508 1.168.508.287 0 .554-.076.799-.228.254-.153.458-.364.61-.635.161-.279.241-.614.241-1.003v-.914a2.606 2.606 0 0 0-.749-.571 1.763 1.763 0 0 0-.863-.216Zm8.011-1.587c.626 0 1.163.135 1.612.406.457.271.804.648 1.041 1.13.245.474.368 1.024.368 1.65v.686h-4.646c.084.432.296.779.634 1.041.339.262.754.393 1.244.393.466 0 .889-.093 1.27-.279.381-.186.685-.376.914-.571l-.013 1.498c-.203.178-.507.36-.914.546a3.197 3.197 0 0 1-1.32.266 3.55 3.55 0 0 1-1.739-.431 3.397 3.397 0 0 1-1.244-1.181c-.305-.499-.457-1.071-.457-1.714 0-.626.139-1.197.418-1.714.28-.516.665-.931 1.156-1.244a2.993 2.993 0 0 1 1.676-.482Zm-.039 1.409c-.397 0-.732.123-1.003.368-.27.246-.457.576-.558.99h3.072c-.034-.457-.203-.795-.508-1.015a1.63 1.63 0 0 0-1.003-.343Z"}),d.createElement("rect",{width:88,height:23,x:142.5,y:146.5,stroke:"#FFC46F",rx:3.5}),d.createElement("path",{fill:"#202021",d:"M243 157.25a.75.75 0 0 0 0 1.5v-1.5Zm32.53 1.28a.749.749 0 0 0 0-1.06l-4.773-4.773a.749.749 0 1 0-1.06 1.06l4.242 4.243-4.242 4.243a.749.749 0 1 0 1.06 1.06l4.773-4.773Zm-32.53.22h32v-1.5h-32v1.5ZM110 157.25a.75.75 0 0 0 0 1.5v-1.5Zm20.53 1.28a.749.749 0 0 0 0-1.06l-4.773-4.773a.749.749 0 1 0-1.06 1.06l4.242 4.243-4.242 4.243a.749.749 0 1 0 1.06 1.06l4.773-4.773Zm-20.53.22h20v-1.5h-20v1.5ZM636 125.25a.75.75 0 0 0 0 1.5v-1.5Zm32.53 1.28a.749.749 0 0 0 0-1.06l-4.773-4.773a.749.749 0 1 0-1.06 1.06l4.242 4.243-4.242 4.243a.749.749 0 1 0 1.06 1.06l4.773-4.773Zm-32.53.22h32v-1.5h-32v1.5ZM636 188.25a.75.75 0 0 0 0 1.5v-1.5Zm32.53 1.28a.749.749 0 0 0 0-1.06l-4.773-4.773a.749.749 0 1 0-1.06 1.06l4.242 4.243-4.242 4.243a.749.749 0 1 0 1.06 1.06l4.773-4.773Zm-32.53.22h32v-1.5h-32v1.5Z"}),d.createElement("path",{stroke:"#202021",strokeLinecap:"round",strokeWidth:1.5,d:"M439 158h30"}),d.createElement("path",{fill:"#202021",d:"m480.501 132.407-.643-.386.643.386Zm22.984-5.428a.75.75 0 0 0 .089-1.057l-4.361-5.153a.75.75 0 1 0-1.145.969l3.876 4.58-4.58 3.876a.75.75 0 1 0 .969 1.145l5.152-4.36ZM466 158.75c3.095 0 5.328-1.166 6.97-3.066 1.61-1.863 2.622-4.395 3.406-7.092.779-2.68 1.374-5.69 2.059-8.428.696-2.786 1.499-5.353 2.709-7.372l-1.286-.771c-1.332 2.221-2.177 4.972-2.879 7.78-.714 2.856-1.27 5.714-2.043 8.372-.768 2.643-1.709 4.919-3.101 6.53-1.36 1.574-3.18 2.547-5.835 2.547v1.5Zm15.144-25.958c1.006-1.676 2.803-2.906 5.046-3.789 2.235-.881 4.835-1.386 7.331-1.664 2.491-.277 4.849-.323 6.587-.3.868.012 1.579.04 2.071.066.247.013.438.026.567.034l.146.011a.637.637 0 0 1 .036.003h.009l.002.001.062-.748.062-.747h-.001l-.003-.001h-.011l-.042-.004-.157-.011a50.879 50.879 0 0 0-.591-.036 56.858 56.858 0 0 0-2.13-.068 55.836 55.836 0 0 0-6.773.309c-2.566.286-5.31.811-7.715 1.759-2.398.945-4.538 2.34-5.782 4.414l1.286.771Z"}),d.createElement("path",{fill:"#202021",d:"m480.502 183.5-.643.386.643-.386Zm22.984 5.428a.75.75 0 0 1 .088 1.057l-4.36 5.153a.75.75 0 0 1-1.145-.969l3.875-4.58-4.58-3.876a.75.75 0 0 1 .969-1.145l5.153 4.36ZM466 157.25c3.094 0 5.326 1.159 6.969 3.05 1.61 1.854 2.623 4.375 3.407 7.06.779 2.669 1.374 5.668 2.059 8.396.697 2.778 1.499 5.34 2.71 7.358l-1.286.772c-1.332-2.22-2.177-4.966-2.879-7.765-.714-2.847-1.271-5.694-2.044-8.34-.768-2.63-1.708-4.895-3.1-6.497-1.36-1.565-3.18-2.534-5.836-2.534v-1.5Zm15.145 25.864c1.005 1.677 2.803 2.907 5.045 3.79 2.235.881 4.835 1.386 7.332 1.663 2.491.277 4.849.324 6.587.301a53.867 53.867 0 0 0 2.638-.101l.146-.01.036-.003.008-.001h.002l.062.747.062.748h-.004l-.011.001a54.48 54.48 0 0 1-2.919.119c-1.779.023-4.202-.024-6.773-.31-2.566-.285-5.31-.811-7.716-1.758-2.398-.945-4.538-2.34-5.781-4.414l1.286-.772ZM47.633 143.635c.665 0 1.207.091 1.627.273.428.182.802.419 1.12.711v1.354c-.2-.146-.428-.306-.683-.479a3.959 3.959 0 0 0-.875-.451c-.328-.137-.724-.205-1.19-.205-.683 0-1.293.155-1.831.465-.538.31-.962.738-1.272 1.285-.31.538-.465 1.148-.465 1.832 0 .684.155 1.294.465 1.832.31.538.734.966 1.272 1.285.538.31 1.148.465 1.832.465.702 0 1.299-.114 1.79-.342a6.756 6.756 0 0 0 1.231-.724v1.23c-.319.283-.738.529-1.258.738-.51.201-1.098.301-1.763.301-.693 0-1.33-.123-1.914-.369a4.952 4.952 0 0 1-1.532-1.039 4.798 4.798 0 0 1-1.025-1.518 4.89 4.89 0 0 1-.355-1.859c0-.656.118-1.272.355-1.846a4.755 4.755 0 0 1 2.557-2.556 4.71 4.71 0 0 1 1.914-.383Zm8.217 2.392a2.6 2.6 0 0 1 1.271.315c.383.2.688.51.916.929.228.411.342.93.342 1.559V153h-1.121l-.014-4.061c0-.592-.132-1.043-.396-1.353-.256-.31-.652-.465-1.19-.465-.364 0-.729.137-1.093.41a4.8 4.8 0 0 0-.944.93V153H52.5v-9.844h1.121v4.088c.146-.182.333-.364.56-.547.229-.191.484-.351.766-.478.292-.128.593-.192.903-.192Zm7.465 0c.391 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.12V153h-1.12v-1.162c-.237.364-.56.683-.971.957-.401.273-.861.41-1.38.41a3.041 3.041 0 0 1-1.6-.437 3.326 3.326 0 0 1-1.163-1.245c-.282-.528-.423-1.139-.423-1.832 0-.756.14-1.408.423-1.955a3.102 3.102 0 0 1 1.19-1.257 3.204 3.204 0 0 1 1.681-.452Zm.205 1.094c-.493 0-.912.123-1.258.369a2.497 2.497 0 0 0-.807.957 2.858 2.858 0 0 0-.273 1.244c0 .438.09.844.273 1.217.182.365.438.656.766.875.337.219.724.328 1.162.328.42 0 .793-.109 1.12-.328.329-.219.589-.519.78-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.525 3.525 0 0 0-.916-.834 2.033 2.033 0 0 0-1.107-.301Zm6.603-.957v1.08c.146-.182.333-.364.56-.547.228-.191.484-.351.766-.478.292-.128.593-.192.903-.192a2.6 2.6 0 0 1 1.271.315c.383.2.688.51.916.929.228.411.342.93.342 1.559V153H73.76l-.014-4.061c0-.592-.132-1.043-.396-1.353-.256-.31-.652-.465-1.19-.465-.364 0-.729.137-1.094.41-.355.265-.67.574-.943.93V153h-1.121v-6.836h1.121Zm9.693-.137c.392 0 .789.096 1.19.287.41.183.76.438 1.053.766v-.916h1.12v6.699c0 .811-.163 1.486-.492 2.024a3.092 3.092 0 0 1-1.312 1.203 4.065 4.065 0 0 1-1.791.396c-.42 0-.78-.05-1.08-.15a2.73 2.73 0 0 1-.752-.356c-.21-.136-.401-.268-.574-.396v-1.203c.136.1.314.228.533.383.228.164.497.31.807.437a2.84 2.84 0 0 0 1.066.192c.447 0 .857-.082 1.23-.247.374-.164.675-.405.903-.724.228-.319.342-.702.342-1.149v-1.435c-.237.364-.561.683-.971.957-.401.273-.861.41-1.381.41a3.042 3.042 0 0 1-1.6-.437 3.327 3.327 0 0 1-1.162-1.245c-.282-.528-.423-1.139-.423-1.832 0-.756.14-1.408.423-1.955a3.102 3.102 0 0 1 1.19-1.257 3.204 3.204 0 0 1 1.681-.452Zm.206 1.108c-.493 0-.912.123-1.258.369a2.39 2.39 0 0 0-.807.943 2.858 2.858 0 0 0-.273 1.244c0 .438.09.839.273 1.204.182.364.438.656.766.875.337.218.724.328 1.162.328.419 0 .793-.11 1.12-.328a2.29 2.29 0 0 0 .78-.903c.192-.383.283-.816.274-1.299l-.014-1.312a3.307 3.307 0 0 0-.916-.82 2.033 2.033 0 0 0-1.108-.301Zm8.298-1.108c.702 0 1.286.146 1.75.438a2.69 2.69 0 0 1 1.04 1.189c.236.502.355 1.067.355 1.696v.67h-5.25c.054.382.187.733.396 1.052.21.319.483.574.82.766.338.182.725.273 1.163.273.492 0 .952-.123 1.38-.369a5.187 5.187 0 0 0 1.08-.834l-.013 1.217a2.73 2.73 0 0 1-.574.492 3.583 3.583 0 0 1-.861.41 2.87 2.87 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.656 3.656 0 0 1-.452-1.791c0-.647.142-1.244.424-1.791.283-.547.67-.984 1.162-1.312a3.045 3.045 0 0 1 1.71-.493Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.115c-.045-.446-.173-.811-.382-1.093a1.873 1.873 0 0 0-.739-.629 2.02 2.02 0 0 0-.916-.219Zm7.028-1.094c.4 0 .774.06 1.12.178.347.109.598.223.753.342v1.203a3.562 3.562 0 0 0-.78-.424 2.602 2.602 0 0 0-1.011-.205c-.429 0-.752.1-.971.301-.21.2-.315.41-.315.629 0 .173.06.351.178.533.128.173.347.314.656.424l1.149.41c.447.155.78.378.998.67.219.292.328.633.328 1.025 0 .383-.11.734-.328 1.053a2.23 2.23 0 0 1-.889.766c-.373.182-.806.273-1.299.273-.264 0-.542-.036-.834-.109a5.115 5.115 0 0 1-.765-.233 3.618 3.618 0 0 1-.506-.259V151.4c.128.092.305.196.533.315.237.109.488.205.752.287.264.073.51.109.739.109.428 0 .765-.095 1.011-.287.255-.191.383-.428.383-.711a.61.61 0 0 0-.26-.519c-.164-.128-.405-.251-.724-.369l-1.012-.37c-.529-.2-.88-.451-1.053-.751a2.122 2.122 0 0 1-.26-1.053c0-.584.22-1.067.657-1.449.437-.383 1.02-.575 1.75-.575Zm-49.26 17.129V173h-1.121v-1.162c-.237.364-.56.683-.97.957-.402.273-.862.41-1.382.41a3.042 3.042 0 0 1-1.6-.437 3.327 3.327 0 0 1-1.162-1.245c-.282-.528-.423-1.139-.423-1.832 0-.756.141-1.408.423-1.955a3.102 3.102 0 0 1 1.19-1.257 3.204 3.204 0 0 1 1.682-.452c.392 0 .788.096 1.19.287.41.183.76.438 1.052.766v-3.924h1.12Zm-3.158 3.992c-.492 0-.912.123-1.258.37a2.412 2.412 0 0 0-.807.929 2.858 2.858 0 0 0-.273 1.244c0 .438.09.844.273 1.217.182.365.438.656.766.875.337.219.724.328 1.162.328.42 0 .793-.109 1.121-.328.328-.219.588-.519.78-.902a2.83 2.83 0 0 0 .273-1.313l-.014-1.312a3.307 3.307 0 0 0-.916-.82 2.105 2.105 0 0 0-1.107-.288Zm8.298-1.121c.702 0 1.286.146 1.75.438a2.69 2.69 0 0 1 1.04 1.189c.237.502.355 1.067.355 1.696v.67h-5.25c.055.382.187.733.397 1.052.21.319.483.574.82.766.337.182.724.273 1.162.273.492 0 .952-.123 1.38-.369a5.187 5.187 0 0 0 1.08-.834l-.013 1.217a2.73 2.73 0 0 1-.574.492 3.583 3.583 0 0 1-.861.41 2.87 2.87 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.656 3.656 0 0 1-.451-1.791c0-.647.14-1.244.423-1.791.283-.547.67-.984 1.163-1.312a3.045 3.045 0 0 1 1.708-.493Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.116c-.046-.446-.174-.811-.383-1.093a1.873 1.873 0 0 0-.739-.629 2.02 2.02 0 0 0-.916-.219Zm6.877-2.926v1.969h1.997v1.053h-1.996v4.006c0 .282.072.506.218.67.146.164.37.246.67.246.274 0 .501-.032.684-.096.182-.073.342-.15.478-.232v.916a2.268 2.268 0 0 1-.588.341c-.2.092-.474.137-.82.137-.583 0-1.025-.173-1.326-.519-.292-.356-.438-.825-.438-1.409v-4.06h-1.312v-.328c.447-.201.82-.529 1.121-.985.3-.465.565-1.034.793-1.709h.52Zm6.85 1.832c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.04 1.189c.236.502.355 1.067.355 1.696v.67h-5.25c.054.382.186.733.396 1.052.21.319.483.574.82.766.338.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.187 5.187 0 0 0 1.08-.834l-.013 1.217a2.73 2.73 0 0 1-.574.492 3.582 3.582 0 0 1-.862.41 2.87 2.87 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.272-1.299 3.656 3.656 0 0 1-.45-1.791c0-.647.14-1.244.423-1.791.282-.547.67-.984 1.162-1.312a3.045 3.045 0 0 1 1.71-.493Zm0 1.094c-.565 0-1.03.191-1.395.574-.364.374-.592.83-.683 1.367h4.115c-.045-.446-.173-.811-.383-1.093a1.873 1.873 0 0 0-.738-.629 2.02 2.02 0 0 0-.916-.219Zm8.08-1.094c.502 0 .934.082 1.299.246.365.155.615.297.752.424v1.135a4.067 4.067 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219a2.28 2.28 0 0 0-1.271.356 2.336 2.336 0 0 0-.848.916 2.654 2.654 0 0 0-.287 1.23c0 .438.096.848.287 1.231.2.373.483.679.848.916.364.227.788.341 1.271.341.456 0 .848-.068 1.176-.205a4.47 4.47 0 0 0 .875-.506v1.135c-.137.137-.387.283-.752.438-.365.155-.797.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.656 3.656 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.58 3.58 0 0 1 1.271-1.312c.538-.329 1.153-.493 1.846-.493Zm5.783-1.832v1.969h1.996v1.053h-1.996v4.006c0 .282.073.506.22.67.145.164.368.246.669.246.274 0 .501-.032.684-.096.182-.073.341-.15.478-.232v.916a2.269 2.269 0 0 1-.588.341c-.2.092-.474.137-.82.137-.583 0-1.025-.173-1.326-.519-.292-.356-.438-.825-.438-1.409v-4.06h-1.312v-.328c.446-.201.82-.529 1.12-.985.302-.465.566-1.034.794-1.709h.52Zm6.85 1.832c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.039 1.189c.237.502.356 1.067.356 1.696v.67h-5.25c.054.382.186.733.396 1.052.21.319.483.574.82.766.338.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.184 5.184 0 0 0 1.08-.834l-.013 1.217a2.73 2.73 0 0 1-.575.492 3.584 3.584 0 0 1-.86.41 2.87 2.87 0 0 1-1.013.178c-.692 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.656 3.656 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.312a3.044 3.044 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.395.574-.364.374-.592.83-.683 1.367h4.115c-.046-.446-.173-.811-.383-1.093a1.873 1.873 0 0 0-.738-.629 2.02 2.02 0 0 0-.916-.219Zm11.17-3.965V173h-1.121v-1.162c-.237.364-.56.683-.97.957-.402.273-.862.41-1.382.41a3.042 3.042 0 0 1-1.6-.437 3.327 3.327 0 0 1-1.162-1.245c-.282-.528-.423-1.139-.423-1.832 0-.756.141-1.408.423-1.955a3.102 3.102 0 0 1 1.19-1.257 3.204 3.204 0 0 1 1.682-.452c.392 0 .788.096 1.19.287.41.183.76.438 1.052.766v-3.924h1.12Zm-3.158 3.992c-.493 0-.912.123-1.258.37a2.412 2.412 0 0 0-.807.929 2.858 2.858 0 0 0-.273 1.244c0 .438.09.844.273 1.217.183.365.438.656.766.875.337.219.725.328 1.162.328.42 0 .793-.109 1.121-.328.328-.219.588-.519.78-.902a2.83 2.83 0 0 0 .273-1.313l-.014-1.312a3.307 3.307 0 0 0-.916-.82 2.105 2.105 0 0 0-1.107-.288Z"}),d.createElement("circle",{cx:455,cy:158,r:5,fill:"#6C65E5",stroke:"#F2F2F5",strokeWidth:2}),d.createElement("path",{stroke:"#6C65E5",strokeLinecap:"round",strokeWidth:1.5,d:"M455 157v-50"}),d.createElement("path",{fill:"#615BC2",d:"M371.349 64.813v5.564c0 .793-.169 1.477-.506 2.05a3.34 3.34 0 0 1-1.34 1.3c-.565.3-1.208.45-1.928.45-.711 0-1.353-.15-1.928-.45a3.43 3.43 0 0 1-1.353-1.3c-.328-.574-.492-1.257-.492-2.05v-5.564h1.23v5.523c0 .62.114 1.121.342 1.504.237.383.547.66.93.834.392.164.815.246 1.271.246.456-.01.875-.096 1.258-.26.392-.173.702-.447.93-.82.237-.383.355-.884.355-1.504v-5.523h1.231Zm4.566 2.214c.401 0 .775.06 1.121.178.346.11.597.223.752.342v1.203a3.548 3.548 0 0 0-.779-.424 2.61 2.61 0 0 0-1.012-.205c-.428 0-.752.1-.971.3-.209.201-.314.411-.314.63 0 .173.059.35.178.533.127.173.346.314.656.424l1.148.41c.447.155.78.378.998.67.219.292.329.633.329 1.025 0 .383-.11.734-.329 1.053a2.217 2.217 0 0 1-.888.766c-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.073 5.073 0 0 1-.766-.232 3.571 3.571 0 0 1-.506-.26V72.4c.128.091.306.196.534.315.237.11.487.205.752.287.264.073.51.11.738.11.428 0 .765-.096 1.012-.288.255-.191.382-.428.382-.71a.611.611 0 0 0-.259-.52c-.164-.128-.406-.25-.725-.37l-1.012-.368c-.528-.201-.879-.452-1.052-.752-.174-.31-.26-.661-.26-1.053 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574Zm6.631 0c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.21.32.483.575.82.766.337.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.735 2.735 0 0 1-.575.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm6.111-.957v1.367a3.53 3.53 0 0 1 .957-1.094c.374-.273.757-.41 1.149-.41.264 0 .501.046.711.137v1.299a1.704 1.704 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.283.328-.552.72-.807 1.176V74h-1.121v-6.836h1.121Zm17.322 0L403.587 74h-.697l-1.873-4.826L399.144 74h-.698l-2.392-6.836h1.34l1.517 4.799 1.791-4.799h.629l1.791 4.799 1.518-4.799h1.339Zm2.461-3.281c.265 0 .484.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.847.847 0 0 1-.657.287.887.887 0 0 1-.669-.287.93.93 0 0 1-.26-.642.9.9 0 0 1 .26-.643.887.887 0 0 1 .669-.287Zm.698 3.281V74h-1.121v-5.783h-1.08v-1.053h2.201Zm4.306-1.969v1.97h1.996v1.052h-1.996v4.006c0 .282.073.505.219.67.146.164.369.246.67.246a2.1 2.1 0 0 0 .684-.096c.182-.073.341-.15.478-.233v.917c-.182.145-.378.26-.588.341-.2.091-.474.137-.82.137-.583 0-1.025-.173-1.326-.52-.292-.355-.438-.824-.438-1.408v-4.06h-1.312v-.328c.446-.2.82-.529 1.121-.985.301-.465.565-1.034.793-1.709h.519Zm7.383 1.832c.465 0 .889.105 1.272.315.382.2.688.51.916.93.228.41.341.93.341 1.558V74h-1.121l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V74h-1.121v-9.844h1.121v4.088c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192Zm12.223 0a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.292.51.437 1.112.437 1.805 0 .747-.145 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.391 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V67.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.315-.328.21-.588.5-.779.874-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383.347-.255.611-.583.793-.984.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.15 2.15 0 0 0-.766-.847c-.328-.21-.715-.315-1.162-.315Zm6.33-.957v1.367c.264-.456.583-.82.957-1.094.374-.273.757-.41 1.149-.41.264 0 .501.046.711.137v1.299a1.704 1.704 0 0 0-.875-.26c-.465 0-.844.164-1.135.492-.283.328-.552.72-.807 1.176V74h-1.121v-6.836h1.121Zm7.342-.137c.693 0 1.308.164 1.846.492.537.329.957.766 1.257 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.3.538-.72.97-1.257 1.299-.538.328-1.153.492-1.846.492-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.733-.984 1.271-1.313.538-.328 1.153-.492 1.846-.492Zm0 1.094c-.483 0-.907.119-1.272.356a2.342 2.342 0 0 0-.847.916 2.652 2.652 0 0 0-.287 1.23c0 .438.095.848.287 1.23.2.374.483.68.847.916.365.228.789.342 1.272.342.492 0 .916-.114 1.271-.342.365-.236.643-.542.834-.916.201-.382.301-.792.301-1.23 0-.447-.1-.857-.301-1.23a2.239 2.239 0 0 0-.834-.916c-.355-.237-.779-.356-1.271-.356Zm8.887-1.094a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.291.51.437 1.112.437 1.805 0 .747-.146 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.392 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V67.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.315-.328.21-.588.5-.779.874-.183.365-.274.793-.274 1.286l.014 1.312c.291.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.492 0 .912-.127 1.258-.383a2.47 2.47 0 0 0 .793-.984 2.98 2.98 0 0 0 .287-1.271 2.52 2.52 0 0 0-.273-1.19 2.157 2.157 0 0 0-.766-.847c-.328-.21-.715-.315-1.162-.315Zm8.025-1.094c.702 0 1.285.146 1.75.438.465.291.812.688 1.039 1.19.237.5.356 1.066.356 1.695v.67h-5.25c.055.382.187.733.396 1.052.21.32.483.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.752 2.752 0 0 1-.574.492c-.246.164-.533.301-.862.41a2.88 2.88 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.606 3.606 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.452-1.791c0-.647.142-1.244.424-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.394.574-.365.374-.593.83-.684 1.368h4.115c-.045-.447-.173-.812-.382-1.094a1.878 1.878 0 0 0-.739-.63 2.021 2.021 0 0 0-.916-.218Zm6.112-.957v1.367c.264-.456.583-.82.957-1.094.373-.273.756-.41 1.148-.41.264 0 .501.046.711.137v1.299a1.701 1.701 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V74h-1.121v-6.836h1.121Zm11.826-.137a2.99 2.99 0 0 1 1.599.438c.484.282.866.683 1.149 1.203.292.51.437 1.112.437 1.805 0 .747-.145 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.391 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V67.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.315-.328.21-.588.5-.779.874-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383.347-.255.611-.583.793-.984.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.15 2.15 0 0 0-.766-.847c-.328-.21-.715-.315-1.162-.315Zm8.025-1.094c.702 0 1.286.146 1.75.438a2.69 2.69 0 0 1 1.04 1.19c.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.396 1.052.21.32.484.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.885 2.885 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.029.192-1.394.574-.365.374-.593.83-.684 1.368h4.116c-.046-.447-.174-.812-.383-1.094a1.878 1.878 0 0 0-.739-.63 2.021 2.021 0 0 0-.916-.218Zm6.112-.957v1.367c.264-.456.583-.82.957-1.094.374-.273.756-.41 1.148-.41.265 0 .502.046.711.137v1.299a1.698 1.698 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V74h-1.121v-6.836h1.121Zm5.373 0v.875c.219-.246.497-.474.834-.683.346-.22.752-.329 1.217-.329.492 0 .952.119 1.38.356.429.228.757.574.985 1.039a5.844 5.844 0 0 1 1.039-.984c.374-.274.811-.41 1.312-.41.465 0 .898.104 1.299.314.41.2.739.51.985.93.255.41.382.93.382 1.558V74h-1.121l-.013-4.06c0-.593-.155-1.044-.465-1.354-.301-.31-.72-.465-1.258-.465-.392 0-.734.123-1.025.37-.292.245-.57.532-.834.86V74h-1.121l-.014-4.06c0-.593-.155-1.044-.465-1.354-.301-.31-.72-.465-1.258-.465-.373 0-.715.11-1.025.328a4.535 4.535 0 0 0-.834.793V74h-1.121v-6.836h1.121Zm12.646-3.281c.265 0 .483.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.849.849 0 0 1-.657.287.891.891 0 0 1-.67-.287.934.934 0 0 1-.259-.642c0-.247.086-.46.259-.643a.891.891 0 0 1 .67-.287Zm.698 3.281V74h-1.121v-5.783h-1.081v-1.053h2.202Zm4.457-.137c.401 0 .774.06 1.121.178.346.11.597.223.752.342v1.203a3.558 3.558 0 0 0-.78-.424 2.605 2.605 0 0 0-1.011-.205c-.429 0-.752.1-.971.3-.21.201-.314.411-.314.63 0 .173.059.35.177.533.128.173.347.314.656.424l1.149.41c.447.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.373.182-.806.273-1.299.273-.264 0-.542-.036-.834-.11a5.095 5.095 0 0 1-.765-.232 3.516 3.516 0 0 1-.506-.26V72.4c.128.091.305.196.533.315.237.11.488.205.752.287.264.073.511.11.738.11.429 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.405-.25-.724-.37l-1.012-.368c-.529-.201-.88-.452-1.053-.752-.173-.31-.26-.661-.26-1.053 0-.584.219-1.067.657-1.45.437-.382 1.02-.574 1.75-.574Zm5.851 0c.401 0 .775.06 1.121.178.347.11.597.223.752.342v1.203a3.548 3.548 0 0 0-.779-.424 2.606 2.606 0 0 0-1.012-.205c-.428 0-.752.1-.97.3-.21.201-.315.411-.315.63 0 .173.059.35.178.533.127.173.346.314.656.424l1.148.41c.447.155.78.378.999.67.218.292.328.633.328 1.025 0 .383-.11.734-.328 1.053-.21.319-.506.574-.889.766-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.109 5.109 0 0 1-.766-.232 3.548 3.548 0 0 1-.505-.26V72.4c.127.091.305.196.533.315.237.11.487.205.752.287.264.073.51.11.738.11.428 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.406-.25-.725-.37l-1.012-.368c-.528-.201-.879-.452-1.052-.752-.173-.31-.26-.661-.26-1.053 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574Zm4.908-3.144c.265 0 .483.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.849.849 0 0 1-.657.287.891.891 0 0 1-.67-.287.934.934 0 0 1-.259-.642c0-.247.086-.46.259-.643a.891.891 0 0 1 .67-.287Zm.698 3.281V74h-1.121v-5.783h-1.081v-1.053h2.202Zm5.509-.137c.693 0 1.308.164 1.846.492.538.329.957.766 1.258 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.97-1.258 1.299-.538.328-1.153.492-1.846.492-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.734-.984 1.272-1.313.537-.328 1.153-.492 1.845-.492Zm0 1.094a2.28 2.28 0 0 0-1.271.356 2.344 2.344 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.201.374.483.68.848.916.365.228.788.342 1.271.342.493 0 .916-.114 1.272-.342.364-.236.642-.542.834-.916.2-.382.301-.792.301-1.23 0-.447-.101-.857-.301-1.23a2.253 2.253 0 0 0-.834-.916c-.356-.237-.779-.356-1.272-.356Zm6.536-.957v1.08c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192.465 0 .889.105 1.272.315.382.2.688.51.916.93.227.41.341.93.341 1.558V74h-1.121l-.013-4.06c0-.593-.133-1.044-.397-1.354-.255-.31-.652-.465-1.189-.465-.365 0-.729.137-1.094.41-.356.265-.67.575-.943.93V74h-1.122v-6.836h1.122ZM384.877 87.027c.501 0 .934.082 1.299.246.364.155.615.297.752.424v1.135a4.042 4.042 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.272.356a2.342 2.342 0 0 0-.847.916 2.652 2.652 0 0 0-.287 1.23c0 .438.095.848.287 1.23.2.374.483.68.847.916.365.228.789.342 1.272.342.456 0 .848-.068 1.176-.205a4.49 4.49 0 0 0 .875-.506v1.135c-.137.137-.388.283-.752.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.733-.984 1.271-1.313.538-.328 1.153-.492 1.846-.492Zm6.713 0c.392 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.121V94h-1.121v-1.162a3.355 3.355 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.035 3.035 0 0 1-1.599-.437 3.32 3.32 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.106 3.106 0 0 1 1.189-1.258 3.208 3.208 0 0 1 1.682-.45Zm.205 1.094c-.492 0-.912.123-1.258.37a2.506 2.506 0 0 0-.807.956 2.86 2.86 0 0 0-.273 1.244c0 .438.091.843.273 1.217.183.365.438.656.766.875.337.219.725.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.52.78-.902.191-.392.282-.83.273-1.313l-.014-1.312a3.535 3.535 0 0 0-.916-.834c-.319-.2-.688-.3-1.107-.3Zm6.603-.957v1.08c.146-.182.333-.364.561-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192a2.6 2.6 0 0 1 1.271.315c.383.2.689.51.916.93.228.41.342.93.342 1.558V94h-1.121l-.014-4.06c0-.593-.132-1.044-.396-1.354-.255-.31-.652-.465-1.189-.465-.365 0-.73.137-1.094.41-.356.265-.67.575-.944.93V94h-1.121v-6.836h1.121Zm14.848-2.324 4.279 9.16h-1.476l-.957-2.188h-4.293L409.828 94h-1.476l4.279-9.16h.615Zm-.287 2.078-1.654 3.732h3.281l-1.627-3.732Zm9.338.11c.592 0 1.126.145 1.599.437.484.282.866.683 1.149 1.203.292.51.437 1.112.437 1.805 0 .747-.145 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.089 3.089 0 0 1-1.681.464c-.392 0-.793-.105-1.204-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V87.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.093c-.41 0-.784.105-1.121.315-.328.21-.588.5-.779.874-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383.347-.255.611-.583.793-.984.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.15 2.15 0 0 0-.766-.847c-.328-.21-.715-.315-1.162-.315Zm8.682-1.094a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.291.51.437 1.112.437 1.805 0 .747-.146 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.392 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V87.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.315-.328.21-.588.5-.779.874-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383a2.47 2.47 0 0 0 .793-.984c.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.157 2.157 0 0 0-.766-.847c-.328-.21-.715-.315-1.162-.315Zm6.33-.957v1.367c.264-.456.583-.82.957-1.094.374-.273.757-.41 1.149-.41.264 0 .501.046.711.137v1.299a1.704 1.704 0 0 0-.875-.26c-.465 0-.844.164-1.135.492-.283.328-.552.72-.807 1.176V94h-1.121v-6.836h1.121Zm7.342-.137c.693 0 1.308.164 1.846.492.537.329.957.766 1.257 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.3.538-.72.97-1.257 1.299-.538.328-1.153.492-1.846.492-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.733-.984 1.271-1.313.538-.328 1.153-.492 1.846-.492Zm0 1.094c-.483 0-.907.119-1.272.356a2.342 2.342 0 0 0-.847.916 2.652 2.652 0 0 0-.287 1.23c0 .438.095.848.287 1.23.2.374.483.68.847.916.365.228.789.342 1.272.342.492 0 .916-.114 1.271-.342.365-.236.643-.542.834-.916.201-.382.301-.792.301-1.23 0-.447-.1-.857-.301-1.23a2.239 2.239 0 0 0-.834-.916c-.355-.237-.779-.356-1.271-.356Zm11.17-.957L452.252 94h-.697l-3.076-6.836h1.339l2.065 5.031 2.242-5.03h1.34Zm4.047-.137c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.725.273 1.162.273.492 0 .953-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.882 1.882 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm12.181-1.094c.693 0 1.308.164 1.846.492.538.329.957.766 1.258 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.97-1.258 1.299-.538.328-1.153.492-1.846.492-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.734-.984 1.272-1.313.537-.328 1.153-.492 1.845-.492Zm0 1.094c-.483 0-.907.119-1.271.356a2.344 2.344 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.201.374.483.68.848.916.364.228.788.342 1.271.342.493 0 .916-.114 1.272-.342.364-.236.642-.542.834-.916.2-.382.301-.792.301-1.23 0-.447-.101-.857-.301-1.23a2.253 2.253 0 0 0-.834-.916c-.356-.237-.779-.356-1.272-.356Zm6.536-.957v1.367c.264-.456.583-.82.957-1.094.373-.273.756-.41 1.148-.41.264 0 .501.046.711.137v1.299a1.701 1.701 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V94h-1.122v-6.836h1.122Zm12.701-2.53c.665 0 1.207.092 1.627.274.428.183.802.42 1.121.711v1.354a26.966 26.966 0 0 0-.684-.479 3.94 3.94 0 0 0-.875-.451c-.328-.137-.724-.205-1.189-.205-.684 0-1.295.155-1.832.465-.538.31-.962.738-1.272 1.285-.31.538-.465 1.148-.465 1.832 0 .683.155 1.294.465 1.832.31.538.734.966 1.272 1.285.537.31 1.148.465 1.832.465.702 0 1.299-.114 1.791-.342a6.754 6.754 0 0 0 1.23-.724v1.23c-.319.283-.738.529-1.258.738-.51.2-1.098.301-1.763.301a4.872 4.872 0 0 1-1.914-.37 4.95 4.95 0 0 1-1.532-1.038 4.805 4.805 0 0 1-1.025-1.518 4.892 4.892 0 0 1-.355-1.86c0-.655.118-1.27.355-1.845a4.76 4.76 0 0 1 2.557-2.557 4.72 4.72 0 0 1 1.914-.382Zm7.683 2.393c.392 0 .789.096 1.19.287.41.183.761.438 1.052.766v-.916h1.122V94h-1.122v-1.162c-.237.365-.56.684-.97.957-.401.273-.862.41-1.381.41a3.039 3.039 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.109 3.109 0 0 1 1.19-1.258 3.202 3.202 0 0 1 1.681-.45Zm.205 1.094c-.492 0-.911.123-1.257.37a2.489 2.489 0 0 0-.807.956 2.86 2.86 0 0 0-.274 1.244c0 .438.092.843.274 1.217.182.365.437.656.766.875.337.219.724.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.52.779-.902a2.82 2.82 0 0 0 .273-1.313l-.013-1.312a3.55 3.55 0 0 0-.916-.834c-.319-.2-.688-.3-1.108-.3Zm6.604-.957v1.08c.146-.182.333-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.383.2.688.51.916.93.228.41.342.93.342 1.558V94h-1.121l-.014-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V94h-1.121v-6.836h1.121Zm9.967-.137c.501 0 .934.082 1.299.246.364.155.615.297.751.424v1.135a4.018 4.018 0 0 0-.875-.492c-.328-.146-.72-.219-1.175-.219-.483 0-.907.119-1.272.356a2.342 2.342 0 0 0-.847.916 2.652 2.652 0 0 0-.288 1.23c0 .438.096.848.288 1.23.2.374.483.68.847.916.365.228.789.342 1.272.342.455 0 .847-.068 1.175-.205a4.46 4.46 0 0 0 .875-.506v1.135c-.136.137-.387.283-.751.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.617 3.617 0 0 1-1.272-1.299 3.664 3.664 0 0 1-.451-1.791c0-.647.151-1.244.451-1.791.31-.547.734-.984 1.272-1.313.538-.328 1.153-.492 1.846-.492Zm6.713 0c.701 0 1.285.146 1.75.438.464.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.725.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.885 2.885 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.163-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.566 0-1.03.192-1.395.574-.365.374-.592.83-.684 1.368h4.116c-.046-.447-.174-.812-.383-1.094a1.882 1.882 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm6.111-3.965V94h-1.121v-9.844h1.121Z"}),d.createElement("circle",{cx:652,cy:126,r:5,fill:"#6C65E5",stroke:"#F2F2F5",strokeWidth:2}),d.createElement("path",{stroke:"#6C65E5",strokeLinecap:"round",strokeWidth:1.5,d:"M652 126V76"}),d.createElement("path",{fill:"#615BC2",d:"M568.349 33.813v5.564c0 .793-.169 1.476-.506 2.05a3.34 3.34 0 0 1-1.34 1.3c-.565.3-1.208.45-1.928.45-.711 0-1.353-.15-1.928-.45a3.43 3.43 0 0 1-1.353-1.3c-.328-.574-.492-1.257-.492-2.05v-5.565h1.23v5.524c0 .62.114 1.121.342 1.504.237.383.547.66.93.834.392.164.815.246 1.271.246.456-.01.875-.096 1.258-.26.392-.173.702-.446.93-.82.237-.383.355-.884.355-1.504v-5.523h1.231Zm4.566 2.214c.401 0 .775.06 1.121.178.346.11.597.223.752.342v1.203a3.548 3.548 0 0 0-.779-.424 2.61 2.61 0 0 0-1.012-.205c-.428 0-.752.1-.971.3-.209.201-.314.411-.314.63 0 .173.059.35.178.533.127.173.346.314.656.424l1.148.41c.447.155.78.378.998.67.219.292.329.633.329 1.025 0 .383-.11.734-.329 1.053a2.217 2.217 0 0 1-.888.766c-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.073 5.073 0 0 1-.766-.232 3.571 3.571 0 0 1-.506-.26V41.4c.128.092.306.196.534.315.237.11.487.205.752.287.264.073.51.11.738.11.428 0 .765-.096 1.012-.288.255-.191.382-.428.382-.71a.611.611 0 0 0-.259-.52c-.164-.128-.406-.25-.725-.37l-1.012-.368c-.528-.201-.879-.452-1.052-.753-.174-.31-.26-.66-.26-1.052 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574Zm6.631 0c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.21.32.483.575.82.766.337.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.735 2.735 0 0 1-.575.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.191-1.395.574-.364.374-.592.83-.683 1.367h4.115c-.046-.446-.173-.81-.383-1.093a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm6.111-.957v1.367a3.53 3.53 0 0 1 .957-1.093c.374-.274.757-.41 1.149-.41.264 0 .501.045.711.136v1.299a1.704 1.704 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.283.328-.552.72-.807 1.176V43h-1.121v-6.836h1.121Zm17.322 0L600.587 43h-.697l-1.873-4.826L596.144 43h-.698l-2.392-6.836h1.34l1.517 4.799 1.791-4.799h.629l1.791 4.799 1.518-4.799h1.339Zm2.461-3.281c.265 0 .484.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.847.847 0 0 1-.657.287.887.887 0 0 1-.669-.287.93.93 0 0 1-.26-.642.9.9 0 0 1 .26-.643.887.887 0 0 1 .669-.287Zm.698 3.281V43h-1.121v-5.783h-1.08v-1.053h2.201Zm4.306-1.969v1.97h1.996v1.052h-1.996v4.006c0 .282.073.505.219.67.146.164.369.246.67.246a2.1 2.1 0 0 0 .684-.096c.182-.073.341-.15.478-.233v.917c-.182.145-.378.26-.588.341-.2.092-.474.137-.82.137-.583 0-1.025-.173-1.326-.52-.292-.355-.438-.824-.438-1.408v-4.06h-1.312v-.328c.446-.2.82-.529 1.121-.985.301-.465.565-1.034.793-1.709h.519Zm7.383 1.832c.465 0 .889.105 1.272.315.382.2.688.51.916.93.228.41.341.93.341 1.558V43h-1.121l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V43h-1.121v-9.844h1.121v4.088c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192Zm12.223 0a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.292.51.437 1.112.437 1.805 0 .747-.145 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.391 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V36.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.314-.328.21-.588.502-.779.875-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383.347-.255.611-.583.793-.984.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.15 2.15 0 0 0-.766-.848c-.328-.21-.715-.314-1.162-.314Zm6.33-.957v1.367c.264-.456.583-.82.957-1.093.374-.274.757-.41 1.149-.41.264 0 .501.045.711.136v1.299a1.704 1.704 0 0 0-.875-.26c-.465 0-.844.164-1.135.492-.283.328-.552.72-.807 1.176V43h-1.121v-6.836h1.121Zm7.342-.137c.693 0 1.308.164 1.846.492.537.329.957.766 1.257 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.3.538-.72.97-1.257 1.299-.538.328-1.153.492-1.846.492-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.733-.984 1.271-1.313.538-.328 1.153-.492 1.846-.492Zm0 1.094c-.483 0-.907.119-1.272.356a2.342 2.342 0 0 0-.847.916 2.652 2.652 0 0 0-.287 1.23c0 .438.095.848.287 1.23.2.374.483.68.847.916.365.228.789.342 1.272.342.492 0 .916-.114 1.271-.341.365-.237.643-.543.834-.917.201-.382.301-.793.301-1.23 0-.447-.1-.857-.301-1.23a2.239 2.239 0 0 0-.834-.916c-.355-.237-.779-.356-1.271-.356Zm8.887-1.094a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.291.51.437 1.112.437 1.805 0 .747-.146 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.392 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V36.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.314-.328.21-.588.502-.779.875-.183.365-.274.793-.274 1.286l.014 1.312c.291.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.492 0 .912-.127 1.258-.383a2.47 2.47 0 0 0 .793-.984 2.98 2.98 0 0 0 .287-1.271 2.52 2.52 0 0 0-.273-1.19 2.157 2.157 0 0 0-.766-.848c-.328-.21-.715-.314-1.162-.314Zm8.025-1.094c.702 0 1.285.146 1.75.438.465.291.812.688 1.039 1.19.237.5.356 1.066.356 1.695v.67h-5.25c.055.382.187.733.396 1.052.21.32.483.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.752 2.752 0 0 1-.574.492c-.246.164-.533.301-.862.41a2.88 2.88 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.606 3.606 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.452-1.791c0-.647.142-1.244.424-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.115c-.045-.446-.173-.81-.382-1.093a1.878 1.878 0 0 0-.739-.63 2.021 2.021 0 0 0-.916-.218Zm6.112-.957v1.367c.264-.456.583-.82.957-1.093.373-.274.756-.41 1.148-.41.264 0 .501.045.711.136v1.299a1.701 1.701 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V43h-1.121v-6.836h1.121Zm11.826-.137a2.99 2.99 0 0 1 1.599.438c.484.282.866.683 1.149 1.203.292.51.437 1.112.437 1.805 0 .747-.145 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.391 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V36.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.314-.328.21-.588.502-.779.875-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.493 0 .912-.127 1.258-.383.347-.255.611-.583.793-.984.192-.41.287-.834.287-1.271a2.52 2.52 0 0 0-.273-1.19 2.15 2.15 0 0 0-.766-.848c-.328-.21-.715-.314-1.162-.314Zm8.025-1.094c.702 0 1.286.146 1.75.438a2.69 2.69 0 0 1 1.04 1.19c.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.396 1.052.21.32.484.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.885 2.885 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.029.191-1.394.574-.365.374-.593.83-.684 1.367h4.116c-.046-.446-.174-.81-.383-1.093a1.878 1.878 0 0 0-.739-.63 2.021 2.021 0 0 0-.916-.218Zm6.112-.957v1.367c.264-.456.583-.82.957-1.093.374-.274.756-.41 1.148-.41.265 0 .502.045.711.136v1.299a1.698 1.698 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V43h-1.121v-6.836h1.121Zm5.373 0v.875c.219-.246.497-.474.834-.684.346-.218.752-.328 1.217-.328.492 0 .952.119 1.38.356.429.228.757.574.985 1.039a5.844 5.844 0 0 1 1.039-.984c.374-.274.811-.41 1.312-.41.465 0 .898.104 1.299.314.41.2.739.51.985.93.255.41.382.93.382 1.558V43h-1.121l-.013-4.06c0-.593-.155-1.044-.465-1.354-.301-.31-.72-.465-1.258-.465-.392 0-.734.123-1.025.37-.292.245-.57.532-.834.86V43h-1.121l-.014-4.06c0-.593-.155-1.044-.465-1.354-.301-.31-.72-.465-1.258-.465-.373 0-.715.11-1.025.328a4.535 4.535 0 0 0-.834.793V43h-1.121v-6.836h1.121Zm12.646-3.281c.265 0 .483.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.849.849 0 0 1-.657.287.891.891 0 0 1-.67-.287.934.934 0 0 1-.259-.642c0-.247.086-.46.259-.643a.891.891 0 0 1 .67-.287Zm.698 3.281V43h-1.121v-5.783h-1.081v-1.053h2.202Zm4.457-.137c.401 0 .774.06 1.121.178.346.11.597.223.752.342v1.203a3.558 3.558 0 0 0-.78-.424 2.605 2.605 0 0 0-1.011-.205c-.429 0-.752.1-.971.3-.21.201-.314.411-.314.63 0 .173.059.35.177.533.128.173.347.314.656.424l1.149.41c.447.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.373.182-.806.273-1.299.273-.264 0-.542-.036-.834-.11a5.095 5.095 0 0 1-.765-.232 3.516 3.516 0 0 1-.506-.26V41.4c.128.092.305.196.533.315.237.11.488.205.752.287.264.073.511.11.738.11.429 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.405-.25-.724-.37l-1.012-.368c-.529-.201-.88-.452-1.053-.753-.173-.31-.26-.66-.26-1.052 0-.584.219-1.067.657-1.45.437-.382 1.02-.574 1.75-.574Zm5.851 0c.401 0 .775.06 1.121.178.347.11.597.223.752.342v1.203a3.548 3.548 0 0 0-.779-.424 2.606 2.606 0 0 0-1.012-.205c-.428 0-.752.1-.97.3-.21.201-.315.411-.315.63 0 .173.059.35.178.533.127.173.346.314.656.424l1.148.41c.447.155.78.378.999.67.218.292.328.633.328 1.025 0 .383-.11.734-.328 1.053-.21.319-.506.574-.889.766-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.109 5.109 0 0 1-.766-.232 3.548 3.548 0 0 1-.505-.26V41.4c.127.092.305.196.533.315.237.11.487.205.752.287.264.073.51.11.738.11.428 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.406-.25-.725-.37l-1.012-.368c-.528-.201-.879-.452-1.052-.753-.173-.31-.26-.66-.26-1.052 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574Zm4.908-3.144c.265 0 .483.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.849.849 0 0 1-.657.287.891.891 0 0 1-.67-.287.934.934 0 0 1-.259-.642c0-.247.086-.46.259-.643a.891.891 0 0 1 .67-.287Zm.698 3.281V43h-1.121v-5.783h-1.081v-1.053h2.202Zm5.509-.137c.693 0 1.308.164 1.846.492.538.329.957.766 1.258 1.313a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.97-1.258 1.299-.538.328-1.153.492-1.846.492-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.734-.984 1.272-1.313.537-.328 1.153-.492 1.845-.492Zm0 1.094a2.28 2.28 0 0 0-1.271.356 2.344 2.344 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.201.374.483.68.848.916.365.228.788.342 1.271.342.493 0 .916-.114 1.272-.341.364-.237.642-.543.834-.917.2-.382.301-.793.301-1.23 0-.447-.101-.857-.301-1.23a2.253 2.253 0 0 0-.834-.916c-.356-.237-.779-.356-1.272-.356Zm6.536-.957v1.08c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192.465 0 .889.105 1.272.315.382.2.688.51.916.93.227.41.341.93.341 1.558V43h-1.121l-.013-4.06c0-.593-.133-1.044-.397-1.354-.255-.31-.652-.465-1.189-.465-.365 0-.729.137-1.094.41-.356.265-.67.575-.943.93V43h-1.122v-6.836h1.122ZM595.2 56.027c.501 0 .934.082 1.299.246.365.155.615.297.752.424v1.135a4.042 4.042 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.271.356a2.344 2.344 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.201.374.483.68.848.916.364.228.788.342 1.271.342.456 0 .848-.068 1.176-.205a4.49 4.49 0 0 0 .875-.506v1.135c-.137.137-.387.283-.752.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.59 3.59 0 0 1 1.271-1.313c.538-.328 1.153-.492 1.846-.492Zm6.713 0c.392 0 .788.096 1.19.288.41.182.761.437 1.052.765v-.916h1.121V63h-1.121v-1.162c-.237.364-.56.684-.97.957-.401.273-.862.41-1.381.41a3.036 3.036 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.113 3.113 0 0 1 1.189-1.258 3.208 3.208 0 0 1 1.682-.45Zm.205 1.094c-.492 0-.911.123-1.258.37a2.495 2.495 0 0 0-.806.956 2.847 2.847 0 0 0-.274 1.244c0 .438.091.843.274 1.217.182.365.437.657.765.875a2.09 2.09 0 0 0 1.162.328c.42 0 .793-.109 1.122-.328.328-.218.587-.52.779-.902.191-.392.282-.83.273-1.313l-.013-1.312a3.55 3.55 0 0 0-.916-.834 2.04 2.04 0 0 0-1.108-.3Zm6.604-.957v1.08c.146-.182.332-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.382.2.688.51.916.93.228.41.341.93.341 1.558V63h-1.121l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V63h-1.121v-6.836h1.121Zm13.795-.137c.392 0 .788.096 1.189.288.41.182.761.437 1.053.765v-.916h1.121V63h-1.121v-1.162a3.355 3.355 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.035 3.035 0 0 1-1.599-.437 3.32 3.32 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.106 3.106 0 0 1 1.189-1.258 3.205 3.205 0 0 1 1.682-.45Zm.205 1.094c-.493 0-.912.123-1.258.37a2.506 2.506 0 0 0-.807.956 2.86 2.86 0 0 0-.273 1.244c0 .438.091.843.273 1.217.183.365.438.657.766.875.337.219.724.328 1.162.328.419 0 .793-.109 1.121-.328.328-.218.588-.52.779-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.535 3.535 0 0 0-.916-.834c-.319-.2-.688-.3-1.107-.3Zm8.955-1.094a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.291.51.437 1.112.437 1.805 0 .747-.146 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.392 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V56.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.314-.328.21-.588.502-.779.875-.183.365-.274.793-.274 1.286l.014 1.312c.292.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.492 0 .912-.127 1.258-.383a2.47 2.47 0 0 0 .793-.984 2.98 2.98 0 0 0 .287-1.271 2.52 2.52 0 0 0-.273-1.19 2.157 2.157 0 0 0-.766-.848c-.328-.21-.715-.314-1.162-.314Zm8.682-1.094a2.99 2.99 0 0 1 1.599.438 3.05 3.05 0 0 1 1.149 1.203c.291.51.437 1.112.437 1.805 0 .747-.146 1.403-.437 1.968a3.192 3.192 0 0 1-1.176 1.3 3.09 3.09 0 0 1-1.682.464c-.392 0-.793-.105-1.203-.314a3.624 3.624 0 0 1-1.039-.807v4.197h-1.121V56.164h1.121v1.162c.237-.364.556-.67.957-.916.41-.255.875-.383 1.395-.383Zm-.178 1.094c-.41 0-.784.105-1.121.314-.328.21-.588.502-.779.875-.183.365-.274.793-.274 1.286l.014 1.312c.291.356.597.647.916.875a1.91 1.91 0 0 0 1.107.328c.492 0 .912-.127 1.258-.383a2.47 2.47 0 0 0 .793-.984 2.98 2.98 0 0 0 .287-1.271 2.52 2.52 0 0 0-.273-1.19 2.157 2.157 0 0 0-.766-.848c-.328-.21-.715-.314-1.162-.314Zm6.33-3.965V63h-1.121v-9.844h1.121Zm2.707 3.008 2.393 5.031 2.324-5.03h1.34l-5.032 10.116h-1.298l1.955-3.691-3.022-6.426h1.34Zm14.615-.137c.502 0 .935.082 1.299.246.365.155.615.297.752.424v1.135a4.042 4.042 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.271.356a2.344 2.344 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.201.374.483.68.848.916.364.228.788.342 1.271.342.456 0 .848-.068 1.176-.205a4.49 4.49 0 0 0 .875-.506v1.135c-.137.137-.387.283-.752.438-.364.155-.797.232-1.299.232-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.734-.984 1.272-1.313.537-.328 1.153-.492 1.845-.492Zm7.246 0c.465 0 .889.105 1.272.315.383.2.688.51.916.93.228.41.342.93.342 1.558V63h-1.121l-.014-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V63h-1.121v-9.844h1.121v4.088c.146-.182.333-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192Zm7.465 0c.392 0 .789.096 1.19.288.41.182.761.437 1.052.765v-.916h1.121V63h-1.121v-1.162c-.237.364-.56.684-.97.957-.401.273-.862.41-1.381.41a3.039 3.039 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.109 3.109 0 0 1 1.19-1.258 3.202 3.202 0 0 1 1.681-.45Zm.205 1.094c-.492 0-.911.123-1.258.37a2.495 2.495 0 0 0-.806.956 2.86 2.86 0 0 0-.274 1.244c0 .438.092.843.274 1.217.182.365.437.657.765.875.338.219.725.328 1.163.328.419 0 .793-.109 1.121-.328.328-.218.588-.52.779-.902a2.82 2.82 0 0 0 .273-1.313l-.013-1.312a3.55 3.55 0 0 0-.916-.834c-.319-.2-.688-.3-1.108-.3Zm6.604-.957v1.08c.146-.182.332-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.383.2.688.51.916.93.228.41.342.93.342 1.558V63h-1.121l-.014-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V63h-1.121v-6.836h1.121Zm9.693-.137c.392 0 .789.096 1.19.288.41.182.761.437 1.052.765v-.916h1.121v6.7c0 .81-.164 1.485-.492 2.023a3.087 3.087 0 0 1-1.312 1.203 4.06 4.06 0 0 1-1.791.396c-.42 0-.78-.05-1.08-.15a2.726 2.726 0 0 1-.752-.355c-.21-.137-.401-.27-.575-.397v-1.203c.137.1.315.228.534.383.228.164.496.31.806.437.319.128.675.192 1.067.192.446 0 .857-.082 1.23-.246.374-.165.675-.406.903-.725.227-.32.341-.702.341-1.149v-1.435c-.237.364-.56.684-.97.957-.401.273-.862.41-1.381.41a3.036 3.036 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.109 3.109 0 0 1 1.19-1.258 3.202 3.202 0 0 1 1.681-.45Zm.205 1.108c-.492 0-.911.123-1.258.369a2.39 2.39 0 0 0-.806.943 2.847 2.847 0 0 0-.274 1.244c0 .438.091.839.274 1.203.182.365.437.657.765.876.338.218.725.328 1.163.328.419 0 .792-.11 1.121-.328.328-.22.588-.52.779-.903.191-.383.282-.816.273-1.299l-.013-1.312a3.334 3.334 0 0 0-.916-.82c-.319-.201-.688-.301-1.108-.301Zm8.299-1.108c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.356 1.066.356 1.695v.67h-5.25c.054.382.186.733.396 1.052.21.32.483.575.82.766a2.41 2.41 0 0 0 1.163.273c.492 0 .952-.123 1.38-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.752 2.752 0 0 1-.574.492c-.247.164-.534.301-.862.41a2.88 2.88 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.617 3.617 0 0 1-1.272-1.299 3.664 3.664 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.283-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.115c-.045-.446-.173-.81-.383-1.093a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm7.027-1.094c.401 0 .775.06 1.122.178.346.11.597.223.751.342v1.203a3.548 3.548 0 0 0-.779-.424 2.606 2.606 0 0 0-1.012-.205c-.428 0-.752.1-.97.3-.21.201-.315.411-.315.63 0 .173.06.35.178.533.128.173.346.314.656.424l1.149.41c.446.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.095 5.095 0 0 1-.765-.232 3.516 3.516 0 0 1-.506-.26V61.4c.127.092.305.196.533.315.237.11.488.205.752.287.264.073.51.11.738.11.429 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.406-.25-.725-.37l-1.011-.368c-.529-.201-.88-.452-1.053-.753-.173-.31-.26-.66-.26-1.052 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574ZM554.439 234.84l4.28 9.16h-1.477l-.957-2.188h-4.293l-.971 2.188h-1.476l4.279-9.16h.615Zm-.287 2.078-1.654 3.732h3.281l-1.627-3.732Zm11.457.246v4.047c0 .601-.127 1.121-.382 1.559a2.65 2.65 0 0 1-1.039 1.011c-.438.237-.93.356-1.477.356a3.052 3.052 0 0 1-1.477-.356 2.65 2.65 0 0 1-1.039-1.011c-.255-.438-.383-.958-.383-1.559v-4.047h1.163v4.047c0 .592.173 1.048.519 1.367a1.8 1.8 0 0 0 1.217.465c.456 0 .857-.155 1.203-.465.356-.319.533-.775.533-1.367v-4.047h1.162Zm4.006-1.969v1.969h1.996v1.053h-1.996v4.006c0 .282.073.506.219.67.146.164.369.246.67.246.273 0 .501-.032.684-.096.182-.073.341-.15.478-.232v.916a2.26 2.26 0 0 1-.588.341c-.2.092-.474.137-.82.137-.584 0-1.026-.173-1.326-.519-.292-.356-.438-.825-.438-1.409v-4.06h-1.312v-.328c.446-.201.82-.529 1.121-.985.301-.465.565-1.034.793-1.709h.519Zm7.123 1.832c.693 0 1.308.164 1.846.493.538.328.957.765 1.258 1.312a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.971-1.258 1.299-.538.328-1.153.492-1.846.492-.692 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.58 3.58 0 0 1 1.272-1.312c.537-.329 1.153-.493 1.845-.493Zm0 1.094c-.483 0-.907.119-1.271.356a2.337 2.337 0 0 0-.848.916 2.66 2.66 0 0 0-.287 1.23c0 .438.096.848.287 1.231.201.373.483.679.848.916.364.227.788.341 1.271.341.492 0 .916-.114 1.272-.341a2.38 2.38 0 0 0 .834-.916c.2-.383.301-.793.301-1.231 0-.447-.101-.857-.301-1.23a2.246 2.246 0 0 0-.834-.916c-.356-.237-.78-.356-1.272-.356Zm6.535-.957v.875c.219-.246.497-.474.834-.684.347-.218.752-.328 1.217-.328.492 0 .953.119 1.381.356.428.228.757.574.984 1.039a5.825 5.825 0 0 1 1.04-.984 2.157 2.157 0 0 1 1.312-.411c.465 0 .898.105 1.299.315.41.2.738.51.984.929.255.411.383.93.383 1.559V244h-1.121l-.014-4.061c0-.592-.155-1.043-.465-1.353-.3-.31-.72-.465-1.257-.465-.392 0-.734.123-1.026.369a6.287 6.287 0 0 0-.834.862V244h-1.121l-.014-4.061c0-.592-.154-1.043-.464-1.353-.301-.31-.72-.465-1.258-.465-.374 0-.716.109-1.026.328-.3.219-.578.483-.834.793V244h-1.121v-6.836h1.121Zm14.37-.137c.392 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.121V244h-1.121v-1.162a3.37 3.37 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.04 3.04 0 0 1-1.599-.437 3.332 3.332 0 0 1-1.163-1.245c-.282-.528-.423-1.139-.423-1.832 0-.756.141-1.408.423-1.955a3.107 3.107 0 0 1 1.19-1.257 3.204 3.204 0 0 1 1.682-.452Zm.205 1.094c-.493 0-.912.123-1.258.369a2.497 2.497 0 0 0-.807.957 2.862 2.862 0 0 0-.273 1.244c0 .438.091.844.273 1.217.182.365.438.656.766.875.337.219.724.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.519.779-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.517 3.517 0 0 0-.916-.834 2.032 2.032 0 0 0-1.107-.301Zm7.369-2.926v1.969h1.996v1.053h-1.996v4.006c0 .282.073.506.219.67.145.164.369.246.669.246.274 0 .502-.032.684-.096.182-.073.342-.15.479-.232v.916a2.293 2.293 0 0 1-.588.341c-.201.092-.474.137-.821.137-.583 0-1.025-.173-1.326-.519-.291-.356-.437-.825-.437-1.409v-4.06h-1.313v-.328c.447-.201.821-.529 1.121-.985.301-.465.565-1.034.793-1.709h.52Zm5.127-1.312c.264 0 .483.096.656.287a.879.879 0 0 1 .273.642.91.91 0 0 1-.273.643.848.848 0 0 1-.656.287.89.89 0 0 1-.67-.287.936.936 0 0 1-.26-.643c0-.246.087-.46.26-.642a.89.89 0 0 1 .67-.287Zm.697 3.281V244h-1.121v-5.783h-1.08v-1.053h2.201Zm5.51-.137c.501 0 .934.082 1.299.246.364.155.615.297.752.424v1.135a4.091 4.091 0 0 0-.875-.492c-.329-.146-.72-.219-1.176-.219-.483 0-.907.119-1.272.356a2.335 2.335 0 0 0-.847.916 2.647 2.647 0 0 0-.287 1.23c0 .438.095.848.287 1.231.2.373.483.679.847.916.365.227.789.341 1.272.341.456 0 .847-.068 1.176-.205a4.5 4.5 0 0 0 .875-.506v1.135c-.137.137-.388.283-.752.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.603 3.603 0 0 1-1.271-1.299 3.655 3.655 0 0 1-.452-1.791c0-.647.151-1.244.452-1.791a3.57 3.57 0 0 1 1.271-1.312c.538-.329 1.153-.493 1.846-.493Zm6.713 0c.392 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.121V244h-1.121v-1.162a3.37 3.37 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.04 3.04 0 0 1-1.599-.437 3.322 3.322 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.099 3.099 0 0 1 1.189-1.257 3.204 3.204 0 0 1 1.682-.452Zm.205 1.094c-.492 0-.912.123-1.258.369a2.505 2.505 0 0 0-.807.957 2.862 2.862 0 0 0-.273 1.244c0 .438.091.844.273 1.217.183.365.438.656.766.875.337.219.725.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.519.779-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.517 3.517 0 0 0-.916-.834 2.032 2.032 0 0 0-1.107-.301Zm6.603-3.965V244h-1.121v-9.844h1.121Zm3.446 0V244h-1.122v-9.844h1.122Zm2.707 3.008 2.392 5.031 2.324-5.031h1.34l-5.031 10.117h-1.299l1.955-3.691-3.021-6.426h1.34Zm14.341-.137c.392 0 .789.096 1.19.287.41.183.761.438 1.053.766v-.916h1.121v6.699c0 .811-.164 1.486-.492 2.024a3.098 3.098 0 0 1-1.313 1.203 4.066 4.066 0 0 1-1.791.396c-.419 0-.779-.05-1.08-.15a2.731 2.731 0 0 1-.752-.356c-.21-.136-.401-.268-.574-.396v-1.203c.136.1.314.228.533.383.228.164.497.31.807.437.319.128.674.192 1.066.192.447 0 .857-.082 1.23-.247.374-.164.675-.405.903-.724.228-.319.342-.702.342-1.149v-1.435a3.37 3.37 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.044 3.044 0 0 1-1.6-.437 3.33 3.33 0 0 1-1.162-1.245c-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.1 3.1 0 0 1 1.19-1.257 3.203 3.203 0 0 1 1.681-.452Zm.205 1.108c-.492 0-.911.123-1.257.369a2.382 2.382 0 0 0-.807.943 2.862 2.862 0 0 0-.273 1.244c0 .438.091.839.273 1.204.182.364.438.656.766.875.337.218.724.328 1.162.328.419 0 .793-.11 1.121-.328.328-.219.588-.52.779-.903.192-.383.283-.816.274-1.299l-.014-1.312a3.316 3.316 0 0 0-.916-.82 2.033 2.033 0 0 0-1.108-.301Zm8.573-1.108c.692 0 1.308.164 1.845.493.538.328.957.765 1.258 1.312a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.971-1.258 1.299-.537.328-1.153.492-1.845.492-.693 0-1.308-.164-1.846-.492a3.603 3.603 0 0 1-1.271-1.299 3.655 3.655 0 0 1-.452-1.791c0-.647.151-1.244.452-1.791a3.57 3.57 0 0 1 1.271-1.312c.538-.329 1.153-.493 1.846-.493Zm0 1.094c-.483 0-.907.119-1.272.356a2.335 2.335 0 0 0-.847.916 2.647 2.647 0 0 0-.287 1.23c0 .438.095.848.287 1.231.2.373.483.679.847.916.365.227.789.341 1.272.341.492 0 .916-.114 1.271-.341.365-.237.643-.543.834-.916.201-.383.301-.793.301-1.231 0-.447-.1-.857-.301-1.23a2.233 2.233 0 0 0-.834-.916c-.355-.237-.779-.356-1.271-.356Zm8.23-1.094c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.039 1.189c.237.502.356 1.067.356 1.696v.67h-5.25c.054.382.187.733.396 1.052.21.319.483.574.821.766.337.182.724.273 1.162.273a2.73 2.73 0 0 0 1.381-.369 5.205 5.205 0 0 0 1.08-.834l-.014 1.217a2.743 2.743 0 0 1-.574.492 3.57 3.57 0 0 1-.862.41 2.868 2.868 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.272-1.299 3.665 3.665 0 0 1-.451-1.791c0-.647.142-1.244.424-1.791a3.45 3.45 0 0 1 1.162-1.312 3.046 3.046 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.115c-.045-.446-.173-.811-.382-1.093a1.876 1.876 0 0 0-.739-.629 2.019 2.019 0 0 0-.916-.219Zm7.028-1.094c.401 0 .774.06 1.121.178.346.109.597.223.752.342v1.203a3.586 3.586 0 0 0-.78-.424 2.599 2.599 0 0 0-1.011-.205c-.429 0-.752.1-.971.301-.21.2-.315.41-.315.629 0 .173.06.351.178.533.128.173.347.314.656.424l1.149.41c.446.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.373.182-.806.273-1.299.273-.264 0-.542-.036-.834-.109a5.128 5.128 0 0 1-.765-.233 3.592 3.592 0 0 1-.506-.259V242.4c.128.092.305.196.533.315.237.109.488.205.752.287.264.073.511.109.738.109.429 0 .766-.095 1.012-.287.255-.191.383-.428.383-.711a.611.611 0 0 0-.26-.519c-.164-.128-.405-.251-.724-.369l-1.012-.37c-.529-.2-.88-.451-1.053-.751a2.124 2.124 0 0 1-.26-1.053c0-.584.219-1.067.657-1.449.437-.383 1.02-.575 1.75-.575Zm9.802-1.832v1.969h1.996v1.053h-1.996v4.006c0 .282.073.506.219.67.146.164.369.246.67.246.273 0 .501-.032.684-.096.182-.073.341-.15.478-.232v.916a2.26 2.26 0 0 1-.588.341c-.2.092-.474.137-.82.137-.583 0-1.026-.173-1.326-.519-.292-.356-.438-.825-.438-1.409v-4.06h-1.312v-.328c.446-.201.82-.529 1.121-.985.301-.465.565-1.034.793-1.709h.519Zm7.123 1.832c.693 0 1.308.164 1.846.493.538.328.957.765 1.258 1.312a3.57 3.57 0 0 1 .465 1.791 3.57 3.57 0 0 1-.465 1.791c-.301.538-.72.971-1.258 1.299-.538.328-1.153.492-1.846.492-.692 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.58 3.58 0 0 1 1.272-1.312c.537-.329 1.153-.493 1.845-.493Zm0 1.094c-.483 0-.907.119-1.271.356a2.337 2.337 0 0 0-.848.916 2.66 2.66 0 0 0-.287 1.23c0 .438.096.848.287 1.231.201.373.483.679.848.916.364.227.788.341 1.271.341.493 0 .916-.114 1.272-.341a2.38 2.38 0 0 0 .834-.916c.2-.383.301-.793.301-1.231 0-.447-.101-.857-.301-1.23a2.246 2.246 0 0 0-.834-.916c-.356-.237-.779-.356-1.272-.356Zm13.864-3.486c.665 0 1.207.091 1.627.273a3.91 3.91 0 0 1 1.121.711v1.354a26.162 26.162 0 0 0-.684-.479 3.961 3.961 0 0 0-.875-.451c-.328-.137-.725-.205-1.189-.205-.684 0-1.295.155-1.832.465-.538.31-.962.738-1.272 1.285-.31.538-.465 1.148-.465 1.832 0 .684.155 1.294.465 1.832.31.538.734.966 1.272 1.285.537.31 1.148.465 1.832.465.701 0 1.298-.114 1.791-.342a6.76 6.76 0 0 0 1.23-.724v1.23c-.319.283-.738.529-1.258.738-.51.201-1.098.301-1.763.301a4.874 4.874 0 0 1-1.914-.369 4.954 4.954 0 0 1-1.532-1.039 4.804 4.804 0 0 1-1.025-1.518 4.89 4.89 0 0 1-.356-1.859c0-.656.119-1.272.356-1.846a4.749 4.749 0 0 1 2.557-2.556 4.708 4.708 0 0 1 1.914-.383Zm7.683 2.392c.392 0 .789.096 1.19.287.41.183.761.438 1.052.766v-.916h1.122V244h-1.122v-1.162c-.237.364-.56.683-.97.957-.401.273-.862.41-1.381.41a3.044 3.044 0 0 1-1.6-.437 3.33 3.33 0 0 1-1.162-1.245c-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.1 3.1 0 0 1 1.19-1.257 3.2 3.2 0 0 1 1.681-.452Zm.205 1.094c-.492 0-.911.123-1.258.369a2.494 2.494 0 0 0-.806.957 2.863 2.863 0 0 0-.274 1.244c0 .438.092.844.274 1.217.182.365.437.656.765.875a2.09 2.09 0 0 0 1.163.328c.419 0 .793-.109 1.121-.328.328-.219.588-.519.779-.902.191-.392.283-.83.273-1.313l-.013-1.312a3.533 3.533 0 0 0-.916-.834 2.033 2.033 0 0 0-1.108-.301Zm6.604-.957v1.08a3.61 3.61 0 0 1 .56-.547c.228-.191.483-.351.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.383.2.688.51.916.929.228.411.342.93.342 1.559V244h-1.121l-.014-4.061c0-.592-.132-1.043-.397-1.353-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41-.355.265-.67.574-.943.93V244h-1.121v-6.836h1.121Zm9.967-.137c.501 0 .934.082 1.298.246.365.155.616.297.752.424v1.135a4.043 4.043 0 0 0-.875-.492c-.328-.146-.72-.219-1.175-.219-.483 0-.907.119-1.272.356a2.345 2.345 0 0 0-.848.916 2.66 2.66 0 0 0-.287 1.23c0 .438.096.848.287 1.231.201.373.484.679.848.916.365.227.789.341 1.272.341.455 0 .847-.068 1.175-.205a4.44 4.44 0 0 0 .875-.506v1.135c-.136.137-.387.283-.752.438-.364.155-.797.232-1.298.232-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.272-1.299 3.665 3.665 0 0 1-.451-1.791c0-.647.151-1.244.451-1.791a3.58 3.58 0 0 1 1.272-1.312c.538-.329 1.153-.493 1.846-.493Zm6.712 0c.702 0 1.286.146 1.75.438.465.292.812.688 1.04 1.189.237.502.355 1.067.355 1.696v.67h-5.25c.055.382.187.733.397 1.052.209.319.483.574.82.766.337.182.724.273 1.162.273a2.73 2.73 0 0 0 1.381-.369 5.205 5.205 0 0 0 1.08-.834l-.014 1.217a2.717 2.717 0 0 1-.574.492 3.58 3.58 0 0 1-.861.41 2.874 2.874 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.611 3.611 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.163-1.312a3.04 3.04 0 0 1 1.708-.493Zm0 1.094c-.565 0-1.029.191-1.394.574-.365.374-.592.83-.684 1.367h4.116c-.046-.446-.174-.811-.383-1.093a1.88 1.88 0 0 0-.738-.629 2.023 2.023 0 0 0-.917-.219Zm6.112-3.965V244h-1.121v-9.844h1.121Zm3.445 0V244h-1.121v-9.844h1.121Zm5.141 2.871c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.039 1.189c.237.502.355 1.067.355 1.696v.67h-5.25c.055.382.187.733.397 1.052.209.319.483.574.82.766.337.182.725.273 1.162.273.492 0 .953-.123 1.381-.369a5.205 5.205 0 0 0 1.08-.834l-.014 1.217a2.717 2.717 0 0 1-.574.492 3.58 3.58 0 0 1-.861.41 2.87 2.87 0 0 1-1.012.178c-.693 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.312a3.044 3.044 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.395.574-.364.374-.592.83-.683 1.367h4.115c-.046-.446-.173-.811-.383-1.093a1.873 1.873 0 0 0-.738-.629 2.022 2.022 0 0 0-.916-.219Zm11.17-3.965V244h-1.121v-1.162a3.37 3.37 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.044 3.044 0 0 1-1.6-.437 3.33 3.33 0 0 1-1.162-1.245c-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.1 3.1 0 0 1 1.19-1.257 3.203 3.203 0 0 1 1.681-.452c.392 0 .789.096 1.19.287.41.183.761.438 1.053.766v-3.924h1.121Zm-3.159 3.992c-.492 0-.911.123-1.257.37a2.404 2.404 0 0 0-.807.929 2.862 2.862 0 0 0-.273 1.244c0 .438.091.844.273 1.217.182.365.438.656.766.875.337.219.724.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.519.779-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.316 3.316 0 0 0-.916-.82 2.106 2.106 0 0 0-1.108-.288Z"}),d.createElement("path",{fill:"#D11525",d:"M513.779 184.635c.666 0 1.208.091 1.627.273.429.182.802.419 1.121.711v1.354c-.2-.146-.428-.306-.683-.479a3.961 3.961 0 0 0-.875-.451c-.328-.137-.725-.205-1.19-.205-.683 0-1.294.155-1.832.465a3.38 3.38 0 0 0-1.271 1.285c-.31.538-.465 1.148-.465 1.832 0 .684.155 1.294.465 1.832.31.538.734.966 1.271 1.285.538.31 1.149.465 1.832.465.702 0 1.299-.114 1.791-.342a6.738 6.738 0 0 0 1.231-.724v1.23c-.319.283-.739.529-1.258.738-.51.201-1.098.301-1.764.301a4.88 4.88 0 0 1-1.914-.369 4.95 4.95 0 0 1-1.531-1.039 4.787 4.787 0 0 1-1.025-1.518 4.89 4.89 0 0 1-.356-1.859c0-.656.119-1.272.356-1.846a4.745 4.745 0 0 1 2.556-2.556 4.714 4.714 0 0 1 1.914-.383Zm8.217 2.392c.465 0 .889.105 1.272.315.382.2.688.51.916.929.227.411.341.93.341 1.559V194h-1.121l-.013-4.061c0-.592-.133-1.043-.397-1.353-.255-.31-.652-.465-1.189-.465-.365 0-.729.137-1.094.41-.356.265-.67.574-.943.93V194h-1.122v-9.844h1.122v4.088c.145-.182.332-.364.56-.547.228-.191.483-.351.766-.478a2.22 2.22 0 0 1 .902-.192Zm7.465 0c.392 0 .788.096 1.189.287.411.183.761.438 1.053.766v-.916h1.121V194h-1.121v-1.162c-.237.364-.56.683-.971.957-.401.273-.861.41-1.38.41a3.041 3.041 0 0 1-1.6-.437 3.33 3.33 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.105 3.105 0 0 1 1.189-1.257 3.206 3.206 0 0 1 1.682-.452Zm.205 1.094c-.492 0-.911.123-1.258.369a2.494 2.494 0 0 0-.806.957 2.849 2.849 0 0 0-.274 1.244c0 .438.091.844.274 1.217.182.365.437.656.765.875.337.219.725.328 1.162.328.42 0 .793-.109 1.121-.328.329-.219.588-.519.78-.902.191-.392.282-.83.273-1.313l-.014-1.312a3.501 3.501 0 0 0-.916-.834 2.032 2.032 0 0 0-1.107-.301Zm6.604-.957v1.08c.145-.182.332-.364.56-.547.228-.191.483-.351.766-.478a2.22 2.22 0 0 1 .902-.192c.465 0 .889.105 1.272.315.382.2.688.51.916.929.227.411.341.93.341 1.559V194h-1.121l-.013-4.061c0-.592-.133-1.043-.397-1.353-.255-.31-.652-.465-1.189-.465-.365 0-.73.137-1.094.41-.356.265-.67.574-.943.93V194h-1.122v-6.836h1.122Zm9.693-.137c.392 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.121v6.699c0 .811-.164 1.486-.492 2.024a3.092 3.092 0 0 1-1.313 1.203 4.06 4.06 0 0 1-1.791.396c-.419 0-.779-.05-1.08-.15a2.745 2.745 0 0 1-.752-.356 11.684 11.684 0 0 1-.574-.396v-1.203c.137.1.315.228.533.383.228.164.497.31.807.437.319.128.675.192 1.066.192.447 0 .857-.082 1.231-.247a2.14 2.14 0 0 0 .902-.724c.228-.319.342-.702.342-1.149v-1.435c-.237.364-.56.683-.971.957-.401.273-.861.41-1.38.41a3.041 3.041 0 0 1-1.6-.437 3.322 3.322 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.099 3.099 0 0 1 1.189-1.257 3.206 3.206 0 0 1 1.682-.452Zm.205 1.108c-.492 0-.911.123-1.258.369a2.388 2.388 0 0 0-.806.943 2.849 2.849 0 0 0-.274 1.244c0 .438.091.839.274 1.204.182.364.437.656.765.875.337.218.725.328 1.162.328.42 0 .793-.11 1.121-.328.328-.219.588-.52.78-.903.191-.383.282-.816.273-1.299l-.014-1.312a3.288 3.288 0 0 0-.916-.82 2.032 2.032 0 0 0-1.107-.301Zm8.299-1.108c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.039 1.189c.237.502.355 1.067.355 1.696v.67h-5.25c.055.382.187.733.397 1.052.209.319.483.574.82.766.337.182.725.273 1.162.273.492 0 .953-.123 1.381-.369a5.179 5.179 0 0 0 1.08-.834l-.013 1.217c-.128.155-.32.319-.575.492a3.58 3.58 0 0 1-.861.41 2.87 2.87 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.312a3.044 3.044 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.395.574-.364.374-.592.83-.683 1.367h4.115c-.046-.446-.173-.811-.383-1.093a1.873 1.873 0 0 0-.738-.629 2.022 2.022 0 0 0-.916-.219Zm7.027-1.094c.401 0 .775.06 1.121.178.347.109.597.223.752.342v1.203a3.552 3.552 0 0 0-.779-.424 2.6 2.6 0 0 0-1.012-.205c-.428 0-.752.1-.971.301-.209.2-.314.41-.314.629 0 .173.059.351.178.533.127.173.346.314.656.424l1.148.41c.447.155.78.378.998.67.219.292.329.633.329 1.025 0 .383-.11.734-.329 1.053a2.222 2.222 0 0 1-.888.766c-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.109a5.106 5.106 0 0 1-.766-.233 3.626 3.626 0 0 1-.505-.259V192.4c.127.092.305.196.533.315.237.109.487.205.752.287.264.073.51.109.738.109.428 0 .766-.095 1.012-.287.255-.191.382-.428.382-.711a.61.61 0 0 0-.259-.519c-.164-.128-.406-.251-.725-.369l-1.012-.37c-.528-.2-.879-.451-1.052-.751a2.113 2.113 0 0 1-.26-1.053c0-.584.219-1.067.656-1.449.438-.383 1.021-.575 1.75-.575Zm11.006 0c.501 0 .934.082 1.299.246.364.155.615.297.752.424v1.135a4.067 4.067 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.271.356a2.33 2.33 0 0 0-.848.916 2.647 2.647 0 0 0-.287 1.23c0 .438.095.848.287 1.231.2.373.483.679.848.916.364.227.788.341 1.271.341.456 0 .848-.068 1.176-.205a4.47 4.47 0 0 0 .875-.506v1.135c-.137.137-.388.283-.752.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.62 3.62 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791.31-.547.734-.984 1.271-1.312.538-.329 1.153-.493 1.846-.493Zm6.713 0c.392 0 .788.096 1.189.287.41.183.761.438 1.053.766v-.916h1.121V194h-1.121v-1.162c-.237.364-.56.683-.971.957-.401.273-.861.41-1.38.41a3.041 3.041 0 0 1-1.6-.437 3.322 3.322 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.099 3.099 0 0 1 1.189-1.257 3.206 3.206 0 0 1 1.682-.452Zm.205 1.094c-.492 0-.911.123-1.258.369a2.494 2.494 0 0 0-.806.957 2.849 2.849 0 0 0-.274 1.244c0 .438.091.844.274 1.217.182.365.437.656.765.875.337.219.725.328 1.162.328.42 0 .793-.109 1.121-.328.328-.219.588-.519.78-.902.191-.392.282-.83.273-1.313l-.014-1.312a3.501 3.501 0 0 0-.916-.834 2.032 2.032 0 0 0-1.107-.301Zm6.603-.957v1.08a3.62 3.62 0 0 1 .561-.547c.228-.191.483-.351.766-.478a2.22 2.22 0 0 1 .902-.192c.465 0 .889.105 1.271.315.383.2.689.51.917.929.227.411.341.93.341 1.559V194h-1.121l-.013-4.061c0-.592-.133-1.043-.397-1.353-.255-.31-.652-.465-1.189-.465-.365 0-.73.137-1.094.41-.356.265-.67.574-.944.93V194H584.9v-6.836h1.121Zm9.967-.137c.502 0 .935.082 1.299.246.365.155.615.297.752.424v1.135a4.067 4.067 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.271.356a2.337 2.337 0 0 0-.848.916 2.66 2.66 0 0 0-.287 1.23c0 .438.096.848.287 1.231.201.373.483.679.848.916.364.227.788.341 1.271.341.456 0 .848-.068 1.176-.205a4.47 4.47 0 0 0 .875-.506v1.135c-.137.137-.387.283-.752.438-.364.155-.797.232-1.299.232-.692 0-1.308-.164-1.845-.492a3.614 3.614 0 0 1-1.272-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.58 3.58 0 0 1 1.272-1.312c.537-.329 1.153-.493 1.845-.493Zm6.713 0c.702 0 1.285.146 1.75.438a2.69 2.69 0 0 1 1.039 1.189c.237.502.356 1.067.356 1.696v.67h-5.25c.054.382.187.733.396 1.052.21.319.483.574.82.766.338.182.725.273 1.163.273.492 0 .952-.123 1.38-.369a5.186 5.186 0 0 0 1.081-.834l-.014 1.217a2.743 2.743 0 0 1-.574.492 3.588 3.588 0 0 1-.862.41 2.868 2.868 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.614 3.614 0 0 1-1.272-1.299 3.665 3.665 0 0 1-.451-1.791c0-.647.142-1.244.424-1.791a3.45 3.45 0 0 1 1.162-1.312 3.044 3.044 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.115c-.045-.446-.173-.811-.383-1.093a1.867 1.867 0 0 0-.738-.629 2.019 2.019 0 0 0-.916-.219Zm6.111-3.965V194h-1.121v-9.844h1.121Zm3.446 0V194h-1.121v-9.844h1.121Zm5.14 2.871c.702 0 1.286.146 1.75.438.465.292.812.688 1.04 1.189.236.502.355 1.067.355 1.696v.67h-5.25c.055.382.187.733.396 1.052.21.319.484.574.821.766.337.182.724.273 1.162.273a2.73 2.73 0 0 0 1.381-.369 5.205 5.205 0 0 0 1.08-.834l-.014 1.217a2.717 2.717 0 0 1-.574.492 3.58 3.58 0 0 1-.861.41 2.874 2.874 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.611 3.611 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791a3.45 3.45 0 0 1 1.162-1.312 3.046 3.046 0 0 1 1.709-.493Zm0 1.094c-.565 0-1.03.191-1.394.574-.365.374-.593.83-.684 1.367h4.116c-.046-.446-.174-.811-.383-1.093a1.876 1.876 0 0 0-.739-.629 2.019 2.019 0 0 0-.916-.219Zm11.17-3.965V194h-1.121v-1.162c-.237.364-.56.683-.97.957-.401.273-.862.41-1.381.41a3.041 3.041 0 0 1-1.6-.437 3.33 3.33 0 0 1-1.162-1.245c-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.105 3.105 0 0 1 1.189-1.257 3.206 3.206 0 0 1 1.682-.452c.392 0 .788.096 1.19.287.41.183.761.438 1.052.766v-3.924h1.121Zm-3.158 3.992c-.492 0-.911.123-1.258.37a2.41 2.41 0 0 0-.806.929 2.849 2.849 0 0 0-.274 1.244c0 .438.091.844.274 1.217.182.365.437.656.765.875.338.219.725.328 1.162.328.42 0 .793-.109 1.122-.328.328-.219.587-.519.779-.902.191-.392.282-.83.273-1.313l-.013-1.312a3.316 3.316 0 0 0-.916-.82 2.108 2.108 0 0 0-1.108-.288Z"}),d.createElement("circle",{cx:259,cy:158,r:5,fill:"#6C65E5",stroke:"#F2F2F5",strokeWidth:2}),d.createElement("path",{stroke:"#6C65E5",strokeLinecap:"round",strokeWidth:1.5,d:"M259 157v-50"}),d.createElement("path",{fill:"#615BC2",d:"M205.775 64.813v5.564c0 .793-.168 1.477-.505 2.05a3.345 3.345 0 0 1-1.34 1.3c-.565.3-1.208.45-1.928.45-.711 0-1.354-.15-1.928-.45a3.43 3.43 0 0 1-1.353-1.3c-.328-.574-.492-1.257-.492-2.05v-5.564h1.23v5.523c0 .62.114 1.121.342 1.504a2.1 2.1 0 0 0 .929.834 3.26 3.26 0 0 0 1.272.246c.456-.01.875-.096 1.258-.26.392-.173.702-.447.929-.82.237-.383.356-.884.356-1.504v-5.523h1.23Zm4.567 2.214c.401 0 .775.06 1.121.178.346.11.597.223.752.342v1.203a3.572 3.572 0 0 0-.779-.424 2.613 2.613 0 0 0-1.012-.205c-.429 0-.752.1-.971.3-.21.201-.314.411-.314.63 0 .173.059.35.177.533.128.173.347.314.657.424l1.148.41c.447.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053a2.22 2.22 0 0 1-.889.766c-.373.182-.806.273-1.298.273-.265 0-.543-.036-.834-.11a5.073 5.073 0 0 1-.766-.232 3.571 3.571 0 0 1-.506-.26V72.4c.128.091.306.196.533.315.237.11.488.205.752.287.265.073.511.11.739.11.428 0 .765-.096 1.011-.288.256-.191.383-.428.383-.71a.61.61 0 0 0-.26-.52c-.164-.128-.405-.25-.724-.37l-1.012-.368c-.529-.201-.88-.452-1.053-.752a2.122 2.122 0 0 1-.259-1.053c0-.584.218-1.067.656-1.45.437-.382 1.021-.574 1.75-.574Zm6.631 0c.701 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.725.273 1.162.273.492 0 .953-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791a3.438 3.438 0 0 1 1.162-1.313 3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.882 1.882 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm6.111-.957v1.367c.264-.456.583-.82.957-1.094.374-.273.757-.41 1.148-.41.265 0 .502.046.711.137v1.299a1.698 1.698 0 0 0-.875-.26c-.464 0-.843.164-1.134.492-.283.328-.552.72-.807 1.176V74h-1.121v-6.836h1.121Zm9.447-3.281c.265 0 .483.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.849.849 0 0 1-.657.287.891.891 0 0 1-.67-.287.934.934 0 0 1-.259-.642c0-.247.086-.46.259-.643a.891.891 0 0 1 .67-.287Zm.698 3.281V74h-1.122v-5.783h-1.08v-1.053h2.202Zm4.457-.137c.401 0 .774.06 1.121.178.346.11.597.223.752.342v1.203a3.582 3.582 0 0 0-.78-.424 2.605 2.605 0 0 0-1.011-.205c-.429 0-.752.1-.971.3-.21.201-.315.411-.315.63 0 .173.06.35.178.533.128.173.347.314.656.424l1.149.41c.446.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.373.182-.806.273-1.299.273-.264 0-.542-.036-.834-.11a5.095 5.095 0 0 1-.765-.232 3.516 3.516 0 0 1-.506-.26V72.4c.128.091.305.196.533.315.237.11.488.205.752.287.264.073.51.11.738.11.429 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.405-.25-.724-.37l-1.012-.368c-.529-.201-.88-.452-1.053-.752-.173-.31-.26-.661-.26-1.053 0-.584.219-1.067.657-1.45.437-.382 1.02-.574 1.75-.574Zm9.953 0c.401 0 .774.06 1.121.178.346.11.597.223.752.342v1.203a3.558 3.558 0 0 0-.78-.424 2.605 2.605 0 0 0-1.011-.205c-.429 0-.752.1-.971.3-.21.201-.314.411-.314.63 0 .173.059.35.177.533.128.173.347.314.657.424l1.148.41c.447.155.779.378.998.67.219.292.328.633.328 1.025 0 .383-.109.734-.328 1.053-.21.319-.506.574-.889.766-.373.182-.806.273-1.298.273-.265 0-.543-.036-.834-.11a5.073 5.073 0 0 1-.766-.232 3.516 3.516 0 0 1-.506-.26V72.4c.128.091.305.196.533.315.237.11.488.205.752.287.265.073.511.11.738.11.429 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.405-.25-.724-.37l-1.012-.368c-.529-.201-.88-.452-1.053-.752-.173-.31-.26-.661-.26-1.053 0-.584.219-1.067.657-1.45.437-.382 1.021-.574 1.75-.574Zm6.631 0c.701 0 1.285.146 1.75.438.464.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.885 2.885 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.163-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.566 0-1.03.192-1.395.574-.365.374-.592.83-.684 1.368h4.116c-.046-.447-.174-.812-.383-1.094a1.882 1.882 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm6.111-.957v1.08c.146-.182.333-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.383.2.688.51.916.93.228.41.342.93.342 1.558V74h-1.121l-.014-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V74h-1.121v-6.836h1.121Zm13.057-3.008V74h-1.122v-1.162c-.237.365-.56.684-.97.957-.401.273-.862.41-1.381.41a3.039 3.039 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.282-.528-.424-1.139-.424-1.832 0-.756.142-1.408.424-1.955a3.109 3.109 0 0 1 1.19-1.258 3.202 3.202 0 0 1 1.681-.45c.392 0 .789.095 1.19.286.41.183.761.438 1.052.766v-3.924h1.122Zm-3.159 3.992c-.492 0-.911.124-1.258.37a2.413 2.413 0 0 0-.806.93 2.86 2.86 0 0 0-.274 1.243c0 .438.092.843.274 1.217.182.365.437.656.765.875.338.219.725.328 1.163.328.419 0 .793-.109 1.121-.328.328-.219.588-.52.779-.902a2.82 2.82 0 0 0 .273-1.313l-.013-1.312a3.334 3.334 0 0 0-.916-.82 2.11 2.11 0 0 0-1.108-.288Zm6.576-4.265c.265 0 .484.095.657.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.847.847 0 0 1-.657.287.887.887 0 0 1-.669-.287.93.93 0 0 1-.26-.642.9.9 0 0 1 .26-.643.887.887 0 0 1 .669-.287Zm.698 3.281V74h-1.121v-5.783h-1.08v-1.053h2.201Zm3.541 0v1.08c.146-.182.332-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192.465 0 .889.105 1.272.315.383.2.688.51.916.93.228.41.342.93.342 1.558V74h-1.122l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V74h-1.121v-6.836h1.121Zm9.693-.137c.392 0 .789.096 1.19.287.41.183.761.438 1.052.766v-.916h1.121v6.7c0 .81-.164 1.485-.492 2.023a3.087 3.087 0 0 1-1.312 1.203 4.06 4.06 0 0 1-1.791.396c-.42 0-.78-.05-1.08-.15a2.726 2.726 0 0 1-.752-.355c-.21-.137-.401-.27-.575-.397v-1.203c.137.1.315.228.534.383.228.164.496.31.806.437.319.128.675.192 1.067.192a3.03 3.03 0 0 0 1.23-.246c.374-.165.675-.406.903-.725.227-.32.341-.702.341-1.149v-1.435c-.237.365-.56.684-.97.957-.401.273-.862.41-1.381.41a3.036 3.036 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.113 3.113 0 0 1 1.189-1.258 3.208 3.208 0 0 1 1.682-.45Zm.205 1.108c-.492 0-.911.123-1.258.369a2.39 2.39 0 0 0-.806.943 2.847 2.847 0 0 0-.274 1.244c0 .438.091.839.274 1.203.182.365.437.657.765.875a2.09 2.09 0 0 0 1.162.329c.42 0 .793-.11 1.122-.329.328-.218.587-.519.779-.902.191-.383.282-.816.273-1.299l-.013-1.312a3.334 3.334 0 0 0-.916-.82 2.04 2.04 0 0 0-1.108-.301Zm11.471-2.94v1.97h1.996v1.052h-1.996v4.006c0 .282.073.505.219.67.145.164.369.246.67.246.273 0 .501-.032.683-.096a3.38 3.38 0 0 0 .479-.233v.917c-.183.145-.379.26-.588.341-.201.091-.474.137-.821.137-.583 0-1.025-.173-1.326-.52-.291-.355-.437-.824-.437-1.408v-4.06h-1.313v-.328c.447-.2.821-.529 1.121-.985.301-.465.565-1.034.793-1.709h.52Zm7.383 1.832c.465 0 .888.105 1.271.315.383.2.688.51.916.93.228.41.342.93.342 1.558V74h-1.121l-.014-4.06c0-.593-.132-1.044-.396-1.354-.255-.31-.652-.465-1.19-.465-.364 0-.729.137-1.093.41-.356.265-.67.575-.944.93V74h-1.121v-9.844h1.121v4.088c.146-.182.333-.364.561-.547.228-.191.483-.35.765-.478.292-.128.593-.192.903-.192Zm7.465 0c.701 0 1.285.146 1.75.438.464.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.726 2.726 0 0 1-.574.492c-.246.164-.533.301-.861.41a2.885 2.885 0 0 1-1.012.178c-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.423-1.791.283-.547.67-.984 1.163-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.566 0-1.03.192-1.395.574-.365.374-.592.83-.684 1.368h4.116c-.046-.447-.174-.812-.383-1.094a1.882 1.882 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218ZM185.288 87.027c.501 0 .934.082 1.299.246.364.155.615.297.752.424v1.135a4.042 4.042 0 0 0-.875-.492c-.328-.146-.72-.219-1.176-.219-.483 0-.907.119-1.271.356a2.337 2.337 0 0 0-.848.916 2.664 2.664 0 0 0-.287 1.23c0 .438.096.848.287 1.23.2.374.483.68.848.916.364.228.788.342 1.271.342.456 0 .848-.068 1.176-.205a4.49 4.49 0 0 0 .875-.506v1.135c-.137.137-.388.283-.752.438-.365.155-.798.232-1.299.232-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.59 3.59 0 0 1 1.271-1.313c.538-.328 1.153-.492 1.846-.492Zm7.246 0c.465 0 .889.105 1.272.315.382.2.688.51.916.93.228.41.341.93.341 1.558V94h-1.121l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.651-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V94h-1.121v-9.844h1.121v4.088c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.292-.128.592-.192.902-.192Zm7.465 0c.392 0 .788.096 1.189.287.411.183.762.438 1.053.766v-.916h1.121V94h-1.121v-1.162c-.237.365-.56.684-.97.957-.402.273-.862.41-1.381.41a3.036 3.036 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.113 3.113 0 0 1 1.189-1.258 3.208 3.208 0 0 1 1.682-.45Zm.205 1.094c-.492 0-.911.123-1.258.37a2.495 2.495 0 0 0-.806.956 2.847 2.847 0 0 0-.274 1.244c0 .438.091.843.274 1.217.182.365.437.656.765.875a2.09 2.09 0 0 0 1.162.328c.42 0 .793-.109 1.121-.328.329-.219.588-.52.78-.902.191-.392.282-.83.273-1.313l-.013-1.312a3.55 3.55 0 0 0-.916-.834 2.04 2.04 0 0 0-1.108-.3Zm6.604-.957v1.08c.145-.182.332-.364.56-.547.228-.191.483-.35.766-.478.291-.128.592-.192.902-.192.465 0 .889.105 1.272.315.382.2.688.51.916.93.227.41.341.93.341 1.558V94h-1.121l-.013-4.06c0-.593-.132-1.044-.397-1.354-.255-.31-.652-.465-1.189-.465-.365 0-.729.137-1.094.41a4.8 4.8 0 0 0-.943.93V94h-1.121v-6.836h1.121Zm9.693-.137c.392 0 .788.096 1.189.287a3.04 3.04 0 0 1 1.053.766v-.916h1.121v6.7c0 .81-.164 1.485-.492 2.023a3.092 3.092 0 0 1-1.312 1.203 4.06 4.06 0 0 1-1.791.396c-.42 0-.78-.05-1.081-.15a2.733 2.733 0 0 1-.751-.355c-.21-.137-.402-.27-.575-.397v-1.203c.137.1.315.228.534.383.227.164.496.31.806.437.319.128.675.192 1.067.192a3.03 3.03 0 0 0 1.23-.246c.374-.165.675-.406.902-.725.228-.32.342-.702.342-1.149v-1.435c-.237.365-.56.684-.971.957a2.39 2.39 0 0 1-1.38.41 3.036 3.036 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.283-.528-.424-1.139-.424-1.832 0-.756.141-1.408.424-1.955a3.113 3.113 0 0 1 1.189-1.258 3.208 3.208 0 0 1 1.682-.45Zm.205 1.108c-.492 0-.911.123-1.258.369a2.39 2.39 0 0 0-.806.943 2.847 2.847 0 0 0-.274 1.244c0 .438.091.839.274 1.203.182.365.437.657.765.875.337.22.725.329 1.162.329.42 0 .793-.11 1.121-.329.329-.218.588-.519.78-.902.191-.383.282-.816.273-1.299l-.014-1.312a3.305 3.305 0 0 0-.916-.82c-.319-.201-.688-.301-1.107-.301Zm8.299-1.108c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.21.32.483.575.82.766.337.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.735 2.735 0 0 1-.575.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm7.027-1.094c.401 0 .775.06 1.121.178.347.11.597.223.752.342v1.203a3.548 3.548 0 0 0-.779-.424 2.606 2.606 0 0 0-1.012-.205c-.428 0-.752.1-.97.3-.21.201-.315.411-.315.63 0 .173.059.35.178.533.127.173.346.314.656.424l1.149.41c.446.155.779.378.998.67.218.292.328.633.328 1.025 0 .383-.11.734-.328 1.053-.21.319-.506.574-.889.766-.374.182-.807.273-1.299.273-.264 0-.542-.036-.834-.11a5.109 5.109 0 0 1-.766-.232 3.548 3.548 0 0 1-.505-.26V92.4c.127.091.305.196.533.315.237.11.487.205.752.287.264.073.51.11.738.11.428 0 .766-.096 1.012-.288.255-.191.383-.428.383-.71a.612.612 0 0 0-.26-.52c-.164-.128-.406-.25-.725-.37l-1.012-.368c-.528-.201-.879-.452-1.052-.752-.173-.31-.26-.661-.26-1.053 0-.584.219-1.067.656-1.45.438-.382 1.021-.574 1.75-.574Zm9.803-1.832v1.97h1.996v1.052h-1.996v4.006c0 .282.073.505.219.67.146.164.369.246.67.246.273 0 .501-.032.683-.096.183-.073.342-.15.479-.233v.917c-.183.145-.379.26-.588.341-.201.091-.474.137-.82.137-.584 0-1.026-.173-1.327-.52-.291-.355-.437-.824-.437-1.408v-4.06h-1.313v-.328c.447-.2.821-.529 1.121-.985.301-.465.566-1.034.793-1.709h.52Zm7.123 1.832c.693 0 1.308.164 1.846.492.537.329.957.766 1.258 1.313a3.58 3.58 0 0 1 .464 1.791 3.58 3.58 0 0 1-.464 1.791c-.301.538-.721.97-1.258 1.299-.538.328-1.153.492-1.846.492-.693 0-1.308-.164-1.846-.492a3.622 3.622 0 0 1-1.271-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.15-1.244.451-1.791a3.59 3.59 0 0 1 1.271-1.313c.538-.328 1.153-.492 1.846-.492Zm0 1.094c-.483 0-.907.119-1.271.356a2.337 2.337 0 0 0-.848.916 2.652 2.652 0 0 0-.287 1.23c0 .438.095.848.287 1.23.2.374.483.68.848.916.364.228.788.342 1.271.342.492 0 .916-.114 1.271-.342.365-.236.643-.542.834-.916.201-.382.301-.792.301-1.23 0-.447-.1-.857-.301-1.23a2.239 2.239 0 0 0-.834-.916c-.355-.237-.779-.356-1.271-.356Zm12.879-1.094c.629 0 1.189.15 1.682.451.501.292.893.712 1.175 1.258.292.547.438 1.199.438 1.955 0 .693-.146 1.304-.438 1.832a3.217 3.217 0 0 1-1.148 1.245 2.991 2.991 0 0 1-1.6.437c-.519 0-.984-.137-1.394-.41a3.415 3.415 0 0 1-.957-.957V94h-1.121v-9.844h1.121v3.924a3.073 3.073 0 0 1 1.039-.766 2.83 2.83 0 0 1 1.203-.287Zm-.205 1.108c-.419 0-.789.1-1.108.3a3.611 3.611 0 0 0-.916.82l-.013 1.313c0 .483.091.916.273 1.3.192.382.451.683.779.901a2.02 2.02 0 0 0 1.122.329c.446 0 .834-.11 1.162-.329.328-.218.583-.51.765-.875.183-.364.274-.765.274-1.203 0-.446-.096-.86-.287-1.244a2.297 2.297 0 0 0-.793-.943c-.347-.246-.766-.37-1.258-.37Zm8.162-1.108c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.21.32.483.575.82.766.338.182.725.273 1.162.273.493 0 .953-.123 1.381-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.735 2.735 0 0 1-.575.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm10.213-.957v1.367c.264-.456.583-.82.957-1.094.374-.273.756-.41 1.148-.41.265 0 .502.046.711.137v1.299a1.698 1.698 0 0 0-.875-.26c-.465 0-.843.164-1.135.492-.282.328-.551.72-.806 1.176V94h-1.121v-6.836h1.121Zm7.068-.137c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.356 1.066.356 1.695v.67h-5.25c.054.382.187.733.396 1.052.21.32.483.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.38-.369a5.2 5.2 0 0 0 1.081-.834l-.014 1.217a2.752 2.752 0 0 1-.574.492 3.6 3.6 0 0 1-.862.41 2.88 2.88 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.617 3.617 0 0 1-1.272-1.299 3.664 3.664 0 0 1-.451-1.791c0-.647.142-1.244.424-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.394.574-.365.374-.593.83-.684 1.368h4.115c-.045-.447-.173-.812-.383-1.094a1.868 1.868 0 0 0-.738-.63 2.021 2.021 0 0 0-.916-.218Zm11.02-.957L294.882 94h-.697l-3.077-6.836h1.34l2.065 5.031 2.242-5.03h1.34Zm2.461-3.281c.264 0 .483.096.656.287a.88.88 0 0 1 .273.642.91.91 0 0 1-.273.643.847.847 0 0 1-.656.287.888.888 0 0 1-.67-.287.935.935 0 0 1-.26-.642c0-.247.087-.46.26-.643a.888.888 0 0 1 .67-.287Zm.697 3.281V94h-1.121v-5.783h-1.08v-1.053h2.201Zm5.236-.137c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.356 1.066.356 1.695v.67h-5.25c.054.382.187.733.396 1.052.21.32.483.575.821.766.337.182.724.273 1.162.273.492 0 .952-.123 1.381-.369a5.219 5.219 0 0 0 1.08-.834l-.014 1.217a2.752 2.752 0 0 1-.574.492c-.246.164-.533.301-.862.41a2.88 2.88 0 0 1-1.011.178c-.693 0-1.308-.164-1.846-.492a3.606 3.606 0 0 1-1.271-1.299 3.654 3.654 0 0 1-.452-1.791c0-.647.142-1.244.424-1.791.283-.547.67-.984 1.162-1.313a3.053 3.053 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.394.574-.365.374-.593.83-.684 1.368h4.115c-.045-.447-.173-.812-.382-1.094a1.878 1.878 0 0 0-.739-.63 2.021 2.021 0 0 0-.916-.218Zm13.959-.957L318.056 94h-.698l-1.873-4.826L313.612 94h-.697l-2.393-6.836h1.34l1.518 4.799 1.791-4.799h.629l1.791 4.799 1.517-4.799h1.34Zm4.184-.137c.702 0 1.285.146 1.75.438.465.291.811.688 1.039 1.19.237.5.355 1.066.355 1.695v.67h-5.25c.055.382.187.733.397 1.052.209.32.483.575.82.766.337.182.725.273 1.162.273.492 0 .953-.123 1.381-.369a5.166 5.166 0 0 0 1.08-.834l-.013 1.217a2.735 2.735 0 0 1-.575.492c-.246.164-.533.301-.861.41a2.881 2.881 0 0 1-1.012.178c-.692 0-1.308-.164-1.845-.492a3.617 3.617 0 0 1-1.272-1.299 3.653 3.653 0 0 1-.451-1.791c0-.647.141-1.244.424-1.791.282-.547.67-.984 1.162-1.313a3.05 3.05 0 0 1 1.709-.492Zm0 1.094c-.565 0-1.03.192-1.395.574-.364.374-.592.83-.683 1.368h4.115c-.046-.447-.173-.812-.383-1.094a1.868 1.868 0 0 0-.738-.63 2.024 2.024 0 0 0-.916-.218Zm11.17-3.965V94h-1.121v-1.162a3.355 3.355 0 0 1-.971.957c-.401.273-.861.41-1.381.41a3.041 3.041 0 0 1-1.6-.437c-.483-.301-.87-.716-1.162-1.245-.282-.528-.423-1.139-.423-1.832 0-.756.141-1.408.423-1.955a3.115 3.115 0 0 1 1.19-1.258 3.204 3.204 0 0 1 1.681-.45c.392 0 .789.095 1.19.286.41.183.761.438 1.053.766v-3.924h1.121Zm-3.158 3.992c-.493 0-.912.124-1.258.37a2.416 2.416 0 0 0-.807.93 2.86 2.86 0 0 0-.273 1.243c0 .438.091.843.273 1.217.182.365.438.656.766.875.337.219.724.328 1.162.328.419 0 .793-.109 1.121-.328.328-.219.588-.52.779-.902.192-.392.283-.83.274-1.313l-.014-1.312a3.334 3.334 0 0 0-.916-.82 2.11 2.11 0 0 0-1.107-.288Z"}),d.createElement("defs",null,d.createElement("clipPath",{id:"a"},d.createElement("path",{fill:"#fff",d:"M531 117h18v18h-18z"})))),zn=()=>{const e=d.useRef(null),t=p1(),a=y1(t.breakpoints.down("md")),[r,o]=d.useState(!1);return l(Y,{children:[n(x,{condition:!a,show:l(Z,{variant:"body2",children:["Show change request process"," "]})}),n(L1,{title:"Change request process",ref:e,onClick:()=>o(!0),children:n(J3,{})}),n(ht,{open:r,anchorEl:e.current,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:()=>o(!1),children:l(T,{sx:{p:{xs:2,md:4},maxWidth:920},children:[n(Z,{variant:"h3",children:"Change request process:"}),n(Z,{variant:"body2",children:l("ol",{children:[n("li",{children:"When changes are detected they are added into a draft mode"}),n("li",{children:"The next step is for those changes to be sent for review"}),l("li",{children:["These changes can be seen by everyone but only who has ",n("strong",{children:"“Review change request”"})," ","permission can Approve them"]}),l("ul",{children:[l("li",{children:["If changes are Approved then someone who has"," ",n("strong",{children:"“Apply change request”"})," ","permission needs to apply these changes to be live on the feature toggles and request is Closed"]}),n("li",{children:"If changes are Cancelled by the author or admin then change request goes automatically to Cancelled and request is Closed."})]})]})}),n(T,{sx:{mt:3},children:n(D5,{style:{maxWidth:"calc(100vw - 4rem)"}})})]})})]})},v3=h(T)(({theme:e})=>({padding:e.spacing(1),display:"flex",justifyContent:"center","& .MuiInputBase-input":{fontSize:e.fontSizes.smallBody}})),R5=()=>{const{trackEvent:e}=Z1(),[t,a]=d.useState({isOpen:!1,enableEnvironment:"",isEnabled:!1,requiredApprovals:1}),r=p1(),o=K("projectId"),{data:i,loading:s,refetchChangeRequestConfig:c}=da(o),{updateChangeRequestEnvironmentConfig:u}=Fe(),{setToastData:p,setToastApiError:m}=u1(),g=(S,I,j)=>()=>{a({isOpen:!0,enableEnvironment:S,isEnabled:I,requiredApprovals:j})},y=async()=>{t.enableEnvironment&&await _(),a(S=>({...S,isOpen:!1}))};async function _(S){try{await u(S||{project:o,environment:t.enableEnvironment,enabled:!t.isEnabled,requiredApprovals:t.requiredApprovals}),p({type:"success",title:"Updated change request status",text:"Successfully updated change request status."}),await c()}catch(I){m(m1(I))}}const C=Array.from(Array(10).keys()).map(S=>String(S+1)).map(S=>({key:S,label:`${S} ${S==="1"?"approval":"approvals"}`,sx:{fontSize:r.fontSizes.smallBody}}));function b(S,I){_({project:o,environment:S.environment,enabled:S.changeRequestEnabled,requiredApprovals:Number(I)})}const R=d.useMemo(()=>[{Header:"Environment",accessor:"environment",disableSortBy:!0},{Header:"Type",accessor:"type",disableGlobalFilter:!0,disableSortBy:!0},{Header:"Required approvals",Cell:({row:{original:S}})=>{const{hasAccess:I}=d.useContext(X1);return n(x,{condition:S.changeRequestEnabled,show:n(v3,{"data-loading":!0,children:n(ft,{sx:{width:"140px",marginLeft:1},options:C,value:S.requiredApprovals||1,onChange:j=>{b(S,j)},disabled:!I(O2,o),IconComponent:un,fullWidth:!0})})})},width:100,disableGlobalFilter:!0,disableSortBy:!0},{Header:"Status",accessor:"changeRequestEnabled",id:"changeRequestEnabled",align:"center",Cell:({value:S,row:{original:I}})=>n(v3,{"data-loading":!0,children:n(z3,{checked:S,projectId:o,permission:O2,inputProps:{"aria-label":I.environment},onClick:g(I.environment,I.changeRequestEnabled,I.requiredApprovals)})}),width:100,disableGlobalFilter:!0,disableSortBy:!0}],[]),{getTableProps:f,getTableBodyProps:F,headerGroups:E,rows:O,prepareRow:M}=t1.useTable({columns:R,data:i,sortTypes:Ie,autoResetGlobalFilter:!1,disableSortRemove:!0,defaultColumn:{Cell:s1}},t1.useGlobalFilter);return l(l1,{header:n(o1,{titleElement:"Change request configuration",actions:n(zn,{})}),isLoading:s,children:[n(w1,{severity:"info",sx:{mb:3},children:"If change request is enabled for an environment, then any change in that environment needs to be approved before it will be applied"}),l(it,{...f(),children:[n(st,{headerGroups:E}),n(ct,{...F(),children:O.map(S=>(M(S),n(lt,{hover:!0,...S.getRowProps(),children:S.cells.map(I=>n(dt,{...I.getCellProps(),children:I.render("Cell")}))})))})]}),l(G1,{onClick:()=>{e("change_request",{props:{eventType:`change request ${t.isEnabled?"disabled":"enabled"}`}}),y()},open:t.isOpen,onClose:()=>a(S=>({...S,isOpen:!1})),primaryButtonText:t.isEnabled?"Disable":"Enable",secondaryButtonText:"Cancel",title:`${t.isEnabled?"Disable":"Enable"} change requests`,children:[l(Z,{sx:{mb:1},children:["You are about to"," ",t.isEnabled?"disable":"enable"," “Change request”",n(x,{condition:!!t.enableEnvironment,show:l(Y,{children:[" ","for"," ",n("strong",{children:t.enableEnvironment})]})}),"."]}),n(x,{condition:!t.isEnabled,show:n(Z,{variant:"body2",color:"text.secondary",children:"When enabling change request for an environment, you need to be sure that your Unleash Admin already have created the custom project roles in your Unleash instance so you can assign your project members from the project access page."})})]})]})},F5=()=>{const e=K("projectId"),t=R1(e),{hasAccess:a}=d.useContext(X1),{isOss:r,isPro:o}=b1();return S1(`Project change request configuration – ${t}`),r()||o()?n(l1,{header:n(o1,{titleElement:"Change request configuration",actions:n(zn,{})}),sx:{justifyContent:"center"},children:n(xt,{feature:"change-requests"})}):a(E1,e)?n(R5,{}):n(l1,{header:n(o1,{title:"Change request configuration"}),children:n(w1,{severity:"error",children:"You need project owner permissions to access this section."})})},Bn=()=>{const{makeRequest:e,createRequest:t,errors:a,loading:r}=v2({propagateErrors:!0});return{deleteToken:async(s,c)=>{const u=`api/admin/projects/${c}/api-tokens/${s}`,p=t(u,{method:"DELETE"});try{return await e(p.caller,p.id)}catch(m){throw m}},createToken:async(s,c)=>{const u=`api/admin/projects/${c}/api-tokens`,p=t(u,{method:"POST",body:JSON.stringify(s)});try{return await e(p.caller,p.id)}catch(m){throw m}},errors:a,loading:r}},Vn=(e,t={})=>{const a=K1(`api/admin/projects/${e}/api-tokens`),{data:r,error:o,mutate:i}=de(a,P5,t),s=d.useMemo(()=>r??[],[r]),c=d.useCallback(()=>{i().catch(console.warn)},[i]);return{tokens:s,error:o,loading:!o&&!r,refetch:c}},P5=async e=>(await(await fetch(e).then(J1("Project Api tokens"))).json()).tokens,y3="Create project API token",Z5=()=>{const e=K("projectId"),{setToastApiError:t}=u1(),{uiConfig:a}=b1(),r=I1(),[o,i]=d.useState(!1),[s,c]=d.useState(""),{getApiTokenPayload:u,username:p,type:m,apiTokenTypes:g,environment:y,setUsername:_,setTokenType:C,setEnvironment:b,isValid:R,errors:f,clearErrors:F}=Qa(e),{createToken:E,loading:O}=Bn(),{refetch:M}=Vn(e),{trackEvent:S}=Z1();S1(y3);const I=`api/admin/project/${e}/api-tokens`;return l(dn,{loading:O,title:y3,modal:!0,description:"Unleash SDKs use API tokens to authenticate to the Unleash API. Client SDKs need a token with 'client privileges', which allows them to fetch feature toggle configurations and post usage metrics.",documentationLink:"https://docs.getunleash.io/reference/api-tokens-and-client-keys",documentationLinkLabel:"API tokens documentation",formatApiCode:()=>`curl --location --request POST '${a.unleashUrl}/${I}' \\
7
- --header 'Authorization: INSERT_API_KEY' \\
8
- --header 'Content-Type: application/json' \\
9
- --data-raw '${JSON.stringify(u(),void 0,2)}'`,children:[l(Xa,{handleSubmit:async U=>{if(U.preventDefault(),!!R())try{const v=u();await E(v,e).then(w=>w.json()).then(w=>{ha(),c(w.secret),i(!0),S("project_api_tokens",{props:{eventType:"api_key_created"}}),M()})}catch(v){t(m1(v))}},handleCancel:()=>{r(M1)},mode:"Create",actions:n(ua,{name:"token",permission:pa,projectId:e}),children:[n(er,{username:p,setUsername:_,errors:f,clearErrors:F}),n(tr,{type:m,setType:C,apiTokenTypes:g}),n(nr,{type:m,environment:y,setEnvironment:b})]}),n(ar,{open:o,closeConfirm:()=>{i(!1),r(M1)},token:s,type:m})]})},I5=()=>{const e=I1();return n(U1,{open:!0,onClose:()=>e(M1),label:"Create API token",children:n(Z5,{})})},j5=()=>{const e=K("projectId"),t=R1(e),{hasAccess:a}=d.useContext(X1),{tokens:r,loading:o,refetch:i}=Vn(e),{trackEvent:s}=Z1(),{deleteToken:c}=Bn();S1(`Project api access – ${t}`);const{getTableProps:u,getTableBodyProps:p,headerGroups:m,rows:g,prepareRow:y,state:{globalFilter:_},setGlobalFilter:C,setHiddenColumns:b,columns:R}=rr(r,f=>l(i2,{children:[n(or,{token:f.row.original,permission:$2,project:e,track:()=>s("project_api_tokens",{props:{eventType:"api_key_copied"}})}),n(ir,{token:f.row.original,permission:ma,project:e,onRemove:async()=>{await c(f.row.original.secret,e),s("project_api_tokens",{props:{eventType:"api_key_deleted"}}),i()}})]}));return l("div",{style:{width:"100%",overflow:"hidden"},children:[n(l1,{header:n(o1,{title:`API access (${g.length})`,actions:l(Y,{children:[n(k1,{initialValue:_,onChange:C}),n(o1.Divider,{}),n(sr,{permission:ga,path:"create",project:e})]})}),children:n(x,{condition:!a($2,e),show:n(w1,{severity:"warning",children:"You need to have the correct permissions to read API tokens"}),elseShow:n(cr,{compact:!0,loading:o,headerGroups:m,setHiddenColumns:b,prepareRow:y,getTableBodyProps:p,getTableProps:u,rows:g,columns:R,globalFilter:_})})}),n(fe,{children:n(X,{path:"create",element:n(I5,{})})})]})},O5=()=>{const e=K("projectId"),t=R1(e),{isOss:a}=b1(),r=I1();return S1(`Project segments – ${t}`),a()?n(l1,{header:n(o1,{titleElement:"Segments"}),sx:{justifyContent:"center"},children:n(xt,{feature:"segments"})}):l(fe,{children:[n(X,{path:"create",element:n(U1,{open:!0,onClose:()=>r(M1),label:"Create segment",children:n(fa,{modal:!0})})}),n(X,{path:"edit/:segmentId",element:n(U1,{open:!0,onClose:()=>r(M1),label:"Edit segment",children:n(va,{modal:!0})})}),n(X,{path:"*",element:n(ya,{})})]})},$5=(e,t)=>{const a=new URLSearchParams({environmentId:t});return`/projects/${e}/settings/default-strategy/edit?${a}`},z5={name:"flexibleRollout",disabled:!1,constraints:[],title:"",parameters:{rollout:"100",stickiness:"default",groupId:""}},B5=({environment:e,description:t})=>{const a=K("projectId"),{environment:r,defaultStrategy:o}=e,i=$5(a,r),s=d.useMemo(()=>o||z5,[JSON.stringify(o)]);return n(Y,{children:n(lr,{strategy:s,description:t,actions:n(Y,{children:n(V1,{permission:ba,environmentId:r,projectId:a,component:D1,to:i,tooltipProps:{title:`Edit default strategy for "${r}"`},"data-testid":`STRATEGY_EDIT-${s==null?void 0:s.name}`,children:n(wt,{})})}),children:n(Ca,{strategy:s})})})},V5=h("div",{shouldForwardProp:e=>e!=="enabled"})(({theme:e,enabled:t})=>({borderRadius:e.shape.borderRadiusLarge,marginBottom:e.spacing(2),backgroundColor:t?e.palette.background.paper:e.palette.envAccordion.disabled})),M5=h(_a)({boxShadow:"none",background:"none"}),L5=h(xa)(({theme:e})=>({boxShadow:"none",padding:e.spacing(2,4),pointerEvents:"none",[e.breakpoints.down(400)]:{padding:e.spacing(1,2)}})),H5=h(wa,{shouldForwardProp:e=>e!=="enabled"})(({theme:e})=>({padding:e.spacing(3),background:e.palette.envAccordion.expanded,borderBottomLeftRadius:e.shape.borderRadiusLarge,borderBottomRightRadius:e.shape.borderRadiusLarge,boxShadow:"inset 0px 2px 4px rgba(32, 32, 33, 0.05)",[e.breakpoints.down("md")]:{padding:e.spacing(2,1)}})),W5=h("div")(({theme:e})=>({width:"100%",position:"relative",paddingBottom:e.spacing(2)})),N5=h("div")(({theme:e})=>({[e.breakpoints.down(400)]:{padding:e.spacing(1)}})),q5=h("div",{shouldForwardProp:e=>e!=="enabled"})(({theme:e,enabled:t})=>({display:"flex",justifyContent:"center",flexDirection:"column",color:t?e.palette.text.primary:e.palette.text.secondary})),U5=h("div")(({theme:e})=>({display:"flex",alignItems:"center",fontWeight:"bold",[e.breakpoints.down(560)]:{flexDirection:"column",textAlign:"center"}})),G5=h(Ua)(({theme:e})=>({[e.breakpoints.down(560)]:{marginBottom:"0.5rem"}})),K5=h(Sa)(({theme:e})=>({fontSize:e.fontSizes.bodySize,fontWeight:e.typography.fontWeightMedium,[e.breakpoints.down(560)]:{textAlign:"center"}})),J5=({environment:e})=>{const{environment:t}=e,a=`Default strategy configuration in the ${t} environment`,r=p1(),o=!1;return n(V5,{enabled:!1,children:l(M5,{expanded:!0,onChange:i=>i.stopPropagation(),"data-testid":`${Ta}_${t}`,className:"environment-accordion accordion-disabled",style:{outline:`2px solid ${r.palette.divider}`,backgroundColor:r.palette.background.paper},children:[n(L5,{children:n(q5,{"data-loading":!0,enabled:o,children:l(U5,{children:[n(G5,{enabled:!0}),n("div",{children:n(K5,{text:t,maxWidth:"100",maxLength:15})})]})})}),n(H5,{enabled:!0,children:n(W5,{children:n(N5,{children:n(B5,{environment:e,description:a})})})})]})})},Y5=h(w1)(({theme:e})=>({marginBottom:e.spacing(4)})),Q5=()=>{const e=K("projectId"),t=R1(e),{hasAccess:a}=d.useContext(X1),{project:r}=x1(e),o=I1();if(S1(`Project default strategy configuration – ${t}`),!a(E1,e))return n(l1,{header:n(o1,{title:"Default Strategy configuration"}),children:n(w1,{severity:"error",children:"You need project owner permissions to access this section."})});const i=`/projects/${e}/settings/default-strategy`,s=()=>o(i);return l(Y,{children:[l(l1,{header:n(o1,{title:"Default Strategy"}),children:[n(Y5,{severity:"info",children:"Here you can customize your default strategy for each specific environment. These will be used when you enable a toggle environment that has no strategies defined"}),r==null?void 0:r.environments.map(c=>n(J5,{environment:c},c.environment))]}),n(fe,{children:n(X,{path:"edit",element:n(U1,{label:"Edit feature strategy",onClose:s,open:!0,children:n(Ga,{})})})})]})},X5=()=>{var o;const e=pn(),t=I1(),a=[{id:"environments",label:"Environments"},{id:"access",label:"Access"},{id:"segments",label:"Segments"},{id:"change-requests",label:"Change request configuration"},{id:"api-access",label:"API access"},{id:"default-strategy",label:"Default strategy"}],r=i=>{t(i.id)};return n(Aa,{tabs:a,value:((o=a.find(({id:i})=>{var s;return i&&((s=e.pathname)==null?void 0:s.includes(`/${i}`))}))==null?void 0:o.id)||a[0].id,onChange:r,children:l(fe,{children:[n(X,{path:"environments/*",element:n(vn,{})}),n(X,{path:"access/*",element:n(k5,{})}),n(X,{path:"segments/*",element:n(O5,{})}),n(X,{path:"change-requests/*",element:n(F5,{})}),n(X,{path:"api-access/*",element:n(j5,{})}),n(X,{path:"default-strategy/*",element:n(Q5,{})}),n(X,{path:"*",element:n(hn,{replace:!0,to:a[0].id})})]})})},ec=h(En)(()=>({padding:0,margin:0,[`& .${Dn.root}:before`]:{flex:0,padding:0}})),b3=h(w2,{shouldForwardProp:e=>e!=="active"})(({theme:e,active:t})=>({width:"1px",backgroundColor:t?e.palette.common.white:`${ie(e.palette.common.white,.5)}`})),Ht=h(Rn,{shouldForwardProp:e=>e!=="active"})(({theme:e,active:t})=>({color:t?e.palette.background.sidebar:`${ie(e.palette.common.white,.8)}`,backgroundColor:t?e.palette.common.white:"initial",fontWeight:t?e.fontWeight.bold:"normal",borderColor:t?e.palette.common.white:`${ie(e.palette.common.white,.8)}`,width:e.spacing(5),height:e.spacing(5),lineHeight:e.spacing(5),borderWidth:"1px",display:"flex",alignItems:"center",justifyContent:"center",margin:e.spacing(1,0)})),Wt=h(kn,{shouldForwardProp:e=>e!=="active"})(({theme:e,active:t})=>({padding:e.spacing(2,2,6,2),color:t?e.palette.common.white:`${ie(e.palette.common.white,.8)}`})),Nt=h(T,{shouldForwardProp:e=>e!=="active"})(({theme:e,active:t})=>({fontWeight:t?e.fontWeight.bold:"normal",fontSize:e.fontSizes.bodySize})),qt=h(T)(({theme:e})=>({fontSize:e.fontSizes.smallerBody})),tc=({stage:e})=>l(ec,{children:[l(Je,{children:[l(Ye,{children:[n(Ht,{variant:"outlined",active:e==="configure",children:"1"}),n(b3,{active:e==="configure"})]}),l(Wt,{active:e==="configure",children:[n(Nt,{active:e==="configure",children:"Import file"}),n(qt,{children:"Import previously exported toggle configuration from another Unleash instance as a JSON file"})]})]}),l(Je,{children:[l(Ye,{children:[n(Ht,{variant:"outlined",active:e==="validate",children:"2"}),n(b3,{active:e==="validate"})]}),l(Wt,{active:e==="validate",children:[n(Nt,{active:e==="validate",children:"Validate configuration"}),n(qt,{children:"Check the errors and warnings from the import process"})]})]}),l(Je,{children:[n(Ye,{children:n(Ht,{variant:"outlined",active:e==="import",children:"3"})}),l(Wt,{active:e==="import",children:[n(Nt,{active:e==="import",children:"Finish import"}),n(qt,{children:"Feature toggle configuration will be imported to your new Unleash instance"})]})]})]});function ye(e,t,a,r){function o(i){return i instanceof a?i:new a(function(s){s(i)})}return new(a||(a=Promise))(function(i,s){function c(m){try{p(r.next(m))}catch(g){s(g)}}function u(m){try{p(r.throw(m))}catch(g){s(g)}}function p(m){m.done?i(m.value):o(m.value).then(c,u)}p((r=r.apply(e,t||[])).next())})}function be(e,t){var a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(p){return function(m){return u([p,m])}}function u(p){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,p[0]&&(a=0)),a;)try{if(r=1,o&&(i=p[0]&2?o.return:p[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,p[1])).done)return i;switch(o=0,i&&(p=[p[0]&2,i.value]),p[0]){case 0:case 1:i=p;break;case 4:return a.label++,{value:p[1],done:!1};case 5:a.label++,o=p[1],p=[0];continue;case 7:p=a.ops.pop(),a.trys.pop();continue;default:if(i=a.trys,!(i=i.length>0&&i[i.length-1])&&(p[0]===6||p[0]===2)){a=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]<i[3])){a.label=p[1];break}if(p[0]===6&&a.label<i[1]){a.label=i[1],i=p;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(p);break}i[2]&&a.ops.pop(),a.trys.pop();continue}p=t.call(e,a)}catch(m){p=[6,m],o=0}finally{r=i=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function C3(e,t){var a=typeof Symbol=="function"&&e[Symbol.iterator];if(!a)return e;var r=a.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(c){s={error:c}}finally{try{o&&!o.done&&(a=r.return)&&a.call(r)}finally{if(s)throw s.error}}return i}function _3(e,t,a){if(a||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var nc=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function ze(e,t){var a=ac(e);if(typeof a.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(a,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return a}function ac(e){var t=e.name,a=t&&t.lastIndexOf(".")!==-1;if(a&&!e.type){var r=t.split(".").pop().toLowerCase(),o=nc.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var rc=[".DS_Store","Thumbs.db"];function oc(e){return ye(this,void 0,void 0,function(){return be(this,function(t){return at(e)&&ic(e.dataTransfer)?[2,dc(e.dataTransfer,e.type)]:sc(e)?[2,cc(e)]:Array.isArray(e)&&e.every(function(a){return"getFile"in a&&typeof a.getFile=="function"})?[2,lc(e)]:[2,[]]})})}function ic(e){return at(e)}function sc(e){return at(e)&&at(e.target)}function at(e){return typeof e=="object"&&e!==null}function cc(e){return t2(e.target.files).map(function(t){return ze(t)})}function lc(e){return ye(this,void 0,void 0,function(){var t;return be(this,function(a){switch(a.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=a.sent(),[2,t.map(function(r){return ze(r)})]}})})}function dc(e,t){return ye(this,void 0,void 0,function(){var a,r;return be(this,function(o){switch(o.label){case 0:return e.items?(a=t2(e.items).filter(function(i){return i.kind==="file"}),t!=="drop"?[2,a]:[4,Promise.all(a.map(uc))]):[3,2];case 1:return r=o.sent(),[2,x3(Mn(r))];case 2:return[2,x3(t2(e.files).map(function(i){return ze(i)}))]}})})}function x3(e){return e.filter(function(t){return rc.indexOf(t.name)===-1})}function t2(e){if(e===null)return[];for(var t=[],a=0;a<e.length;a++){var r=e[a];t.push(r)}return t}function uc(e){if(typeof e.webkitGetAsEntry!="function")return w3(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?Ln(t):w3(e)}function Mn(e){return e.reduce(function(t,a){return _3(_3([],C3(t),!1),C3(Array.isArray(a)?Mn(a):[a]),!1)},[])}function w3(e){var t=e.getAsFile();if(!t)return Promise.reject("".concat(e," is not a File"));var a=ze(t);return Promise.resolve(a)}function pc(e){return ye(this,void 0,void 0,function(){return be(this,function(t){return[2,e.isDirectory?Ln(e):hc(e)]})})}function Ln(e){var t=e.createReader();return new Promise(function(a,r){var o=[];function i(){var s=this;t.readEntries(function(c){return ye(s,void 0,void 0,function(){var u,p,m;return be(this,function(g){switch(g.label){case 0:if(c.length)return[3,5];g.label=1;case 1:return g.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return u=g.sent(),a(u),[3,4];case 3:return p=g.sent(),r(p),[3,4];case 4:return[3,6];case 5:m=Promise.all(c.map(pc)),o.push(m),i(),g.label=6;case 6:return[2]}})})},function(c){r(c)})}i()})}function hc(e){return ye(this,void 0,void 0,function(){return be(this,function(t){return[2,new Promise(function(a,r){e.file(function(o){var i=ze(o,e.fullPath);a(i)},function(o){r(o)})})]})})}var mc=function(e,t){if(e&&t){var a=Array.isArray(t)?t:t.split(","),r=e.name||"",o=(e.type||"").toLowerCase(),i=o.replace(/\/.*$/,"");return a.some(function(s){var c=s.trim().toLowerCase();return c.charAt(0)==="."?r.toLowerCase().endsWith(c):c.endsWith("/*")?i===c.replace(/\/.*$/,""):o===c})}return!0};function S3(e){return vc(e)||fc(e)||Wn(e)||gc()}function gc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vc(e){if(Array.isArray(e))return n2(e)}function T3(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,r)}return a}function A3(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?T3(Object(a),!0).forEach(function(r){Hn(e,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):T3(Object(a)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))})}return e}function Hn(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Ee(e,t){return Cc(e)||bc(e,t)||Wn(e,t)||yc()}function yc(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
11
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wn(e,t){if(e){if(typeof e=="string")return n2(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n2(e,t)}}function n2(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function bc(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r=[],o=!0,i=!1,s,c;try{for(a=a.call(e);!(o=(s=a.next()).done)&&(r.push(s.value),!(t&&r.length===t));o=!0);}catch(u){i=!0,c=u}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw c}}return r}}function Cc(e){if(Array.isArray(e))return e}var _c="file-invalid-type",xc="file-too-large",wc="file-too-small",Sc="too-many-files",Tc=function(t){t=Array.isArray(t)&&t.length===1?t[0]:t;var a=Array.isArray(t)?"one of ".concat(t.join(", ")):t;return{code:_c,message:"File type must be ".concat(a)}},E3=function(t){return{code:xc,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},k3=function(t){return{code:wc,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Ac={code:Sc,message:"Too many files"};function Nn(e,t){var a=e.type==="application/x-moz-file"||mc(e,t);return[a,a?null:Tc(t)]}function qn(e,t,a){if(W1(e.size))if(W1(t)&&W1(a)){if(e.size>a)return[!1,E3(a)];if(e.size<t)return[!1,k3(t)]}else{if(W1(t)&&e.size<t)return[!1,k3(t)];if(W1(a)&&e.size>a)return[!1,E3(a)]}return[!0,null]}function W1(e){return e!=null}function Ec(e){var t=e.files,a=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,s=e.maxFiles,c=e.validator;return!i&&t.length>1||i&&s>=1&&t.length>s?!1:t.every(function(u){var p=Nn(u,a),m=Ee(p,1),g=m[0],y=qn(u,r,o),_=Ee(y,1),C=_[0],b=c?c(u):null;return g&&C&&!b})}function rt(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Ge(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function D3(e){e.preventDefault()}function kc(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function Dc(e){return e.indexOf("Edge/")!==-1}function Rc(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return kc(e)||Dc(e)}function A1(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return function(r){for(var o=arguments.length,i=new Array(o>1?o-1:0),s=1;s<o;s++)i[s-1]=arguments[s];return t.some(function(c){return!rt(r)&&c&&c.apply(void 0,[r].concat(i)),rt(r)})}}function Fc(){return"showOpenFilePicker"in window}function Pc(e){if(W1(e)){var t=Object.entries(e).filter(function(a){var r=Ee(a,2),o=r[0],i=r[1],s=!0;return Un(o)||(console.warn('Skipped "'.concat(o,'" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.')),s=!1),(!Array.isArray(i)||!i.every(Gn))&&(console.warn('Skipped "'.concat(o,'" because an invalid file extension was provided.')),s=!1),s}).reduce(function(a,r){var o=Ee(r,2),i=o[0],s=o[1];return A3(A3({},a),{},Hn({},i,s))},{});return[{description:"Files",accept:t}]}return e}function Zc(e){if(W1(e))return Object.entries(e).reduce(function(t,a){var r=Ee(a,2),o=r[0],i=r[1];return[].concat(S3(t),[o],S3(i))},[]).filter(function(t){return Un(t)||Gn(t)}).join(",")}function Ic(e){return e instanceof DOMException&&(e.name==="AbortError"||e.code===e.ABORT_ERR)}function jc(e){return e instanceof DOMException&&(e.name==="SecurityError"||e.code===e.SECURITY_ERR)}function Un(e){return e==="audio/*"||e==="video/*"||e==="image/*"||e==="text/*"||/\w+\/[-+.\w]+/g.test(e)}function Gn(e){return/^.*\.[\w]+$/.test(e)}var Oc=["children"],$c=["open"],zc=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Bc=["refKey","onChange","onClick"];function Vc(e){return Hc(e)||Lc(e)||Kn(e)||Mc()}function Mc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
12
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Hc(e){if(Array.isArray(e))return a2(e)}function Ut(e,t){return qc(e)||Nc(e,t)||Kn(e,t)||Wc()}function Wc(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
13
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kn(e,t){if(e){if(typeof e=="string")return a2(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return a2(e,t)}}function a2(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function Nc(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var r=[],o=!0,i=!1,s,c;try{for(a=a.call(e);!(o=(s=a.next()).done)&&(r.push(s.value),!(t&&r.length===t));o=!0);}catch(u){i=!0,c=u}finally{try{!o&&a.return!=null&&a.return()}finally{if(i)throw c}}return r}}function qc(e){if(Array.isArray(e))return e}function R3(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,r)}return a}function e1(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?R3(Object(a),!0).forEach(function(r){r2(e,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):R3(Object(a)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))})}return e}function r2(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function ot(e,t){if(e==null)return{};var a=Uc(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function Uc(e,t){if(e==null)return{};var a={},r=Object.keys(e),o,i;for(i=0;i<r.length;i++)o=r[i],!(t.indexOf(o)>=0)&&(a[o]=e[o]);return a}var Z2=d.forwardRef(function(e,t){var a=e.children,r=ot(e,Oc),o=Yn(r),i=o.open,s=ot(o,$c);return d.useImperativeHandle(t,function(){return{open:i}},[i]),Te.createElement(d.Fragment,null,a(e1(e1({},s),{},{open:i})))});Z2.displayName="Dropzone";var Jn={disabled:!1,getFilesFromEvent:oc,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Z2.defaultProps=Jn;Z2.propTypes={children:J.func,accept:J.objectOf(J.arrayOf(J.string)),multiple:J.bool,preventDropOnDocument:J.bool,noClick:J.bool,noKeyboard:J.bool,noDrag:J.bool,noDragEventsBubbling:J.bool,minSize:J.number,maxSize:J.number,maxFiles:J.number,disabled:J.bool,getFilesFromEvent:J.func,onFileDialogCancel:J.func,onFileDialogOpen:J.func,useFsAccessApi:J.bool,autoFocus:J.bool,onDragEnter:J.func,onDragLeave:J.func,onDragOver:J.func,onDrop:J.func,onDropAccepted:J.func,onDropRejected:J.func,onError:J.func,validator:J.func};var o2={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Yn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e1(e1({},Jn),e),a=t.accept,r=t.disabled,o=t.getFilesFromEvent,i=t.maxSize,s=t.minSize,c=t.multiple,u=t.maxFiles,p=t.onDragEnter,m=t.onDragLeave,g=t.onDragOver,y=t.onDrop,_=t.onDropAccepted,C=t.onDropRejected,b=t.onFileDialogCancel,R=t.onFileDialogOpen,f=t.useFsAccessApi,F=t.autoFocus,E=t.preventDropOnDocument,O=t.noClick,M=t.noKeyboard,S=t.noDrag,I=t.noDragEventsBubbling,j=t.onError,V=t.validator,H=d.useMemo(function(){return Zc(a)},[a]),B=d.useMemo(function(){return Pc(a)},[a]),Q=d.useMemo(function(){return typeof R=="function"?R:F3},[R]),U=d.useMemo(function(){return typeof b=="function"?b:F3},[b]),v=d.useRef(null),w=d.useRef(null),$=d.useReducer(Gc,o2),P=Ut($,2),W=P[0],k=P[1],N=W.isFocused,c1=W.isFileDialogActive,g1=d.useRef(typeof window<"u"&&window.isSecureContext&&f&&Fc()),f1=function(){!g1.current&&c1&&setTimeout(function(){if(w.current){var z=w.current.files;z.length||(k({type:"closeDialog"}),U())}},300)};d.useEffect(function(){return window.addEventListener("focus",f1,!1),function(){window.removeEventListener("focus",f1,!1)}},[w,c1,U,g1]);var $1=d.useRef([]),Ce=function(z){v.current&&v.current.contains(z.target)||(z.preventDefault(),$1.current=[])};d.useEffect(function(){return E&&(document.addEventListener("dragover",D3,!1),document.addEventListener("drop",Ce,!1)),function(){E&&(document.removeEventListener("dragover",D3),document.removeEventListener("drop",Ce))}},[v,E]),d.useEffect(function(){return!r&&F&&v.current&&v.current.focus(),function(){}},[v,F,r]);var T1=d.useCallback(function(A){j?j(A):console.error(A)},[j]),Be=d.useCallback(function(A){A.preventDefault(),A.persist(),L(A),$1.current=[].concat(Vc($1.current),[A.target]),Ge(A)&&Promise.resolve(o(A)).then(function(z){if(!(rt(A)&&!I)){var n1=z.length,i1=n1>0&&Ec({files:z,accept:H,minSize:s,maxSize:i,multiple:c,maxFiles:u,validator:V}),v1=n1>0&&!i1;k({isDragAccept:i1,isDragReject:v1,isDragActive:!0,type:"setDraggedFiles"}),p&&p(A)}}).catch(function(z){return T1(z)})},[o,p,T1,I,H,s,i,c,u,V]),Ve=d.useCallback(function(A){A.preventDefault(),A.persist(),L(A);var z=Ge(A);if(z&&A.dataTransfer)try{A.dataTransfer.dropEffect="copy"}catch{}return z&&g&&g(A),!1},[g,I]),_e=d.useCallback(function(A){A.preventDefault(),A.persist(),L(A);var z=$1.current.filter(function(i1){return v.current&&v.current.contains(i1)}),n1=z.indexOf(A.target);n1!==-1&&z.splice(n1,1),$1.current=z,!(z.length>0)&&(k({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Ge(A)&&m&&m(A))},[v,m,I]),ee=d.useCallback(function(A,z){var n1=[],i1=[];A.forEach(function(v1){var xe=Nn(v1,H),ne=Ut(xe,2),Et=ne[0],kt=ne[1],Dt=qn(v1,s,i),He=Ut(Dt,2),Rt=He[0],Ft=He[1],Pt=V?V(v1):null;if(Et&&Rt&&!Pt)n1.push(v1);else{var Zt=[kt,Ft];Pt&&(Zt=Zt.concat(Pt)),i1.push({file:v1,errors:Zt.filter(function(Xn){return Xn})})}}),(!c&&n1.length>1||c&&u>=1&&n1.length>u)&&(n1.forEach(function(v1){i1.push({file:v1,errors:[Ac]})}),n1.splice(0)),k({acceptedFiles:n1,fileRejections:i1,type:"setFiles"}),y&&y(n1,i1,z),i1.length>0&&C&&C(i1,z),n1.length>0&&_&&_(n1,z)},[k,c,H,s,i,u,y,_,C,V]),z1=d.useCallback(function(A){A.preventDefault(),A.persist(),L(A),$1.current=[],Ge(A)&&Promise.resolve(o(A)).then(function(z){rt(A)&&!I||ee(z,A)}).catch(function(z){return T1(z)}),k({type:"reset"})},[o,ee,T1,I]),F1=d.useCallback(function(){if(g1.current){k({type:"openDialog"}),Q();var A={multiple:c,types:B};window.showOpenFilePicker(A).then(function(z){return o(z)}).then(function(z){ee(z,null),k({type:"closeDialog"})}).catch(function(z){Ic(z)?(U(z),k({type:"closeDialog"})):jc(z)?(g1.current=!1,w.current?(w.current.value=null,w.current.click()):T1(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."))):T1(z)});return}w.current&&(k({type:"openDialog"}),Q(),w.current.value=null,w.current.click())},[k,Q,U,f,ee,T1,B,c]),B1=d.useCallback(function(A){!v.current||!v.current.isEqualNode(A.target)||(A.key===" "||A.key==="Enter"||A.keyCode===32||A.keyCode===13)&&(A.preventDefault(),F1())},[v,F1]),H1=d.useCallback(function(){k({type:"focus"})},[]),Me=d.useCallback(function(){k({type:"blur"})},[]),Le=d.useCallback(function(){O||(Rc()?setTimeout(F1,0):F1())},[O,F1]),P1=function(z){return r?null:z},te=function(z){return M?null:P1(z)},D=function(z){return S?null:P1(z)},L=function(z){I&&z.stopPropagation()},a1=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},z=A.refKey,n1=z===void 0?"ref":z,i1=A.role,v1=A.onKeyDown,xe=A.onFocus,ne=A.onBlur,Et=A.onClick,kt=A.onDragEnter,Dt=A.onDragOver,He=A.onDragLeave,Rt=A.onDrop,Ft=ot(A,zc);return e1(e1(r2({onKeyDown:te(A1(v1,B1)),onFocus:te(A1(xe,H1)),onBlur:te(A1(ne,Me)),onClick:P1(A1(Et,Le)),onDragEnter:D(A1(kt,Be)),onDragOver:D(A1(Dt,Ve)),onDragLeave:D(A1(He,_e)),onDrop:D(A1(Rt,z1)),role:typeof i1=="string"&&i1!==""?i1:"presentation"},n1,v),!r&&!M?{tabIndex:0}:{}),Ft)}},[v,B1,H1,Me,Le,Be,Ve,_e,z1,M,S,r]),q=d.useCallback(function(A){A.stopPropagation()},[]),h1=d.useMemo(function(){return function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},z=A.refKey,n1=z===void 0?"ref":z,i1=A.onChange,v1=A.onClick,xe=ot(A,Bc),ne=r2({accept:H,multiple:c,type:"file",style:{display:"none"},onChange:P1(A1(i1,z1)),onClick:P1(A1(v1,q)),tabIndex:-1},n1,w);return e1(e1({},ne),xe)}},[w,a,c,z1,r]);return e1(e1({},W),{},{isFocused:N&&!r,getRootProps:a1,getInputProps:h1,rootRef:v,inputRef:w,open:P1(F1)})}function Gc(e,t){switch(t.type){case"focus":return e1(e1({},e),{},{isFocused:!0});case"blur":return e1(e1({},e),{},{isFocused:!1});case"openDialog":return e1(e1({},o2),{},{isFileDialogActive:!0});case"closeDialog":return e1(e1({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return e1(e1({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return e1(e1({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return e1({},o2);default:return e}}function F3(){}const Kc=e=>JSON.stringify(JSON.parse(e),null,4),Jc=({onSuccess:e,onError:t})=>a=>{var o;const r=(o=a==null?void 0:a.target)==null?void 0:o.result;if(typeof r=="string")try{const i=Kc(r);e(i)}catch{t("Cannot format as valid JSON")}else t("Unsupported format")},Yc=({onSuccess:e,onError:t,children:a,onDragStatusChange:r,...o})=>{const i=d.useCallback(([p])=>{const m=new FileReader;m.onload=Jc({onSuccess:e,onError:t}),m.readAsText(p)},[]),{getRootProps:s,getInputProps:c,isDragActive:u}=Yn({onDrop:i,accept:{"application/json":[".json"]},maxFiles:1});return d.useEffect(()=>{r(u)},[u]),l(T,{...s(),...o,children:[n("input",{...c()}),a]})},Qc=h(Yc)(({theme:e})=>({padding:e.spacing(4,2,2,2),border:`1px dashed ${e.palette.secondary.border}`,borderRadius:e.shape.borderRadiusLarge,display:"flex",flexDirection:"column",alignItems:"center"})),Qn=h(_t,{shouldForwardProp:e=>e!=="active"})(({theme:e,active:t})=>({transition:"background-color 0.5s ease",color:e.palette.common.white,backgroundColor:t?e.palette.primary.main:e.palette.divider,"@keyframes pulse":{"0%":{boxShadow:`0 0 0 0px ${ie(e.palette.primary.main,.7)}`},"100%":{boxShadow:`0 0 0 20px ${ie(e.palette.primary.main,0)}`}},animation:t?"pulse 2s infinite":""})),Xc=h(T)(({theme:e})=>({backgroundColor:e.palette.background.elevation2,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(3)})),Gt=h(Z)(({theme:e})=>({marginBottom:e.spacing(.5)})),Kt=h(T)(({theme:e})=>({marginBottom:e.spacing(3),color:e.palette.text.secondary,fontSize:e.fontSizes.smallBody})),e6=()=>l(Xc,{children:[n(Gt,{children:"What is being imported?"}),l(Kt,{children:["Feature toggles will be imported with full configuration:",l("ul",{children:[n("li",{children:"strategies"}),n("li",{children:"context fields"}),n("li",{children:"variants"}),n("li",{children:"tags"}),n("li",{children:"feature toggle status"})]})]}),n(Gt,{children:"Exceptions?"}),n(Kt,{children:"If the feature toggle already exists in the new instance, it will be overwritten"}),n(Gt,{children:"What is not imported?"}),n(Kt,{sx:{marginBottom:0},children:"If we detect segments or custom strategies in your imported file, we will stop the import. You need to create them first in the new instance and run the import again"})]}),I2=h("div")(({theme:e})=>({backgroundColor:e.palette.background.paper,padding:e.spacing(5,8,3,8),display:"flex",flexDirection:"column",gap:e.spacing(3),flexBasis:"70%"})),j2=h(T)(({theme:e})=>({width:"100%",borderTop:`1px solid ${e.palette.divider}`,marginTop:"auto",paddingTop:e.spacing(3),display:"flex",justifyContent:"flex-end"})),t6=h(f2)(({theme:e})=>({width:"100%"})),n6=h(Z)(({theme:e})=>({marginTop:e.spacing(4),fontSize:e.fontSizes.mainHeader})),a6=h(Z)(({theme:e})=>({marginTop:e.spacing(2),marginBottom:e.spacing(1.5),color:e.palette.text.secondary})),r6=h(Z)(({theme:e})=>({marginTop:e.spacing(4),color:e.palette.text.secondary})),o6=({activeTab:e,setActiveTab:t})=>n(T,{sx:{borderBottom:1,borderColor:"divider"},children:l(h2,{value:e,children:[n(Xe,{label:"Upload file",value:"file",onClick:()=>t("file")}),n(Xe,{label:"Code editor",value:"code","data-testid":Ea,onClick:()=>t("code")})]})}),i6=({activeTab:e,setActiveTab:t,importPayload:a,setImportPayload:r})=>{const[o,i]=d.useState(!1),{setToastData:s}=u1();return n(x,{condition:e==="file",show:l(Qc,{onSuccess:c=>{r(c),t("code"),s({type:"success",title:"File uploaded"})},onError:c=>{r(""),s({type:"error",title:c})},onDragStatusChange:i,children:[n(Qn,{sx:{width:80,height:80},active:o,children:n(ur,{fontSize:"large"})}),n(n6,{children:o?"Drop your file to upload":"Drop your file here"}),n(a6,{children:"or select a file from your device"}),n(d1,{variant:"outlined",children:"Select file"}),n(r6,{children:"JSON format: max 500 kB"})]}),elseShow:n(t6,{label:"Exported toggles",variant:"outlined",onChange:c=>r(c.target.value),value:a,"data-testid":ka,multiline:!0,minRows:13,maxRows:13})})},s6=({onSubmit:e,onClose:t,disabled:a})=>l(j2,{children:[n(d1,{sx:{position:"static"},variant:"contained",type:"submit",onClick:e,"data-testid":Da,disabled:a,children:"Validate"}),n(d1,{sx:{position:"static",ml:2},variant:"outlined",type:"submit",onClick:t,children:"Cancel import"})]}),c6=({tabs:e,importOptions:t,importArea:a,actions:r})=>l(I2,{children:[e,t,a,n(e6,{}),r]}),l6=()=>{const{makeRequest:e,createRequest:t,errors:a,loading:r}=v2({propagateErrors:!0});return{loading:r,errors:a,validateImport:async i=>{const c=t("api/admin/features-batch/validate",{method:"POST",body:JSON.stringify(i)});try{return(await e(c.caller,c.id)).json()}catch(u){throw u}}}},d6=h(T)(({theme:e})=>({backgroundColor:e.palette.background.elevation2,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(3)})),P3=h("span")(({theme:e})=>({fontSize:e.fontSizes.smallBody,color:e.palette.text.secondary})),Z3=h("span")(({theme:e})=>({fontSize:e.fontSizes.smallBody,color:e.palette.text.primary,fontWeight:e.fontWeight.bold})),I3=h(T)(({theme:e})=>({border:`1px solid ${e.palette.error.border}`,borderRadius:e.shape.borderRadiusLarge,paddingBottom:e.spacing(2)})),u6=h(T)(({theme:e})=>({border:`1px solid ${e.palette.warning.border}`,borderRadius:e.shape.borderRadiusLarge,paddingBottom:e.spacing(2)})),j3=h(T)(({theme:e})=>({color:e.palette.error.dark,backgroundColor:e.palette.error.light,fontSize:e.fontSizes.smallBody,borderBottom:`1px solid ${e.palette.error.border}`,borderTopLeftRadius:e.shape.borderRadiusLarge,borderTopRightRadius:e.shape.borderRadiusLarge,padding:e.spacing(2)})),p6=h(T)(({theme:e})=>({color:e.palette.warning.dark,backgroundColor:e.palette.warning.light,fontSize:e.fontSizes.smallBody,borderBottom:`1px solid ${e.palette.warning.border}`,borderTopLeftRadius:e.shape.borderRadiusLarge,borderTopRightRadius:e.shape.borderRadiusLarge,padding:e.spacing(2)})),O3=h(T)(({theme:e})=>({color:e.palette.error.dark,fontSize:e.fontSizes.smallBody})),h6=h(T)(({theme:e})=>({color:e.palette.warning.dark,fontSize:e.fontSizes.smallBody})),Jt=h("ul")(({theme:e})=>({marginTop:e.spacing(1),marginBottom:e.spacing(0),paddingLeft:e.spacing(3),paddingBottom:e.spacing(3),borderBottom:`1px dashed ${e.palette.neutral.border}`})),Yt=h("li")(({theme:e})=>({fontSize:e.fontSizes.smallBody})),m6=({environment:e,project:t,payload:a,onClose:r,onBack:o,onSubmit:i})=>{const{validateImport:s}=l6(),{setToastData:c}=u1(),{trackEvent:u}=Z1(),[p,m]=d.useState({errors:[],warnings:[],permissions:[]}),[g,y]=d.useState(!0),_=C=>{C.errors.length>0||C.permissions.length>0?u("export_import",{props:{eventType:"validation fail"}}):u("export_import",{props:{eventType:"validation success"}}),m(C)};return d.useEffect(()=>{s({environment:e,project:t,data:JSON.parse(a)}).then(_).catch(C=>{y(!1),c({type:"error",title:m1(C)})})},[]),l(I2,{children:[l(d6,{children:[n(Z,{sx:{mb:1.5},children:"You are importing this configuration in:"}),l(T,{sx:{display:"flex",gap:3},children:[l("span",{children:[n(P3,{children:"Environment: "}),n(Z3,{children:e})]}),l("span",{children:[n(P3,{children:"Project: "}),n(Z3,{children:t})]})]})]}),n(x,{condition:p.permissions.length>0,show:l(I3,{children:[l(j3,{children:[n("strong",{children:"Missing permissions!"})," There are some permissions that you need to be granted before importing this configuration"]}),p.permissions.map(C=>l(T,{sx:{p:2},children:[n(O3,{children:C.message}),n(Jt,{children:C.affectedItems.map(b=>n(Yt,{children:b},b))})]},C.message))]})}),n(x,{condition:p.errors.length>0,show:l(I3,{children:[l(j3,{children:[n("strong",{children:"Conflict!"})," There are some errors that need to be fixed before the import."]}),p.errors.map(C=>l(T,{sx:{p:2},children:[n(O3,{children:C.message}),n(Jt,{children:C.affectedItems.map(b=>n(Yt,{children:b},b))})]},C.message))]})}),n(x,{condition:p.warnings.length>0,show:l(u6,{children:[l(p6,{children:[n("strong",{children:"Warning!"})," It is recommended to verify the following information before importing."]}),p.warnings.map(C=>l(T,{sx:{p:2},children:[n(h6,{children:C.message}),n(Jt,{children:C.affectedItems.map(b=>n(Yt,{children:b},b))})]},C.message))]})}),l(j2,{children:[n(d1,{sx:{position:"static",mr:"auto"},variant:"outlined",type:"submit",onClick:o,children:"Back"}),n(p2,{permission:s2,projectId:t,sx:{position:"static"},variant:"contained",type:"submit",onClick:i,"data-testid":Ra,disabled:p.errors.length>0||p.permissions.length>0||!g,children:"Import configuration"}),n(d1,{sx:{position:"static",ml:2},variant:"outlined",type:"submit",onClick:r,children:"Cancel import"})]})]})},g6=()=>{const{makeRequest:e,createRequest:t,errors:a,loading:r}=v2({propagateErrors:!0}),{trackEvent:o}=Z1();return{loading:r,errors:a,createImport:async s=>{const u=t("api/admin/features-batch/import",{method:"POST",body:JSON.stringify(s)});try{const p=await e(u.caller,u.id);return o("export_import",{props:{eventType:"features imported"}}),p}catch(p){throw p}}}},f6=h(fn)(({theme:e})=>({padding:e.spacing(4,2,2,2),display:"flex",flexDirection:"column",alignItems:"center",gap:e.spacing(8)})),v6=h(Z)(({theme:e})=>({fontSize:e.fontSizes.mainHeader})),y6=h(_t)(({theme:e})=>({backgroundColor:e.palette.primary.main})),b6=h(_t)(({theme:e})=>({backgroundColor:e.palette.error.main})),C6=h(fn)(({theme:e})=>({border:`1px solid ${e.palette.info.border}`,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(2),color:e.palette.info.dark,backgroundColor:e.palette.info.light,fontSize:e.fontSizes.smallBody})),_6=(e,t)=>e?{status:"loading"}:Object.keys(t).length>0?{status:"error",errors:t}:{status:"success"},x6=({environment:e,project:t,payload:a,onClose:r})=>{const{createImport:o,loading:i,errors:s}=g6(),{refetch:c}=x1(t),{refetch:u}=Ze(t),{setToastData:p}=u1(),{isChangeRequestConfigured:m}=Pe(t);d.useEffect(()=>{o({environment:e,project:t,data:JSON.parse(a)}).then(()=>{c(),u()}).catch(_=>{p({type:"error",title:m1(_)})})},[]);const g=_6(i,s),y=m(e)&&g.status==="success";return l(I2,{children:[l(f6,{children:[n(x,{condition:g.status==="loading",show:n(Qn,{sx:{width:80,height:80},active:!0,children:n(mr,{fontSize:"large"})})}),n(x,{condition:g.status==="success",show:n(y6,{sx:{width:80,height:80},children:n(en,{fontSize:"large"})})}),n(x,{condition:g.status==="error",show:n(b6,{sx:{width:80,height:80},children:n(dr,{fontSize:"large"})})}),l(v6,{children:[n(x,{condition:g.status==="loading",show:"Importing..."}),n(x,{condition:g.status==="success",show:"Import completed"}),n(x,{condition:g.status==="error",show:"Import failed"})]})]}),n(x,{condition:y,show:l(C6,{children:["For this environment ",n("strong",{children:"Change request"})," is enabled. This means that the import has generated a change request which needs to be approved before the configuration will be visible in the instance."]})}),n(j2,{children:n(d1,{sx:{position:"static"},variant:"contained",type:"submit",onClick:r,children:"Close"})})]})},w6=h(T)(({theme:e})=>({backgroundColor:e.palette.background.elevation2,borderRadius:e.shape.borderRadiusLarge,padding:e.spacing(3)})),S6=h(Z)(({theme:e})=>({marginBottom:e.spacing(3),fontWeight:e.fontWeight.bold})),T6=h(Z)(({theme:e})=>({marginBottom:e.spacing(1.5)})),A6=({project:e,environment:t,onChange:a})=>{const{project:r}=x1(e),o=r.environments.map(({environment:i})=>({key:i,label:i,title:i}));return d.useEffect(()=>{t===""&&o[0]&&a(o[0].key)},[JSON.stringify(o)]),l(w6,{children:[n(S6,{children:"Import options"}),n(T6,{children:"Choose the environment to import the configuration for"}),n(ft,{sx:{width:"180px"},options:o,onChange:a,label:"Environment",value:t,"data-testid":Fa,IconComponent:un,fullWidth:!0})]})},E6=h("div")(({theme:e})=>({minHeight:"100vh",display:"flex"})),k6=h("div")(({theme:e})=>({backgroundColor:e.palette.background.sidebar,padding:e.spacing(8),flexBasis:"30%"})),D6=h("div")(({theme:e})=>({textTransform:"uppercase",fontSize:e.fontSizes.smallBody,color:e.palette.common.white,fontWeight:e.typography.fontWeightBold,marginBottom:e.spacing(3)})),R6=e=>{try{return JSON.parse(e),!0}catch{return!1}},F6=({open:e,setOpen:t,project:a})=>{const[r,o]=d.useState("configure"),[i,s]=d.useState(""),[c,u]=d.useState(""),[p,m]=d.useState("file"),g=()=>{t(!1)};d.useEffect(()=>{e===!0&&y()},[e]);const y=()=>{o("configure"),s(""),u(""),m("file")};return n(U1,{open:e,onClose:g,label:"Import toggles",children:l(E6,{children:[l(k6,{children:[n(D6,{children:"Process"}),n(tc,{stage:r})]}),n(x,{condition:r==="configure",show:n(c6,{tabs:n(o6,{activeTab:p,setActiveTab:m}),importOptions:n(A6,{project:a,environment:i,onChange:s}),importArea:n(i6,{activeTab:p,setActiveTab:m,importPayload:c,setImportPayload:u}),actions:n(s6,{disabled:!R6(c),onSubmit:()=>o("validate"),onClose:g})})}),n(x,{condition:r==="validate",show:n(m6,{project:a,environment:i,payload:c,onBack:()=>o("configure"),onSubmit:()=>o("import"),onClose:g})}),n(x,{condition:r==="import",show:n(x6,{project:a,environment:i,payload:c,onClose:g})})]})})},P6="NAVIGATE_TO_EDIT_PROJECT",B6=()=>{var I;const e=K("projectId"),t=Pa(),{project:a,loading:r,error:o,refetch:i}=x1(e),s=K3(r),{setToastData:c}=u1(),[u,p]=d.useState(!1),m=I1(),{pathname:g}=pn(),{isOss:y,uiConfig:_}=b1(),C=`/projects/${e}`,b=(a==null?void 0:a.name)||e,{favorite:R,unfavorite:f}=Za(),[F,E]=d.useState(!1),O=[{title:"Overview",path:C,name:"overview"},{title:"Health",path:`${C}/health`,name:"health"},{title:"Archive",path:`${C}/archive`,name:"archive"},{title:"Change requests",path:`${C}/change-requests`,name:"change-request"},{title:"Project settings",path:`${C}/settings`,name:"settings"},{title:"Event log",path:`${C}/logs`,name:"logs"}],M=[...O].reverse().find(j=>g.startsWith(j.path));return d.useEffect(()=>{const j=t.get("created"),V=t.get("edited");(j||V)&&c({type:"success",title:j?"Project created":"Project updated"})},[]),(o==null?void 0:o.status)===404?l(j1,{sx:j=>({padding:j.spacing(2,4,4)}),children:[n(Z,{variant:"h1",children:"404 Not Found"}),l(Z,{children:["Project ",n("strong",{children:e})," does not exist."]})]}):l("div",{ref:s,children:[l(xr,{children:[n(wr,{children:l(yr,{children:[l(B2,{children:[n(_r,{onClick:async()=>{a!=null&&a.favorite?await f(e):await R(e),i()},isFavorite:a==null?void 0:a.favorite}),n(Sr,{children:n(br,{"data-loading":!0,children:b})})]}),l(B2,{children:[n(x,{condition:!!((I=_==null?void 0:_.flags)!=null&&I.featuresExportImport),show:n(V1,{permission:gt,projectId:e,onClick:()=>p(!0),tooltipProps:{title:"Import"},"data-testid":Ia,"data-loading":!0,children:n(hr,{})})}),n(x,{condition:!y(),show:n(V1,{permission:E1,projectId:e,onClick:()=>m(`/projects/${e}/edit`),tooltipProps:{title:"Edit project"},"data-loading":!0,"data-testid":P6,children:n(wt,{})})}),n(x,{condition:!y(),show:n(V1,{permission:ja,projectId:e,onClick:()=>{E(!0)},tooltipProps:{title:"Delete project"},"data-loading":!0,children:n(m2,{})})})]})]})}),n(Tr,{}),n(Ar,{children:n(h2,{value:M==null?void 0:M.path,indicatorColor:"primary",textColor:"primary",variant:"scrollable",allowScrollButtonsMobile:!0,children:O.map(j=>n(Er,{label:j.title,value:j.path,onClick:()=>m(j.path),"data-testid":`TAB_${j.title}`},j.title))})})]}),n(Oa,{project:e,open:F,onClose:()=>{E(!1)},onSuccess:()=>{m("/projects")}}),l(fe,{children:[n(X,{path:"health",element:n(S4,{})}),n(X,{path:"access/*",element:n(hn,{replace:!0,to:`/projects/${e}/settings/access`})}),n(X,{path:"environments",element:n(vn,{})}),n(X,{path:"archive",element:n(Lr,{})}),n(X,{path:"logs",element:n(A4,{})}),n(X,{path:"change-requests",element:n(a5,{})}),n(X,{path:"change-requests/:id",element:n(Ms,{})}),n(X,{path:"settings/*",element:n(X5,{})}),n(X,{path:"*",element:n(r4,{})})]}),n(F6,{open:u,setOpen:p,project:e})]})};export{B6 as default};