@fntio/infra-client 0.0.0-stage → 0.5.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 (940) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/LICENSE +93 -0
  3. package/README.md +875 -2
  4. package/assets/acl-reconciler/index.js +1604 -0
  5. package/assets/api/index.js +9857 -0
  6. package/assets/api/package.json +9 -0
  7. package/assets/api/vendor_modules/.package-lock.json +857 -0
  8. package/assets/api/vendor_modules/accepts/HISTORY.md +243 -0
  9. package/assets/api/vendor_modules/accepts/LICENSE +23 -0
  10. package/assets/api/vendor_modules/accepts/README.md +140 -0
  11. package/assets/api/vendor_modules/accepts/index.js +238 -0
  12. package/assets/api/vendor_modules/accepts/package.json +47 -0
  13. package/assets/api/vendor_modules/array-flatten/LICENSE +21 -0
  14. package/assets/api/vendor_modules/array-flatten/README.md +43 -0
  15. package/assets/api/vendor_modules/array-flatten/array-flatten.js +64 -0
  16. package/assets/api/vendor_modules/array-flatten/package.json +39 -0
  17. package/assets/api/vendor_modules/aws-jwt-verify/LICENSE +175 -0
  18. package/assets/api/vendor_modules/aws-jwt-verify/README.md +1033 -0
  19. package/assets/api/vendor_modules/aws-jwt-verify/asn1.d.ts +20 -0
  20. package/assets/api/vendor_modules/aws-jwt-verify/assert.d.ts +41 -0
  21. package/assets/api/vendor_modules/aws-jwt-verify/cognito-verifier.d.ts +183 -0
  22. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/asn1.js +301 -0
  23. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/assert.js +108 -0
  24. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/cognito-verifier.js +158 -0
  25. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/error.js +131 -0
  26. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-common.js +29 -0
  27. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https-node.js +89 -0
  28. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/https.js +52 -0
  29. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/index.js +9 -0
  30. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwk.js +221 -0
  31. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-model.js +10 -0
  32. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt-rsa.js +397 -0
  33. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/jwt.js +161 -0
  34. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-node.js +48 -0
  35. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat-web.js +78 -0
  36. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/node-web-compat.js +11 -0
  37. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/package.json +1 -0
  38. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/safe-json-parse.js +34 -0
  39. package/assets/api/vendor_modules/aws-jwt-verify/dist/cjs/typing-util.js +6 -0
  40. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/asn1.js +296 -0
  41. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/assert.js +101 -0
  42. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/cognito-verifier.js +153 -0
  43. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/error.js +101 -0
  44. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-common.js +25 -0
  45. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https-node.js +85 -0
  46. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/https.js +48 -0
  47. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/index.js +4 -0
  48. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwk.js +208 -0
  49. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-model.js +7 -0
  50. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt-rsa.js +389 -0
  51. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/jwt.js +156 -0
  52. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-node.js +45 -0
  53. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat-web.js +75 -0
  54. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/node-web-compat.js +10 -0
  55. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/package.json +1 -0
  56. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/safe-json-parse.js +29 -0
  57. package/assets/api/vendor_modules/aws-jwt-verify/dist/esm/typing-util.js +5 -0
  58. package/assets/api/vendor_modules/aws-jwt-verify/error.d.ts +108 -0
  59. package/assets/api/vendor_modules/aws-jwt-verify/https-common.d.ts +9 -0
  60. package/assets/api/vendor_modules/aws-jwt-verify/https-node.d.ts +20 -0
  61. package/assets/api/vendor_modules/aws-jwt-verify/https.d.ts +35 -0
  62. package/assets/api/vendor_modules/aws-jwt-verify/index.d.ts +2 -0
  63. package/assets/api/vendor_modules/aws-jwt-verify/jwk.d.ts +76 -0
  64. package/assets/api/vendor_modules/aws-jwt-verify/jwt-model.d.ts +78 -0
  65. package/assets/api/vendor_modules/aws-jwt-verify/jwt-rsa.d.ts +348 -0
  66. package/assets/api/vendor_modules/aws-jwt-verify/jwt.d.ts +51 -0
  67. package/assets/api/vendor_modules/aws-jwt-verify/package.json +136 -0
  68. package/assets/api/vendor_modules/aws-jwt-verify/safe-json-parse.d.ts +18 -0
  69. package/assets/api/vendor_modules/aws-jwt-verify/typing-util.d.ts +38 -0
  70. package/assets/api/vendor_modules/body-parser/HISTORY.md +703 -0
  71. package/assets/api/vendor_modules/body-parser/LICENSE +23 -0
  72. package/assets/api/vendor_modules/body-parser/README.md +476 -0
  73. package/assets/api/vendor_modules/body-parser/index.js +156 -0
  74. package/assets/api/vendor_modules/body-parser/lib/read.js +205 -0
  75. package/assets/api/vendor_modules/body-parser/lib/types/json.js +247 -0
  76. package/assets/api/vendor_modules/body-parser/lib/types/raw.js +105 -0
  77. package/assets/api/vendor_modules/body-parser/lib/types/text.js +125 -0
  78. package/assets/api/vendor_modules/body-parser/lib/types/urlencoded.js +303 -0
  79. package/assets/api/vendor_modules/body-parser/node_modules/qs/.editorconfig +46 -0
  80. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
  81. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/SECURITY.md +11 -0
  82. package/assets/api/vendor_modules/body-parser/node_modules/qs/.github/THREAT_MODEL.md +80 -0
  83. package/assets/api/vendor_modules/body-parser/node_modules/qs/.nycrc +13 -0
  84. package/assets/api/vendor_modules/body-parser/node_modules/qs/CHANGELOG.md +872 -0
  85. package/assets/api/vendor_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
  86. package/assets/api/vendor_modules/body-parser/node_modules/qs/README.md +804 -0
  87. package/assets/api/vendor_modules/body-parser/node_modules/qs/dist/qs.js +141 -0
  88. package/assets/api/vendor_modules/body-parser/node_modules/qs/eslint.config.mjs +57 -0
  89. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
  90. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/index.js +11 -0
  91. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/parse.js +503 -0
  92. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/stringify.js +378 -0
  93. package/assets/api/vendor_modules/body-parser/node_modules/qs/lib/utils.js +512 -0
  94. package/assets/api/vendor_modules/body-parser/node_modules/qs/package.json +95 -0
  95. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
  96. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/parse.js +2296 -0
  97. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/stringify.js +1995 -0
  98. package/assets/api/vendor_modules/body-parser/node_modules/qs/test/utils.js +822 -0
  99. package/assets/api/vendor_modules/body-parser/package.json +55 -0
  100. package/assets/api/vendor_modules/bytes/History.md +97 -0
  101. package/assets/api/vendor_modules/bytes/LICENSE +23 -0
  102. package/assets/api/vendor_modules/bytes/Readme.md +152 -0
  103. package/assets/api/vendor_modules/bytes/index.js +170 -0
  104. package/assets/api/vendor_modules/bytes/package.json +42 -0
  105. package/assets/api/vendor_modules/call-bind-apply-helpers/.eslintrc +17 -0
  106. package/assets/api/vendor_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  107. package/assets/api/vendor_modules/call-bind-apply-helpers/.nycrc +9 -0
  108. package/assets/api/vendor_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  109. package/assets/api/vendor_modules/call-bind-apply-helpers/LICENSE +21 -0
  110. package/assets/api/vendor_modules/call-bind-apply-helpers/README.md +62 -0
  111. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  112. package/assets/api/vendor_modules/call-bind-apply-helpers/actualApply.js +10 -0
  113. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  114. package/assets/api/vendor_modules/call-bind-apply-helpers/applyBind.js +10 -0
  115. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  116. package/assets/api/vendor_modules/call-bind-apply-helpers/functionApply.js +4 -0
  117. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  118. package/assets/api/vendor_modules/call-bind-apply-helpers/functionCall.js +4 -0
  119. package/assets/api/vendor_modules/call-bind-apply-helpers/index.d.ts +64 -0
  120. package/assets/api/vendor_modules/call-bind-apply-helpers/index.js +15 -0
  121. package/assets/api/vendor_modules/call-bind-apply-helpers/package.json +85 -0
  122. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  123. package/assets/api/vendor_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  124. package/assets/api/vendor_modules/call-bind-apply-helpers/test/index.js +63 -0
  125. package/assets/api/vendor_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  126. package/assets/api/vendor_modules/call-bound/.eslintrc +13 -0
  127. package/assets/api/vendor_modules/call-bound/.github/FUNDING.yml +12 -0
  128. package/assets/api/vendor_modules/call-bound/.nycrc +9 -0
  129. package/assets/api/vendor_modules/call-bound/CHANGELOG.md +42 -0
  130. package/assets/api/vendor_modules/call-bound/LICENSE +21 -0
  131. package/assets/api/vendor_modules/call-bound/README.md +53 -0
  132. package/assets/api/vendor_modules/call-bound/index.d.ts +94 -0
  133. package/assets/api/vendor_modules/call-bound/index.js +19 -0
  134. package/assets/api/vendor_modules/call-bound/package.json +99 -0
  135. package/assets/api/vendor_modules/call-bound/test/index.js +61 -0
  136. package/assets/api/vendor_modules/call-bound/tsconfig.json +10 -0
  137. package/assets/api/vendor_modules/content-disposition/HISTORY.md +60 -0
  138. package/assets/api/vendor_modules/content-disposition/LICENSE +22 -0
  139. package/assets/api/vendor_modules/content-disposition/README.md +142 -0
  140. package/assets/api/vendor_modules/content-disposition/index.js +458 -0
  141. package/assets/api/vendor_modules/content-disposition/package.json +44 -0
  142. package/assets/api/vendor_modules/content-type/HISTORY.md +29 -0
  143. package/assets/api/vendor_modules/content-type/LICENSE +22 -0
  144. package/assets/api/vendor_modules/content-type/README.md +94 -0
  145. package/assets/api/vendor_modules/content-type/index.js +225 -0
  146. package/assets/api/vendor_modules/content-type/package.json +42 -0
  147. package/assets/api/vendor_modules/cookie/LICENSE +24 -0
  148. package/assets/api/vendor_modules/cookie/README.md +317 -0
  149. package/assets/api/vendor_modules/cookie/SECURITY.md +25 -0
  150. package/assets/api/vendor_modules/cookie/index.js +335 -0
  151. package/assets/api/vendor_modules/cookie/package.json +44 -0
  152. package/assets/api/vendor_modules/cookie-signature/History.md +42 -0
  153. package/assets/api/vendor_modules/cookie-signature/Readme.md +42 -0
  154. package/assets/api/vendor_modules/cookie-signature/index.js +51 -0
  155. package/assets/api/vendor_modules/cookie-signature/package.json +18 -0
  156. package/assets/api/vendor_modules/debug/.coveralls.yml +1 -0
  157. package/assets/api/vendor_modules/debug/.eslintrc +11 -0
  158. package/assets/api/vendor_modules/debug/.travis.yml +14 -0
  159. package/assets/api/vendor_modules/debug/CHANGELOG.md +362 -0
  160. package/assets/api/vendor_modules/debug/LICENSE +19 -0
  161. package/assets/api/vendor_modules/debug/Makefile +50 -0
  162. package/assets/api/vendor_modules/debug/README.md +312 -0
  163. package/assets/api/vendor_modules/debug/component.json +19 -0
  164. package/assets/api/vendor_modules/debug/karma.conf.js +70 -0
  165. package/assets/api/vendor_modules/debug/node.js +1 -0
  166. package/assets/api/vendor_modules/debug/package.json +49 -0
  167. package/assets/api/vendor_modules/debug/src/browser.js +185 -0
  168. package/assets/api/vendor_modules/debug/src/debug.js +202 -0
  169. package/assets/api/vendor_modules/debug/src/index.js +10 -0
  170. package/assets/api/vendor_modules/debug/src/inspector-log.js +15 -0
  171. package/assets/api/vendor_modules/debug/src/node.js +248 -0
  172. package/assets/api/vendor_modules/depd/History.md +103 -0
  173. package/assets/api/vendor_modules/depd/LICENSE +22 -0
  174. package/assets/api/vendor_modules/depd/Readme.md +280 -0
  175. package/assets/api/vendor_modules/depd/index.js +538 -0
  176. package/assets/api/vendor_modules/depd/lib/browser/index.js +77 -0
  177. package/assets/api/vendor_modules/depd/package.json +45 -0
  178. package/assets/api/vendor_modules/destroy/LICENSE +23 -0
  179. package/assets/api/vendor_modules/destroy/README.md +63 -0
  180. package/assets/api/vendor_modules/destroy/index.js +209 -0
  181. package/assets/api/vendor_modules/destroy/package.json +48 -0
  182. package/assets/api/vendor_modules/dunder-proto/.eslintrc +5 -0
  183. package/assets/api/vendor_modules/dunder-proto/.github/FUNDING.yml +12 -0
  184. package/assets/api/vendor_modules/dunder-proto/.nycrc +13 -0
  185. package/assets/api/vendor_modules/dunder-proto/CHANGELOG.md +24 -0
  186. package/assets/api/vendor_modules/dunder-proto/LICENSE +21 -0
  187. package/assets/api/vendor_modules/dunder-proto/README.md +54 -0
  188. package/assets/api/vendor_modules/dunder-proto/get.d.ts +5 -0
  189. package/assets/api/vendor_modules/dunder-proto/get.js +30 -0
  190. package/assets/api/vendor_modules/dunder-proto/package.json +76 -0
  191. package/assets/api/vendor_modules/dunder-proto/set.d.ts +5 -0
  192. package/assets/api/vendor_modules/dunder-proto/set.js +35 -0
  193. package/assets/api/vendor_modules/dunder-proto/test/get.js +34 -0
  194. package/assets/api/vendor_modules/dunder-proto/test/index.js +4 -0
  195. package/assets/api/vendor_modules/dunder-proto/test/set.js +50 -0
  196. package/assets/api/vendor_modules/dunder-proto/tsconfig.json +9 -0
  197. package/assets/api/vendor_modules/ee-first/LICENSE +22 -0
  198. package/assets/api/vendor_modules/ee-first/README.md +80 -0
  199. package/assets/api/vendor_modules/ee-first/index.js +95 -0
  200. package/assets/api/vendor_modules/ee-first/package.json +29 -0
  201. package/assets/api/vendor_modules/encodeurl/LICENSE +22 -0
  202. package/assets/api/vendor_modules/encodeurl/README.md +109 -0
  203. package/assets/api/vendor_modules/encodeurl/index.js +60 -0
  204. package/assets/api/vendor_modules/encodeurl/package.json +40 -0
  205. package/assets/api/vendor_modules/es-define-property/.eslintrc +13 -0
  206. package/assets/api/vendor_modules/es-define-property/.github/FUNDING.yml +12 -0
  207. package/assets/api/vendor_modules/es-define-property/.nycrc +9 -0
  208. package/assets/api/vendor_modules/es-define-property/CHANGELOG.md +29 -0
  209. package/assets/api/vendor_modules/es-define-property/LICENSE +21 -0
  210. package/assets/api/vendor_modules/es-define-property/README.md +49 -0
  211. package/assets/api/vendor_modules/es-define-property/index.d.ts +3 -0
  212. package/assets/api/vendor_modules/es-define-property/index.js +14 -0
  213. package/assets/api/vendor_modules/es-define-property/package.json +81 -0
  214. package/assets/api/vendor_modules/es-define-property/test/index.js +56 -0
  215. package/assets/api/vendor_modules/es-define-property/tsconfig.json +10 -0
  216. package/assets/api/vendor_modules/es-errors/.eslintrc +5 -0
  217. package/assets/api/vendor_modules/es-errors/.github/FUNDING.yml +12 -0
  218. package/assets/api/vendor_modules/es-errors/CHANGELOG.md +40 -0
  219. package/assets/api/vendor_modules/es-errors/LICENSE +21 -0
  220. package/assets/api/vendor_modules/es-errors/README.md +55 -0
  221. package/assets/api/vendor_modules/es-errors/eval.d.ts +3 -0
  222. package/assets/api/vendor_modules/es-errors/eval.js +4 -0
  223. package/assets/api/vendor_modules/es-errors/index.d.ts +3 -0
  224. package/assets/api/vendor_modules/es-errors/index.js +4 -0
  225. package/assets/api/vendor_modules/es-errors/package.json +80 -0
  226. package/assets/api/vendor_modules/es-errors/range.d.ts +3 -0
  227. package/assets/api/vendor_modules/es-errors/range.js +4 -0
  228. package/assets/api/vendor_modules/es-errors/ref.d.ts +3 -0
  229. package/assets/api/vendor_modules/es-errors/ref.js +4 -0
  230. package/assets/api/vendor_modules/es-errors/syntax.d.ts +3 -0
  231. package/assets/api/vendor_modules/es-errors/syntax.js +4 -0
  232. package/assets/api/vendor_modules/es-errors/test/index.js +19 -0
  233. package/assets/api/vendor_modules/es-errors/tsconfig.json +49 -0
  234. package/assets/api/vendor_modules/es-errors/type.d.ts +3 -0
  235. package/assets/api/vendor_modules/es-errors/type.js +4 -0
  236. package/assets/api/vendor_modules/es-errors/uri.d.ts +3 -0
  237. package/assets/api/vendor_modules/es-errors/uri.js +4 -0
  238. package/assets/api/vendor_modules/es-object-atoms/.eslintrc +16 -0
  239. package/assets/api/vendor_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  240. package/assets/api/vendor_modules/es-object-atoms/CHANGELOG.md +44 -0
  241. package/assets/api/vendor_modules/es-object-atoms/LICENSE +21 -0
  242. package/assets/api/vendor_modules/es-object-atoms/README.md +63 -0
  243. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  244. package/assets/api/vendor_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  245. package/assets/api/vendor_modules/es-object-atoms/ToObject.d.ts +7 -0
  246. package/assets/api/vendor_modules/es-object-atoms/ToObject.js +10 -0
  247. package/assets/api/vendor_modules/es-object-atoms/index.d.ts +3 -0
  248. package/assets/api/vendor_modules/es-object-atoms/index.js +4 -0
  249. package/assets/api/vendor_modules/es-object-atoms/isObject.d.ts +3 -0
  250. package/assets/api/vendor_modules/es-object-atoms/isObject.js +6 -0
  251. package/assets/api/vendor_modules/es-object-atoms/package.json +79 -0
  252. package/assets/api/vendor_modules/es-object-atoms/test/index.js +38 -0
  253. package/assets/api/vendor_modules/es-object-atoms/tsconfig.json +7 -0
  254. package/assets/api/vendor_modules/escape-html/LICENSE +24 -0
  255. package/assets/api/vendor_modules/escape-html/Readme.md +43 -0
  256. package/assets/api/vendor_modules/escape-html/index.js +78 -0
  257. package/assets/api/vendor_modules/escape-html/package.json +24 -0
  258. package/assets/api/vendor_modules/etag/HISTORY.md +83 -0
  259. package/assets/api/vendor_modules/etag/LICENSE +22 -0
  260. package/assets/api/vendor_modules/etag/README.md +159 -0
  261. package/assets/api/vendor_modules/etag/index.js +131 -0
  262. package/assets/api/vendor_modules/etag/package.json +47 -0
  263. package/assets/api/vendor_modules/express/History.md +3676 -0
  264. package/assets/api/vendor_modules/express/LICENSE +24 -0
  265. package/assets/api/vendor_modules/express/Readme.md +260 -0
  266. package/assets/api/vendor_modules/express/index.js +11 -0
  267. package/assets/api/vendor_modules/express/lib/application.js +661 -0
  268. package/assets/api/vendor_modules/express/lib/express.js +116 -0
  269. package/assets/api/vendor_modules/express/lib/middleware/init.js +43 -0
  270. package/assets/api/vendor_modules/express/lib/middleware/query.js +47 -0
  271. package/assets/api/vendor_modules/express/lib/request.js +525 -0
  272. package/assets/api/vendor_modules/express/lib/response.js +1179 -0
  273. package/assets/api/vendor_modules/express/lib/router/index.js +673 -0
  274. package/assets/api/vendor_modules/express/lib/router/layer.js +181 -0
  275. package/assets/api/vendor_modules/express/lib/router/route.js +230 -0
  276. package/assets/api/vendor_modules/express/lib/utils.js +304 -0
  277. package/assets/api/vendor_modules/express/lib/view.js +182 -0
  278. package/assets/api/vendor_modules/express/package.json +102 -0
  279. package/assets/api/vendor_modules/finalhandler/HISTORY.md +216 -0
  280. package/assets/api/vendor_modules/finalhandler/LICENSE +22 -0
  281. package/assets/api/vendor_modules/finalhandler/README.md +147 -0
  282. package/assets/api/vendor_modules/finalhandler/SECURITY.md +25 -0
  283. package/assets/api/vendor_modules/finalhandler/index.js +341 -0
  284. package/assets/api/vendor_modules/finalhandler/package.json +47 -0
  285. package/assets/api/vendor_modules/forwarded/HISTORY.md +21 -0
  286. package/assets/api/vendor_modules/forwarded/LICENSE +22 -0
  287. package/assets/api/vendor_modules/forwarded/README.md +57 -0
  288. package/assets/api/vendor_modules/forwarded/index.js +90 -0
  289. package/assets/api/vendor_modules/forwarded/package.json +45 -0
  290. package/assets/api/vendor_modules/fresh/HISTORY.md +70 -0
  291. package/assets/api/vendor_modules/fresh/LICENSE +23 -0
  292. package/assets/api/vendor_modules/fresh/README.md +119 -0
  293. package/assets/api/vendor_modules/fresh/index.js +137 -0
  294. package/assets/api/vendor_modules/fresh/package.json +46 -0
  295. package/assets/api/vendor_modules/function-bind/.eslintrc +21 -0
  296. package/assets/api/vendor_modules/function-bind/.github/FUNDING.yml +12 -0
  297. package/assets/api/vendor_modules/function-bind/.github/SECURITY.md +3 -0
  298. package/assets/api/vendor_modules/function-bind/.nycrc +13 -0
  299. package/assets/api/vendor_modules/function-bind/CHANGELOG.md +136 -0
  300. package/assets/api/vendor_modules/function-bind/LICENSE +20 -0
  301. package/assets/api/vendor_modules/function-bind/README.md +46 -0
  302. package/assets/api/vendor_modules/function-bind/implementation.js +84 -0
  303. package/assets/api/vendor_modules/function-bind/index.js +5 -0
  304. package/assets/api/vendor_modules/function-bind/package.json +87 -0
  305. package/assets/api/vendor_modules/function-bind/test/.eslintrc +9 -0
  306. package/assets/api/vendor_modules/function-bind/test/index.js +252 -0
  307. package/assets/api/vendor_modules/get-intrinsic/.eslintrc +42 -0
  308. package/assets/api/vendor_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  309. package/assets/api/vendor_modules/get-intrinsic/.nycrc +9 -0
  310. package/assets/api/vendor_modules/get-intrinsic/CHANGELOG.md +186 -0
  311. package/assets/api/vendor_modules/get-intrinsic/LICENSE +21 -0
  312. package/assets/api/vendor_modules/get-intrinsic/README.md +71 -0
  313. package/assets/api/vendor_modules/get-intrinsic/index.js +378 -0
  314. package/assets/api/vendor_modules/get-intrinsic/package.json +97 -0
  315. package/assets/api/vendor_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  316. package/assets/api/vendor_modules/get-proto/.eslintrc +10 -0
  317. package/assets/api/vendor_modules/get-proto/.github/FUNDING.yml +12 -0
  318. package/assets/api/vendor_modules/get-proto/.nycrc +9 -0
  319. package/assets/api/vendor_modules/get-proto/CHANGELOG.md +21 -0
  320. package/assets/api/vendor_modules/get-proto/LICENSE +21 -0
  321. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  322. package/assets/api/vendor_modules/get-proto/Object.getPrototypeOf.js +6 -0
  323. package/assets/api/vendor_modules/get-proto/README.md +50 -0
  324. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  325. package/assets/api/vendor_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  326. package/assets/api/vendor_modules/get-proto/index.d.ts +5 -0
  327. package/assets/api/vendor_modules/get-proto/index.js +27 -0
  328. package/assets/api/vendor_modules/get-proto/package.json +81 -0
  329. package/assets/api/vendor_modules/get-proto/test/index.js +68 -0
  330. package/assets/api/vendor_modules/get-proto/tsconfig.json +9 -0
  331. package/assets/api/vendor_modules/gopd/.eslintrc +16 -0
  332. package/assets/api/vendor_modules/gopd/.github/FUNDING.yml +12 -0
  333. package/assets/api/vendor_modules/gopd/CHANGELOG.md +45 -0
  334. package/assets/api/vendor_modules/gopd/LICENSE +21 -0
  335. package/assets/api/vendor_modules/gopd/README.md +40 -0
  336. package/assets/api/vendor_modules/gopd/gOPD.d.ts +1 -0
  337. package/assets/api/vendor_modules/gopd/gOPD.js +4 -0
  338. package/assets/api/vendor_modules/gopd/index.d.ts +5 -0
  339. package/assets/api/vendor_modules/gopd/index.js +15 -0
  340. package/assets/api/vendor_modules/gopd/package.json +77 -0
  341. package/assets/api/vendor_modules/gopd/test/index.js +36 -0
  342. package/assets/api/vendor_modules/gopd/tsconfig.json +9 -0
  343. package/assets/api/vendor_modules/has-symbols/.eslintrc +11 -0
  344. package/assets/api/vendor_modules/has-symbols/.github/FUNDING.yml +12 -0
  345. package/assets/api/vendor_modules/has-symbols/.nycrc +9 -0
  346. package/assets/api/vendor_modules/has-symbols/CHANGELOG.md +91 -0
  347. package/assets/api/vendor_modules/has-symbols/LICENSE +21 -0
  348. package/assets/api/vendor_modules/has-symbols/README.md +46 -0
  349. package/assets/api/vendor_modules/has-symbols/index.d.ts +3 -0
  350. package/assets/api/vendor_modules/has-symbols/index.js +14 -0
  351. package/assets/api/vendor_modules/has-symbols/package.json +111 -0
  352. package/assets/api/vendor_modules/has-symbols/shams.d.ts +3 -0
  353. package/assets/api/vendor_modules/has-symbols/shams.js +45 -0
  354. package/assets/api/vendor_modules/has-symbols/test/index.js +22 -0
  355. package/assets/api/vendor_modules/has-symbols/test/shams/core-js.js +29 -0
  356. package/assets/api/vendor_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  357. package/assets/api/vendor_modules/has-symbols/test/tests.js +58 -0
  358. package/assets/api/vendor_modules/has-symbols/tsconfig.json +10 -0
  359. package/assets/api/vendor_modules/hasown/.github/FUNDING.yml +12 -0
  360. package/assets/api/vendor_modules/hasown/.nycrc +13 -0
  361. package/assets/api/vendor_modules/hasown/CHANGELOG.md +58 -0
  362. package/assets/api/vendor_modules/hasown/LICENSE +21 -0
  363. package/assets/api/vendor_modules/hasown/README.md +40 -0
  364. package/assets/api/vendor_modules/hasown/eslint.config.mjs +6 -0
  365. package/assets/api/vendor_modules/hasown/index.d.ts +3 -0
  366. package/assets/api/vendor_modules/hasown/index.js +8 -0
  367. package/assets/api/vendor_modules/hasown/package.json +91 -0
  368. package/assets/api/vendor_modules/hasown/tsconfig.json +6 -0
  369. package/assets/api/vendor_modules/http-errors/HISTORY.md +186 -0
  370. package/assets/api/vendor_modules/http-errors/LICENSE +23 -0
  371. package/assets/api/vendor_modules/http-errors/README.md +169 -0
  372. package/assets/api/vendor_modules/http-errors/index.js +290 -0
  373. package/assets/api/vendor_modules/http-errors/package.json +54 -0
  374. package/assets/api/vendor_modules/iconv-lite/Changelog.md +162 -0
  375. package/assets/api/vendor_modules/iconv-lite/LICENSE +21 -0
  376. package/assets/api/vendor_modules/iconv-lite/README.md +156 -0
  377. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  378. package/assets/api/vendor_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  379. package/assets/api/vendor_modules/iconv-lite/encodings/index.js +22 -0
  380. package/assets/api/vendor_modules/iconv-lite/encodings/internal.js +188 -0
  381. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  382. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  383. package/assets/api/vendor_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  384. package/assets/api/vendor_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  385. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  386. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  387. package/assets/api/vendor_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  388. package/assets/api/vendor_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  389. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  390. package/assets/api/vendor_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  391. package/assets/api/vendor_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  392. package/assets/api/vendor_modules/iconv-lite/encodings/utf16.js +177 -0
  393. package/assets/api/vendor_modules/iconv-lite/encodings/utf7.js +290 -0
  394. package/assets/api/vendor_modules/iconv-lite/lib/bom-handling.js +52 -0
  395. package/assets/api/vendor_modules/iconv-lite/lib/extend-node.js +217 -0
  396. package/assets/api/vendor_modules/iconv-lite/lib/index.d.ts +24 -0
  397. package/assets/api/vendor_modules/iconv-lite/lib/index.js +153 -0
  398. package/assets/api/vendor_modules/iconv-lite/lib/streams.js +121 -0
  399. package/assets/api/vendor_modules/iconv-lite/package.json +46 -0
  400. package/assets/api/vendor_modules/inherits/LICENSE +16 -0
  401. package/assets/api/vendor_modules/inherits/README.md +42 -0
  402. package/assets/api/vendor_modules/inherits/inherits.js +9 -0
  403. package/assets/api/vendor_modules/inherits/inherits_browser.js +27 -0
  404. package/assets/api/vendor_modules/inherits/package.json +29 -0
  405. package/assets/api/vendor_modules/ipaddr.js/LICENSE +19 -0
  406. package/assets/api/vendor_modules/ipaddr.js/README.md +233 -0
  407. package/assets/api/vendor_modules/ipaddr.js/ipaddr.min.js +1 -0
  408. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js +673 -0
  409. package/assets/api/vendor_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  410. package/assets/api/vendor_modules/ipaddr.js/package.json +35 -0
  411. package/assets/api/vendor_modules/math-intrinsics/.eslintrc +16 -0
  412. package/assets/api/vendor_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  413. package/assets/api/vendor_modules/math-intrinsics/CHANGELOG.md +24 -0
  414. package/assets/api/vendor_modules/math-intrinsics/LICENSE +21 -0
  415. package/assets/api/vendor_modules/math-intrinsics/README.md +50 -0
  416. package/assets/api/vendor_modules/math-intrinsics/abs.d.ts +1 -0
  417. package/assets/api/vendor_modules/math-intrinsics/abs.js +4 -0
  418. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  419. package/assets/api/vendor_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  420. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  421. package/assets/api/vendor_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  422. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  423. package/assets/api/vendor_modules/math-intrinsics/constants/maxValue.js +5 -0
  424. package/assets/api/vendor_modules/math-intrinsics/floor.d.ts +1 -0
  425. package/assets/api/vendor_modules/math-intrinsics/floor.js +4 -0
  426. package/assets/api/vendor_modules/math-intrinsics/isFinite.d.ts +3 -0
  427. package/assets/api/vendor_modules/math-intrinsics/isFinite.js +12 -0
  428. package/assets/api/vendor_modules/math-intrinsics/isInteger.d.ts +3 -0
  429. package/assets/api/vendor_modules/math-intrinsics/isInteger.js +16 -0
  430. package/assets/api/vendor_modules/math-intrinsics/isNaN.d.ts +1 -0
  431. package/assets/api/vendor_modules/math-intrinsics/isNaN.js +6 -0
  432. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  433. package/assets/api/vendor_modules/math-intrinsics/isNegativeZero.js +6 -0
  434. package/assets/api/vendor_modules/math-intrinsics/max.d.ts +1 -0
  435. package/assets/api/vendor_modules/math-intrinsics/max.js +4 -0
  436. package/assets/api/vendor_modules/math-intrinsics/min.d.ts +1 -0
  437. package/assets/api/vendor_modules/math-intrinsics/min.js +4 -0
  438. package/assets/api/vendor_modules/math-intrinsics/mod.d.ts +3 -0
  439. package/assets/api/vendor_modules/math-intrinsics/mod.js +9 -0
  440. package/assets/api/vendor_modules/math-intrinsics/package.json +86 -0
  441. package/assets/api/vendor_modules/math-intrinsics/pow.d.ts +1 -0
  442. package/assets/api/vendor_modules/math-intrinsics/pow.js +4 -0
  443. package/assets/api/vendor_modules/math-intrinsics/round.d.ts +1 -0
  444. package/assets/api/vendor_modules/math-intrinsics/round.js +4 -0
  445. package/assets/api/vendor_modules/math-intrinsics/sign.d.ts +3 -0
  446. package/assets/api/vendor_modules/math-intrinsics/sign.js +11 -0
  447. package/assets/api/vendor_modules/math-intrinsics/test/index.js +192 -0
  448. package/assets/api/vendor_modules/math-intrinsics/tsconfig.json +3 -0
  449. package/assets/api/vendor_modules/media-typer/HISTORY.md +22 -0
  450. package/assets/api/vendor_modules/media-typer/LICENSE +22 -0
  451. package/assets/api/vendor_modules/media-typer/README.md +81 -0
  452. package/assets/api/vendor_modules/media-typer/index.js +270 -0
  453. package/assets/api/vendor_modules/media-typer/package.json +26 -0
  454. package/assets/api/vendor_modules/merge-descriptors/HISTORY.md +21 -0
  455. package/assets/api/vendor_modules/merge-descriptors/LICENSE +23 -0
  456. package/assets/api/vendor_modules/merge-descriptors/README.md +49 -0
  457. package/assets/api/vendor_modules/merge-descriptors/index.js +60 -0
  458. package/assets/api/vendor_modules/merge-descriptors/package.json +39 -0
  459. package/assets/api/vendor_modules/methods/HISTORY.md +29 -0
  460. package/assets/api/vendor_modules/methods/LICENSE +24 -0
  461. package/assets/api/vendor_modules/methods/README.md +51 -0
  462. package/assets/api/vendor_modules/methods/index.js +69 -0
  463. package/assets/api/vendor_modules/methods/package.json +36 -0
  464. package/assets/api/vendor_modules/mime/CHANGELOG.md +164 -0
  465. package/assets/api/vendor_modules/mime/LICENSE +21 -0
  466. package/assets/api/vendor_modules/mime/README.md +90 -0
  467. package/assets/api/vendor_modules/mime/cli.js +8 -0
  468. package/assets/api/vendor_modules/mime/mime.js +108 -0
  469. package/assets/api/vendor_modules/mime/package.json +44 -0
  470. package/assets/api/vendor_modules/mime/src/build.js +53 -0
  471. package/assets/api/vendor_modules/mime/src/test.js +60 -0
  472. package/assets/api/vendor_modules/mime/types.json +1 -0
  473. package/assets/api/vendor_modules/mime-db/HISTORY.md +507 -0
  474. package/assets/api/vendor_modules/mime-db/LICENSE +23 -0
  475. package/assets/api/vendor_modules/mime-db/README.md +100 -0
  476. package/assets/api/vendor_modules/mime-db/db.json +8519 -0
  477. package/assets/api/vendor_modules/mime-db/index.js +12 -0
  478. package/assets/api/vendor_modules/mime-db/package.json +60 -0
  479. package/assets/api/vendor_modules/mime-types/HISTORY.md +397 -0
  480. package/assets/api/vendor_modules/mime-types/LICENSE +23 -0
  481. package/assets/api/vendor_modules/mime-types/README.md +113 -0
  482. package/assets/api/vendor_modules/mime-types/index.js +188 -0
  483. package/assets/api/vendor_modules/mime-types/package.json +44 -0
  484. package/assets/api/vendor_modules/ms/index.js +152 -0
  485. package/assets/api/vendor_modules/ms/license.md +21 -0
  486. package/assets/api/vendor_modules/ms/package.json +37 -0
  487. package/assets/api/vendor_modules/ms/readme.md +51 -0
  488. package/assets/api/vendor_modules/negotiator/HISTORY.md +108 -0
  489. package/assets/api/vendor_modules/negotiator/LICENSE +24 -0
  490. package/assets/api/vendor_modules/negotiator/README.md +203 -0
  491. package/assets/api/vendor_modules/negotiator/index.js +82 -0
  492. package/assets/api/vendor_modules/negotiator/lib/charset.js +169 -0
  493. package/assets/api/vendor_modules/negotiator/lib/encoding.js +184 -0
  494. package/assets/api/vendor_modules/negotiator/lib/language.js +179 -0
  495. package/assets/api/vendor_modules/negotiator/lib/mediaType.js +294 -0
  496. package/assets/api/vendor_modules/negotiator/package.json +42 -0
  497. package/assets/api/vendor_modules/object-inspect/.eslintrc +53 -0
  498. package/assets/api/vendor_modules/object-inspect/.github/FUNDING.yml +12 -0
  499. package/assets/api/vendor_modules/object-inspect/.nycrc +13 -0
  500. package/assets/api/vendor_modules/object-inspect/CHANGELOG.md +424 -0
  501. package/assets/api/vendor_modules/object-inspect/LICENSE +21 -0
  502. package/assets/api/vendor_modules/object-inspect/example/all.js +23 -0
  503. package/assets/api/vendor_modules/object-inspect/example/circular.js +6 -0
  504. package/assets/api/vendor_modules/object-inspect/example/fn.js +5 -0
  505. package/assets/api/vendor_modules/object-inspect/example/inspect.js +10 -0
  506. package/assets/api/vendor_modules/object-inspect/index.js +544 -0
  507. package/assets/api/vendor_modules/object-inspect/package-support.json +20 -0
  508. package/assets/api/vendor_modules/object-inspect/package.json +105 -0
  509. package/assets/api/vendor_modules/object-inspect/readme.markdown +84 -0
  510. package/assets/api/vendor_modules/object-inspect/test/bigint.js +58 -0
  511. package/assets/api/vendor_modules/object-inspect/test/browser/dom.js +15 -0
  512. package/assets/api/vendor_modules/object-inspect/test/circular.js +16 -0
  513. package/assets/api/vendor_modules/object-inspect/test/deep.js +12 -0
  514. package/assets/api/vendor_modules/object-inspect/test/element.js +53 -0
  515. package/assets/api/vendor_modules/object-inspect/test/err.js +48 -0
  516. package/assets/api/vendor_modules/object-inspect/test/fakes.js +29 -0
  517. package/assets/api/vendor_modules/object-inspect/test/fn.js +76 -0
  518. package/assets/api/vendor_modules/object-inspect/test/global.js +17 -0
  519. package/assets/api/vendor_modules/object-inspect/test/has.js +15 -0
  520. package/assets/api/vendor_modules/object-inspect/test/holes.js +15 -0
  521. package/assets/api/vendor_modules/object-inspect/test/indent-option.js +271 -0
  522. package/assets/api/vendor_modules/object-inspect/test/inspect.js +139 -0
  523. package/assets/api/vendor_modules/object-inspect/test/lowbyte.js +12 -0
  524. package/assets/api/vendor_modules/object-inspect/test/number.js +58 -0
  525. package/assets/api/vendor_modules/object-inspect/test/quoteStyle.js +26 -0
  526. package/assets/api/vendor_modules/object-inspect/test/toStringTag.js +40 -0
  527. package/assets/api/vendor_modules/object-inspect/test/undef.js +12 -0
  528. package/assets/api/vendor_modules/object-inspect/test/values.js +261 -0
  529. package/assets/api/vendor_modules/object-inspect/test-core-js.js +26 -0
  530. package/assets/api/vendor_modules/object-inspect/util.inspect.js +1 -0
  531. package/assets/api/vendor_modules/on-finished/HISTORY.md +98 -0
  532. package/assets/api/vendor_modules/on-finished/LICENSE +23 -0
  533. package/assets/api/vendor_modules/on-finished/README.md +162 -0
  534. package/assets/api/vendor_modules/on-finished/index.js +234 -0
  535. package/assets/api/vendor_modules/on-finished/package.json +39 -0
  536. package/assets/api/vendor_modules/parseurl/HISTORY.md +58 -0
  537. package/assets/api/vendor_modules/parseurl/LICENSE +24 -0
  538. package/assets/api/vendor_modules/parseurl/README.md +133 -0
  539. package/assets/api/vendor_modules/parseurl/index.js +158 -0
  540. package/assets/api/vendor_modules/parseurl/package.json +40 -0
  541. package/assets/api/vendor_modules/path-to-regexp/LICENSE +21 -0
  542. package/assets/api/vendor_modules/path-to-regexp/Readme.md +35 -0
  543. package/assets/api/vendor_modules/path-to-regexp/index.js +158 -0
  544. package/assets/api/vendor_modules/path-to-regexp/package.json +30 -0
  545. package/assets/api/vendor_modules/proxy-addr/HISTORY.md +167 -0
  546. package/assets/api/vendor_modules/proxy-addr/LICENSE +22 -0
  547. package/assets/api/vendor_modules/proxy-addr/README.md +139 -0
  548. package/assets/api/vendor_modules/proxy-addr/index.js +359 -0
  549. package/assets/api/vendor_modules/proxy-addr/package.json +51 -0
  550. package/assets/api/vendor_modules/qs/.editorconfig +46 -0
  551. package/assets/api/vendor_modules/qs/.github/FUNDING.yml +12 -0
  552. package/assets/api/vendor_modules/qs/.github/SECURITY.md +11 -0
  553. package/assets/api/vendor_modules/qs/.github/THREAT_MODEL.md +78 -0
  554. package/assets/api/vendor_modules/qs/.nycrc +13 -0
  555. package/assets/api/vendor_modules/qs/CHANGELOG.md +833 -0
  556. package/assets/api/vendor_modules/qs/LICENSE.md +29 -0
  557. package/assets/api/vendor_modules/qs/README.md +758 -0
  558. package/assets/api/vendor_modules/qs/dist/qs.js +141 -0
  559. package/assets/api/vendor_modules/qs/eslint.config.mjs +57 -0
  560. package/assets/api/vendor_modules/qs/lib/formats.js +23 -0
  561. package/assets/api/vendor_modules/qs/lib/index.js +11 -0
  562. package/assets/api/vendor_modules/qs/lib/parse.js +414 -0
  563. package/assets/api/vendor_modules/qs/lib/stringify.js +363 -0
  564. package/assets/api/vendor_modules/qs/lib/utils.js +381 -0
  565. package/assets/api/vendor_modules/qs/package.json +95 -0
  566. package/assets/api/vendor_modules/qs/test/empty-keys-cases.js +267 -0
  567. package/assets/api/vendor_modules/qs/test/parse.js +1933 -0
  568. package/assets/api/vendor_modules/qs/test/stringify.js +1448 -0
  569. package/assets/api/vendor_modules/qs/test/utils.js +626 -0
  570. package/assets/api/vendor_modules/range-parser/HISTORY.md +56 -0
  571. package/assets/api/vendor_modules/range-parser/LICENSE +23 -0
  572. package/assets/api/vendor_modules/range-parser/README.md +84 -0
  573. package/assets/api/vendor_modules/range-parser/index.js +162 -0
  574. package/assets/api/vendor_modules/range-parser/package.json +44 -0
  575. package/assets/api/vendor_modules/raw-body/LICENSE +22 -0
  576. package/assets/api/vendor_modules/raw-body/README.md +223 -0
  577. package/assets/api/vendor_modules/raw-body/index.d.ts +87 -0
  578. package/assets/api/vendor_modules/raw-body/index.js +336 -0
  579. package/assets/api/vendor_modules/raw-body/package.json +47 -0
  580. package/assets/api/vendor_modules/safe-buffer/LICENSE +21 -0
  581. package/assets/api/vendor_modules/safe-buffer/README.md +584 -0
  582. package/assets/api/vendor_modules/safe-buffer/index.d.ts +187 -0
  583. package/assets/api/vendor_modules/safe-buffer/index.js +65 -0
  584. package/assets/api/vendor_modules/safe-buffer/package.json +51 -0
  585. package/assets/api/vendor_modules/safer-buffer/LICENSE +21 -0
  586. package/assets/api/vendor_modules/safer-buffer/Porting-Buffer.md +268 -0
  587. package/assets/api/vendor_modules/safer-buffer/Readme.md +156 -0
  588. package/assets/api/vendor_modules/safer-buffer/dangerous.js +58 -0
  589. package/assets/api/vendor_modules/safer-buffer/package.json +34 -0
  590. package/assets/api/vendor_modules/safer-buffer/safer.js +77 -0
  591. package/assets/api/vendor_modules/safer-buffer/tests.js +406 -0
  592. package/assets/api/vendor_modules/send/HISTORY.md +538 -0
  593. package/assets/api/vendor_modules/send/LICENSE +23 -0
  594. package/assets/api/vendor_modules/send/README.md +327 -0
  595. package/assets/api/vendor_modules/send/SECURITY.md +24 -0
  596. package/assets/api/vendor_modules/send/index.js +1142 -0
  597. package/assets/api/vendor_modules/send/node_modules/ms/index.js +162 -0
  598. package/assets/api/vendor_modules/send/node_modules/ms/license.md +21 -0
  599. package/assets/api/vendor_modules/send/node_modules/ms/package.json +38 -0
  600. package/assets/api/vendor_modules/send/node_modules/ms/readme.md +59 -0
  601. package/assets/api/vendor_modules/send/package.json +62 -0
  602. package/assets/api/vendor_modules/serve-static/HISTORY.md +493 -0
  603. package/assets/api/vendor_modules/serve-static/LICENSE +25 -0
  604. package/assets/api/vendor_modules/serve-static/README.md +257 -0
  605. package/assets/api/vendor_modules/serve-static/index.js +209 -0
  606. package/assets/api/vendor_modules/serve-static/package.json +42 -0
  607. package/assets/api/vendor_modules/serverless-http/LICENSE.txt +33 -0
  608. package/assets/api/vendor_modules/serverless-http/README.md +117 -0
  609. package/assets/api/vendor_modules/serverless-http/lib/finish.js +42 -0
  610. package/assets/api/vendor_modules/serverless-http/lib/framework/get-framework.js +79 -0
  611. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/clean-up-event.js +98 -0
  612. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/create-request.js +110 -0
  613. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/format-response.js +45 -0
  614. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/index.js +15 -0
  615. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/is-binary.js +42 -0
  616. package/assets/api/vendor_modules/serverless-http/lib/provider/aws/sanitize-headers.js +21 -0
  617. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/clean-up-request.js +41 -0
  618. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/create-request.js +45 -0
  619. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/format-response.js +18 -0
  620. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/index.js +13 -0
  621. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/is-binary.js +42 -0
  622. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/sanitize-headers.js +23 -0
  623. package/assets/api/vendor_modules/serverless-http/lib/provider/azure/set-cookie.json +1 -0
  624. package/assets/api/vendor_modules/serverless-http/lib/provider/get-provider.js +17 -0
  625. package/assets/api/vendor_modules/serverless-http/lib/request.js +38 -0
  626. package/assets/api/vendor_modules/serverless-http/lib/response.js +135 -0
  627. package/assets/api/vendor_modules/serverless-http/package.json +93 -0
  628. package/assets/api/vendor_modules/serverless-http/serverless-http.d.ts +41 -0
  629. package/assets/api/vendor_modules/serverless-http/serverless-http.js +23 -0
  630. package/assets/api/vendor_modules/setprototypeof/LICENSE +13 -0
  631. package/assets/api/vendor_modules/setprototypeof/README.md +31 -0
  632. package/assets/api/vendor_modules/setprototypeof/index.d.ts +2 -0
  633. package/assets/api/vendor_modules/setprototypeof/index.js +17 -0
  634. package/assets/api/vendor_modules/setprototypeof/package.json +38 -0
  635. package/assets/api/vendor_modules/setprototypeof/test/index.js +24 -0
  636. package/assets/api/vendor_modules/side-channel/.editorconfig +9 -0
  637. package/assets/api/vendor_modules/side-channel/.eslintrc +12 -0
  638. package/assets/api/vendor_modules/side-channel/.github/FUNDING.yml +12 -0
  639. package/assets/api/vendor_modules/side-channel/.nycrc +13 -0
  640. package/assets/api/vendor_modules/side-channel/CHANGELOG.md +120 -0
  641. package/assets/api/vendor_modules/side-channel/LICENSE +21 -0
  642. package/assets/api/vendor_modules/side-channel/README.md +61 -0
  643. package/assets/api/vendor_modules/side-channel/index.d.ts +14 -0
  644. package/assets/api/vendor_modules/side-channel/index.js +46 -0
  645. package/assets/api/vendor_modules/side-channel/package.json +85 -0
  646. package/assets/api/vendor_modules/side-channel/test/index.js +120 -0
  647. package/assets/api/vendor_modules/side-channel/tsconfig.json +9 -0
  648. package/assets/api/vendor_modules/side-channel-list/.editorconfig +9 -0
  649. package/assets/api/vendor_modules/side-channel-list/.eslintrc +11 -0
  650. package/assets/api/vendor_modules/side-channel-list/.github/FUNDING.yml +12 -0
  651. package/assets/api/vendor_modules/side-channel-list/.nycrc +13 -0
  652. package/assets/api/vendor_modules/side-channel-list/CHANGELOG.md +36 -0
  653. package/assets/api/vendor_modules/side-channel-list/LICENSE +21 -0
  654. package/assets/api/vendor_modules/side-channel-list/README.md +62 -0
  655. package/assets/api/vendor_modules/side-channel-list/index.d.ts +13 -0
  656. package/assets/api/vendor_modules/side-channel-list/index.js +111 -0
  657. package/assets/api/vendor_modules/side-channel-list/list.d.ts +14 -0
  658. package/assets/api/vendor_modules/side-channel-list/package.json +77 -0
  659. package/assets/api/vendor_modules/side-channel-list/test/index.js +154 -0
  660. package/assets/api/vendor_modules/side-channel-list/tsconfig.json +9 -0
  661. package/assets/api/vendor_modules/side-channel-map/.editorconfig +9 -0
  662. package/assets/api/vendor_modules/side-channel-map/.eslintrc +11 -0
  663. package/assets/api/vendor_modules/side-channel-map/.github/FUNDING.yml +12 -0
  664. package/assets/api/vendor_modules/side-channel-map/.nycrc +13 -0
  665. package/assets/api/vendor_modules/side-channel-map/CHANGELOG.md +22 -0
  666. package/assets/api/vendor_modules/side-channel-map/LICENSE +21 -0
  667. package/assets/api/vendor_modules/side-channel-map/README.md +62 -0
  668. package/assets/api/vendor_modules/side-channel-map/index.d.ts +15 -0
  669. package/assets/api/vendor_modules/side-channel-map/index.js +68 -0
  670. package/assets/api/vendor_modules/side-channel-map/package.json +80 -0
  671. package/assets/api/vendor_modules/side-channel-map/test/index.js +114 -0
  672. package/assets/api/vendor_modules/side-channel-map/tsconfig.json +9 -0
  673. package/assets/api/vendor_modules/side-channel-weakmap/.editorconfig +9 -0
  674. package/assets/api/vendor_modules/side-channel-weakmap/.eslintrc +12 -0
  675. package/assets/api/vendor_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  676. package/assets/api/vendor_modules/side-channel-weakmap/.nycrc +13 -0
  677. package/assets/api/vendor_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  678. package/assets/api/vendor_modules/side-channel-weakmap/LICENSE +21 -0
  679. package/assets/api/vendor_modules/side-channel-weakmap/README.md +62 -0
  680. package/assets/api/vendor_modules/side-channel-weakmap/index.d.ts +15 -0
  681. package/assets/api/vendor_modules/side-channel-weakmap/index.js +84 -0
  682. package/assets/api/vendor_modules/side-channel-weakmap/package.json +87 -0
  683. package/assets/api/vendor_modules/side-channel-weakmap/test/index.js +114 -0
  684. package/assets/api/vendor_modules/side-channel-weakmap/tsconfig.json +9 -0
  685. package/assets/api/vendor_modules/statuses/HISTORY.md +87 -0
  686. package/assets/api/vendor_modules/statuses/LICENSE +23 -0
  687. package/assets/api/vendor_modules/statuses/README.md +139 -0
  688. package/assets/api/vendor_modules/statuses/codes.json +65 -0
  689. package/assets/api/vendor_modules/statuses/index.js +146 -0
  690. package/assets/api/vendor_modules/statuses/package.json +49 -0
  691. package/assets/api/vendor_modules/toidentifier/HISTORY.md +9 -0
  692. package/assets/api/vendor_modules/toidentifier/LICENSE +21 -0
  693. package/assets/api/vendor_modules/toidentifier/README.md +61 -0
  694. package/assets/api/vendor_modules/toidentifier/index.js +32 -0
  695. package/assets/api/vendor_modules/toidentifier/package.json +38 -0
  696. package/assets/api/vendor_modules/type-is/HISTORY.md +259 -0
  697. package/assets/api/vendor_modules/type-is/LICENSE +23 -0
  698. package/assets/api/vendor_modules/type-is/README.md +170 -0
  699. package/assets/api/vendor_modules/type-is/index.js +266 -0
  700. package/assets/api/vendor_modules/type-is/package.json +45 -0
  701. package/assets/api/vendor_modules/unpipe/HISTORY.md +4 -0
  702. package/assets/api/vendor_modules/unpipe/LICENSE +22 -0
  703. package/assets/api/vendor_modules/unpipe/README.md +43 -0
  704. package/assets/api/vendor_modules/unpipe/index.js +69 -0
  705. package/assets/api/vendor_modules/unpipe/package.json +27 -0
  706. package/assets/api/vendor_modules/utils-merge/LICENSE +20 -0
  707. package/assets/api/vendor_modules/utils-merge/README.md +34 -0
  708. package/assets/api/vendor_modules/utils-merge/index.js +23 -0
  709. package/assets/api/vendor_modules/utils-merge/package.json +40 -0
  710. package/assets/api/vendor_modules/vary/HISTORY.md +39 -0
  711. package/assets/api/vendor_modules/vary/LICENSE +22 -0
  712. package/assets/api/vendor_modules/vary/README.md +101 -0
  713. package/assets/api/vendor_modules/vary/index.js +149 -0
  714. package/assets/api/vendor_modules/vary/package.json +43 -0
  715. package/assets/federation-presignup/index.js +108 -0
  716. package/assets/firstadmin/index.js +361 -0
  717. package/assets/headscale-apikey/index.js +140 -0
  718. package/assets/invoke-relay/index.js +96 -0
  719. package/assets/issuer-canary/index.js +71 -0
  720. package/assets/issuer-publish/index.js +87 -0
  721. package/assets/keyminter/index.js +209 -0
  722. package/assets/plugin-authorizer/index.js +1740 -0
  723. package/assets/plugin-catalog/index.js +881 -0
  724. package/assets/reapproval/index.js +3761 -0
  725. package/assets/sg-manager/index.js +176 -0
  726. package/assets/tailnet-resolver/index.js +55 -0
  727. package/assets/web/chunk-2MOGDYK4.js +1 -0
  728. package/assets/web/chunk-2SO4BVIT.js +1 -0
  729. package/assets/web/chunk-2V6RSAAC.js +1 -0
  730. package/assets/web/chunk-32GNBTAL.js +1 -0
  731. package/assets/web/chunk-33SYY2JB.js +1 -0
  732. package/assets/web/chunk-3VWYT7AX.js +1 -0
  733. package/assets/web/chunk-4FG4DAWU.js +4 -0
  734. package/assets/web/chunk-4N2IUS6T.js +1 -0
  735. package/assets/web/chunk-4SK6XQ6C.js +1 -0
  736. package/assets/web/chunk-65WE5MXA.js +8 -0
  737. package/assets/web/chunk-6D7SSSJF.js +1 -0
  738. package/assets/web/chunk-6KFR7DYY.js +1 -0
  739. package/assets/web/chunk-A4WHI3ZG.js +8 -0
  740. package/assets/web/chunk-BNFKRZTP.js +1 -0
  741. package/assets/web/chunk-CG56PH3M.js +1 -0
  742. package/assets/web/chunk-CGO25AIM.js +1 -0
  743. package/assets/web/chunk-CP4XZPOA.js +1 -0
  744. package/assets/web/chunk-CV7EODPO.js +1 -0
  745. package/assets/web/chunk-D7TR2ORJ.js +1 -0
  746. package/assets/web/chunk-DCOFBAKJ.js +1 -0
  747. package/assets/web/chunk-DOLRLYW7.js +1 -0
  748. package/assets/web/chunk-EEJ3X466.js +1 -0
  749. package/assets/web/chunk-EQ4PF25J.js +1 -0
  750. package/assets/web/chunk-EVP5UVDQ.js +1 -0
  751. package/assets/web/chunk-EW2VMNHE.js +1 -0
  752. package/assets/web/chunk-FIUVIKAN.js +1 -0
  753. package/assets/web/chunk-GHEU25TG.js +1 -0
  754. package/assets/web/chunk-GK2T2SMO.js +1 -0
  755. package/assets/web/chunk-GKI3R2JB.js +1 -0
  756. package/assets/web/chunk-GPKKIOHD.js +2 -0
  757. package/assets/web/chunk-H4AVFUDM.js +1 -0
  758. package/assets/web/chunk-H5H727H6.js +1 -0
  759. package/assets/web/chunk-HGVFH6YM.js +1 -0
  760. package/assets/web/chunk-HHPIANBK.js +1 -0
  761. package/assets/web/chunk-HK56COCB.js +1 -0
  762. package/assets/web/chunk-HZUB7LFV.js +1 -0
  763. package/assets/web/chunk-I7NTNTBA.js +1 -0
  764. package/assets/web/chunk-IKK5DQ3Z.js +1 -0
  765. package/assets/web/chunk-IMH56UBX.js +1 -0
  766. package/assets/web/chunk-J3SSPCFV.js +1 -0
  767. package/assets/web/chunk-J4C7C5KO.js +1 -0
  768. package/assets/web/chunk-J57JB4MU.js +1 -0
  769. package/assets/web/chunk-JMBXRK3I.js +4 -0
  770. package/assets/web/chunk-KCCEQIXX.js +1 -0
  771. package/assets/web/chunk-KEBESIXR.js +1 -0
  772. package/assets/web/chunk-KPNHT4MK.js +1 -0
  773. package/assets/web/chunk-LMLXTVZG.js +1 -0
  774. package/assets/web/chunk-M6OAYNRE.js +1 -0
  775. package/assets/web/chunk-M7MGX5I4.js +1 -0
  776. package/assets/web/chunk-MU2VNTNY.js +1 -0
  777. package/assets/web/chunk-NABAVDRL.js +1 -0
  778. package/assets/web/chunk-NO5D6WDF.js +1 -0
  779. package/assets/web/chunk-O4QSFUXB.js +1 -0
  780. package/assets/web/chunk-OATVFQXO.js +1 -0
  781. package/assets/web/chunk-P5WRM37W.js +5 -0
  782. package/assets/web/chunk-PCP6D2SM.js +1 -0
  783. package/assets/web/chunk-PMMBJK7Q.js +1 -0
  784. package/assets/web/chunk-PSMER3HX.js +1 -0
  785. package/assets/web/chunk-QPBWZLCT.js +1 -0
  786. package/assets/web/chunk-QVABVDO5.js +1 -0
  787. package/assets/web/chunk-RI77LE5V.js +1 -0
  788. package/assets/web/chunk-RKGUEXZ2.js +1 -0
  789. package/assets/web/chunk-RMFH2YTZ.js +1 -0
  790. package/assets/web/chunk-RROPCBUH.js +1 -0
  791. package/assets/web/chunk-SJMLX5AT.js +1 -0
  792. package/assets/web/chunk-TKVALOE4.js +2 -0
  793. package/assets/web/chunk-TM43WUKM.js +1 -0
  794. package/assets/web/chunk-VKWV3ANT.js +1 -0
  795. package/assets/web/chunk-VTMYG6YW.js +1 -0
  796. package/assets/web/chunk-VWW4SA5R.js +1 -0
  797. package/assets/web/chunk-WEDAFMID.js +1 -0
  798. package/assets/web/chunk-WFIHWVQO.js +1 -0
  799. package/assets/web/chunk-XJM3HDJQ.js +1 -0
  800. package/assets/web/chunk-YVJV2RUY.js +1 -0
  801. package/assets/web/chunk-Z3KONI7L.js +1 -0
  802. package/assets/web/chunk-ZDCURXPS.js +1 -0
  803. package/assets/web/favicon.ico +0 -0
  804. package/assets/web/index.html +63 -0
  805. package/assets/web/main-S6E3BC5O.js +2 -0
  806. package/assets/web/polyfills-7RSNIJ6J.js +2 -0
  807. package/assets/web/styles-R6ZUWC6K.css +1 -0
  808. package/dist/index.d.ts +27 -0
  809. package/dist/index.js +66 -0
  810. package/dist/lambdacode/api/services/brandingShapes.d.ts +5 -0
  811. package/dist/lambdacode/api/services/brandingShapes.js +15 -0
  812. package/dist/lambdacode/issuer/objects.d.ts +8 -0
  813. package/dist/lambdacode/issuer/objects.js +11 -0
  814. package/dist/lambdacode/network/naming.d.ts +52 -0
  815. package/dist/lambdacode/network/naming.js +67 -0
  816. package/dist/lib/access-portal-hub.d.ts +53 -0
  817. package/dist/lib/access-portal-hub.js +87 -0
  818. package/dist/lib/access-portal.d.ts +32 -0
  819. package/dist/lib/access-portal.js +174 -0
  820. package/dist/lib/audit-log.d.ts +18 -0
  821. package/dist/lib/audit-log.js +25 -0
  822. package/dist/lib/connector-stack.d.ts +28 -0
  823. package/dist/lib/connector-stack.js +81 -0
  824. package/dist/lib/constructs/app-function.d.ts +14 -0
  825. package/dist/lib/constructs/app-function.js +84 -0
  826. package/dist/lib/constructs/app-table.d.ts +12 -0
  827. package/dist/lib/constructs/app-table.js +58 -0
  828. package/dist/lib/constructs/mirrored-image.d.ts +12 -0
  829. package/dist/lib/constructs/mirrored-image.js +80 -0
  830. package/dist/lib/constructs/monitoring.d.ts +21 -0
  831. package/dist/lib/constructs/monitoring.js +133 -0
  832. package/dist/lib/constructs/oidc-issuer.d.ts +44 -0
  833. package/dist/lib/constructs/oidc-issuer.js +234 -0
  834. package/dist/lib/constructs/scratch-tmpfs.d.ts +5 -0
  835. package/dist/lib/constructs/scratch-tmpfs.js +48 -0
  836. package/dist/lib/constructs/sg-manager.d.ts +27 -0
  837. package/dist/lib/constructs/sg-manager.js +88 -0
  838. package/dist/lib/constructs/tailnet-connector.d.ts +29 -0
  839. package/dist/lib/constructs/tailnet-connector.js +177 -0
  840. package/dist/lib/constructs/tailnet-resolver.d.ts +30 -0
  841. package/dist/lib/constructs/tailnet-resolver.js +71 -0
  842. package/dist/lib/constructs/target-account-trust.d.ts +32 -0
  843. package/dist/lib/constructs/target-account-trust.js +81 -0
  844. package/dist/lib/constructs/vending-api.d.ts +103 -0
  845. package/dist/lib/constructs/vending-api.js +203 -0
  846. package/dist/lib/constructs/web-acl.d.ts +61 -0
  847. package/dist/lib/constructs/web-acl.js +213 -0
  848. package/dist/lib/constructs/web-identity.d.ts +49 -0
  849. package/dist/lib/constructs/web-identity.js +116 -0
  850. package/dist/lib/creds-stack.d.ts +151 -0
  851. package/dist/lib/creds-stack.js +592 -0
  852. package/dist/lib/data-stack.d.ts +53 -0
  853. package/dist/lib/data-stack.js +282 -0
  854. package/dist/lib/dimensions-validation.d.ts +20 -0
  855. package/dist/lib/dimensions-validation.js +51 -0
  856. package/dist/lib/federation.d.ts +113 -0
  857. package/dist/lib/federation.js +254 -0
  858. package/dist/lib/managed-login-branding.json +450 -0
  859. package/dist/lib/network-stack.d.ts +58 -0
  860. package/dist/lib/network-stack.js +776 -0
  861. package/dist/lib/network-validation.d.ts +54 -0
  862. package/dist/lib/network-validation.js +220 -0
  863. package/dist/lib/pkg-paths.d.ts +3 -0
  864. package/dist/lib/pkg-paths.js +51 -0
  865. package/dist/lib/plugins/plugin-api.d.ts +40 -0
  866. package/dist/lib/plugins/plugin-api.js +125 -0
  867. package/dist/lib/plugins/plugin-catalog-activation.d.ts +31 -0
  868. package/dist/lib/plugins/plugin-catalog-activation.js +109 -0
  869. package/dist/lib/plugins/registration.d.ts +41 -0
  870. package/dist/lib/plugins/registration.js +121 -0
  871. package/dist/lib/plugins/runtime.d.ts +10 -0
  872. package/dist/lib/plugins/runtime.js +17 -0
  873. package/dist/lib/project-config.d.ts +164 -0
  874. package/dist/lib/project-config.js +2 -0
  875. package/dist/lib/target-account-stack.d.ts +15 -0
  876. package/dist/lib/target-account-stack.js +59 -0
  877. package/dist/lib/target-account-template.d.ts +13 -0
  878. package/dist/lib/target-account-template.js +64 -0
  879. package/dist/lib/web-cert-stack.d.ts +30 -0
  880. package/dist/lib/web-cert-stack.js +90 -0
  881. package/dist/lib/web-stack.d.ts +103 -0
  882. package/dist/lib/web-stack.js +540 -0
  883. package/node_modules/@fntio/infra-client-plugin-sdk/README.md +303 -0
  884. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.d.ts +31 -0
  885. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/context.js +58 -0
  886. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.d.ts +9 -0
  887. package/node_modules/@fntio/infra-client-plugin-sdk/dist/backend/index.js +26 -0
  888. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.d.ts +59 -0
  889. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/client.js +290 -0
  890. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.d.ts +14 -0
  891. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/errors.js +32 -0
  892. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.d.ts +72 -0
  893. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/http.js +170 -0
  894. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.d.ts +11 -0
  895. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/index.js +28 -0
  896. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.d.ts +22 -0
  897. package/node_modules/@fntio/infra-client-plugin-sdk/dist/browser/theme-apply.js +22 -0
  898. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.d.ts +14 -0
  899. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/access.js +41 -0
  900. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.d.ts +17 -0
  901. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/authorizer.js +44 -0
  902. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.d.ts +2 -0
  903. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/canonical.js +21 -0
  904. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.d.ts +39 -0
  905. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/catalog.js +18 -0
  906. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.d.ts +78 -0
  907. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/discovery.js +48 -0
  908. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.d.ts +7 -0
  909. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/fields.js +2 -0
  910. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.d.ts +59 -0
  911. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/manifest.js +19 -0
  912. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.d.ts +111 -0
  913. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/messages.js +109 -0
  914. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.d.ts +20 -0
  915. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/paths.js +49 -0
  916. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.d.ts +21 -0
  917. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/theme.js +60 -0
  918. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.d.ts +14 -0
  919. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/transport.js +10 -0
  920. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.d.ts +27 -0
  921. package/node_modules/@fntio/infra-client-plugin-sdk/dist/contracts/validate.js +321 -0
  922. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.d.ts +61 -0
  923. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/devHost.js +99 -0
  924. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.d.ts +12 -0
  925. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeDocument.js +22 -0
  926. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.d.ts +22 -0
  927. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/fakeWindows.js +46 -0
  928. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.d.ts +4 -0
  929. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/index.js +20 -0
  930. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.d.ts +37 -0
  931. package/node_modules/@fntio/infra-client-plugin-sdk/dist/fixtures/samples.js +228 -0
  932. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.d.ts +47 -0
  933. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/host.js +121 -0
  934. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.d.ts +5 -0
  935. package/node_modules/@fntio/infra-client-plugin-sdk/dist/host/index.js +22 -0
  936. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.d.ts +10 -0
  937. package/node_modules/@fntio/infra-client-plugin-sdk/dist/index.js +28 -0
  938. package/node_modules/@fntio/infra-client-plugin-sdk/package.json +99 -0
  939. package/openapi.yaml +4284 -0
  940. package/package.json +124 -4
@@ -0,0 +1 @@
1
+ import{b as S}from"./chunk-2MOGDYK4.js";import{Aa as s,Ba as y,Ca as x,Da as C,Eb as Y,H as q,Ha as H,Ia as D,J as b,Ja as z,K as f,Ka as V,La as G,Ma as u,Na as g,Oa as d,Q as F,Qa as R,Ra as U,Sa as O,Ta as E,Va as w,Wa as T,Xa as X,Ya as N,Z as r,ca as W,fa as c,ja as Q,nb as J,qb as K,ra as A,sa as v,sb as B,ta as h,tb as i,ub as L,ya as m,za as p,zb as _}from"./chunk-P5WRM37W.js";var ne=[[["","pageHeader",""]],"*",[["","floatingBar",""]]],oe=["[pageHeader]","*","[floatingBar]"],Z=class o{fill=i(!1);tabbed=i(!1);static \u0275fac=function(e){return new(e||o)};static \u0275cmp=c({type:o,selectors:[["app-page"]],hostAttrs:[1,"relative","flex","min-h-0","min-w-0","flex-1","flex-col"],inputs:{fill:[1,"fill"],tabbed:[1,"tabbed"]},ngContentSelectors:oe,decls:7,vars:4,consts:[[1,"min-h-0","min-w-0","flex-1","overflow-y-auto","[scrollbar-gutter:stable_both-edges]"],[1,"pointer-events-none","absolute","inset-x-0","bottom-6","z-20","flex","justify-center"]],template:function(e,t){e&1&&(g(ne),x(0,"div"),d(1),C(),x(2,"div",0)(3,"div"),d(4,1),C()(),x(5,"div",1),d(6,2),C()),e&2&&(w("min-w-0 shrink-0 px-8 pt-8 shadow-[0_4px_6px_-4px_rgba(16,24,40,0.12)] "+(t.tabbed()?"pb-0":"pb-6")),r(3),w("px-[25px] py-6"+(t.fill()?" flex h-full min-h-0 flex-col":"")))},encapsulation:2})};var ie=["trigger"],re=["bubble"],ae=["*"],le=288,$=8,P=class o{text=i.required();trigger=L.required("trigger");bubble=L.required("bubble");renderer=q(W);open=F(null);ngOnInit(){this.renderer.appendChild(document.body,this.bubble().nativeElement)}ngOnDestroy(){this.bubble().nativeElement.remove()}show(){let n=this.trigger().nativeElement.getBoundingClientRect(),e=Math.min(Math.max($,n.left),window.innerWidth-$-le),t=window.innerHeight-n.bottom>88;this.open.set(t?{left:e,top:n.bottom+6}:{left:e,bottom:window.innerHeight-n.top+6})}hide(){this.open.set(null)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=c({type:o,selectors:[["app-tooltip"]],viewQuery:function(e,t){e&1&&(R(t.trigger,ie,5),R(t.bubble,re,5)),e&2&&U(2)},hostAttrs:[1,"relative","inline-flex"],inputs:{text:[1,"text"]},ngContentSelectors:ae,decls:6,vars:8,consts:[["trigger",""],["bubble",""],["title","",1,"inline-flex",3,"mouseenter","mouseleave","focusin","focusout"],["role","tooltip",1,"pointer-events-none","fixed","z-[70]","w-max","max-w-[18rem]","whitespace-normal","rounded-lg","border","border-border","bg-popover","px-3","py-2","text-xs","leading-relaxed","text-surface-foreground","shadow-toast",3,"hidden"]],template:function(e,t){if(e&1){let a=D();g(),x(0,"span",2,0),G("mouseenter",function(){return b(a),f(t.show())})("mouseleave",function(){return b(a),f(t.hide())})("focusin",function(){return b(a),f(t.show())})("focusout",function(){return b(a),f(t.hide())}),d(2),C(),x(3,"div",3,1),T(5),C()}if(e&2){let a,l,M;r(3),E("left",(a=t.open())==null?null:a.left,"px")("top",(l=t.open())==null?null:l.top,"px")("bottom",(M=t.open())==null?null:M.bottom,"px"),z("hidden",!t.open()),r(2),N(" ",t.text()," ")}},encapsulation:2})};var j=class o{text=i.required();static \u0275fac=function(e){return new(e||o)};static \u0275cmp=c({type:o,selectors:[["app-info-tooltip"]],hostAttrs:[1,"inline-flex"],inputs:{text:[1,"text"]},decls:3,vars:1,consts:[[3,"text"],["type","button","aria-label","More info",1,"grid","h-4","w-4","place-items-center","rounded-full","text-muted-foreground","transition-colors","hover:text-surface-foreground","focus-visible:outline","focus-visible:outline-2","focus-visible:outline-ring"],["name","info",1,"h-3.5","w-3.5"]],template:function(e,t){e&1&&(p(0,"app-tooltip",0)(1,"button",1),y(2,"app-icon",2),s()()),e&2&&m("text",t.text())},dependencies:[S,P],encapsulation:2})};var se=[[["","headerSubtitle",""]],[["","headerActions",""]],"*",[["","headerSearch",""]]],de=["[headerSubtitle]","[headerActions]","*","[headerSearch]"];function pe(o,n){o&1&&(p(0,"div",0),d(1,3),s())}function ce(o,n){if(o&1&&y(0,"app-info-tooltip",7),o&2){let e=u(2);m("text",e.subtitleInfo())}}function me(o,n){if(o&1&&(p(0,"div",4)(1,"p",6),T(2),s(),v(3,ce,1,1,"app-info-tooltip",7),s()),o&2){let e=u();r(2),N(" ",e.subtitle()," "),r(),h(e.subtitleInfo()?3:-1)}}var ee=class o{title=i.required();subtitle=i("");showHeaderSearch=i(!0,{transform:_});subtitleInfo=i("");static \u0275fac=function(e){return new(e||o)};static \u0275cmp=c({type:o,selectors:[["app-page-header"]],hostAttrs:[1,"flex","flex-col","gap-2"],inputs:{title:[1,"title"],subtitle:[1,"subtitle"],showHeaderSearch:[1,"showHeaderSearch"],subtitleInfo:[1,"subtitleInfo"]},ngContentSelectors:de,decls:10,vars:3,consts:[[1,"flex","min-h-[38px]","justify-end"],[1,"flex","flex-wrap","items-end","justify-between","gap-4"],[1,"min-w-0"],[1,"ui-title","-mt-0.5"],[1,"mt-1","flex","items-start","gap-1.5"],[1,"flex","shrink-0","items-center","gap-3"],[1,"max-w-[65ch]","text-pretty","text-sm","text-muted-foreground"],[1,"mt-0.5","shrink-0",3,"text"]],template:function(e,t){e&1&&(g(se),v(0,pe,2,0,"div",0),p(1,"div",1)(2,"div",2)(3,"h1",3),T(4),s(),v(5,me,4,2,"div",4),d(6),s(),p(7,"div",5),d(8,1),s()(),d(9,2)),e&2&&(h(t.showHeaderSearch()?0:-1),r(4),X(t.title()),r(),h(t.subtitle()?5:-1))},dependencies:[j],encapsulation:2})};var ue=["*"];function be(o,n){o&1&&d(0)}function fe(o,n){if(o&1){let e=D();p(0,"button",3),V("click",function(a){b(e);let l=u();return f(l.onActivate(a))}),H(1,4),s()}if(o&2){let e=u(),t=O(1);w(e.classes()),A("title",e.title()||null),r(),m("ngTemplateOutlet",t)}}function ge(o,n){if(o&1){let e=D();p(0,"button",6),V("click",function(a){b(e);let l=u(2);return f(l.onRemove(a))}),y(1,"app-icon",7),s()}if(o&2){let e=u(2);m("disabled",e.removeDisabled()),r(),m("strokeWidth",2.4)}}function ve(o,n){if(o&1&&(p(0,"span"),H(1,4),v(2,ge,2,2,"button",5),s()),o&2){let e=u(),t=O(1);w(e.classes()),A("title",e.title()||null),r(),m("ngTemplateOutlet",t),r(),h(e.removable()?2:-1)}}var te=class o{tone=i("neutral");color=i(null);tintClass=i(null);removable=i(!1,{transform:_});removeDisabled=i(!1,{transform:_});clickable=i(!1,{transform:_});selected=i(!1,{transform:_});title=i("");removed=B();activated=B();classes=K(()=>{let n=this.clickable(),e=!!this.color(),t=n&&this.selected(),a="inline-flex min-w-0 max-w-full items-center overflow-hidden whitespace-nowrap font-medium "+(n?"rounded-md transition-colors ":"rounded-full ")+(n&&!e?"ring-1 ring-inset ":""),l=this.removable()?"h-5 gap-1.5 pl-2.5 pr-[5px] text-xs ":n?"h-5 gap-1 px-2 text-xs ":"h-5 gap-1 px-2 text-[11px] ";if(e)return a+l+(t?"role-chip role-chip-selected":"role-chip");if(this.tintClass())return a+l+this.tintClass();let M={neutral:this.removable()?"bg-muted text-surface-foreground":n?t?"bg-brand/20 text-brand-text ring-[var(--brand)]":"bg-brand/10 text-brand-text ring-brand/25 hover:bg-brand/15 hover:ring-brand/40":"bg-muted text-muted-foreground",brand:n?t?"bg-brand/20 text-brand ring-[var(--brand)]":"bg-brand/10 text-brand ring-brand/25 hover:bg-brand/15 hover:ring-brand/40":"bg-brand/10 text-brand",warning:n?t?"bg-warning-muted text-warning ring-[var(--warning)]":"bg-warning-muted text-warning ring-warning/25 hover:ring-warning/40":"bg-warning-muted text-warning",success:n?t?"bg-success-muted text-success ring-[var(--success)]":"bg-success-muted text-success ring-success/25 hover:ring-success/40":"bg-success-muted text-success"};return a+l+M[this.tone()]});onActivate(n){n.stopPropagation(),this.activated.emit()}onRemove(n){n.stopPropagation(),this.removed.emit()}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=c({type:o,selectors:[["app-chip"]],hostAttrs:[1,"inline-flex","min-w-0","max-w-full"],hostVars:2,hostBindings:function(e,t){e&2&&E("--role-c",t.color()||null)},inputs:{tone:[1,"tone"],color:[1,"color"],tintClass:[1,"tintClass"],removable:[1,"removable"],removeDisabled:[1,"removeDisabled"],clickable:[1,"clickable"],selected:[1,"selected"],title:[1,"title"]},outputs:{removed:"removed",activated:"activated"},ngContentSelectors:ue,decls:4,vars:1,consts:[["content",""],["type","button",3,"class"],[3,"class"],["type","button",3,"click"],[3,"ngTemplateOutlet"],["type","button","aria-label","Remove",1,"flex","h-4","w-4","shrink-0","items-center","justify-center","rounded-full","text-muted-foreground","transition","hover:bg-border-strong","hover:text-surface-foreground","active:scale-90","active:bg-border-strong","disabled:opacity-50","disabled:active:scale-100",3,"disabled"],["type","button","aria-label","Remove",1,"flex","h-4","w-4","shrink-0","items-center","justify-center","rounded-full","text-muted-foreground","transition","hover:bg-border-strong","hover:text-surface-foreground","active:scale-90","active:bg-border-strong","disabled:opacity-50","disabled:active:scale-100",3,"click","disabled"],["name","x",1,"h-[9px]","w-[9px]",3,"strokeWidth"]],template:function(e,t){e&1&&(g(),Q(0,be,1,0,"ng-template",null,0,J),v(2,fe,2,4,"button",1)(3,ve,3,5,"span",2)),e&2&&(r(2),h(t.clickable()?2:3))},dependencies:[S,Y],encapsulation:2})};export{Z as a,P as b,j as c,ee as d,te as e};
Binary file
@@ -0,0 +1,63 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Access Portal</title>
6
+ <base href="/">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
9
+ <style>
10
+ /* Boot fallback: shown until Angular replaces <app-root>'s contents. If
11
+ bootstrap never happens (e.g. config.json fails to load), the spinner
12
+ flips to an actionable error instead of leaving a blank white page. */
13
+ #app-boot {
14
+ position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
15
+ font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #3f4654;
16
+ background: #eef1f6;
17
+ }
18
+ #app-boot .spin {
19
+ width: 26px; height: 26px; border-radius: 50%;
20
+ border: 3px solid rgba(15, 18, 25, 0.15); border-top-color: rgba(15, 18, 25, 0.5);
21
+ animation: app-boot-spin 0.8s linear infinite;
22
+ }
23
+ @keyframes app-boot-spin { to { transform: rotate(360deg); } }
24
+ #app-boot .err { display: none; text-align: center; max-width: 30rem; padding: 0 1.5rem; }
25
+ #app-boot .err strong { display: block; font-size: 18px; font-weight: 650; color: #15181e; margin-bottom: 6px; }
26
+ #app-boot .err button {
27
+ margin-top: 16px; padding: 8px 18px; border: none; border-radius: 8px;
28
+ background: #0f766e; color: #fff; font: inherit; font-weight: 500; cursor: pointer;
29
+ }
30
+ #app-boot.failed .spin { display: none; }
31
+ #app-boot.failed .err { display: block; }
32
+ @media (prefers-color-scheme: dark) {
33
+ #app-boot { background: #17191e; color: #c3cad6; }
34
+ #app-boot .err strong { color: #e7ebf2; }
35
+ #app-boot .spin { border-color: rgba(255,255,255,0.15); border-top-color: rgba(255,255,255,0.5); }
36
+ }
37
+ </style>
38
+ <link rel="stylesheet" href="styles-R6ZUWC6K.css"></head>
39
+ <body>
40
+ <app-root>
41
+ <div id="app-boot">
42
+ <div class="spin" role="status" aria-label="Loading"></div>
43
+ <div class="err">
44
+ <strong>Couldn't load the app</strong>
45
+ Its configuration didn't load. Check your connection and reload — if it keeps happening, contact your admin.
46
+ <div><button type="button">Reload</button></div>
47
+ </div>
48
+ </div>
49
+ </app-root>
50
+ <script>
51
+ // If Angular hasn't taken over <app-root> within a few seconds, the
52
+ // configuration fetch has stalled or failed — surface the error.
53
+ // The CSP allows this script by its hash (WebStack reads the built index.html), so it must stay
54
+ // inline here and the button cannot carry an onclick attribute.
55
+ setTimeout(function () {
56
+ var boot = document.getElementById('app-boot');
57
+ if (boot) boot.classList.add('failed');
58
+ }, 10000);
59
+ var reload = document.querySelector('#app-boot button');
60
+ if (reload) reload.addEventListener('click', function () { location.reload(); });
61
+ </script>
62
+ <link rel="modulepreload" href="chunk-CV7EODPO.js"><link rel="modulepreload" href="chunk-QPBWZLCT.js"><link rel="modulepreload" href="chunk-VWW4SA5R.js"><link rel="modulepreload" href="chunk-GHEU25TG.js"><link rel="modulepreload" href="chunk-RMFH2YTZ.js"><link rel="modulepreload" href="chunk-BNFKRZTP.js"><link rel="modulepreload" href="chunk-HK56COCB.js"><link rel="modulepreload" href="chunk-DCOFBAKJ.js"><link rel="modulepreload" href="chunk-RI77LE5V.js"><link rel="modulepreload" href="chunk-IKK5DQ3Z.js"><script src="polyfills-7RSNIJ6J.js" type="module"></script><script src="main-S6E3BC5O.js" type="module"></script></body>
63
+ </html>
@@ -0,0 +1,2 @@
1
+ import{a as $t,b as Wt,c as Ht,d as jt,e as kn,f as En}from"./chunk-CV7EODPO.js";import{a as it,b as yn,c as wn,d as Sn}from"./chunk-QPBWZLCT.js";import{a as cn}from"./chunk-VWW4SA5R.js";import{c as Kt}from"./chunk-GHEU25TG.js";import{c as Yt,i as Ve}from"./chunk-RMFH2YTZ.js";import{a as Gt}from"./chunk-BNFKRZTP.js";import{a as fn,b as xn,d as Cn,e as hn,f as bn,h as vn}from"./chunk-HK56COCB.js";import{a as Ut}from"./chunk-DCOFBAKJ.js";import{b as Zt,c as Xt,d as en,e as tn,f as nn,g as on,h as rn,i as an,j as sn,k as oe}from"./chunk-RI77LE5V.js";import{a as ln}from"./chunk-IKK5DQ3Z.js";import{a as ie}from"./chunk-H5H727H6.js";import{a as Qt}from"./chunk-2V6RSAAC.js";import{a as me,b as te,c as At,d as et,e as Rt,f as ye,g as Lt,h as Bt,q as ue,r as tt,s as nt,t as T,u as Ft}from"./chunk-JMBXRK3I.js";import"./chunk-DOLRLYW7.js";import{a as gn}from"./chunk-Z3KONI7L.js";import{c as $}from"./chunk-O4QSFUXB.js";import{a as un}from"./chunk-33SYY2JB.js";import"./chunk-FIUVIKAN.js";import"./chunk-EVP5UVDQ.js";import"./chunk-OATVFQXO.js";import{a as we}from"./chunk-PSMER3HX.js";import{a as pn,b as _e,c as mn,d as Re}from"./chunk-KCCEQIXX.js";import"./chunk-QVABVDO5.js";import"./chunk-RROPCBUH.js";import{a as ne}from"./chunk-PMMBJK7Q.js";import{a as _n}from"./chunk-J3SSPCFV.js";import"./chunk-4SK6XQ6C.js";import{a as Ie}from"./chunk-SJMLX5AT.js";import{d as Ae,e as Jt}from"./chunk-2SO4BVIT.js";import{a as qt}from"./chunk-KPNHT4MK.js";import{a as ke,b as Ee,c as Te,d as Pe,e as Ne,f as Me,n as De,o as Oe,p as dn}from"./chunk-NO5D6WDF.js";import{a as V,c as B}from"./chunk-GKI3R2JB.js";import{a as Se}from"./chunk-M6OAYNRE.js";import"./chunk-XJM3HDJQ.js";import{a as zt,b as F}from"./chunk-2MOGDYK4.js";import"./chunk-4N2IUS6T.js";import{a as R}from"./chunk-D7TR2ORJ.js";import{Aa as r,Ba as b,E as Z,Ea as Ze,Eb as Tt,Fb as Pt,H as f,Ha as Ct,Hb as Nt,Ia as h,J as p,Ja as ht,Jb as Xe,K as m,Ka as c,L as W,Lb as Mt,M as _t,Ma as d,Mb as Dt,Ob as be,P as xe,Pb as Ot,Q as x,Qa as K,Qb as ve,Ra as X,Rb as M,T as gt,Ta as z,Ua as O,Ub as It,Va as D,Vb as Vt,W as J,Wa as l,X as ft,Xa as w,Y as ce,Ya as y,Z as a,Za as ee,ab as bt,bb as vt,cb as yt,f as dt,fa as E,h as Ye,i as ct,ib as wt,ja as Ce,ka as H,lb as St,ma as Qe,mb as kt,nb as pe,oa as j,ob as Et,p as pt,pa as G,qb as v,r as mt,ra as I,rb as U,sa as u,sb as he,ta as _,tb as Je,ub as Y,va as xt,wa as S,xa as k,y as ut,ya as C,za as i}from"./chunk-P5WRM37W.js";import{a as de,b as Ke,e as P}from"./chunk-WFIHWVQO.js";var Q=()=>{let t=f(T),n=f(M);return t.isAdmin()?!0:n.createUrlTree(["/accounts"])};var ot=()=>f(V).config.network!==!1||f(M).createUrlTree(["/accounts"]);var Tn=()=>!!f(V).config.plugins?.enabled||f(M).createUrlTree(["/accounts"]);var Pn=(t,n)=>P(null,null,function*(){let e=f(T),o=f(M);return yield e.whenReady(),e.isAuthenticated()?!0:(n.url&&n.url!=="/"&&sessionStorage.setItem(ue,n.url),o.parseUrl("/login"))});var rt="accessPortal.setupHidden",at=5,re=class t{api=f(qt);config=f(V);router=f(M);status=x(null);hidden=x(zn());requests=x(0);openRequests=this.requests.asReadonly();brandingDone=this.config.themeSaved;brandingSkipped=v(()=>this.config.overlayWritten()&&!this.config.themeSaved());vended=v(()=>this.status()?.vended??!1);registered=v(()=>(this.status()?.accounts??0)>0);connectDone=v(()=>this.registered()&&this.vended());invitedDone=v(()=>this.status()?.invitedActive??!1);emailDone=v(()=>this.status()?.emailConfigured??!1);unregistered=v(()=>this.status()?.configAccounts.filter(n=>!n.registered)??[]);doneCount=v(()=>1+[this.brandingDone(),this.connectDone(),this.invitedDone(),this.emailDone()].filter(Boolean).length);todoCount=v(()=>at-this.doneCount());requiredDone=v(()=>this.brandingDone()&&this.connectDone()&&this.invitedDone());nextTitle=v(()=>this.brandingDone()?this.connectDone()?this.invitedDone()?"Send email from your own domain":"Invite your team":"Connect a workload account":"Choose your branding");started=!1;inflight=!1;navSub;lastPath="";start(){this.started||(this.started=!0,this.lastPath=Nn(this.router.url),this.load(),this.navSub=this.router.events.pipe(pt(n=>n instanceof be)).subscribe(n=>{let e=Nn(n.urlAfterRedirects);e!==this.lastPath&&(this.lastPath=e,!this.hidden()&&!this.requiredDone()&&this.load())}))}stop(){this.navSub?.unsubscribe(),this.navSub=void 0,this.started=!1,this.inflight=!1,this.status.set(null),this.requests.set(0)}open(){this.hidden.set(!1);try{localStorage.removeItem(rt)}catch{}this.requests.update(n=>n+1),this.load()}dismiss(){this.hidden.set(!0);try{localStorage.setItem(rt,"1")}catch{}}load(){this.inflight||(this.inflight=!0,this.api.getSetup().subscribe({next:n=>{this.inflight=!1,this.started&&this.status.set(n)},error:()=>{this.inflight=!1}}))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})};function Nn(t){return t.split(/[?#]/)[0]}function zn(){try{return localStorage.getItem(rt)==="1"}catch{return!1}}var ae=class t{requests=x(0);openRequests=this.requests.asReadonly();open(){this.requests.update(n=>n+1)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})};function Un(t,n){t&1&&(i(0,"span",16),l(1,"\u2713"),r(),i(2,"span",17),l(3,"Setup complete"),r(),i(4,"span",18),l(5,"find these steps in your user menu any time"),r())}function $n(t,n){if(t&1){let e=h();i(0,"app-button",21),c("click",function(){let s=p(e);return m(s.click())}),l(1),r()}t&2&&(a(),w(n.label))}function Wn(t,n){if(t&1&&u(0,$n,2,1,"app-button",20),t&2){let e,o=d(3);_((e=o.nextAction())?0:-1,e)}}function Hn(t,n){if(t&1&&(b(0,"span",19),i(1,"span",17),l(2),r(),u(3,Wn,1,1)),t&2){let e=d(2);a(2),y("Next: ",e.nextTitle()),a(),_(e.expanded()?-1:3)}}function jn(t,n){t&1&&l(0," \u2713 ")}function Gn(t,n){t&1&&(l(0," Skipped for now \u2014 set the name, logo, and colors any time from your user menu (bottom left) \u2192 "),i(1,"b"),l(2,"Customize theme"),r(),l(3,". Everyone gets them on their next load. "))}function Kn(t,n){t&1&&l(0," Name, logo, and colors \u2014 everyone gets them on their next load. ")}function Yn(t,n){t&1&&l(0," \u2713 ")}function Qn(t,n){if(t&1&&(W(),i(0,"svg",30),b(1,"circle",35)(2,"circle",36),r()),t&2){let e=d(3);a(2),I("stroke-dasharray",e.connectSubDone()/3*100+" 100")}}function Zn(t,n){t&1&&l(0," \u2713 ")}function Jn(t,n){t&1&&l(0," \u2713 ")}function Xn(t,n){if(t&1&&(l(0," In your deploy config, not yet registered: "),i(1,"b"),l(2),r(),l(3)),t&2){let e=d(4);a(2),w(e.unregistered()[0].accountNumber),a(),y(" (",e.unregistered()[0].roles.join(", "),") ")}}function ei(t,n){t&1&&l(0," Give the account a friendly name and list its roles. ")}function ti(t,n){t&1&&l(0," \u2713 ")}function ni(t,n){if(t&1){let e=h();i(0,"ul",33)(1,"li")(2,"span",26),u(3,Zn,1,0),r(),i(4,"div",23)(5,"div",24),l(6,"Deploy the trust stack into the account"),r(),i(7,"div",25),l(8," Add this to your CDK app \u2014 your issuer URL is already filled in \u2014 and deploy it with that account's credentials: "),r(),i(9,"div",37)(10,"pre",38),l(11),r(),i(12,"div",39),b(13,"app-copy-button",40),r()(),i(14,"div",41),l(15," Prefer your own roles? Any iam.Role trusting webIdentityPrincipal() vends the same. "),r()()(),i(16,"li")(17,"span",26),u(18,Jn,1,0),r(),i(19,"div",23)(20,"div",24),l(21,"Register it here"),r(),i(22,"div",25),u(23,Xn,4,2)(24,ei,1,0),r()(),i(25,"app-button",27),c("click",function(){p(e);let s=d(3);return m(s.go("/admin/accounts"))}),l(26," Add account "),r()(),i(27,"li")(28,"span",26),u(29,ti,1,0),r(),i(30,"div",23)(31,"div",24),l(32,"Test the connection"),r(),i(33,"div",25),l(34," Open the role under Administration \u2192 Accounts and hit Test \u2014 or just Get credentials on your own role card under Your access. "),r()()()()}if(t&2){let e=d(3);a(2),O("done",e.vended())("todo",!e.vended()),a(),_(e.vended()?3:-1),a(8),w(e.snippet()),a(2),C("text",e.snippet()),a(4),O("done",e.registered())("todo",!e.registered()),a(),_(e.registered()?18:-1),a(5),_(e.unregistered().length>0?23:24),a(2),C("variant",e.registered()?"outline":"primary"),a(3),O("done",e.vended())("todo",!e.vended()),a(),_(e.vended()?29:-1)}}function ii(t,n){t&1&&l(0," \u2713 ")}function oi(t,n){t&1&&l(0," \u2713 ")}function ri(t,n){if(t&1){let e=h();i(0,"ul",15)(1,"li",22)(2,"span",16),l(3,"\u2713"),r(),i(4,"div",23)(5,"div",24),l(6,"Admin account created"),r(),i(7,"div",25),l(8,"Done by the deploy \u2014 firstAdmin in your config."),r()()(),i(9,"li")(10,"span",26),u(11,jn,1,0),r(),i(12,"div",23)(13,"div",24),l(14,"Choose your branding"),r(),i(15,"div",25),u(16,Gn,4,0)(17,Kn,1,0),r()(),i(18,"app-button",27),c("click",function(){p(e);let s=d(2);return m(s.wizard.open())}),l(19," Customize "),r()(),i(20,"li",28)(21,"button",29),c("click",function(){p(e);let s=d(2);return m(s.connectOpen.set(!s.connectOpen()))}),i(22,"span",26),u(23,Yn,1,0)(24,Qn,3,1,":svg:svg",30),r(),i(25,"span",23)(26,"span",31)(27,"span",24),l(28,"Connect a workload account"),r(),i(29,"app-badge",32)(30,"b"),l(31),r(),l(32," / 3 done"),r()(),i(33,"span",25),l(34," Link an AWS account the portal can hand out credentials for: deploy its trust stack, register it here, then test the connection \u2014 three parts, each tracked separately. "),r()(),b(35,"app-icon",12),r(),u(36,ni,35,19,"ul",33),r(),i(37,"li")(38,"span",26),u(39,ii,1,0),r(),i(40,"div",23)(41,"div",24),l(42,"Invite your team"),r(),i(43,"div",25),l(44," Invites are set-your-password emails. Under Users \u2192 Invite, add people one at a time, paste a list (one per line), or upload a .txt/.csv of addresses \u2014 each gets its own invite. Turns green when the first invited person signs in. "),r()(),i(45,"app-button",27),c("click",function(){p(e);let s=d(2);return m(s.go("/users"))}),l(46," Invite users "),r()(),i(47,"li")(48,"span",26),u(49,oi,1,0),r(),i(50,"div",23)(51,"div",24),l(52," Send email from your own domain "),i(53,"app-badge",34),l(54,"optional"),r()(),i(55,"div",25),l(56," Done by the deploy config, not here \u2014 add an "),i(57,"code"),l(58,"email"),r(),l(59," block (your sending domain and address) and redeploy; the DNS records are created for you. Until then, mail comes from AWS's built-in sender (fine for a pilot, ~50/day). "),r()()()()}if(t&2){let e=d(2);a(9),O("is-done",e.brandingDone()),a(),O("done",e.brandingDone())("todo",!e.brandingDone()),a(),_(e.brandingDone()?11:-1),a(5),_(e.brandingSkipped()?16:17),a(2),C("variant",e.brandingDone()?"outline":"primary"),a(2),O("is-done",e.connectDone()),a(),I("aria-expanded",e.connectOpen()),a(),O("done",e.connectDone())("todo",e.connectSubDone()===0)("partial",e.connectSubDone()>0&&!e.connectDone()),a(),_(e.connectDone()?23:e.connectSubDone()>0?24:-1),a(6),C("tone",e.connectBadgeTone()),a(2),w(e.connectSubDone()),a(4),O("open",e.connectOpen()),a(),_(e.connectOpen()?36:-1),a(),O("is-done",e.invitedDone()),a(),O("done",e.invitedDone())("todo",!e.invitedDone()),a(),_(e.invitedDone()?39:-1),a(6),C("variant",e.invitedDone()?"outline":"primary"),a(2),O("is-done",e.emailDone()),a(),O("done",e.emailDone())("todo",!e.emailDone()),a(),_(e.emailDone()?49:-1)}}function ai(t,n){if(t&1){let e=h();i(0,"div",0)(1,"div",1),W(),i(2,"svg",2),b(3,"circle",3)(4,"circle",4),r(),_t(),i(5,"span",5)(6,"b"),l(7),r(),i(8,"span",6),l(9,"/5"),r()()(),i(10,"div",7)(11,"span",8),l(12),r(),i(13,"div",9),u(14,Un,6,0)(15,Hn,4,2),r()(),i(16,"div",10)(17,"app-button",11),c("click",function(){p(e);let s=d();return m(s.expanded.set(!s.expanded()))}),l(18),b(19,"app-icon",12),r(),i(20,"app-button",13),c("click",function(){p(e);let s=d();return m(s.dismiss())}),b(21,"app-icon",14),r()()(),u(22,ri,60,39,"ul",15)}if(t&2){let e=d();a(),I("aria-label",e.doneCount()+" of 5 steps done"),a(3),I("stroke-dasharray",e.doneCount()/5*100+" 100"),a(3),w(e.doneCount()),a(5),y("Set up ",e.projectName()),a(2),_(e.requiredDone()?14:15),a(4),y(" ",e.expanded()?"Hide steps":"Show steps"," "),a(),O("open",e.expanded()),a(3),_(e.expanded()?22:-1)}}var Le=class t{onboarding=f(re);config=f(V);toast=f(B);router=f(M);wizard=f(ae);expanded=x(!1);connectOpen=x(!1);projectName=v(()=>this.config.branding().projectName??this.config.config.branding?.projectName??"your portal");brandingDone=this.onboarding.brandingDone;brandingSkipped=this.onboarding.brandingSkipped;vended=this.onboarding.vended;registered=this.onboarding.registered;connectDone=this.onboarding.connectDone;connectSubDone=v(()=>[this.vended(),this.registered(),this.vended()].filter(Boolean).length);connectBadgeTone=v(()=>this.connectSubDone()===0?"gray":this.connectSubDone()===3?"green":"amber");invitedDone=this.onboarding.invitedDone;emailDone=this.onboarding.emailDone;unregistered=this.onboarding.unregistered;doneCount=this.onboarding.doneCount;requiredDone=this.onboarding.requiredDone;nextTitle=this.onboarding.nextTitle;nextAction=v(()=>this.brandingDone()?this.connectDone()?this.invitedDone()?null:{label:"Invite users",click:()=>this.go("/users")}:null:{label:"Customize",click:()=>this.wizard.open()});visible=v(()=>this.onboarding.status()!==null&&!this.onboarding.hidden());snippet=v(()=>{let n=this.onboarding.status();return n?["new TargetAccountStack(app, 'Target-<name>', {",` env: { account: '<account id>', region: '${n.region}' },`,` issuerUrl: '${n.issuerUrl}',`," roles: [InfraClientRoles.READ_ONLY],","});"].join(`
2
+ `):""});constructor(){U(()=>{this.onboarding.openRequests()>0&&this.expanded.set(!0)})}go(n){this.router.navigateByUrl(n)}dismiss(){this.onboarding.dismiss(),this.toast.success("Onboarding steps live in your user menu (bottom left) whenever you need them.")}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-setup-checklist"]],hostVars:2,hostBindings:function(e,o){e&2&&z("display",o.visible()?null:"none")},decls:1,vars:1,consts:[[1,"head"],["role","img",1,"progress-ring"],["viewBox","0 0 52 52","aria-hidden","true"],["cx","26","cy","26","r","23","pathLength","100",1,"track"],["cx","26","cy","26","r","23","pathLength","100",1,"fill"],[1,"ringlabel"],[1,"sep"],[1,"titlewrap"],[1,"title","ui-microlabel"],[1,"next-row"],[1,"actions"],["size","sm","variant","outline",3,"click"],["name","chevron-right",1,"chev"],["size","icon","variant","ghost","ariaLabel","Dismiss the onboarding steps",3,"click"],["name","x",1,"h-3.5","w-3.5"],[1,"check"],[1,"tick","done"],[1,"lbl"],[1,"rest"],[1,"tick","todo"],["size","sm"],["size","sm",3,"click"],[1,"is-done"],[1,"grow"],[1,"t"],[1,"d"],[1,"tick"],["size","sm",1,"act",3,"click","variant"],[1,"connect"],["type","button",1,"row-head",3,"click"],["viewBox","0 0 16 16","aria-hidden","true"],[1,"tline"],[1,"substepcount",3,"tone"],[1,"sub-steps"],["tone","gray",1,"ml-1.5","align-middle"],["cx","8","cy","8","r","7","pathLength","100",1,"track"],["cx","8","cy","8","r","7","pathLength","100",1,"fill"],[1,"relative","mt-2"],[1,"overflow-auto","rounded-lg","bg-gray-900","p-3","pr-14","text-xs","leading-relaxed","text-gray-100","ring-1","ring-brand/20"],[1,"absolute","right-2","top-2"],["variant","icon",3,"text"],[1,"fine"]],template:function(e,o){e&1&&u(0,ai,23,9),e&2&&_(o.visible()?0:-1)},dependencies:[we,R,Ut,F],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;max-height:50vh;padding:14px 20px 12px}ul.check[_ngcontent-%COMP%]{min-height:0;overflow:auto}.head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:14px}.progress-ring[_ngcontent-%COMP%]{position:relative;flex:none;width:52px;height:52px}.progress-ring[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{fill:none;stroke-width:4}.progress-ring[_ngcontent-%COMP%] .track[_ngcontent-%COMP%]{stroke:var(--brand-muted)}.progress-ring[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%]{stroke:var(--brand);stroke-linecap:round;transition:stroke-dasharray .3s ease}.ringlabel[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.ringlabel[_ngcontent-%COMP%] .sep[_ngcontent-%COMP%]{margin-left:1.5px;color:var(--text-secondary)}.ringlabel[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{font-weight:600;color:var(--brand-text)}.titlewrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:3px;min-width:0;margin-right:auto}.title[_ngcontent-%COMP%]{color:var(--text-secondary)}.next-row[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;min-height:24px;font-size:.875rem}.next-row[_ngcontent-%COMP%] .lbl[_ngcontent-%COMP%]{font-weight:600}.next-row[_ngcontent-%COMP%] .rest[_ngcontent-%COMP%]{color:var(--muted-foreground);font-size:.75rem}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;flex:none}ul.check[_ngcontent-%COMP%]{list-style:none;margin:8px 0 0;padding:0}ul.check[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--border-strong)}ul.check[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]:first-child{border-top:0}.grow[_ngcontent-%COMP%]{min-width:0;flex:1}.act[_ngcontent-%COMP%]{margin-left:auto;flex:none;align-self:center}.tick[_ngcontent-%COMP%]{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:.56rem;font-weight:700;margin-top:1px}.tick.done[_ngcontent-%COMP%]{background:var(--dot-active);color:var(--success-foreground)}.tick.todo[_ngcontent-%COMP%]{border:1.5px solid var(--checkbox-border)}.tick.partial[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%;transform:rotate(-90deg)}.tick.partial[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{fill:none;stroke-width:2}.tick.partial[_ngcontent-%COMP%] .track[_ngcontent-%COMP%]{stroke:var(--checkbox-border)}.tick.partial[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%]{stroke:var(--dot-active);stroke-linecap:round}ul.check[_ngcontent-%COMP%] > li.connect[_ngcontent-%COMP%]{display:block}.row-head[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:12px;box-sizing:border-box;width:calc(100% + 12px);margin:-4px -6px;padding:4px 6px;border-radius:8px;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;color:inherit}.row-head[_ngcontent-%COMP%]:hover{background:var(--state-hover)}.row-head[_ngcontent-%COMP%] .grow[_ngcontent-%COMP%], .row-head[_ngcontent-%COMP%] .t[_ngcontent-%COMP%], .row-head[_ngcontent-%COMP%] .d[_ngcontent-%COMP%]{display:block}.tline[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.substepcount[_ngcontent-%COMP%]{flex:none;font-variant-numeric:tabular-nums}.substepcount[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{font-weight:600}.chev[_ngcontent-%COMP%]{width:16px;height:16px;margin-top:2px;color:var(--muted-foreground);transform:rotate(90deg);transition:transform .22s ease;flex-shrink:0}.chev.open[_ngcontent-%COMP%]{transform:rotate(-90deg)}.t[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;color:var(--surface-foreground)}li.is-done[_ngcontent-%COMP%] .t[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:500}.d[_ngcontent-%COMP%]{font-size:.75rem;color:var(--muted-foreground);margin-top:1px;line-height:1.5}li.is-done[_ngcontent-%COMP%] .d[_ngcontent-%COMP%]{color:var(--placeholder)}.sub-steps[_ngcontent-%COMP%]{list-style:none;margin:12px 0 2px 28px;padding:0;display:flex;flex-direction:column;gap:10px}.sub-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--state-hover)}.sub-steps[_ngcontent-%COMP%] .tick[_ngcontent-%COMP%]{width:14px;height:14px;font-size:.5rem}.sub-steps[_ngcontent-%COMP%] .t[_ngcontent-%COMP%]{font-size:.8125rem}.fine[_ngcontent-%COMP%]{font-size:.75rem;color:var(--muted-foreground);margin-top:7px}code[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}"]})};var si=(t,n)=>n.CredentialId;function li(t,n){t&1&&(i(0,"div",2),b(1,"app-spinner"),r())}function di(t,n){if(t&1&&(i(0,"p",13),l(1),St(2,"date"),r()),t&2){let e=d().$implicit;a(),y(" Added ",kt(2,1,e.CreatedAt*1e3,"mediumDate")," ")}}function ci(t,n){if(t&1){let e=h();i(0,"span",14)(1,"button",16),c("click",function(){p(e);let s=d().$implicit,g=d(3);return m(g.remove(s))}),l(2," Remove this passkey? "),r(),i(3,"button",17),c("click",function(){p(e);let s=d(4);return m(s.confirmingId.set(null))}),l(4," Keep "),r()()}if(t&2){let e=d(4);a(),C("disabled",e.busy())}}function pi(t,n){if(t&1){let e=h();i(0,"button",18),c("click",function(){p(e);let s=d().$implicit,g=d(3);return m(g.confirmingId.set(s.CredentialId))}),l(1," Remove "),r()}if(t&2){let e=d(4);C("disabled",e.busy())}}function mi(t,n){if(t&1&&(i(0,"div",10)(1,"div",11)(2,"p",12),l(3),r(),u(4,di,3,4,"p",13),r(),u(5,ci,5,1,"span",14)(6,pi,2,1,"button",15),r()),t&2){let e=n.$implicit,o=d(3);a(3),y(" ",e.FriendlyCredentialName||"Passkey"," "),a(),_(e.CreatedAt?4:-1),a(),_(o.confirmingId()===e.CredentialId?5:6)}}function ui(t,n){if(t&1&&(i(0,"div",8),S(1,mi,7,3,"div",10,si),r()),t&2){let e=d(2);a(),k(e.passkeys())}}function _i(t,n){t&1&&(i(0,"div",9)(1,"p",1),l(2," No passkeys yet \u2014 add one and it becomes a choice on the sign-in screen. "),r()())}function gi(t,n){if(t&1&&u(0,ui,3,0,"div",8)(1,_i,3,0,"div",9),t&2){let e=d();_(e.passkeys().length>0?0:1)}}function fi(t,n){if(t&1&&(i(0,"p",3),l(1),r()),t&2){let e=d();a(),w(e.error())}}function xi(t,n){t&1&&(i(0,"p",4),l(1," On a Mac, adding and using passkeys happens in your web browser \u2014 open this site there to add one. This app signs in with your password or an emailed code. "),r())}function Ci(t,n){if(t&1){let e=h();i(0,"app-button",19),c("click",function(){p(e);let s=d();return m(s.add())}),l(1," Add passkey "),r()}if(t&2){let e=d();C("loading",e.busy())("disabled",e.loading())}}var Be=class t{auth=f(T);api=f(te);toast=f(B);passkeyCapable=f($).passkeyCapable;closed=he();passkeys=x([]);loading=x(!0);busy=x(!1);error=x("");confirmingId=x(null);ngOnInit(){this.reload()}token(){return P(this,null,function*(){let n=yield this.auth.freshAccessToken();if(!n)throw new Error("Not signed in");return n})}reload(){this.loading.set(!0),this.token().then(n=>this.api.listPasskeys(n)).then(n=>this.passkeys.set(n)).catch(()=>this.error.set("Couldn\u2019t load your passkeys \u2014 try again.")).finally(()=>this.loading.set(!1))}add(){this.busy()||(this.busy.set(!0),this.error.set(""),this.token().then(n=>P(this,null,function*(){let e=yield this.api.startPasskeyRegistration(n),o=yield Wt(e.CredentialCreationOptions);yield this.api.completePasskeyRegistration(n,o),ye(o.id),this.toast.success("Passkey added"),this.reload()})).catch(n=>this.error.set(hi(n))).finally(()=>this.busy.set(!1)))}remove(n){this.busy()||(this.confirmingId.set(null),this.busy.set(!0),this.error.set(""),this.token().then(e=>this.api.deletePasskey(e,n.CredentialId)).then(()=>{Lt(n.CredentialId),this.toast.success("Passkey removed"),this.reload()}).catch(()=>this.error.set("Couldn\u2019t remove that passkey \u2014 try again.")).finally(()=>this.busy.set(!1)))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-passkeys-dialog"]],outputs:{closed:"closed"},decls:11,vars:4,consts:[["title","Passkeys",3,"closed"],[1,"text-sm","text-muted-foreground"],[1,"mt-4","flex","justify-center","py-4"],[1,"mt-3","text-sm","text-danger"],[1,"mt-3","text-sm","text-muted-foreground"],[1,"mt-5","flex","items-center","justify-end","gap-2"],["variant","outline",3,"click"],[3,"loading","disabled"],[1,"mt-4","divide-y","divide-border","rounded-lg","border","border-border"],[1,"mt-4","rounded-xl","border-2","border-dashed","border-border","p-5","text-center"],[1,"flex","items-center","justify-between","gap-3","px-4","py-3"],[1,"min-w-0"],[1,"truncate","text-sm","font-medium","text-surface-foreground"],[1,"text-xs","text-muted-foreground"],[1,"flex","shrink-0","items-center","gap-1.5"],[1,"shrink-0","rounded-lg","px-2.5","py-1","text-xs","font-medium","text-danger","transition-colors","hover:bg-danger/10",3,"disabled"],[1,"rounded-lg","bg-danger","px-2.5","py-1","text-xs","font-medium","text-white","transition-colors","hover:bg-danger-hover",3,"click","disabled"],[1,"rounded-lg","px-2","py-1","text-xs","font-medium","text-muted-foreground","hover:bg-muted",3,"click"],[1,"shrink-0","rounded-lg","px-2.5","py-1","text-xs","font-medium","text-danger","transition-colors","hover:bg-danger/10",3,"click","disabled"],[3,"click","loading","disabled"]],template:function(e,o){e&1&&(i(0,"app-dialog",0),c("closed",function(){return o.closed.emit()}),i(1,"p",1),l(2," Sign in with Touch ID, Face ID, Windows Hello, or a security key instead of a password or emailed code. A passkey stays with the browser or app it was added in \u2014 add one from each place you sign in. "),r(),u(3,li,2,0,"div",2)(4,gi,2,1),u(5,fi,2,1,"p",3),u(6,xi,2,0,"p",4),i(7,"div",5)(8,"app-button",6),c("click",function(){return o.closed.emit()}),l(9,"Close"),r(),u(10,Ci,2,2,"app-button",7),r()()),e&2&&(a(3),_(o.loading()?3:4),a(2),_(o.error()?5:-1),a(),_(o.passkeyCapable?-1:6),a(4),_(o.passkeyCapable?10:-1))},dependencies:[R,Se,ne,Pt],encapsulation:2})};function hi(t){if(t instanceof DOMException){if(t.name==="NotAllowedError")return"The passkey prompt was closed \u2014 try again.";if(t.name==="SecurityError")return"Passkeys only work on the deployed site, not this address.";if(t.name==="InvalidStateError")return"This device already has a passkey for this account."}return"Couldn\u2019t add a passkey \u2014 try again."}function bi(t,n){if(t&1&&Ze(0,"img",0),t&2){let e=d();ht("src",e.url(),J),I("width",e.size())("height",e.size())}}function vi(t,n){if(t&1&&Ze(0,"div",2),t&2){let e=d();z("width",e.size(),"px")("height",e.size(),"px")}}var se=class t{data=Je.required();size=Je(168);url=x("");constructor(){U(()=>{let n=this.data();if(!n){this.url.set("");return}import("./chunk-A4WHI3ZG.js").then(e=>(e.default??e).toDataURL(n,{margin:0,width:this.size()*2})).then(e=>this.url.set(e)).catch(()=>this.url.set(""))})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-qr-code"]],inputs:{data:[1,"data"],size:[1,"size"]},decls:2,vars:1,consts:[["alt","QR code",1,"qr",3,"src"],[1,"qr",3,"width","height"],[1,"qr"]],template:function(e,o){e&1&&u(0,bi,1,3,"img",0)(1,vi,1,4,"div",1),e&2&&_(o.url()?0:1)},styles:[".qr[_ngcontent-%COMP%]{display:block;border-radius:10px;background:#fff;padding:6px;border:1px solid var(--border)}"]})};function wi(t,n){t&1&&(i(0,"div",2),b(1,"app-spinner"),r())}function Si(t,n){if(t&1){let e=h();i(0,"div",8),b(1,"app-qr-code",9),r(),i(2,"p",10),l(3," Scan with any authenticator app (Google Authenticator, 1Password, Authy\u2026) \u2014 or enter this key manually: "),r(),i(4,"p",11),l(5),r(),i(6,"form",12),c("ngSubmit",function(){p(e);let s=d();return m(s.verify())}),i(7,"app-field",13)(8,"input",14),c("ngModelChange",function(s){p(e);let g=d();return m(g.verifyCode.set(s))}),r()()()}if(t&2){let e=d();a(),C("data",e.totpUri()),a(4),w(e.secret()),a(2),C("error",e.error()),a(),C("ngModel",e.verifyCode())}}function ki(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(2);a(),w(e.error())}}function Ei(t,n){if(t&1&&(i(0,"div",15)(1,"p",16),l(2,"Authenticator is on"),r(),i(3,"p",17),l(4," Sign-in is your password plus a code; other sign-in methods stay off while this is on. Lost the device? An admin can reset it from your user page. "),r()(),u(5,ki,2,1,"p",18)),t&2){let e=d();a(5),_(e.error()?5:-1)}}function Ti(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(2);a(),w(e.error())}}function Pi(t,n){if(t&1&&(i(0,"div",19)(1,"p",1),l(2," Not set up yet \u2014 your password alone signs you in. "),r()(),u(3,Ti,2,1,"p",18)),t&2){let e=d();a(3),_(e.error()?3:-1)}}function Ni(t,n){if(t&1){let e=h();i(0,"app-button",20),c("click",function(){p(e);let s=d();return m(s.verify())}),l(1," Verify and turn on "),r()}if(t&2){let e=d();C("loading",e.busy())("disabled",e.verifyCode().trim().length<6)}}function Mi(t,n){if(t&1){let e=h();i(0,"app-button",21),c("click",function(){p(e);let s=d();return m(s.disable())}),l(1,"Turn off"),r()}if(t&2){let e=d();C("loading",e.busy())}}function Di(t,n){if(t&1){let e=h();i(0,"app-button",22),c("click",function(){p(e);let s=d();return m(s.start())}),l(1,"Set up authenticator"),r()}if(t&2){let e=d();C("loading",e.busy())}}var Fe=class t{auth=f(T);api=f(te);toast=f(B);configService=f(V);closed=he();loading=x(!0);enabled=x(!1);busy=x(!1);error=x("");secret=x("");verifyCode=x("");productName=v(()=>this.configService.branding().projectName||"Access Portal");ngOnInit(){this.token().then(n=>this.api.totpEnabled(n)).then(n=>this.enabled.set(n)).catch(()=>this.error.set("Couldn\u2019t load your MFA status \u2014 try again.")).finally(()=>this.loading.set(!1))}token(){return P(this,null,function*(){let n=yield this.auth.freshAccessToken();if(!n)throw new Error("Not signed in");return n})}totpUri(){let n=encodeURIComponent(this.productName());return`otpauth://totp/${encodeURIComponent(`${this.productName()}:${this.auth.userEmail()}`)}?secret=${this.secret()}&issuer=${n}`}start(){this.busy()||(this.busy.set(!0),this.error.set(""),this.token().then(n=>this.api.associateSoftwareToken({accessToken:n})).then(n=>{this.secret.set(n.SecretCode),this.verifyCode.set("")}).catch(()=>this.error.set("Couldn\u2019t start setup \u2014 try again.")).finally(()=>this.busy.set(!1)))}verify(){this.busy()||this.verifyCode().trim().length<6||(this.busy.set(!0),this.error.set(""),this.token().then(n=>P(this,null,function*(){yield this.api.verifySoftwareToken({accessToken:n},this.verifyCode().trim()),yield this.api.setTotpEnabled(n,!0),this.secret.set(""),this.enabled.set(!0),this.toast.success("Authenticator on \u2014 sign-in is now your password + a code")})).catch(()=>this.error.set("That code isn\u2019t right \u2014 enter the current code from your app.")).finally(()=>this.busy.set(!1)))}disable(){this.busy()||(this.busy.set(!0),this.error.set(""),this.token().then(n=>this.api.setTotpEnabled(n,!1)).then(()=>{this.enabled.set(!1),this.toast.success("Authenticator off")}).catch(()=>this.error.set("Couldn\u2019t turn it off \u2014 try again.")).finally(()=>this.busy.set(!1)))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-authenticator-dialog"]],outputs:{closed:"closed"},decls:13,vars:2,consts:[["title","Authenticator (MFA)",3,"closed"],[1,"text-sm","text-muted-foreground"],[1,"mt-4","flex","justify-center","py-4"],[1,"mt-5","flex","items-center","justify-end","gap-2"],["variant","outline",3,"click"],[3,"loading","disabled"],["variant","outline",3,"loading"],[3,"loading"],[1,"mt-4","flex","justify-center"],[3,"data"],[1,"mt-3","text-center","text-xs","text-muted-foreground"],[1,"secret"],[3,"ngSubmit"],["label","6-digit code from the app",3,"error"],["type","text","name","totpCode","inputmode","numeric","autocomplete","one-time-code","maxlength","6","autofocus","",1,"ui-input","code",3,"ngModelChange","ngModel"],[1,"mt-4","rounded-lg","border","border-border","px-4","py-3"],[1,"text-sm","font-medium","text-surface-foreground"],[1,"mt-0.5","text-xs","text-muted-foreground"],[1,"mt-3","text-sm","text-danger"],[1,"mt-4","rounded-xl","border-2","border-dashed","border-border","p-5","text-center"],[3,"click","loading","disabled"],["variant","outline",3,"click","loading"],[3,"click","loading"]],template:function(e,o){e&1&&(i(0,"app-dialog",0),c("closed",function(){return o.closed.emit()}),i(1,"p",1),l(2," A 6-digit code from an authenticator app, asked for after your password. While it's on, password + code is your only way to sign in \u2014 other methods like passkey and email code aren't offered. "),r(),u(3,wi,2,0,"div",2)(4,Si,9,4)(5,Ei,6,1)(6,Pi,4,1),i(7,"div",3)(8,"app-button",4),c("click",function(){return o.closed.emit()}),l(9,"Close"),r(),u(10,Ni,2,2,"app-button",5)(11,Mi,2,1,"app-button",6)(12,Di,2,1,"app-button",7),r()()),e&2&&(a(3),_(o.loading()?3:o.secret()?4:o.enabled()?5:6),a(7),_(o.secret()?10:o.enabled()?11:12))},dependencies:[Oe,Me,ke,Ee,Te,De,Ne,Pe,R,Se,Ie,se,ne],styles:[".secret[_ngcontent-%COMP%]{font-family:ui-monospace,monospace;font-size:12px;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--surface-foreground);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0 12px}input.code[_ngcontent-%COMP%]{text-align:center;font-size:18px;letter-spacing:.35em;font-variant-numeric:tabular-nums}"]})};var Oi=["extendPanelTpl"],Ii=["resourceExtendPanelTpl"],Vi=()=>[cn],Ai=()=>[import("./chunk-MU2VNTNY.js").then(t=>t.RequestResourceFormComponent)],Ri=t=>({expired:t}),In=(t,n)=>n.requestId,Li=(t,n)=>n.su.clientId,Bi=(t,n)=>n.noticeId,Mn=(t,n)=>n.accountNumber+n.roleName,Dn=(t,n)=>n.resourceId;function On(t,n){return this.pluginKey(n)}function Fi(t,n){t&1&&b(0,"span",5)}function qi(t,n){t&1&&(i(0,"span",9),l(1,"Refreshing\u2026"),r())}function zi(t,n){if(t&1){let e=h();i(0,"div",10)(1,"span",13),l(2,"Pop-ups are off in this browser."),r(),i(3,"button",14),c("click",function(){p(e);let s=d(2);return m(s.allowPopups())}),l(4,"Turn on"),r(),i(5,"button",15),c("click",function(){p(e);let s=d(2);return m(s.dismissNudge())}),l(6,"\u2715"),r()()}}function Ui(t,n){if(t&1){let e=h();i(0,"app-tabs",16),yt("selectedChange",function(s){p(e);let g=d(2);return vt(g.tab,s)||(g.tab=s),m(s)}),r()}if(t&2){let e=d(2);C("tabs",e.TABS),bt("selected",e.tab),C("dotted",e.dottedTabs())}}function $i(t,n){if(t&1){let e=h();i(0,"button",23),c("click",function(){p(e);let s=d(4);return m(s.goToRequests())}),b(1,"span",24),i(2,"span",25)(3,"span",26)(4,"span",27),l(5),r(),l(6),i(7,"span",27),l(8),r()(),i(9,"span",28),l(10),r()()()}if(t&2){let e=n.$implicit,o=d(4);a(5),w(e.group||e.serviceUser||e.email||"A user"),a(),y(" ",e.type==="REAPPROVAL"?"\xB7 review of":"requested"," "),a(2),w(o.subjectOf(e)),a(2),ee(" ",o.metaOf(e)," \xB7 ",o.ago(e.createdAt)," ")}}function Wi(t,n){if(t&1){let e=h();i(0,"section",17)(1,"p",19),l(2," Awaiting your decision "),r(),S(3,$i,11,5,"button",20,In),i(5,"div",21)(6,"button",22),c("click",function(){p(e);let s=d(3);return m(s.goToRequests())}),l(7," Review all requests \u2192 "),r()()()}if(t&2){let e=d(3);a(3),k(e.store.pending())}}function Hi(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",30),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",33),l(7),r()(),i(8,"p",34),l(9),r(),i(10,"button",35),c("click",function(){p(e);let s=d(4);return m(s.goToServiceUsers())}),l(11),r()()()}if(t&2){let e=n.$implicit;a(),D(e.tone==="amber"?"bg-amber-500":"bg-gray-400"),a(4),w(e.su.name),a(),C("tone",e.tone),a(),w(e.badge),a(2),w(e.blurb),a(2),y(" ",e.cta," ")}}function ji(t,n){if(t&1&&(i(0,"section",17)(1,"p",19),l(2," Service users "),r(),S(3,Hi,12,7,"div",29,Li),r()),t&2){let e=d(3);a(3),k(e.store.serviceUserNags())}}function Gi(t,n){t&1&&(i(0,"p",18),l(1," Nothing needs your attention. "),r())}function Ki(t,n){if(t&1&&(u(0,Wi,8,0,"section",17),u(1,ji,5,0,"section",17),u(2,Gi,2,0,"p",18)),t&2){let e,o=d(2);_((e=o.store.pending())!=null&&e.length?0:-1),a(),_(o.store.serviceUserNags().length?1:-1),a(),_(o.store.adminAttention()===0?2:-1)}}function Yi(t,n){t&1&&(i(0,"app-badge",39),l(1,"Granted"),r())}function Qi(t,n){t&1&&(i(0,"app-badge",40),l(1,"Revoked"),r())}function Zi(t,n){if(t&1){let e=h();i(0,"button",35),c("click",function(){p(e);let s=d().$implicit,g=d(4);return m(g.requestRevoked(s))}),l(1," Request again \u2192 "),r()}}function Ji(t,n){if(t&1&&(i(0,"div",29),b(1,"span",30),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),u(6,Yi,2,0,"app-badge",39)(7,Qi,2,0,"app-badge",40),r(),i(8,"p",34),l(9),r(),i(10,"p",41),l(11),r(),u(12,Zi,2,0,"button",42),r()()),t&2){let e=n.$implicit,o=d(4);D(o.isNewChange(e)?"bg-brand/5":""),a(),D(e.change==="GRANTED"?"bg-green-500":"bg-red-500"),a(4),y(" ",o.noticeSubject(e)," "),a(),_(e.change==="GRANTED"?6:7),a(3),ee(" ",o.noticeContext(e,o.labelOf)," \xB7 ",o.ago(e.revokedAt)," "),a(2),w(o.blurbFor(e)),a(),_(e.change==="REVOKED"&&e.via!=="CASCADE"&&e.kind!=="SHARE"&&e.kind!=="PLUGIN"&&e.kind!=="BUNDLE"?12:-1)}}function Xi(t,n){if(t&1&&(i(0,"section",17)(1,"p",19),l(2," Access changes "),r(),S(3,Ji,13,10,"div",38,Bi),r()),t&2){let e=d(3);a(3),k(e.recentChanges())}}function eo(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",24),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",43),l(7),r()(),i(8,"p",34),l(9),r(),i(10,"button",35),c("click",function(){let s=p(e).$implicit,g=d(4);return m(g.requestMore(s,!1))}),l(11," Request more time \u2192 "),r()()()}if(t&2){let e=n.$implicit,o=d(4);D(o.isNewExpiry(e)?"bg-brand/5":""),a(5),y(" ",e.roleName," "),a(2),y("expires ",o.until(e.expiresAt)),a(2),w(o.names.label(e.accountNumber))}}function to(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",44),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",40),l(7),r()(),i(8,"p",34),l(9),r(),i(10,"button",35),c("click",function(){let s=p(e).$implicit,g=d(4);return m(g.requestMore(s,!0))}),l(11," Request again \u2192 "),r()()()}if(t&2){let e=n.$implicit,o=d(4);D(o.isNewExpiry(e)?"bg-brand/5":""),a(5),y(" ",e.roleName," "),a(2),y("expired ",o.until(e.expiresAt)),a(2),w(o.names.label(e.accountNumber))}}function no(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",24),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",43),l(7),r()(),i(8,"p",34),l(9,"network resource"),r(),i(10,"button",35),c("click",function(){let s=p(e).$implicit,g=d(4);return m(g.requestMoreResource(s,!1))}),l(11," Request more time \u2192 "),r()()()}if(t&2){let e=n.$implicit,o=d(4);a(5),y(" ",e.name," "),a(2),y("expires ",o.until(e.expiresAt))}}function io(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",44),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",40),l(7),r()(),i(8,"p",34),l(9,"network resource"),r(),i(10,"button",35),c("click",function(){let s=p(e).$implicit,g=d(4);return m(g.requestMoreResource(s,!0))}),l(11," Request again \u2192 "),r()()()}if(t&2){let e=n.$implicit,o=d(4);a(5),y(" ",e.name," "),a(2),y("expired ",o.until(e.expiresAt))}}function oo(t,n){if(t&1){let e=h();i(0,"div",29),b(1,"span",24),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",43),l(7),r()(),i(8,"p",34),l(9),r(),i(10,"button",35),c("click",function(){let s=p(e).$implicit,g=d(4);return m(g.openPlugin(s))}),l(11," Open plugin \u2192 "),r()()()}if(t&2){let e=n.$implicit,o=d(4);a(5),y(" ",e.pluginName," "),a(2),y("expires ",o.until(e.expiresAt)),a(2),w(o.pluginSubject(e))}}function ro(t,n){if(t&1&&(i(0,"div",29),b(1,"span",44),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",40),l(7),r()(),i(8,"p",34),l(9),r()()()),t&2){let e=n.$implicit,o=d(4);a(5),y(" ",e.pluginName," "),a(2),y("expired ",o.until(e.expiresAt)),a(2),w(o.pluginSubject(e))}}function ao(t,n){if(t&1&&(i(0,"section",17)(1,"p",19),l(2," Temporary access "),r(),S(3,eo,12,5,"div",38,Mn),S(5,to,12,5,"div",38,Mn),S(7,no,12,2,"div",29,Dn),S(9,io,12,2,"div",29,Dn),S(11,oo,12,3,"div",29,On,!0),S(13,ro,10,3,"div",29,On,!0),r()),t&2){let e=d(3);a(3),k(e.store.expiry().expiring),a(2),k(e.store.expiry().expired),a(2),k(e.store.resourceExpiry().expiring),a(2),k(e.store.resourceExpiry().expired),a(2),k(e.store.pluginExpiry().expiring),a(2),k(e.store.pluginExpiry().expired)}}function so(t,n){t&1&&(i(0,"p",36),l(1,"Loading\u2026"),r())}function lo(t,n){t&1&&(i(0,"p",37),l(1," You haven't requested any roles yet. "),r())}function co(t,n){if(t&1&&(i(0,"p",46),l(1),r()),t&2){let e=d().$implicit;a(),y(' "',e.decisionNote,'" ')}}function po(t,n){if(t&1&&(i(0,"div",29),b(1,"span",30),i(2,"div",25)(3,"div",31)(4,"span",32),l(5),r(),i(6,"app-badge",33),l(7),r()(),i(8,"p",34),l(9),r(),i(10,"p",45),l(11),r(),u(12,co,2,1,"p",46),r()()),t&2){let e=n.$implicit,o=d(4);D(o.isNew(e)?"bg-brand/5":""),a(),D(o.dot(e.status)),a(4),y(" ",o.subjectOf(e)," "),a(),C("tone",o.tone(e.status)),a(),w(o.label(e.status)),a(2),ee(" ",o.metaOf(e)," \xB7 ",o.ago(e.decidedAt??e.createdAt)," "),a(),D(o.blurbClass(e.status)),a(),y(" ",o.blurb(e)," "),a(),_(e.decisionNote?12:-1)}}function mo(t,n){if(t&1&&S(0,po,13,13,"div",38,In),t&2){let e=d(3);k(e.store.myRequests())}}function uo(t,n){if(t&1&&(u(0,Xi,5,0,"section",17),u(1,ao,15,0,"section",17),i(2,"section")(3,"p",19),l(4," Your requests "),r(),u(5,so,2,0,"p",36)(6,lo,2,0,"p",37)(7,mo,2,0),r()),t&2){let e=d(2);_(e.recentChanges().length?0:-1),a(),_(e.store.expiry().expiring.length||e.store.expiry().expired.length||e.store.resourceExpiry().expiring.length||e.store.resourceExpiry().expired.length||e.store.pluginExpiry().expiring.length||e.store.pluginExpiry().expired.length?1:-1),a(4),_(e.store.myRequests()===null?5:e.store.myRequests().length===0?6:7)}}function _o(t,n){if(t&1&&(i(0,"div",6)(1,"header",7)(2,"h2",8),l(3,"Activity"),r(),u(4,qi,2,0,"span",9),r(),u(5,zi,7,0,"div",10),u(6,Ui,1,3,"app-tabs",11),i(7,"div",12),u(8,Ki,3,3)(9,uo,8,3),r()()),t&2){let e=d();a(4),_(e.store.loading()?4:-1),a(),_(e.nudge()?5:-1),a(),_(e.auth.isAdmin()?6:-1),a(2),_(e.tab()==="Admin"?8:9)}}function go(t,n){if(t&1){let e=h();i(0,"app-request-role-form",49),c("created",function(){p(e);let s=d(3);return m(s.onExtendCreated())})("closed",function(){p(e);let s=d(3);return m(s.extendTarget.set(null))}),r()}t&2&&C("preset",n)}function fo(t,n){if(t&1&&u(0,go,1,1,"app-request-role-form",48),t&2){let e,o=d(2);_((e=o.extendTarget())?0:-1,e)}}function xo(t,n){if(t&1){let e=h();i(0,"app-panel",47),c("closed",function(){p(e);let s=d();return m(s.extendTarget.set(null))}),H(1,fo,1,1),j(2,1,Vi),r()}if(t&2){let e=d();C("title",e.extendTitle())("contentKey",e.extendTarget()?e.extendTarget().accountNumber+":"+e.extendTarget().roleName:null),a(2),G(e.extendTarget()!==null)}}function Co(t,n){if(t&1){let e=h();i(0,"app-request-resource-form",52),c("created",function(){p(e);let s=d(3);return m(s.onResourceExtendCreated())})("closed",function(){p(e);let s=d(3);return m(s.resourceExtendTarget.set(null))}),r()}if(t&2){let e=n;C("resource",e.resource)("extension",wt(2,Ri,e.expired))}}function ho(t,n){if(t&1&&u(0,Co,1,4,"app-request-resource-form",51),t&2){let e,o=d(2);_((e=o.resourceExtendTarget())?0:-1,e)}}function bo(t,n){if(t&1){let e=h();i(0,"app-panel",50),c("closed",function(){p(e);let s=d();return m(s.resourceExtendTarget.set(null))}),H(1,ho,1,1),j(2,1,Ai),r()}if(t&2){let e=d();C("title",e.resourceExtendTitle())("contentKey",e.resourceExtendTarget()?e.resourceExtendTarget().resource.resourceId:null),a(2),G(e.resourceExtendTarget()!==null)}}var qe=class t{store=f(oe);names=f(Qt);constructor(){this.names.ensure(),_e(this.extendTarget,this.extendPanelTpl,()=>this.extendTarget.set(null)),_e(this.resourceExtendTarget,this.resourceExtendPanelTpl,()=>this.resourceExtendTarget.set(null)),this.route.queryParamMap.pipe(Gt()).subscribe(n=>{n.get("bell")&&(this.open()||this.toggle(),this.router.navigate([],{queryParams:{bell:null},queryParamsHandling:"merge",replaceUrl:!0}))})}auth=f(T);router=f(M);route=f(Ot);host=f(gt);bridge=f($);open=x(!1);permission=x(typeof Notification>"u"?"unsupported":Notification.permission);nudgeDismissed=x(!1);nudgeKey(){return`notifications:nudge-dismissed:${this.auth.userSub()}`}nudge=v(()=>{if(this.bridge.isDesktop||this.permission()!=="default"||this.nudgeDismissed()||this.store.prefs()?.enabled===!1)return!1;try{return localStorage.getItem(this.nudgeKey())===null}catch{return!1}});allowPopups(){typeof Notification>"u"||Notification.requestPermission().then(n=>{this.permission.set(n),n!=="default"&&this.dismissNudge()}).catch(()=>{})}dismissNudge(){this.nudgeDismissed.set(!0);try{localStorage.setItem(this.nudgeKey(),"1")}catch{}}TABS=["For you","Admin"];tab=x("For you");dottedTabs=v(()=>this.store.adminAttention()>0?["Admin"]:[]);extendTarget=x(null);extendSent=x(!1);extendPanelTpl=Y("extendPanelTpl");extendTitle=v(()=>this.extendSent()?"Request sent":this.extendTarget()?.expired?"Request access again":"Request more time");onExtendCreated(){this.extendSent.set(!0),this.store.load()}resourceExtendTarget=x(null);resourceExtendSent=x(!1);resourceExtendPanelTpl=Y("resourceExtendPanelTpl");resourceExtendTitle=v(()=>this.resourceExtendSent()?"Request sent":this.resourceExtendTarget()?.expired?"Request access again":"Request more time");onResourceExtendCreated(){this.resourceExtendSent.set(!0),this.store.load()}newIds=x(new Set);newExpiryKeys=x(new Set);newChangeIds=x(new Set);recentChanges=v(()=>this.store.accessChanges().slice(0,5));ariaLabel=v(()=>{let n=this.store.count();return n?`Activity \u2014 ${n} new`:"Activity"});toggle(){typeof Notification<"u"&&this.permission.set(Notification.permission);let n=!this.open();if(this.open.set(n),!n)return;let e=this.store.unseenDecisions().length+this.store.unseenExpiry().length+this.store.unseenResourceExpiry().length+this.store.unseenPluginExpiry().length+this.store.unseenAccessChanges().length;this.tab.set(this.auth.isAdmin()&&e===0&&this.store.adminAttention()>0?"Admin":"For you"),this.newIds.set(new Set(this.store.unseenDecisions().map(o=>o.requestId))),this.newExpiryKeys.set(new Set(this.store.unseenExpiry().map(o=>`${o.accountNumber}#${o.roleName}`))),this.newChangeIds.set(new Set(this.store.unseenAccessChanges().map(o=>o.noticeId))),this.store.load(),this.store.markSeen()}isNewChange(n){return this.newChangeIds().has(n.noticeId)}blurbFor(n){let e=n.change==="GRANTED"?rn(n):on(n);return e.charAt(0).toUpperCase()+e.slice(1)}requestRevoked(n){if(this.open.set(!1),n.kind==="RESOURCE"){if(!n.resourceId)return;this.resourceExtendSent.set(!1),this.resourceExtendTarget.set({resource:{resourceId:n.resourceId,name:n.resourceName??"resource"},expired:!0})}else this.extendSent.set(!1),this.extendTarget.set({accountNumber:n.accountNumber??"",roleName:n.roleName??"",expired:!0})}isNew(n){return this.newIds().has(n.requestId)}isNewExpiry(n){return this.newExpiryKeys().has(`${n.accountNumber}#${n.roleName}`)}until(n){return Ae(n)}requestMore(n,e){this.open.set(!1),this.extendSent.set(!1),this.extendTarget.set({accountNumber:n.accountNumber,roleName:n.roleName,expired:e})}requestMoreResource(n,e){this.open.set(!1),this.resourceExtendSent.set(!1),this.resourceExtendTarget.set({resource:{resourceId:n.resourceId,name:n.name},expired:e})}pluginKey(n){return`${n.pluginId}#${n.accountNumber}#${n.permission}`}pluginSubject(n){return`${n.permission} \xB7 ${n.accountName||n.accountNumber}`}openPlugin(n){this.open.set(!1),this.router.navigateByUrl(en(n))}goToRequests(){this.open.set(!1),this.router.navigate(["/admin/requests"])}goToServiceUsers(){this.open.set(!1),this.router.navigate(["/users"],{queryParams:{tab:"service-users"}})}subjectOf=an;labelOf=n=>this.names.label(n);metaOf(n){return sn(n,e=>this.names.label(e))}noticeSubject=tn;noticeContext=nn;onDocumentClick(n){this.open()&&(this.host.nativeElement.contains(n.target)||this.open.set(!1))}onEscape(){this.open.set(!1)}label(n){return{PENDING:"Pending",APPROVED:"Approved",DENIED:"Denied"}[n]}tone(n){return{PENDING:"amber",APPROVED:"green",DENIED:"red"}[n]}dot(n){return{PENDING:"bg-amber-500",APPROVED:"bg-green-500",DENIED:"bg-red-500"}[n]}blurbClass(n){return n==="APPROVED"?"text-success":"text-muted-foreground"}blurb(n){switch(n.status){case"PENDING":return"Waiting for an admin to review.";case"APPROVED":return n.kind==="RESOURCE"?"Approved \u2014 see it on your Network page.":n.kind==="PLUGIN"?"Approved \u2014 your plugin access continues.":"Approved \u2014 the role is in your access list.";case"DENIED":return"Denied. You can request it again if you still need it."}}ago=ln;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-notification-bell"]],viewQuery:function(e,o){e&1&&(K(o.extendPanelTpl,Oi,5),K(o.resourceExtendPanelTpl,Ii,5)),e&2&&X(2)},hostBindings:function(e,o){e&1&&c("click",function(g){return o.onDocumentClick(g)},ce)("keydown.escape",function(){return o.onEscape()},ce)},decls:9,vars:4,consts:[["extendPanelTpl",""],["resourceExtendPanelTpl",""],[1,"relative"],[1,"relative","grid","h-[30px]","w-[30px]","place-items-center","rounded-lg","text-muted-foreground","transition-colors","hover:bg-muted",3,"click"],["name","bell",1,"h-4","w-4"],[1,"absolute","right-[3px]","top-[3px]","h-1.5","w-1.5","rounded-full","bg-notif","shadow-[0_0_0_2px_var(--surface)]"],["role","dialog","aria-label","Activity",1,"absolute","left-0","z-50","mt-2","w-96","overflow-hidden","rounded-xl","border","border-border","bg-popover","shadow-toast","backdrop-blur-2xl"],[1,"flex","items-center","justify-between","border-b","border-border","px-4","py-2.5"],[1,"text-sm","font-semibold","text-surface-foreground"],[1,"text-xs","text-placeholder"],["data-testid","popup-nudge",1,"flex","items-center","gap-2","border-b","border-border","bg-brand/5","px-4","py-2.5","text-xs"],[1,"block","px-2",3,"tabs","selected","dotted"],[1,"max-h-96","overflow-y-auto"],[1,"min-w-0","flex-1","text-surface-foreground"],["type","button",1,"font-medium","text-brand-text","hover:underline",3,"click"],["type","button","aria-label","Dismiss",1,"text-muted-foreground","hover:text-surface-foreground",3,"click"],[1,"block","px-2",3,"selectedChange","tabs","selected","dotted"],[1,"border-b","border-border"],[1,"px-4","py-4","text-sm","text-muted-foreground"],[1,"px-4","pb-1","pt-3","ui-microlabel","text-muted-foreground"],[1,"flex","w-full","items-start","gap-2.5","px-4","py-2.5","text-left","transition-colors","hover:bg-muted"],[1,"px-4","pb-3","pt-1"],[1,"text-xs","font-medium","text-brand-text","hover:underline",3,"click"],[1,"flex","w-full","items-start","gap-2.5","px-4","py-2.5","text-left","transition-colors","hover:bg-muted",3,"click"],[1,"mt-1.5","h-2","w-2","shrink-0","rounded-full","bg-amber-500"],[1,"min-w-0","flex-1"],[1,"block","text-sm","text-surface-foreground"],[1,"font-medium"],[1,"mt-0.5","block","text-xs","text-muted-foreground"],[1,"flex","items-start","gap-2.5","px-4","py-2.5"],[1,"mt-1.5","h-2","w-2","shrink-0","rounded-full"],[1,"flex","items-center","justify-between","gap-2"],[1,"truncate","text-sm","font-medium","text-surface-foreground"],[3,"tone"],[1,"mt-0.5","text-xs","text-muted-foreground"],[1,"mt-1","text-xs","font-medium","text-brand-text","hover:underline",3,"click"],[1,"px-4","py-3","text-sm","text-muted-foreground"],[1,"px-4","pb-4","pt-1","text-sm","text-muted-foreground"],[1,"flex","items-start","gap-2.5","px-4","py-2.5",3,"class"],["tone","green"],["tone","red"],[1,"mt-1","text-xs","text-muted-foreground"],[1,"mt-1","text-xs","font-medium","text-brand-text","hover:underline"],["tone","amber"],[1,"mt-1.5","h-2","w-2","shrink-0","rounded-full","bg-red-500"],[1,"mt-1","text-xs"],[1,"mt-1","rounded-md","bg-muted","px-2","py-1","text-xs","italic","text-muted-foreground"],[3,"closed","title","contentKey"],[3,"preset"],[3,"created","closed","preset"],["size","lg",3,"closed","title","contentKey"],[3,"resource","extension"],[3,"created","closed","resource","extension"]],template:function(e,o){if(e&1){let s=h();i(0,"div",2)(1,"button",3),c("click",function(){return p(s),m(o.toggle())}),b(2,"app-icon",4),u(3,Fi,1,0,"span",5),r(),u(4,_o,10,4,"div",6),Ce(5,xo,4,3,"ng-template",null,0,pe)(7,bo,4,3,"ng-template",null,1,pe),r()}e&2&&(a(),I("aria-label",o.ariaLabel())("aria-expanded",o.open()),a(2),_(o.store.count()?3:-1),a(),_(o.open()?4:-1))},dependencies:[we,F,Re,un],encapsulation:2})};var vo=(t,n)=>n.kind;function yo(t,n){t&1&&l(0," They appear as system notifications from the desktop app \u2014 also while it sits in the tray. ")}function wo(t,n){t&1&&l(0," In a browser they appear only while a tab of this app is open; the browser asks for permission when the switch is turned on. ")}function So(t,n){}function ko(t,n){t&1&&(i(0,"p",7),l(1," Blocked in this browser \u2014 allow notifications for this site in the browser's settings. "),r())}function Eo(t,n){t&1&&(i(0,"p",3),l(1,"This browser doesn't support notifications."),r())}function To(t,n){if(t&1){let e=h();i(0,"app-button",9),c("click",function(){p(e);let s=d(2);return m(s.allow())}),l(1," Allow in this browser "),r()}}function Po(t,n){if(t&1&&u(0,So,0,0)(1,ko,2,0,"p",7)(2,Eo,2,0,"p",3)(3,To,2,0,"app-button",8),t&2){let e,o=d();_((e=o.permission())==="granted"?0:e==="denied"?1:e==="unsupported"?2:3)}}function No(t,n){if(t&1){let e=h();i(0,"label",6)(1,"input",10),c("change",function(s){let g=p(e).$implicit,N=d();return m(N.setKind(g.kind,s))}),r(),i(2,"span",11)(3,"span",12),l(4),r(),i(5,"span",13),l(6),r()()()}if(t&2){let e=n.$implicit,o=d();a(),C("checked",o.prefs().kinds[e.kind])("disabled",!o.prefs().enabled),I("aria-label",e.label),a(3),w(e.label),a(2),w(e.hint)}}var Mo=[{kind:"granted",label:"Access granted",hint:"access you did not ask for: a direct grant, a group, a share",adminOnly:!1},{kind:"revoked",label:"Access revoked",hint:"a role, resource, share or plugin permission taken away",adminOnly:!1},{kind:"decided",label:"Request decisions",hint:"your requests approved or denied",adminOnly:!1},{kind:"expiring",label:"Access expiring",hint:"temporary access about to end, or ended",adminOnly:!1},{kind:"session",label:"Session ending",hint:"your sign-in is about to reach its limit",adminOnly:!1},{kind:"requests",label:"New requests",hint:"someone asked for access",adminOnly:!0},{kind:"reviews",label:"Yearly reviews",hint:"a review is waiting for a decision",adminOnly:!0}],ze=class t{bridge=f($);store=f(oe);auth=f(T);toast=f(B);prefs=v(()=>this.store.prefs()??Zt);rows=v(()=>Mo.filter(n=>!n.adminOnly||this.auth.isAdmin()));permission=x(typeof Notification>"u"?"unsupported":Notification.permission);constructor(){this.store.ensurePrefs()}allow(){typeof Notification>"u"||Notification.requestPermission().then(n=>this.permission.set(n)).catch(()=>{})}setEnabled(n){n&&!this.bridge.isDesktop&&this.permission()==="default"&&this.allow(),this.save({enabled:n})}setKind(n,e){this.save({kinds:{[n]:e.target.checked}})}save(n){this.store.savePrefs(n).subscribe({error:e=>this.toast.error(dn(e,"Couldn't save notification settings."))})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-notification-settings"]],decls:13,vars:5,consts:[[1,"flex","items-center","justify-between","gap-3"],[1,"text-sm","font-medium","text-surface-foreground"],["ariaLabel","Pop-up notifications",3,"checkedChange","checked"],[1,"mt-2","text-xs","text-text-secondary"],[1,"ui-microlabel","mb-1","mt-6","px-1","text-muted-foreground"],[1,"rounded-lg","border","border-border"],[1,"ui-check-row","border-b","border-border","text-sm","last:border-b-0"],[1,"mt-2","text-xs","text-danger"],["variant","outline","size","sm",1,"mt-3"],["variant","outline","size","sm",1,"mt-3",3,"click"],["type","checkbox",1,"ui-checkbox",3,"change","checked","disabled"],[1,"min-w-0","flex-1"],[1,"block","font-medium","tracking-[0.015em]","text-surface-foreground"],[1,"block","text-xs","text-text-secondary"]],template:function(e,o){e&1&&(i(0,"div",0)(1,"span",1),l(2,"Pop-up notifications"),r(),i(3,"app-toggle",2),c("checkedChange",function(g){return o.setEnabled(g)}),r()(),i(4,"p",3),u(5,yo,1,0)(6,wo,1,0),r(),u(7,Po,4,1),i(8,"p",4),l(9,"Tell me about"),r(),i(10,"div",5),S(11,No,7,5,"label",6,vo),r()),e&2&&(a(3),C("checked",o.prefs().enabled),a(2),_(o.bridge.isDesktop?5:6),a(2),_(o.bridge.isDesktop?-1:7),a(3),O("opacity-60",!o.prefs().enabled),a(),k(o.rows()))},dependencies:[R,_n],encapsulation:2})};var Do=3e4,le=class t{now=x(Date.now());constructor(){let n=()=>this.now.set(Date.now()),e=setInterval(n,Do),o=()=>{document.hidden||n()};document.addEventListener("visibilitychange",o),f(xe).onDestroy(()=>{clearInterval(e),document.removeEventListener("visibilitychange",o)})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})};var Vn="auth.sessionBannerDismissed",Ue=class t{auth=f(T);now=f(le).now;dismissedFor=x(Oo());visible=v(()=>{let n=this.auth.sessionEndsAt();return Xt(n,this.now())&&this.dismissedFor()!==n});endsAtLabel=v(()=>{let n=this.auth.sessionEndsAt();return n===null?"":ie(new Date(n).toISOString(),{sameDayTimeOnly:!0})});remaining=v(()=>{let n=this.auth.sessionEndsAt();return n===null?"":Ae(new Date(n).toISOString(),this.now())});dismiss(){let n=this.auth.sessionEndsAt();this.dismissedFor.set(n);try{n!==null&&sessionStorage.setItem(Vn,String(n))}catch{}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-session-banner"]],hostAttrs:["role","status","data-testid","session-banner"],hostVars:2,hostBindings:function(e,o){e&2&&z("display",o.visible()?null:"none")},decls:9,vars:2,consts:[["name","clock",1,"ic"],[1,"text"],["size","sm",3,"click"],["type","button","aria-label","Dismiss",1,"dismiss",3,"click"]],template:function(e,o){e&1&&(b(0,"app-icon",0),i(1,"p",1)(2,"strong"),l(3),r(),l(4),r(),i(5,"app-button",2),c("click",function(){return o.auth.reauthenticate()}),l(6,"Sign in again"),r(),i(7,"button",3),c("click",function(){return o.dismiss()}),l(8,"\u2715"),r()),e&2&&(a(3),y("Your session ends at ",o.endsAtLabel()),a(),y(" (",o.remaining(),"). Sign in again now to keep your credentials and network connection. "))},dependencies:[R,F],styles:["[_nghost-%COMP%]{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:13px;color:var(--surface-foreground)}.ic[_ngcontent-%COMP%]{width:18px;height:18px;flex-shrink:0;color:var(--warning)}.text[_ngcontent-%COMP%]{flex:1;min-width:0;margin:0}.dismiss[_ngcontent-%COMP%]{border:none;background:none;cursor:pointer;padding:4px 6px;border-radius:6px;color:var(--muted-foreground)}.dismiss[_ngcontent-%COMP%]:hover{background:var(--state-hover);color:var(--surface-foreground)}"]})};function Oo(){try{let t=Number(sessionStorage.getItem(Vn));return t>0?t:null}catch{return null}}var Io=()=>[import("./chunk-CGO25AIM.js").then(t=>t.NetworkSetupDialogComponent)],Vo=(t,n)=>n.id,st=(t,n)=>n.accountNumber;function Ao(t,n){t&1&&(i(0,"span",4),l(1,"\u23FB"),r(),l(2," Connect network "),i(3,"span",5),l(4,"\u25BE"),r())}function Ro(t,n){t&1&&(i(0,"span",4),l(1,"\u23FB"),r(),l(2," Connect network "))}function Lo(t,n){if(t&1&&u(0,Ao,5,0)(1,Ro,3,0),t&2){let e=d(2);_(e.store.sites().length>1?0:1)}}function Bo(t,n){t&1&&(b(0,"span",6),l(1," Connecting\u2026 "))}function Fo(t,n){t&1&&(b(0,"span",7),l(1," Disconnecting\u2026 "))}function qo(t,n){t&1&&(b(0,"span",8),l(1," Connected \xB7 nothing granted "),i(2,"span",5),l(3,"\u25BE"),r())}function zo(t,n){t&1&&(b(0,"span",9),l(1," Network \xB7 connected "),i(2,"span",5),l(3,"\u25BE"),r())}function Uo(t,n){if(t&1&&u(0,qo,4,0)(1,zo,4,0),t&2){let e=d(2);_(e.nothingGranted()?0:1)}}function $o(t,n){t&1&&(b(0,"span",8),l(1," Set up network "),i(2,"span",5),l(3,"\u25BE"),r())}function Wo(t,n){if(t&1&&(i(0,"span",14),l(1),r()),t&2){let e=d(4);a(),y("\xB7 ",e.store.siteName(n))}}function Ho(t,n){t&1&&(i(0,"p",16),l(1," Nothing on this network is granted to you, so every address is blocked. Staying connected changes nothing. "),r())}function jo(t,n){if(t&1&&(i(0,"p",10),b(1,"span",9),l(2," Connected"),u(3,Wo,2,1,"span",14),r(),i(4,"p",15),l(5),r(),u(6,Ho,2,0,"p",16)),t&2){let e,o=d(3);a(3),_((e=o.store.sites().length>1&&o.store.activeSiteId())?3:-1,e),a(),C("title",o.store.controlHost()?"via "+o.store.controlHost():""),a(),y(" ",o.store.tailnetIp()??"\u2014"," "),a(),_(o.nothingGranted()?6:-1)}}function Go(t,n){t&1&&(i(0,"p",10),b(1,"span",6),l(2," Connecting\u2026 "),r())}function Ko(t,n){t&1&&(i(0,"p",10),b(1,"span",7),l(2," Disconnecting\u2026 "),r())}function Yo(t,n){t&1&&(i(0,"p",18),l(1," Pick which network to connect below \u2014 one at a time. "),r())}function Qo(t,n){if(t&1&&(i(0,"p",10),b(1,"span",17),l(2," Not connected "),r(),u(3,Yo,2,0,"p",18)),t&2){let e=d(3);a(3),_(e.store.sites().length>1?3:-1)}}function Zo(t,n){t&1&&(i(0,"p",11),l(1),r()),t&2&&(a(),y(" ",n," "))}function Jo(t,n){t&1&&(i(0,"p",12),l(1,"Loading\u2026"),r())}function Xo(t,n){t&1&&(i(0,"p",12),l(1,"Couldn't load your VPCs \u2014 leave and hover again to retry."),r())}function er(t,n){t&1&&(i(0,"span",25),l(1,"Connected"),r())}function tr(t,n){if(t&1){let e=h();i(0,"button",30),c("click",function(){p(e);let s=d().$implicit,g=d(4);return m(g.store.switchTo(s.id))}),l(1," Switch "),r()}if(t&2){let e=d(5);D(e.rowBtn)}}function nr(t,n){if(t&1){let e=h();i(0,"button",31),c("click",function(){p(e);let s=d().$implicit,g=d(4);return m(g.store.connect({siteId:s.id}))}),l(1,"Connect"),r()}if(t&2){let e=d(5);D(e.rowBtn)}}function ir(t,n){t&1&&(i(0,"span",28),l(1,"Connecting\u2026"),r())}function or(t,n){if(t&1&&(i(0,"span",37),l(1),r()),t&2){let e=d().$implicit,o=d(6);D(o.rowStateClass(e)),a(),w(o.rowStateText(e))}}function rr(t,n){if(t&1&&(i(0,"li",32)(1,"span",33)(2,"span",34),l(3),r(),i(4,"span",35),l(5),r()(),u(6,or,2,3,"span",36),r()),t&2){let e=n.$implicit,o=d(2).$implicit,s=d(4);a(3),w(e.vpc.domain??"Private network"),a(2),y(" \xB7 ",s.accountLabel(e)),a(),_(s.siteStatus(o.id)==="connected"?6:-1)}}function ar(t,n){t&1&&(i(0,"ul",29),S(1,rr,7,3,"li",32,st),r()),t&2&&(a(),k(n))}function sr(t,n){if(t&1&&(i(0,"li",21)(1,"div",22),b(2,"span",23),i(3,"span",24),l(4),r(),u(5,er,2,0,"span",25)(6,tr,2,2,"button",26)(7,nr,2,2,"button",27)(8,ir,2,0,"span",28),r(),u(9,ar,3,0,"ul",29),r()),t&2){let e,o,s=n.$implicit,g=d(4);a(2),D(g.siteDotClass(s.id)),a(2),y(" ",s.displayName||s.id," "),a(),_((e=g.siteStatus(s.id))==="connected"?5:e==="off-site"?6:e==="off"?7:e==="connecting"?8:-1),a(4),_((o=g.siteBuckets().bySite.get(s.id))?9:-1,o)}}function lr(t,n){if(t&1&&(i(0,"li",40)(1,"span",34),l(2),r(),i(3,"span",35),l(4),r()()),t&2){let e=n.$implicit,o=d(5);a(2),w(e.vpc.domain??"Private network"),a(2),y(" \xB7 ",o.accountLabel(e))}}function dr(t,n){if(t&1&&(i(0,"p",38),l(1,"Other VPCs"),r(),i(2,"ul",39),S(3,lr,5,2,"li",40,st),r()),t&2){let e=d(4);a(3),k(e.siteBuckets().unmapped)}}function cr(t,n){if(t&1&&(i(0,"p",19),l(1,"Networks"),r(),i(2,"ul",20),S(3,sr,10,5,"li",21,Vo),r(),u(5,dr,5,0)),t&2){let e=d(3);a(3),k(e.store.sites()),a(2),_(e.siteBuckets().unmapped.length?5:-1)}}function pr(t,n){t&1&&(i(0,"p",41),l(1,"No VPC access granted yet \u2014 request a resource on the Network page."),r())}function mr(t,n){if(t&1&&(i(0,"span",49),l(1),r()),t&2){let e=d().$implicit,o=d(5);D(o.rowStateClass(e)),a(),w(o.rowStateText(e))}}function ur(t,n){if(t&1){let e=h();i(0,"button",50),c("click",function(){p(e);let s=d(6);return m(s.store.connect())}),l(1," Connect "),r()}if(t&2){let e=d(6);D(e.rowBtn)}}function _r(t,n){if(t&1&&(i(0,"li",43),b(1,"span",23),i(2,"span",44)(3,"span",45),l(4),r(),i(5,"span",46),l(6),r()(),u(7,mr,2,3,"span",47)(8,ur,2,2,"button",48),r()),t&2){let e=n.$implicit,o=d(5);a(),D(o.rowDotClass(e)),a(3),y(" ",e.vpc.domain??"Private network"," "),a(2),w(o.accountLabel(e)),a(),_(o.store.state()==="connected"?7:o.store.state()==="off"?8:-1)}}function gr(t,n){if(t&1&&(i(0,"ul",42),S(1,_r,9,5,"li",43,st),r()),t&2){let e=d(4);a(),k(e.groups())}}function fr(t,n){if(t&1&&(i(0,"p",19),l(1,"Your VPCs"),r(),u(2,pr,2,0,"p",41)(3,gr,3,0,"ul",42)),t&2){let e=d(3);a(2),_(e.groups().length===0?2:3)}}function xr(t,n){if(t&1){let e=h();i(0,"label",51)(1,"input",52),c("change",function(s){p(e);let g=d(3);return m(g.onAutoChange(s))}),r(),i(2,"span"),l(3,"Reconnect automatically when the app starts"),r()(),i(4,"button",53),c("click",function(){p(e);let s=d(3);return s.store.disconnect(),m(s.open.set(!1))}),l(5," Disconnect "),r()}if(t&2){let e=d(3);a(),C("checked",e.store.autoReconnect())}}function Cr(t,n){if(t&1){let e=h();i(0,"div",2),u(1,jo,7,4)(2,Go,3,0,"p",10)(3,Ko,3,0,"p",10)(4,Qo,4,1),u(5,Zo,2,1,"p",11),u(6,Jo,2,0,"p",12)(7,Xo,2,0,"p",12)(8,cr,6,1)(9,fr,4,1),u(10,xr,6,1),i(11,"button",13),c("click",function(){p(e);let s=d(2);return m(s.openSetup())}),l(12," Setup guide "),r()()}if(t&2){let e,o,s=d(2);a(),_((e=s.store.state())==="connected"?1:e==="connecting"?2:e==="disconnecting"?3:4),a(4),_((o=s.store.lastError())?5:-1,o),a(),_(s.resources.reachable()===null?6:s.groups().length===0&&s.resources.error()?7:s.store.sites().length>1?8:9),a(4),_(s.store.state()==="connected"?10:-1)}}function hr(t,n){t&1&&(i(0,"p",3),l(1),r()),t&2&&(a(),y(" ",n," "))}function br(t,n){t&1&&b(0,"app-network-setup-dialog")}function vr(t,n){if(t&1&&u(0,br,1,0,"app-network-setup-dialog"),t&2){let e=d(2);_(e.store.setupOpen()?0:-1)}}function yr(t,n){if(t&1){let e=h();i(0,"div",0),c("mouseenter",function(){p(e);let s=d();return m(s.onHoverEnter())})("mouseleave",function(){p(e);let s=d();return m(s.onHoverLeave())}),i(1,"button",1),c("click",function(){p(e);let s=d();return m(s.onPillClick())}),u(2,Lo,2,1)(3,Bo,2,0)(4,Fo,2,0)(5,Uo,2,1)(6,$o,4,0),r(),u(7,Cr,13,4,"div",2),u(8,hr,2,1,"p",3),r(),H(9,vr,1,1),j(10,9,Io)}if(t&2){let e,o,s=d();a(),D(s.pillClass()),I("aria-expanded",s.open()),a(),_((e=s.store.state())==="off"?2:e==="connecting"?3:e==="disconnecting"?4:e==="connected"?5:e==="setup"?6:-1),a(5),_(s.open()&&s.store.state()!=="setup"?7:-1),a(),_((o=!s.open()&&!s.store.setupOpen()&&s.store.lastError())?8:-1,o),a(2),G(s.store.setupOpen())}}var $e=class t{store=f(gn);resources=f(xn);shares=f(Cn);vpcStatus=f(fn);open=x(!1);groups=v(()=>hn(this.resources.reachable()??[]));closeTimer=null;loadKicked=!1;constructor(){this.store.init()}pillClass(){let n="inline-flex w-full items-center justify-center gap-2 rounded-full border px-3 py-1 text-xs font-medium transition select-none";switch(this.store.state()){case"off":return`${n} border-brand/50 text-brand-text hover:bg-brand-muted hover:border-brand`;case"connected":return this.nothingGranted()?`${n} border-warning/30 bg-warning-muted text-warning hover:border-warning/50`:`${n} border-success/30 bg-success-muted text-success hover:border-success/50`;default:return`${n} border-border-strong text-muted-foreground hover:bg-muted`}}onPillClick(){let n=this.store.state();n==="off"?this.store.sites().length>1?this.open.set(!0):this.store.connect():n==="connected"?this.open.set(!0):n==="setup"&&this.store.setupOpen.set(!0)}onHoverEnter(){this.closeTimer&&(clearTimeout(this.closeTimer),this.closeTimer=null);let n=this.store.state();if(n==="setup"||this.store.setupOpen())return;this.open.set(!0);let e=this.resources.reachable();e===null?this.loadKicked||(this.loadKicked=!0,this.resources.load()):e.length===0&&this.resources.error()&&this.resources.load(),n==="connected"&&this.vpcStatus.refresh(this.groups())}onHoverLeave(){this.closeTimer&&clearTimeout(this.closeTimer),this.closeTimer=setTimeout(()=>this.open.set(!1),250)}rowBtn="flex-shrink-0 rounded-full border border-brand/50 px-2.5 py-0.5 text-[11px] font-semibold text-brand-text transition-colors hover:bg-brand-muted";nothingGranted=v(()=>{if(this.store.state()!=="connected"||this.resources.reachable()===null)return!1;let n=this.store.activeSiteId(),e=this.store.sites().length>1&&n?this.siteBuckets().bySite.get(n)??[]:this.groups(),o=(this.shares.sharedWithMe()??[]).filter(s=>!n||s.siteId===n);return e.length===0&&o.length===0});siteBuckets=v(()=>bn(this.groups(),n=>this.store.siteOfAccount().get(n.accountNumber)));siteStatus(n){return vn(this.store.state(),this.store.activeSiteId(),this.store.pendingSiteId(),n)}siteDotClass(n){switch(this.siteStatus(n)){case"connected":return"bg-[var(--dot-active,#10b981)]";case"connecting":return"animate-pulse bg-[var(--dot-expiring,#f59e0b)]";default:return"bg-placeholder"}}rowDotClass(n){switch(this.store.state()){case"connected":switch(this.vpcStatus.byAccount().get(n.accountNumber)){case"no-response":return"bg-[var(--dot-expiring,#f59e0b)]";case"checking":return"animate-pulse bg-[var(--dot-active,#10b981)]";default:return"bg-[var(--dot-active,#10b981)]"}case"connecting":return"animate-pulse bg-[var(--dot-expiring,#f59e0b)]";default:return"bg-placeholder"}}rowStateText(n){switch(this.vpcStatus.byAccount().get(n.accountNumber)){case"no-response":return"No answer";case"checking":return"Checking\u2026";default:return"Connected"}}rowStateClass(n){switch(this.vpcStatus.byAccount().get(n.accountNumber)){case"no-response":return"text-warning";case"checking":return"text-muted-foreground";default:return"text-success"}}accountLabel(n){return n.accountName??n.accountNumber.replace(/(\d{4})(?=\d)/g,"$1 ")}openSetup(){this.store.setupOpen.set(!0),this.open.set(!1)}onAutoChange(n){this.store.setAutoReconnect(n.target.checked)}onDocClick(n){n.target.closest("app-network-pill")||this.open.set(!1)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-network-pill"]],hostBindings:function(e,o){e&1&&c("click",function(g){return o.onDocClick(g)},ce)},decls:1,vars:1,consts:[[1,"relative",3,"mouseenter","mouseleave"],["aria-live","polite",3,"click"],[1,"absolute","bottom-full","left-0","z-20","mb-2","w-64","rounded-xl","border","border-border","bg-popover","p-4","text-[13px]","text-muted-foreground","shadow-toast","backdrop-blur-2xl"],[1,"absolute","bottom-full","left-0","z-10","mb-2","w-64","rounded-lg","bg-danger-muted","p-2","text-xs","text-danger","ring-1","ring-danger/20"],["aria-hidden","true"],[1,"text-[9px]","opacity-70"],[1,"h-2","w-2","animate-pulse","rounded-full","bg-[var(--dot-expiring,#f59e0b)]"],[1,"h-2","w-2","animate-pulse","rounded-full","bg-placeholder"],[1,"h-2","w-2","rounded-full","bg-[var(--dot-expiring,#f59e0b)]"],[1,"h-2","w-2","rounded-full","bg-[var(--dot-active,#10b981)]"],[1,"flex","items-center","gap-2","font-semibold","text-surface-foreground"],[1,"mt-2","rounded-lg","bg-danger-muted","p-2","text-xs","text-danger","ring-1","ring-danger/20"],[1,"mt-3","text-xs"],[1,"mt-1","w-full","rounded-lg","py-1","text-xs","text-muted-foreground","transition-colors","hover:bg-muted","hover:text-surface-foreground",3,"click"],[1,"font-normal","text-muted-foreground"],[1,"mt-1.5","break-words","text-xs","text-text-secondary",3,"title"],[1,"mt-1.5","text-xs","text-warning"],[1,"h-2","w-2","rounded-full","bg-placeholder"],[1,"mt-1","text-xs"],[1,"mt-3","text-[10px]","font-bold","opacity-80"],[1,"-mx-2","mt-1.5","flex","flex-col","gap-1"],[1,"rounded-lg","px-2","py-1.5"],[1,"flex","items-center","gap-2"],[1,"h-2","w-2","flex-shrink-0","rounded-full"],[1,"min-w-0","flex-1","truncate","text-xs","font-semibold","text-surface-foreground"],[1,"flex-shrink-0","text-[11px]","font-semibold","text-success"],["title","Switches the VPN to this network \u2014 the current one disconnects.",3,"class"],[3,"class"],[1,"flex-shrink-0","text-[11px]","font-semibold","text-muted-foreground"],[1,"ml-4","mt-1","flex","flex-col","gap-0.5"],["title","Switches the VPN to this network \u2014 the current one disconnects.",3,"click"],[3,"click"],[1,"flex","items-center","gap-2","text-[11px]"],[1,"min-w-0","flex-1","truncate"],[1,"text-surface-foreground"],[1,"opacity-70"],[1,"flex-shrink-0","font-semibold",3,"class"],[1,"flex-shrink-0","font-semibold"],[1,"mt-2","text-[10px]","font-bold","opacity-80"],[1,"mt-1","flex","flex-col","gap-0.5"],[1,"truncate","text-[11px]"],[1,"mt-1.5","text-xs"],[1,"-mx-2","mt-1.5","flex","flex-col","gap-0.5"],[1,"flex","items-center","gap-2","rounded-lg","px-2","py-1.5"],[1,"min-w-0","flex-1"],[1,"block","truncate","text-xs","font-semibold","text-surface-foreground"],[1,"block","truncate","text-[11px]"],[1,"flex-shrink-0","text-[11px]","font-semibold",3,"class"],["title","Connects the VPN \u2014 every VPC you have access to comes up together.",3,"class"],[1,"flex-shrink-0","text-[11px]","font-semibold"],["title","Connects the VPN \u2014 every VPC you have access to comes up together.",3,"click"],[1,"mt-3","flex","cursor-pointer","items-start","gap-2"],["type","checkbox",1,"mt-0.5","ui-checkbox",3,"change","checked"],[1,"mt-3","w-full","rounded-lg","bg-surface","py-1.5","font-medium","text-surface-foreground","ring-1","ring-border-strong","transition-colors","hover:bg-muted",3,"click"]],template:function(e,o){e&1&&u(0,yr,12,7),e&2&&_(o.store.state()!=="hidden"?0:-1)},encapsulation:2})};var wr=(t,n)=>n.id;function Sr(t,n){if(t&1){let e=h();i(0,"button",8),c("click",function(){p(e);let s=d().$implicit,g=d();return m(g.act(s))}),l(1),r()}t&2&&(a(),y(" ",n.label," \u2192 "))}function kr(t,n){if(t&1){let e=h();i(0,"div",2),c("mouseenter",function(){let s=p(e).$implicit,g=d();return m(g.pause(s))})("mouseleave",function(){let s=p(e).$implicit,g=d();return m(g.resume(s))}),i(1,"span",3),b(2,"app-icon",4),r(),i(3,"span",5)(4,"span"),l(5),r(),u(6,Sr,2,1,"button",6),r(),i(7,"button",7),c("click",function(){let s=p(e).$implicit,g=d();return m(g.toastService.dismiss(s.id))}),l(8," \u2715 "),r()()}if(t&2){let e,o=n.$implicit;a(),D(o.kind==="success"?"bg-success-muted text-success":"bg-danger-muted text-danger"),a(),C("name",o.kind==="success"?"check":"x")("strokeWidth",2.4),a(3),w(o.message),a(),_((e=o.action)?6:-1,e)}}var We=class t{toastService=f(B);router=f(M);timers=new Map;paused=new Set;constructor(){U(()=>{let n=new Set(this.toastService.toasts().map(e=>e.id));for(let e of this.paused)n.has(e)||this.paused.delete(e);for(let e of this.toastService.toasts())e.kind==="success"&&!this.timers.has(e.id)&&!this.paused.has(e.id)&&this.arm(e.id,Math.max(4e3,e.message.length*55))})}pause(n){this.paused.add(n.id);let e=this.timers.get(n.id);e!==void 0&&(clearTimeout(e),this.timers.delete(n.id))}resume(n){this.paused.delete(n.id),n.kind==="success"&&!this.timers.has(n.id)&&this.arm(n.id,2500)}act(n){this.toastService.dismiss(n.id),n.action&&this.router.navigateByUrl(n.action.path)}arm(n,e){this.timers.set(n,setTimeout(()=>{this.timers.delete(n),this.toastService.dismiss(n)},e))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-toast-container"]],decls:3,vars:0,consts:[[1,"fixed","right-4","top-4","z-[60]","flex","w-80","flex-col","gap-2"],[1,"toast-in","flex","items-start","gap-2.5","rounded-lg","border","border-border","bg-popover","px-[13px]","py-[11px]","text-[13px]","shadow-[0_10px_30px_-14px_rgba(0,0,0,.35)]","backdrop-blur-2xl"],[1,"toast-in","flex","items-start","gap-2.5","rounded-lg","border","border-border","bg-popover","px-[13px]","py-[11px]","text-[13px]","shadow-[0_10px_30px_-14px_rgba(0,0,0,.35)]","backdrop-blur-2xl",3,"mouseenter","mouseleave"],[1,"mt-px","flex","h-5","w-5","shrink-0","items-center","justify-center","rounded-full"],[1,"h-3","w-3",3,"name","strokeWidth"],[1,"flex","min-w-0","flex-1","flex-col","gap-1"],["type","button",1,"self-start","text-[12.5px]","font-semibold","text-brand","hover:underline"],["aria-label","Dismiss",1,"text-muted-foreground","hover:text-surface-foreground",3,"click"],["type","button",1,"self-start","text-[12.5px]","font-semibold","text-brand","hover:underline",3,"click"]],template:function(e,o){e&1&&(i(0,"div",0),S(1,kr,9,6,"div",1,wr),r()),e&2&&(a(),k(o.toastService.toasts()))},dependencies:[F],styles:[".toast-in[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_toast-slide-in .28s cubic-bezier(.16,1,.3,1)}@keyframes _ngcontent-%COMP%_toast-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.toast-in[_ngcontent-%COMP%]{animation:none}}"]})};var Er=["notificationSettingsTpl"],Tr=()=>[import("./chunk-PCP6D2SM.js").then(t=>t.ThemeWizardComponent)];function Pr(t,n){if(t&1){let e=h();i(0,"button",8),c("click",function(){p(e);let s=d();return m(s.openThemeWizard(!1))}),b(1,"app-icon",16),l(2," Customize theme "),r()}}function Nr(t,n){if(t&1&&(i(0,"span",18),l(1),r()),t&2){let e=d(2);a(),ee("",e.onboarding.doneCount()," of ",e.stepCount," done")}}function Mr(t,n){if(t&1){let e=h();i(0,"button",8),c("click",function(){p(e);let s=d();return m(s.onboarding.open())}),b(1,"app-icon",17),l(2," Onboarding "),u(3,Nr,2,2,"span",18),r()}if(t&2){let e=d();a(3),_(e.onboarding.status()?3:-1)}}function Dr(t,n){if(t&1){let e=h();i(0,"button",8),c("click",function(){p(e);let s=d();return m(s.passkeysOpen.set(!0))}),b(1,"app-icon",19),l(2," Passkeys "),r()}}function Or(t,n){if(t&1){let e=h();i(0,"button",8),c("click",function(){p(e);let s=d();return m(s.authenticatorOpen.set(!0))}),b(1,"app-icon",20),l(2," Authenticator (MFA) "),r()}}function Ir(t,n){if(t&1){let e=h();i(0,"button",21),c("click",function(){p(e);let s=d();return m(s.auth.reauthenticate())}),b(1,"app-icon",22),l(2," Renew sign-in "),i(3,"span",18),l(4),r()()}if(t&2){let e=d();C("title","Session ends at "+n),a(4),y("",e.sessionRemainingLabel()," left")}}function Vr(t,n){if(t&1){let e=h();i(0,"app-passkeys-dialog",23),c("closed",function(){p(e);let s=d();return m(s.passkeysOpen.set(!1))}),r()}}function Ar(t,n){if(t&1){let e=h();i(0,"app-authenticator-dialog",23),c("closed",function(){p(e);let s=d();return m(s.authenticatorOpen.set(!1))}),r()}}function Rr(t,n){if(t&1){let e=h();i(0,"app-panel",24),c("closed",function(){p(e);let s=d();return m(s.notificationSettingsOpen.set(!1))}),b(1,"app-notification-settings"),r()}}function Lr(t,n){if(t&1){let e=h();i(0,"app-theme-wizard",26),c("closed",function(){p(e);let s=d(2);return m(s.themeWizardOpen.set(!1))}),r()}if(t&2){let e=d(2);C("firstRun",e.themeWizardFirstRun())}}function Br(t,n){if(t&1&&u(0,Lr,1,1,"app-theme-wizard",25),t&2){let e=d();_(e.themeWizardOpen()?0:-1)}}function Fr(t,n){t&1&&Ct(0,15),t&2&&C("ngTemplateOutlet",n)}var qr={accounts:"/accounts",network:"/resources"},zr={accounts:"/admin/accounts",network:"/admin/resources",users:"/users",groups:"/admin/groups",requests:"/admin/requests",activity:"/admin/activity"},Ur="Plugin list may be out of date \u2014 retrying",He=class t{auth=f(T);theme=f(Ve);plugins=f(Kt);panel=f(pn);contentWidth=f(mn);router=f(M);onboarding=f(re);stepCount=at;passkeysOpen=x(!1);authenticatorOpen=x(!1);notificationSettingsOpen=x(!1);notificationSettingsTpl=Y("notificationSettingsTpl");windowWidth=x(window.innerWidth);collapsedOverride=x(null);static SIDEBAR_EXPANDED=240;static SHELL_GAP=12;static SHELL_PADDING=24;static SAFETY_BUFFER=48;sidebarCollapsed=v(()=>{let n=this.collapsedOverride();if(n!==null)return n;let e=this.panel.width(),o=t.SHELL_PADDING+t.SIDEBAR_EXPANDED+t.SHELL_GAP+this.contentWidth.minWidth()+(e>0?t.SHELL_GAP+e:0)+t.SAFETY_BUFFER;return this.windowWidth()<o});onWindowResize(){this.windowWidth.set(window.innerWidth)}configService=f(V);branding=this.configService.branding;mfaEnabled=!!this.configService.config.mfa&&!f(T).isFederatedSession();passkeyEnabled=!!this.configService.config.passkey&&!f(T).isFederatedSession();themeWizardOpen=x(!1);themeWizardFirstRun=x(!1);openThemeWizard(n){this.themeWizardFirstRun.set(n),this.themeWizardOpen.set(!0)}projectName=v(()=>this.branding().projectName||"Access Portal");logoUrl=v(()=>this.branding().logoUrl||"");brandShow=v(()=>this.branding().brandShow??(this.logoUrl()?"logo-and-project":"project"));showLogo=v(()=>this.brandShow().startsWith("logo"));brandText=v(()=>this.brandShow().includes("company")?this.branding().companyName||this.projectName():this.brandShow()==="logo"?"":this.projectName());logoLetter=v(()=>this.logoUrl()?"":(this.brandText()||this.projectName()).charAt(0).toUpperCase());notifications=f(oe);clock=f(le);sessionEndsLabel=v(()=>{let n=this.auth.sessionEndsAt();return n===null?"":ie(new Date(n).toISOString(),{sameDayTimeOnly:!0})});sessionRemainingLabel=v(()=>{let n=this.auth.sessionEndsAt();return n===null?"":Jt(n-this.clock.now())});navSections=v(()=>{let n=this.configService.config.network!==!1,e=this.plugins.stale(),o=N=>(N==="user"?this.plugins.userEntries():this.plugins.adminEntries()).map(q=>de({label:q.label,icon:zt.includes(q.icon)?q.icon:"bolt",route:q.route},e?{hint:Ur}:{})),s=[{label:"Your access",items:[...yn.filter(N=>N!=="network"||n).map(N=>Ke(de({},it[N]),{route:qr[N]})),...o("user")]}],g=o("admin");return(this.auth.isAdmin()||g.length)&&s.push({label:"Administration",accent:!0,items:[...this.auth.isAdmin()?wn.filter(N=>N!=="network"||n).map(N=>de(Ke(de({},it[N]),{route:zr[N]}),N==="requests"?{badge:this.notifications.pending()?.length||0}:{})):[],...g]}),s});constructor(){this.notifications.startPolling(),f(xe).onDestroy(()=>{this.notifications.stopPolling(),this.onboarding.stop()}),_e(this.notificationSettingsOpen,this.notificationSettingsTpl,()=>this.notificationSettingsOpen.set(!1));let n=f(ae);U(()=>{n.openRequests()>0&&this.openThemeWizard(!1)}),this.auth.whenReady().then(()=>{this.auth.isAdmin()&&(this.onboarding.start(),this.configService.brandingOverlayAbsent&&this.openThemeWizard(!0))})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-shell"]],viewQuery:function(e,o){e&1&&K(o.notificationSettingsTpl,Er,5),e&2&&X()},hostBindings:function(e,o){e&1&&c("resize",function(){return o.onWindowResize()},ft)},decls:30,vars:21,consts:[["notificationSettingsTpl",""],[1,"shell"],["variant","glass",3,"darkModeToggle","collapseToggle","collapsed","brandName","showLogo","logoText","logoUrl","staticBell","userName","userRole","nav","darkMode"],["sidebar-bell",""],["sidebar-network",""],["sidebar-user-menu-item","","type","button",1,"menu-item"],["sidebar-user-menu-item","","type","button","data-testid","session-renew",1,"menu-item",3,"title"],["sidebar-user-menu-item","",1,"menu-divider"],["sidebar-user-menu-item","","type","button",1,"menu-item",3,"click"],["name","bell",1,"ic"],["sidebar-user-menu-item","","type","button",1,"menu-item","danger",3,"click"],["name","logout",1,"ic"],[1,"column"],[1,"band"],[1,"main"],[3,"ngTemplateOutlet"],["name","swatch",1,"ic"],["name","rocket",1,"ic"],[1,"progress"],["name","key",1,"ic"],["name","shield-check",1,"ic"],["sidebar-user-menu-item","","type","button","data-testid","session-renew",1,"menu-item",3,"click","title"],["name","refresh",1,"ic"],[3,"closed"],["title","Notifications",3,"closed"],[3,"firstRun"],[3,"closed","firstRun"]],template:function(e,o){if(e&1){let s=h();i(0,"div",1)(1,"app-sidebar",2),c("darkModeToggle",function(){return p(s),m(o.theme.toggle())})("collapseToggle",function(){return p(s),m(o.collapsedOverride.set(!o.sidebarCollapsed()))}),b(2,"app-notification-bell",3)(3,"app-network-pill",4),u(4,Pr,3,0,"button",5),u(5,Mr,4,1,"button",5),u(6,Dr,3,0,"button",5),u(7,Or,3,0,"button",5),u(8,Ir,5,2,"button",6),b(9,"div",7),i(10,"button",8),c("click",function(){return p(s),m(o.notificationSettingsOpen.set(!0))}),b(11,"app-icon",9),l(12," Notifications "),r(),i(13,"button",10),c("click",function(){return p(s),m(o.auth.logout())}),b(14,"app-icon",11),l(15," Sign out "),r()(),u(16,Vr,1,0,"app-passkeys-dialog"),u(17,Ar,1,0,"app-authenticator-dialog"),Ce(18,Rr,2,0,"ng-template",null,0,pe),H(20,Br,1,1),j(21,20,Tr),i(23,"div",12),b(24,"app-session-banner",13)(25,"app-setup-checklist",13),i(26,"main",14),b(27,"router-outlet"),r()(),u(28,Fr,1,1,"ng-container",15),r(),b(29,"app-toast-container")}if(e&2){let s,g;a(),C("collapsed",o.sidebarCollapsed())("brandName",o.brandText())("showLogo",o.showLogo())("logoText",o.logoLetter())("logoUrl",o.logoUrl())("staticBell",!1)("userName",o.auth.userEmail()||" ")("userRole",o.auth.isAdmin()?"admin":"")("nav",o.navSections())("darkMode",o.theme.theme()==="dark"),a(3),_(o.auth.isAdmin()?4:-1),a(),_(o.auth.isAdmin()?5:-1),a(),_(o.passkeyEnabled?6:-1),a(),_(o.mfaEnabled?7:-1),a(),_((s=o.sessionEndsLabel())?8:-1,s),a(8),_(o.passkeysOpen()?16:-1),a(),_(o.authenticatorOpen()?17:-1),a(4),G(o.themeWizardOpen()),a(2),z("min-width",o.contentWidth.minWidth(),"px"),a(5),_((g=o.panel.content())?28:-1,g)}},dependencies:[Tt,ve,Sn,qe,ze,Ue,$e,Re,F,We,Be,Fe,Le],styles:['[_nghost-%COMP%]{display:block;height:100vh}.shell[_ngcontent-%COMP%]{display:flex;height:100%;padding:12px;gap:12px;overflow-x:auto;overflow-y:hidden;background:var(--glass-plate);isolation:isolate}.shell[_ngcontent-%COMP%]:after{content:"";position:fixed;inset:-18%;z-index:-1;pointer-events:none;background:radial-gradient(54% 44% at 72% 16%,var(--glass-panel-glow-a),transparent 72%),radial-gradient(46% 40% at 14% 84%,var(--glass-panel-glow-b),transparent 72%);animation:glass-glow-drift 34s ease-in-out infinite}.column[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:12px;transition:width .24s var(--ease-emphasized)}.band[_ngcontent-%COMP%], .main[_ngcontent-%COMP%]{border-radius:calc(var(--radius) * 2);-webkit-backdrop-filter:blur(42px) saturate(1.5);backdrop-filter:blur(42px) saturate(1.5);background:var(--glass-panel-bg);box-shadow:var(--shadow-card);position:relative;z-index:1}.main[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}@media(prefers-reduced-motion:reduce){.column[_ngcontent-%COMP%]{transition:none}.shell[_ngcontent-%COMP%]:after{animation:none}}.menu-item[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:8px;background:none;color:var(--surface-foreground);font-size:13px;cursor:pointer;transition:background-color .14s}.menu-item[_ngcontent-%COMP%]:hover{background:var(--state-hover)}.menu-item[_ngcontent-%COMP%] .ic[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0;color:var(--muted-foreground)}.menu-item[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%]{margin-left:auto;font-size:11px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.menu-item.danger[_ngcontent-%COMP%], .menu-item.danger[_ngcontent-%COMP%] .ic[_ngcontent-%COMP%]{color:var(--danger)}.menu-item.danger[_ngcontent-%COMP%]:hover{background:var(--danger-muted)}.menu-divider[_ngcontent-%COMP%]{height:1px;margin:6px 4px;background:var(--border-strong)}']})};var $r=["emailInput"],Wr=(t,n)=>n.name,Rn=(t,n)=>n.label;function Hr(t,n){if(t&1){let e=h();i(0,"img",12),c("error",function(){p(e);let s=d();return m(s.logoBroken.set(!0))}),r()}if(t&2){let e=d();C("src",e.branding().logoUrl,J)}}function jr(t,n){if(t&1&&(i(0,"div",4),l(1),r()),t&2){let e=d();a(),w(e.letterMark())}}function Gr(t,n){if(t&1){let e=h();i(0,"img",13),c("error",function(){p(e);let s=d();return m(s.logoBroken.set(!0))}),r()}if(t&2){let e=d();C("src",e.branding().logoUrl,J)}}function Kr(t,n){if(t&1&&(i(0,"div",10),l(1),r()),t&2){let e=d();a(),w(e.letterMark())}}function Yr(t,n){if(t&1&&(i(0,"p",15),l(1),r()),t&2){let e=d(2);a(),y(" Your current session ends at ",e.endsAtLabel(),". Signing in again starts a fresh one \u2014 your credentials and network connection stay as they are. ")}}function Qr(t,n){if(t&1&&(i(0,"p",15),l(1),r()),t&2){let e=d(2);a(),y("to ",e.productName())}}function Zr(t,n){t&1&&(i(0,"p",16),l(1),r()),t&2&&(a(),w(n))}function Jr(t,n){if(t&1){let e=h();i(0,"app-button",20),c("click",function(){let s=p(e).$implicit,g=d(2);return m(g.startSso(s.name))}),l(1),r()}if(t&2){let e=n.$implicit,o=n.$index,s=d(2);C("variant",o===0?"primary":"outline")("loading",s.ssoBusy()===e.name)("disabled",s.busy()||!!s.ssoBusy()&&s.ssoBusy()!==e.name),a(),y(" Sign in with ",e.label," ")}}function Xr(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(2);a(),w(e.ssoError())}}function ea(t,n){if(t&1){let e=h();i(0,"button",21),c("click",function(){p(e);let s=d(2);return m(s.revealLocal())}),l(1," Sign in another way "),r()}if(t&2){let e=d(2);C("disabled",e.busy()||!!e.ssoBusy())}}function ta(t,n){t&1&&(i(0,"div",22)(1,"span"),l(2,"or"),r()())}function na(t,n){if(t&1){let e=h();u(0,ta,3,0,"div",22),i(1,"form",23),c("ngSubmit",function(){p(e);let s=d(2);return m(s.submitEmail())}),i(2,"app-field",24)(3,"input",25,0),c("ngModelChange",function(s){p(e);let g=d(2);return m(g.email.set(s))}),r()(),i(5,"app-button",26),l(6," Continue "),r()()}if(t&2){let e=d(2);_(e.providers().length?0:-1),a(2),C("error",e.error()),a(),C("ngModel",e.email()),a(2),C("loading",e.busy())("disabled",!e.email().trim())}}function ia(t,n){if(t&1){let e=h();i(0,"button",21),c("click",function(){p(e);let s=d(2);return m(s.backToApp())}),l(1," Not now \u2014 back to the app "),r()}if(t&2){let e=d(2);C("disabled",e.busy())}}function oa(t,n){if(t&1&&(i(0,"h1",14),l(1),r(),u(2,Yr,2,1,"p",15)(3,Qr,2,1,"p",15),u(4,Zr,2,1,"p",16),S(5,Jr,2,4,"app-button",17,Wr),u(7,Xr,2,1,"p",18),u(8,ea,2,1,"button",19)(9,na,7,5),u(10,ia,2,1,"button",19)),t&2){let e,o=d();a(),w(o.reauthLive()?"Sign in again":"Sign in"),a(),_(o.reauthLive()?2:3),a(2),_((e=o.endedNotice())?4:-1,e),a(),k(o.providers()),a(2),_(o.ssoError()?7:-1),a(),_(o.providers().length&&!o.showLocal()?8:9),a(2),_(o.reauthLive()?10:-1)}}function ra(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Couldn't sign you in"),r(),i(2,"p",15),l(3),r(),i(4,"button",28),c("click",function(){p(e);let s=d(2);return m(s.backToStart())}),l(5,"Back to sign in"),r()}t&2&&(a(3),w(n))}function aa(t,n){t&1&&(i(0,"div",27),b(1,"app-spinner",29),i(2,"p",15),l(3,"Signing you in\u2026"),r()())}function sa(t,n){if(t&1&&u(0,ra,6,1)(1,aa,4,0,"div",27),t&2){let e,o=d();_((e=o.ssoError())?0:1,e)}}function la(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(3);a(),w(e.error())}}function da(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Sign in with your passkey"),r(),i(2,"p",15),l(3),r(),u(4,la,2,1,"p",18),i(5,"app-button",31),c("click",function(){p(e);let s=d(2);return m(s.pick("passkey"))}),l(6," Use passkey "),r()}if(t&2){let e=d(2);a(3),y("",e.email()," \xB7 your usual way"),a(),_(e.error()?4:-1),a(),C("loading",e.busy())}}function ca(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(3);a(),w(e.error())}}function pa(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Email me a code"),r(),i(2,"p",15),l(3),r(),u(4,ca,2,1,"p",18),i(5,"app-button",31),c("click",function(){p(e);let s=d(2);return m(s.pick("email-code"))}),l(6," Send code "),r()}if(t&2){let e=d(2);a(3),y("",e.email()," \xB7 your usual way"),a(),_(e.error()?4:-1),a(),C("loading",e.busy())}}function ma(t,n){if(t&1){let e=h();u(0,da,7,3)(1,pa,7,3),i(2,"button",28),c("click",function(){p(e);let s=d();return m(s.chooseDifferent())}),l(3," Choose a different way to sign in "),r(),i(4,"button",30),c("click",function(){p(e);let s=d();return m(s.changeEmail())}),l(5," Not you? Use another email "),r()}if(t&2){let e=d();_(e.fastMethod()==="passkey"?0:1)}}function ua(t,n){if(t&1&&(i(0,"p",18),l(1),r()),t&2){let e=d(2);a(),w(e.error())}}function _a(t,n){t&1&&(W(),i(0,"svg",36),b(1,"path",40),r())}function ga(t,n){t&1&&(W(),i(0,"svg",36),b(1,"path",41),r())}function fa(t,n){t&1&&(W(),i(0,"svg",36),b(1,"path",42),r())}function xa(t,n){t&1&&(i(0,"span",39),l(1),r()),t&2&&(a(),w(n))}function Ca(t,n){if(t&1){let e=h();i(0,"button",34),c("click",function(){let s=p(e).$implicit,g=d(2);return m(g.pick(s))}),i(1,"span",35),u(2,_a,2,0,":svg:svg",36)(3,ga,2,0,":svg:svg",36)(4,fa,2,0,":svg:svg",36),r(),i(5,"span",37)(6,"span",38),l(7),r(),u(8,xa,2,1,"span",39),r()()}if(t&2){let e,o,s=n.$implicit,g=d(2);C("disabled",g.busy()),a(2),_((e=s)==="passkey"?2:e==="password"?3:e==="email-code"?4:-1),a(5),w(g.methodTitle(s)),a(),_((o=g.methodDesc(s))?8:-1,o)}}function ha(t,n){t&1&&(i(0,"p",18),l(1," No sign-in method for this account works in this browser \u2014 contact your admin. "),r())}function ba(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"How do you want to sign in?"),r(),i(2,"p",15),l(3),r(),u(4,ua,2,1,"p",18),S(5,Ca,9,4,"button",32,xt,!1,ha,2,0,"p",18),i(8,"p",33),l(9,"We'll remember your choice next time."),r(),i(10,"button",30),c("click",function(){p(e);let s=d();return m(s.changeEmail())}),l(11," Use another email "),r()}if(t&2){let e=d();a(3),w(e.email()),a(),_(e.error()?4:-1),a(),k(e.methods())}}function va(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Enter your password"),r(),i(2,"p",15),l(3),r(),i(4,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitPassword())}),i(5,"app-field",43)(6,"div",44)(7,"input",45),c("ngModelChange",function(s){p(e);let g=d();return m(g.password.set(s))}),r(),i(8,"button",46),c("click",function(){p(e);let s=d();return m(s.showPw.set(!s.showPw()))}),l(9),r()()(),i(10,"app-button",26),l(11," Sign in "),r()(),i(12,"button",28),c("click",function(){p(e);let s=d();return m(s.chooseDifferent())}),l(13," Choose a different way to sign in "),r(),i(14,"button",47),c("click",function(){p(e);let s=d();return m(s.forgotPassword())}),l(15," Forgot password? "),r()}if(t&2){let e=d();a(3),w(e.email()),a(2),C("error",e.error()),a(2),C("type",e.showPw()?"text":"password")("ngModel",e.password()),a(),I("aria-label",e.showPw()?"Hide password":"Show password")("aria-pressed",e.showPw()),a(),w(e.showPw()?"Hide":"Show"),a(),C("loading",e.busy())("disabled",!e.password()),a(4),C("disabled",e.busy())}}function ya(t,n){if(t&1&&(i(0,"li")(1,"span",54),l(2),r(),l(3),r()),t&2){let e=n.$implicit,o=d(2);O("met",e.test(o.resetPassword())),a(2),w(e.test(o.resetPassword())?"\u2713":"\u25CB"),a(),y(" ",e.label," ")}}function wa(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Reset your password"),r(),i(2,"p",15),l(3),r(),i(4,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitReset())}),i(5,"app-field",48)(6,"input",49),c("ngModelChange",function(s){p(e);let g=d();return m(g.resetCode.set(s))}),r()(),i(7,"app-field",50)(8,"div",44)(9,"input",51),c("ngModelChange",function(s){p(e);let g=d();return m(g.resetPassword.set(s))}),r(),i(10,"button",46),c("click",function(){p(e);let s=d();return m(s.showPw.set(!s.showPw()))}),l(11),r()()(),i(12,"ul",52),S(13,ya,4,4,"li",53,Rn),r(),i(15,"app-button",26),l(16," Reset password and sign in "),r()(),i(17,"button",21),c("click",function(){p(e);let s=d();return m(s.forgotPassword())}),l(18," Send a new code "),r(),i(19,"button",30),c("click",function(){p(e);let s=d();return m(s.screen.set("password"))}),l(20," Back to password "),r()}if(t&2){let e=d();a(3),y("Code sent to ",e.resetDestination()||e.email()),a(3),C("ngModel",e.resetCode()),a(),C("error",e.error()),a(2),C("type",e.showPw()?"text":"password")("ngModel",e.resetPassword()),a(),I("aria-label",e.showPw()?"Hide password":"Show password")("aria-pressed",e.showPw()),a(),w(e.showPw()?"Hide":"Show"),a(2),k(e.pwRules),a(2),C("loading",e.busy())("disabled",e.resetCode().trim().length<6||!e.pwOk(e.resetPassword())),a(2),C("disabled",e.busy())}}function Sa(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Enter the code we emailed"),r(),i(2,"p",15),l(3),r(),i(4,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitCode())}),i(5,"app-field",55)(6,"input",56),c("ngModelChange",function(s){p(e);let g=d();return m(g.code.set(s))}),r()(),i(7,"app-button",26),l(8," Sign in "),r()(),i(9,"button",21),c("click",function(){p(e);let s=d();return m(s.resendCode())}),l(10," Send a new code "),r(),i(11,"button",30),c("click",function(){p(e);let s=d();return m(s.chooseDifferent())}),l(12," Choose a different way to sign in "),r()}if(t&2){let e=d();a(3),y("Sent to ",e.otpDestination()||e.email()),a(2),C("error",e.error()),a(),C("ngModel",e.code()),a(),C("loading",e.busy())("disabled",e.code().trim().length<6),a(2),C("disabled",e.busy())}}function ka(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Enter your authenticator code"),r(),i(2,"p",15),l(3),r(),i(4,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitTotp())}),i(5,"app-field",57)(6,"input",58),c("ngModelChange",function(s){p(e);let g=d();return m(g.totpCode.set(s))}),r()(),i(7,"app-button",26),l(8," Sign in "),r()(),i(9,"button",28),c("click",function(){p(e);let s=d();return m(s.chooseDifferent())}),l(10," Choose a different way to sign in "),r()}if(t&2){let e=d();a(3),y("",e.email()," \xB7 from your authenticator app"),a(2),C("error",e.error()),a(),C("ngModel",e.totpCode()),a(),C("loading",e.busy())("disabled",e.totpCode().trim().length<6)}}function Ea(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Set up your authenticator"),r(),i(2,"p",15),l(3),r(),i(4,"div",59),b(5,"app-qr-code",60),r(),i(6,"p",33),l(7," Scan with any authenticator app (Google Authenticator, 1Password, Authy\u2026) \u2014 or enter this key manually: "),r(),i(8,"p",61),l(9),r(),i(10,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitTotpSetup())}),i(11,"app-field",62)(12,"input",63),c("ngModelChange",function(s){p(e);let g=d();return m(g.totpSetupCode.set(s))}),r()(),i(13,"app-button",26),l(14," Verify and sign in "),r()()}if(t&2){let e=d();a(3),y("",e.email()," \xB7 required for password sign-in"),a(2),C("data",e.totpUri()),a(4),w(e.totpSecret()),a(2),C("error",e.error()),a(),C("ngModel",e.totpSetupCode()),a(),C("loading",e.busy())("disabled",e.totpSetupCode().trim().length<6)}}function Ta(t,n){if(t&1&&(i(0,"li")(1,"span",54),l(2),r(),l(3),r()),t&2){let e=n.$implicit,o=d(2);O("met",e.test(o.newPassword())),a(2),w(e.test(o.newPassword())?"\u2713":"\u25CB"),a(),y(" ",e.label," ")}}function Pa(t,n){if(t&1){let e=h();i(0,"h1",14),l(1,"Set your password"),r(),i(2,"p",15),l(3),r(),i(4,"form",23),c("ngSubmit",function(){p(e);let s=d();return m(s.submitNewPassword())}),i(5,"app-field",50)(6,"div",44)(7,"input",64),c("ngModelChange",function(s){p(e);let g=d();return m(g.newPassword.set(s))}),r(),i(8,"button",46),c("click",function(){p(e);let s=d();return m(s.showPw.set(!s.showPw()))}),l(9),r()()(),i(10,"ul",52),S(11,Ta,4,4,"li",53,Rn),r(),i(13,"app-button",26),l(14," Set password and sign in "),r()()}if(t&2){let e=d();a(3),y("First sign-in for ",e.email()," \u2014 choose the password you'll use from now on."),a(2),C("error",e.error()),a(2),C("type",e.showPw()?"text":"password")("ngModel",e.newPassword()),a(),I("aria-label",e.showPw()?"Hide password":"Show password")("aria-pressed",e.showPw()),a(),w(e.showPw()?"Hide":"Show"),a(2),k(e.pwRules),a(2),C("loading",e.busy())("disabled",!e.pwOk(e.newPassword()))}}function Na(t,n){if(t&1&&(i(0,"a",11),l(1,"Open in the desktop app"),r()),t&2){let e=d();C("href",e.desktopHref(),J)}}var An=[{label:"At least 8 characters",test:t=>t.length>=8},{label:"An uppercase letter",test:t=>/[A-Z]/.test(t)},{label:"A lowercase letter",test:t=>/[a-z]/.test(t)},{label:"A number",test:t=>/[0-9]/.test(t)},{label:"A symbol (like ! $ % or *)",test:t=>/[^A-Za-z0-9\s]/.test(t)}],ge=class t{auth=f(T);api=f(te);router=f(M);configService=f(V);theme=f(Ve);bridge=f($);federation=f(En);lastEmail=At();providers=this.federation.providers;showLocal=x(!!this.lastEmail&&et(this.lastEmail)!=="sso");ssoBusy=x(null);ssoError=x("");emailInput=Y("emailInput");ssoTimer=null;inviteHash=x("");desktopHref=v(()=>this.bridge.isDesktop?null:`infraclient://${location.host}${location.pathname}${location.search}${this.inviteHash()}`);screen=x("email");email=x(this.lastEmail);password=x("");code=x("");newPassword=x("");resetCode=x("");resetPassword=x("");resetDestination=x("");showPw=x(!1);busy=x(!1);error=x("");otpDestination=x("");fastMethod=x(null);totpCode=x("");totpSetupCode=x("");totpSecret=x("");session="";method="password";pwRules=An;pwOk(n){return An.every(e=>e.test(n))}inviteUsername=null;endedReason=x(null);endedNotice=v(()=>{switch(this.endedReason()){case"expired":return`Your session reached its ${this.auth.sessionHours()}-hour limit. Sign in again to pick up where you left off.`;case"invalid":return"Your session ended. Sign in again to continue.";case"elsewhere":return"You were signed out in another window.";default:return""}});reauth=x(!1);reauthLive=v(()=>this.reauth()&&this.auth.isAuthenticated());endsAtLabel=v(()=>{let n=this.auth.sessionEndsAt();return n===null?"":ie(new Date(n).toISOString(),{sameDayTimeOnly:!0})});branding=this.configService.branding;productName=v(()=>this.branding().projectName||"Access Portal");letterMark=v(()=>this.productName().charAt(0).toUpperCase());logoBroken=x(!1);methods=v(()=>{let n=[];return this.availableSig().includes("WEB_AUTHN")&&$t()&&this.bridge.passkeyCapable&&n.push("passkey"),this.availableSig().some(e=>e==="PASSWORD"||e==="PASSWORD_SRP")&&n.push("password"),this.availableSig().includes("EMAIL_OTP")&&n.push("email-code"),n});availableSig=x([]);constructor(){new URLSearchParams(location.search).get("reauth")==="1"&&(sessionStorage.setItem(nt,"1"),history.replaceState(null,"",location.pathname)),this.reauth.set(this.auth.reauthPending());let n=sessionStorage.getItem(tt);sessionStorage.removeItem(tt),(n==="expired"||n==="invalid"||n==="elsewhere")&&this.endedReason.set(n),this.auth.whenReady().then(()=>{this.auth.isAuthenticated()&&!this.busy()&&this.screen()==="email"&&!this.reauth()&&this.router.navigateByUrl("/")}),location.pathname.startsWith("/auth/callback")?this.consumeSsoCallback():this.consumeInviteLink()}backToApp(){sessionStorage.removeItem(nt),this.reauth.set(!1);let n=sessionStorage.getItem(ue);sessionStorage.removeItem(ue);let e=n&&n.startsWith("/")&&!n.startsWith("//")?n:"/";this.router.navigateByUrl(e)}consumeSsoCallback(){let n=location.search;if(!n){this.router.navigateByUrl("/");return}history.replaceState(null,"",location.pathname),this.screen.set("sso"),this.federation.complete(n).then(e=>{if(!e)return;let o=Ft(e.tokens.IdToken).email??"";this.auth.completeSignIn(e.tokens,o,"sso",{federationClientId:e.clientId})}).catch(e=>this.ssoError.set(kn(e)))}backToStart(){this.ssoError.set(""),this.screen.set("email"),location.pathname.startsWith("/login")||history.replaceState(null,"","/login")}revealLocal(){this.showLocal.set(!0),setTimeout(()=>this.emailInput()?.nativeElement.focus())}consumeInviteLink(){let n=location.href.indexOf("#"),e=n<0?"":location.href.slice(n);if(!e.startsWith("#inv="))return;this.showLocal.set(!0),this.inviteHash.set(e),history.replaceState(null,"",location.pathname+location.search);let o=e.slice(5),s=o.indexOf(":");if(s<=0)return;let g=o.slice(0,s),N=o.slice(s+1);this.busy.set(!0),this.error.set(""),P(this,null,function*(){let q;try{q=yield this.api.signInWithPassword(g,N)}catch(fe){let Ge=N;try{Ge=decodeURIComponent(N)}catch{}if(Ge===N)throw fe;q=yield this.api.signInWithPassword(g,Ge)}try{let fe=JSON.parse(q.ChallengeParameters?.userAttributes??"{}");fe.email&&this.email.set(fe.email)}catch{}this.inviteUsername=g,this.method="password",yield this.handleStep(q)}).catch(()=>{this.inviteHash.set(""),this.error.set("That set-password link isn\u2019t valid anymore \u2014 ask your admin to resend the invite, or sign in another way.")}).finally(()=>this.busy.set(!1))}methodTitle(n){return n==="passkey"?"Passkey":n==="password"?"Password":"Email me a code"}methodDesc(n){return n==="passkey"?"Touch ID, Face ID, or security key":n==="email-code"?"Sent only if you choose this":""}startSso(n){this.busy()||this.ssoBusy()||(this.ssoBusy.set(n),this.ssoError.set(""),this.ssoTimer&&clearTimeout(this.ssoTimer),this.ssoTimer=setTimeout(()=>{this.ssoBusy.set(null),this.ssoError.set("The sign-in page did not open here. If it opened in another window, finish there and come back.")},8e3),this.federation.start(n).catch(()=>{this.ssoTimer&&clearTimeout(this.ssoTimer),this.ssoBusy.set(null),this.ssoError.set("Federated sign-in is not available right now.")}))}submitEmail(){let n=this.email().trim();!n||this.busy()||(this.inviteUsername=null,this.run(()=>P(this,null,function*(){let e=yield this.api.startSignIn(n);if(yield this.applySelect(e))return;let o=et(n);o&&this.methods().includes(o)?o==="password"?(this.method="password",this.screen.set("password")):(this.fastMethod.set(o),this.screen.set("fast")):this.screen.set("choose")})))}pick(n){if(!this.busy()){if(this.method=n,n==="password"){this.error.set(""),this.screen.set("password");return}this.run(()=>P(this,null,function*(){let e=n==="email-code"?yield this.api.requestEmailCode(this.email().trim()):yield this.api.startPasskeySignIn(this.email().trim());if(e.ChallengeName==="SELECT_CHALLENGE"){this.availableSig.set(e.AvailableChallenges??[]),this.session=e.Session??"",this.screen.set("choose"),this.error.set("No passkey on this account yet \u2014 pick another way.");return}yield this.handleStep(e)}))}}submitPassword(){this.busy()||this.run(()=>P(this,null,function*(){this.method="password";let n=yield this.api.signInWithPassword(this.email().trim(),this.password());yield this.handleStep(n)}))}submitCode(){this.busy()||this.run(()=>P(this,null,function*(){let n=yield this.api.respondToChallenge("EMAIL_OTP",this.session,{USERNAME:this.email().trim(),EMAIL_OTP_CODE:this.code().trim()});yield this.handleStep(n)}))}submitTotp(){this.busy()||this.run(()=>P(this,null,function*(){let n=yield this.api.respondToChallenge("SOFTWARE_TOKEN_MFA",this.session,{USERNAME:this.inviteUsername??this.email().trim(),SOFTWARE_TOKEN_MFA_CODE:this.totpCode().trim()});yield this.handleStep(n)}))}submitTotpSetup(){this.busy()||this.run(()=>P(this,null,function*(){let n=yield this.api.verifySoftwareToken({session:this.session},this.totpSetupCode().trim());this.session=n.Session??this.session;let e=yield this.api.respondToChallenge("MFA_SETUP",this.session,{USERNAME:this.inviteUsername??this.email().trim()});yield this.handleStep(e)}))}totpUri(){let n=encodeURIComponent(this.productName());return`otpauth://totp/${encodeURIComponent(`${this.productName()}:${this.email().trim()}`)}?secret=${this.totpSecret()}&issuer=${n}`}submitNewPassword(){this.busy()||this.run(()=>P(this,null,function*(){let n=yield this.api.respondToChallenge("NEW_PASSWORD_REQUIRED",this.session,{USERNAME:this.inviteUsername??this.email().trim(),NEW_PASSWORD:this.newPassword()});yield this.handleStep(n)}))}resendCode(){this.busy()||(this.method="email-code",this.code.set(""),this.run(()=>P(this,null,function*(){yield this.handleStep(yield this.api.requestEmailCode(this.email().trim()))})))}chooseDifferent(){if(!this.busy()){if(this.password.set(""),this.code.set(""),this.error.set(""),this.methods().length){this.screen.set("choose");return}this.run(()=>P(this,null,function*(){(yield this.applySelect(yield this.api.startSignIn(this.email().trim())))||this.screen.set("choose")}))}}forgotPassword(){this.busy()||this.run(()=>P(this,null,function*(){let n=yield this.api.forgotPassword(this.email().trim());this.resetDestination.set(n.CodeDeliveryDetails?.Destination??""),this.resetCode.set(""),this.resetPassword.set(""),this.screen.set("reset")}))}submitReset(){this.busy()||this.run(()=>P(this,null,function*(){let n=this.email().trim();yield this.api.confirmForgotPassword(n,this.resetCode().trim(),this.resetPassword()),this.method="password",yield this.handleStep(yield this.api.signInWithPassword(n,this.resetPassword()))}))}changeEmail(){this.busy()||(Rt(),this.inviteUsername=null,this.email.set(""),this.password.set(""),this.code.set(""),this.error.set(""),this.screen.set("email"))}applySelect(n){return P(this,null,function*(){return this.session=n.Session??"",this.availableSig.set(n.AvailableChallenges??[]),n.ChallengeName&&n.ChallengeName!=="SELECT_CHALLENGE"?(yield this.handleStep(n),!0):!1})}handleStep(n){return P(this,null,function*(){if(this.session=n.Session??this.session,n.AuthenticationResult){this.auth.completeSignIn(n.AuthenticationResult,this.email().trim(),this.method);return}switch(n.ChallengeName){case"SELECT_CHALLENGE":this.availableSig.set(n.AvailableChallenges??[]),this.screen.set("choose");return;case"EMAIL_OTP":this.method="email-code",this.otpDestination.set(n.ChallengeParameters?.CODE_DELIVERY_DESTINATION??""),this.code.set(""),this.screen.set("otp");return;case"WEB_AUTHN":{this.method="passkey";let e=n.ChallengeParameters?.CREDENTIAL_REQUEST_OPTIONS;if(!e)throw new me("MissingOptions","Passkey sign-in unavailable.");let{credentialId:o,credential:s}=yield jt(e).catch(N=>{throw Ln(N)&&!Bt(Ht(e))?new me("PasskeyNotHere",Ma(this.bridge.isDesktop)):N});ye(o);let g=yield this.api.respondToChallenge("WEB_AUTHN",this.session,{USERNAME:this.email().trim(),CREDENTIAL:s});yield this.handleStep(g);return}case"NEW_PASSWORD_REQUIRED":this.screen.set("new-password");return;case"SOFTWARE_TOKEN_MFA":this.totpCode.set(""),this.screen.set("totp");return;case"MFA_SETUP":{let e=yield this.api.associateSoftwareToken({session:this.session});this.session=e.Session??this.session,this.totpSecret.set(e.SecretCode),this.totpSetupCode.set(""),this.screen.set("totp-setup");return}default:throw new me("UnsupportedChallenge",`This account needs a sign-in step the app doesn't support yet (${n.ChallengeName}).`)}})}run(n){this.busy.set(!0),this.error.set(""),n().catch(e=>this.error.set(Da(e,this.screen()))).finally(()=>this.busy.set(!1))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-login-page"]],viewQuery:function(e,o){e&1&&K(o.emailInput,$r,5),e&2&&X()},hostAttrs:[1,"login-ground"],decls:25,vars:4,consts:[["emailInput",""],[1,"loginwrap"],[1,"hero"],["alt","",1,"hero-logo",3,"src"],[1,"hero-logo","hero-lettermark"],[1,"hero-title"],[1,"hero-sub"],[1,"formside"],[1,"card"],["alt","",1,"logo",3,"src"],[1,"logo","lettermark"],[1,"fine-link","desktop-link",3,"href"],["alt","",1,"hero-logo",3,"error","src"],["alt","",1,"logo",3,"error","src"],[1,"card-title"],[1,"who"],["role","status","data-testid","session-ended",1,"notice"],[1,"block-btn","sso-btn",3,"variant","loading","disabled"],[1,"err"],["type","button",1,"alt",3,"disabled"],[1,"block-btn","sso-btn",3,"click","variant","loading","disabled"],["type","button",1,"alt",3,"click","disabled"],[1,"divider"],[3,"ngSubmit"],["label","Email",3,"error"],["type","email","name","email","autocomplete","email","autofocus","",1,"ui-input",3,"ngModelChange","ngModel"],["type","submit",1,"block-btn",3,"loading","disabled"],["role","status","aria-live","polite",1,"sso-wait"],["type","button",1,"alt",3,"click"],["sizeClass","h-7 w-7"],["type","button",1,"fine-link",3,"click"],[1,"block-btn",3,"click","loading"],["type","button",1,"method",3,"disabled"],[1,"fine"],["type","button",1,"method",3,"click","disabled"],[1,"ic"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.7"],[1,"mtext"],[1,"t"],[1,"d"],["stroke-linecap","round","stroke-linejoin","round","d","M7.9 8.2a4.5 4.5 0 018.9 1v2.1m-9.7 1.9a13 13 0 01-.3-2.9 4.5 4.5 0 01.9-2.7m3.6 9.9c-.4-1.3-.6-2.7-.6-4.2a2.25 2.25 0 014.5 0c0 .8.05 1.6.16 2.4m-1.4 4.3a19 19 0 01-.9-2.5m4.6 1.3c.3-1.6.44-3.3.44-5A6.75 6.75 0 008.6 5.6"],["stroke-linecap","round","stroke-linejoin","round","d","M15.75 5.25a3 3 0 013 3m2.25 0a5.25 5.25 0 01-10.7 1.6l-6.55 6.55v3.35h3.35l.9-.9v-1.85h1.85l1.35-1.35a5.25 5.25 0 019.8-7.4z"],["stroke-linecap","round","stroke-linejoin","round","d","M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.24a2.25 2.25 0 01-1.07 1.92l-7.5 4.62a2.25 2.25 0 01-2.36 0l-7.5-4.62a2.25 2.25 0 01-1.07-1.92v-.24"],["label","Password",3,"error"],[1,"pw-wrap"],["name","password","autocomplete","current-password","autofocus","",1,"ui-input",3,"ngModelChange","type","ngModel"],["type","button",1,"pw-eye",3,"click"],["type","button",1,"fine-link",3,"click","disabled"],["label","Code"],["type","text","name","resetCode","inputmode","numeric","autocomplete","one-time-code","maxlength","8","autofocus","",1,"ui-input","code",3,"ngModelChange","ngModel"],["label","New password",3,"error"],["name","resetPassword","autocomplete","new-password",1,"ui-input",3,"ngModelChange","type","ngModel"],["aria-live","polite",1,"pw-rules"],[3,"met"],["aria-hidden","true"],["label","Code",3,"error"],["type","text","name","code","inputmode","numeric","autocomplete","one-time-code","maxlength","8","autofocus","",1,"ui-input","code",3,"ngModelChange","ngModel"],["label","6-digit code",3,"error"],["type","text","name","totp","inputmode","numeric","autocomplete","one-time-code","maxlength","6","autofocus","",1,"ui-input","code",3,"ngModelChange","ngModel"],[1,"qr-wrap"],[3,"data"],[1,"secret"],["label","6-digit code from the app",3,"error"],["type","text","name","totpSetup","inputmode","numeric","autocomplete","one-time-code","maxlength","6",1,"ui-input","code",3,"ngModelChange","ngModel"],["name","newPassword","autocomplete","new-password","autofocus","",1,"ui-input",3,"ngModelChange","type","ngModel"]],template:function(e,o){if(e&1&&(i(0,"div",1)(1,"div",2),u(2,Hr,1,1,"img",3)(3,jr,2,1,"div",4),i(4,"h2",5),l(5,"One place for all"),b(6,"br"),l(7,"your AWS access"),r(),i(8,"p",6),l(9," Short-lived credentials, approvals and audit \u2014 under your own brand. "),r()(),i(10,"div",7)(11,"div",8),u(12,Gr,1,1,"img",9)(13,Kr,2,1,"div",10),u(14,oa,11,6)(15,sa,2,1)(16,ma,6,1)(17,ba,12,3)(18,va,16,10)(19,wa,21,11)(20,Sa,13,6)(21,ka,11,5)(22,Ea,15,7)(23,Pa,15,9),u(24,Na,2,1,"a",11),r()()()),e&2){let s;a(2),_(o.branding().logoUrl&&!o.logoBroken()?2:3),a(10),_(o.branding().logoUrl&&!o.logoBroken()?12:13),a(2),_((s=o.screen())==="email"?14:s==="sso"?15:s==="fast"?16:s==="choose"?17:s==="password"?18:s==="reset"?19:s==="otp"?20:s==="totp"?21:s==="totp-setup"?22:s==="new-password"?23:-1),a(10),_(o.desktopHref()?24:-1)}},dependencies:[Oe,Me,ke,Ee,Te,De,Ne,Pe,R,Ie,se,ne],styles:['[_nghost-%COMP%]{display:block;min-height:100vh;background:var(--glass-plate)}.pw-wrap[_ngcontent-%COMP%]{position:relative}.pw-wrap[_ngcontent-%COMP%] .ui-input[_ngcontent-%COMP%]{width:100%;padding-right:58px}.pw-eye[_ngcontent-%COMP%]{position:absolute;top:0;right:0;height:100%;padding:0 12px;background:none;border:0;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.pw-eye[_ngcontent-%COMP%]:hover{color:var(--muted-foreground)}.pw-rules[_ngcontent-%COMP%]{margin:10px 0 14px;padding:0;list-style:none;display:grid;gap:4px;font-size:12.5px;color:var(--muted-foreground)}.pw-rules[_ngcontent-%COMP%] .met[_ngcontent-%COMP%]{color:var(--success)}.loginwrap[_ngcontent-%COMP%]{display:flex;min-height:100vh;overflow:hidden;position:relative;isolation:isolate}.loginwrap[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:-18%;z-index:-1;pointer-events:none;background:radial-gradient(54% 44% at 72% 16%,var(--glass-panel-glow-a),transparent 72%),radial-gradient(46% 40% at 14% 84%,var(--glass-panel-glow-b),transparent 72%);animation:glass-glow-drift 34s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.loginwrap[_ngcontent-%COMP%]:before{animation:none}}.hero[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:48px;text-align:center;color:#12141ceb}[data-theme="dark"][_nghost-%COMP%] .hero[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .hero[_ngcontent-%COMP%]{color:#e8eaef}.hero-logo[_ngcontent-%COMP%]{width:64px;height:64px;border-radius:calc(var(--radius) * 2);object-fit:contain;box-shadow:0 12px 34px -12px #0009}.hero-lettermark[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-foreground);font-size:30px;font-weight:700}.hero-title[_ngcontent-%COMP%]{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0}.hero-sub[_ngcontent-%COMP%]{font-size:14px;line-height:1.55;max-width:360px;margin:0;color:#12141c8f}[data-theme="dark"][_nghost-%COMP%] .hero-sub[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .hero-sub[_ngcontent-%COMP%]{color:#e8eaef9e}.formside[_ngcontent-%COMP%]{flex:1.15;display:grid;place-items:center;padding:40px}.card[_ngcontent-%COMP%]{width:100%;max-width:360px;border-radius:calc(var(--radius) * 2.5);-webkit-backdrop-filter:blur(44px) saturate(1.5);backdrop-filter:blur(44px) saturate(1.5);background:var(--glass-panel-bg);box-shadow:0 30px 80px -30px #14162847;padding:36px 32px}[data-theme="dark"][_nghost-%COMP%] .card[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .card[_ngcontent-%COMP%]{box-shadow:0 30px 80px -30px #000000b3}.logo[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:10px;margin:0 auto 12px;display:none;object-fit:contain}.lettermark[_ngcontent-%COMP%]{align-items:center;justify-content:center;background:var(--brand);color:var(--brand-foreground);font-size:17px;font-weight:600}@media(max-width:880px){.hero[_ngcontent-%COMP%]{display:none}.formside[_ngcontent-%COMP%]{flex:1;padding:24px}.card[_ngcontent-%COMP%] > img.logo[_ngcontent-%COMP%]{display:block}.card[_ngcontent-%COMP%] > .lettermark[_ngcontent-%COMP%]{display:flex}}.card-title[_ngcontent-%COMP%]{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0;text-align:center;text-wrap:balance}.who[_ngcontent-%COMP%]{font-size:13.5px;color:var(--muted-foreground);margin:6px 0 24px;text-align:center}.block-btn[_ngcontent-%COMP%]{display:block;margin-top:16px}.block-btn[_ngcontent-%COMP%] button{width:100%}.sso-btn[_ngcontent-%COMP%] + .sso-btn[_ngcontent-%COMP%]{margin-top:10px}.sso-wait[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 0 4px}.divider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;margin:18px 0 2px;font-size:12px;color:var(--muted-foreground)}.divider[_ngcontent-%COMP%]:before, .divider[_ngcontent-%COMP%]:after{content:"";flex:1;height:1px;background:var(--border-strong)}.method[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 14px;border:1px solid var(--border-strong);border-radius:calc(var(--radius) * 1.25);background:var(--surface);margin-bottom:10px;cursor:pointer;transition:border-color .15s var(--ease-standard)}.method[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.method[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:default}.ic[_ngcontent-%COMP%]{width:22px;height:22px;flex-shrink:0;color:var(--brand-text)}.ic[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%}.mtext[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0}.t[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--surface-foreground)}.d[_ngcontent-%COMP%]{font-size:12px;color:var(--muted-foreground)}.alt[_ngcontent-%COMP%]{display:block;width:100%;margin-top:16px;font-size:13px;font-weight:500;color:var(--brand-text);text-align:center}.alt[_ngcontent-%COMP%]:hover{text-decoration:underline}.fine[_ngcontent-%COMP%]{font-size:12px;color:var(--muted-foreground);text-align:center;margin:14px 0 0}.fine-link[_ngcontent-%COMP%]{display:block;width:100%;margin-top:12px;font-size:12px;color:var(--muted-foreground);text-align:center}.fine-link[_ngcontent-%COMP%]:hover{text-decoration:underline;color:var(--surface-foreground)}a.fine-link[_ngcontent-%COMP%]{text-decoration:none}.err[_ngcontent-%COMP%]{font-size:13px;color:var(--danger);margin:0 0 12px}.notice[_ngcontent-%COMP%]{font-size:13px;color:var(--warning);background:var(--warning-muted);border-radius:8px;padding:8px 12px;margin:-12px 0 18px;text-align:center}input.code[_ngcontent-%COMP%]{text-align:center;font-size:18px;letter-spacing:.35em;font-variant-numeric:tabular-nums}.qr-wrap[_ngcontent-%COMP%]{display:flex;justify-content:center;margin:2px 0 10px}.secret[_ngcontent-%COMP%]{font-family:ui-monospace,monospace;font-size:12px;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--surface-foreground);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:8px 0 12px}']})},Ln=t=>t instanceof DOMException&&t.name==="NotAllowedError";function Ma(t){return`No passkey is set up for this account in ${t?"this app":"this browser"} yet \u2014 passkeys stay with the browser or app they were added in. Sign in another way, then add one under Passkeys in your profile menu.`}function Da(t,n){if(Ln(t))return"The passkey prompt was closed \u2014 try again, or choose a different way.";if(t instanceof me)switch(t.code){case"NotAuthorizedException":return n==="password"?"That password isn\u2019t right.":n==="otp"?"That sign-in attempt expired \u2014 send a new code.":n==="totp"||n==="totp-setup"?"That sign-in attempt expired \u2014 start over from your password.":"We couldn\u2019t sign you in \u2014 try again.";case"UserNotFoundException":return"We couldn\u2019t sign you in \u2014 try again.";case"CodeMismatchException":return n==="totp"||n==="totp-setup"?"That code isn\u2019t right \u2014 enter the current code from your app.":"That code isn\u2019t right \u2014 check the newest email.";case"EnableSoftwareTokenMFAException":return"That code isn\u2019t right \u2014 enter the current code from your app.";case"ExpiredCodeException":return"That code expired \u2014 send a new one.";case"CodeDeliveryFailureException":case"InvalidEmailRoleAccessPolicyException":return"The email couldn\u2019t be sent \u2014 a problem on this deployment\u2019s side, not your connection. Ask your admin.";case"PasswordResetRequiredException":return"Your password needs a reset \u2014 ask your admin to re-invite you.";case"InvalidPasswordException":return t.message.replace(/^Password did not conform with policy: /,"");case"LimitExceededException":case"TooManyRequestsException":return"Too many attempts \u2014 wait a minute and try again.";case"UnsupportedChallenge":case"PasskeyNotHere":return t.message}return"Something went wrong \u2014 check your connection and try again."}var Bn=[{path:"login",component:ge},{path:"auth/callback",component:ge},{path:"",canActivate:[Pn],component:He,children:[{path:"",pathMatch:"full",redirectTo:"accounts"},{path:"accounts",loadComponent:()=>import("./chunk-VKWV3ANT.js").then(t=>t.AccountsPageComponent)},{path:"plugins/:pluginId/:section",canActivate:[Tn],loadComponent:()=>import("./chunk-3VWYT7AX.js").then(t=>t.PluginPageComponent)},{path:"resources",canActivate:[ot],loadComponent:()=>import("./chunk-6D7SSSJF.js").then(t=>t.ResourcesPageComponent)},{path:"users",canActivate:[Q],loadComponent:()=>import("./chunk-EEJ3X466.js").then(t=>t.UsersPageComponent)},{path:"admin/accounts",canActivate:[Q],loadComponent:()=>import("./chunk-4FG4DAWU.js").then(t=>t.AdminAccountsPageComponent)},{path:"admin/resources",canActivate:[Q,ot],loadComponent:()=>import("./chunk-YVJV2RUY.js").then(t=>t.AdminResourcesPageComponent)},{path:"admin/requests",canActivate:[Q],loadComponent:()=>import("./chunk-HHPIANBK.js").then(t=>t.AdminRequestsPageComponent)},{path:"admin/groups",canActivate:[Q],loadComponent:()=>import("./chunk-RKGUEXZ2.js").then(t=>t.GroupsPageComponent)},{path:"admin/service-users",redirectTo:"/users?tab=service-users"},{path:"admin/activity",canActivate:[Q],loadComponent:()=>import("./chunk-TKVALOE4.js").then(t=>t.ActivityPageComponent)}]},{path:"**",redirectTo:""}];function Oa(t,n){let e=t.isAuthenticated()?"Couldn\u2019t renew your session. Check your connection and try again.":"Your session has ended. Sign in again.";return new Xe({status:401,statusText:n.statusText,url:n.url??void 0,headers:n.headers,error:{message:e}})}var Fn=(t,n)=>{if(!t.url.startsWith("/api/"))return n(t);let e=f(T),o=s=>{let g=e.idToken();return g?s.clone({setHeaders:{Authorization:`Bearer ${g}`}}):s};return n(o(t)).pipe(mt(s=>s instanceof Xe&&s.status===401?dt(e.refreshNow()).pipe(ut(g=>g?n(o(t)):Ye(()=>Oa(e,s)))):Ye(()=>s)))};var Ia=t=>{let n=t;return n?.name==="ChunkLoadError"||/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module/i.test(n?.message??"")},lt="auth.chunkReload",Va=t=>{if(!Ia(t.error))return;let n=!1;try{n=sessionStorage.getItem(lt)===t.url,n||sessionStorage.setItem(lt,t.url)}catch{}n||window.location.assign(t.url)},Aa=()=>{f(M).events.subscribe(t=>{if(t instanceof be)try{sessionStorage.removeItem(lt)}catch{}})},qn={providers:[Et({eventCoalescing:!0}),It(Bn,Vt(Va)),Mt(Dt([Fn])),Qe(()=>ct(f(V).config$).then(Yt)),Qe(Aa)]};var je=class t{constructor(){f(T).init()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=E({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(e,o){e&1&&b(0,"router-outlet")},dependencies:[ve],encapsulation:2})};Nt(je,qn).catch(t=>console.error(t));
@@ -0,0 +1,2 @@
1
+ var ce=globalThis;function te(t){return(ce.__Zone_symbol_prefix||"__zone_symbol__")+t}function ht(){let t=ce.performance;function n(I){t&&t.mark&&t.mark(I)}function a(I,s){t&&t.measure&&t.measure(I,s)}n("Zone");class e{static __symbol__=te;static assertZonePatched(){if(ce.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let s=e.current;for(;s.parent;)s=s.parent;return s}static get current(){return b.zone}static get currentTask(){return D}static __load_patch(s,i,r=!1){if(S.hasOwnProperty(s)){let E=ce[te("forceDuplicateZoneCheck")]===!0;if(!r&&E)throw Error("Already loaded patch: "+s)}else if(!ce["__Zone_disable_"+s]){let E="Zone:"+s;n(E),S[s]=i(ce,e,R),a(E,E)}}get parent(){return this._parent}get name(){return this._name}_parent;_name;_properties;_zoneDelegate;constructor(s,i){this._parent=s,this._name=i?i.name||"unnamed":"<root>",this._properties=i&&i.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,i)}get(s){let i=this.getZoneWith(s);if(i)return i._properties[s]}getZoneWith(s){let i=this;for(;i;){if(i._properties.hasOwnProperty(s))return i;i=i._parent}return null}fork(s){if(!s)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,s)}wrap(s,i){if(typeof s!="function")throw new Error("Expecting function got: "+s);let r=this._zoneDelegate.intercept(this,s,i),E=this;return function(){return E.runGuarded(r,this,arguments,i)}}run(s,i,r,E){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,s,i,r,E)}finally{b=b.parent}}runGuarded(s,i=null,r,E){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,s,i,r,E)}catch(x){if(this._zoneDelegate.handleError(this,x))throw x}}finally{b=b.parent}}runTask(s,i,r){if(s.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");let E=s,{type:x,data:{isPeriodic:ee=!1,isRefreshable:M=!1}={}}=s;if(s.state===q&&(x===U||x===k))return;let he=s.state!=A;he&&E._transitionTo(A,d);let _e=D;D=E,b={parent:b,zone:this};try{x==k&&s.data&&!ee&&!M&&(s.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,E,i,r)}catch(Q){if(this._zoneDelegate.handleError(this,Q))throw Q}}finally{let Q=s.state;if(Q!==q&&Q!==X)if(x==U||ee||M&&Q===p)he&&E._transitionTo(d,A,p);else{let Te=E._zoneDelegates;this._updateTaskCount(E,-1),he&&E._transitionTo(q,A,q),M&&(E._zoneDelegates=Te)}b=b.parent,D=_e}}scheduleTask(s){if(s.zone&&s.zone!==this){let r=this;for(;r;){if(r===s.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${s.zone.name}`);r=r.parent}}s._transitionTo(p,q);let i=[];s._zoneDelegates=i,s._zone=this;try{s=this._zoneDelegate.scheduleTask(this,s)}catch(r){throw s._transitionTo(X,p,q),this._zoneDelegate.handleError(this,r),r}return s._zoneDelegates===i&&this._updateTaskCount(s,1),s.state==p&&s._transitionTo(d,p),s}scheduleMicroTask(s,i,r,E){return this.scheduleTask(new g(F,s,i,r,E,void 0))}scheduleMacroTask(s,i,r,E,x){return this.scheduleTask(new g(k,s,i,r,E,x))}scheduleEventTask(s,i,r,E,x){return this.scheduleTask(new g(U,s,i,r,E,x))}cancelTask(s){if(s.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");if(!(s.state!==d&&s.state!==A)){s._transitionTo(V,d,A);try{this._zoneDelegate.cancelTask(this,s)}catch(i){throw s._transitionTo(X,V),this._zoneDelegate.handleError(this,i),i}return this._updateTaskCount(s,-1),s._transitionTo(q,V),s.runCount=-1,s}}_updateTaskCount(s,i){let r=s._zoneDelegates;i==-1&&(s._zoneDelegates=null);for(let E=0;E<r.length;E++)r[E]._updateTaskCount(s.type,i)}}let c={name:"",onHasTask:(I,s,i,r)=>I.hasTask(i,r),onScheduleTask:(I,s,i,r)=>I.scheduleTask(i,r),onInvokeTask:(I,s,i,r,E,x)=>I.invokeTask(i,r,E,x),onCancelTask:(I,s,i,r)=>I.cancelTask(i,r)};class f{get zone(){return this._zone}_zone;_taskCounts={microTask:0,macroTask:0,eventTask:0};_parentDelegate;_forkDlgt;_forkZS;_forkCurrZone;_interceptDlgt;_interceptZS;_interceptCurrZone;_invokeDlgt;_invokeZS;_invokeCurrZone;_handleErrorDlgt;_handleErrorZS;_handleErrorCurrZone;_scheduleTaskDlgt;_scheduleTaskZS;_scheduleTaskCurrZone;_invokeTaskDlgt;_invokeTaskZS;_invokeTaskCurrZone;_cancelTaskDlgt;_cancelTaskZS;_cancelTaskCurrZone;_hasTaskDlgt;_hasTaskDlgtOwner;_hasTaskZS;_hasTaskCurrZone;constructor(s,i,r){this._zone=s,this._parentDelegate=i,this._forkZS=r&&(r&&r.onFork?r:i._forkZS),this._forkDlgt=r&&(r.onFork?i:i._forkDlgt),this._forkCurrZone=r&&(r.onFork?this._zone:i._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:i._interceptZS),this._interceptDlgt=r&&(r.onIntercept?i:i._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this._zone:i._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:i._invokeZS),this._invokeDlgt=r&&(r.onInvoke?i:i._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this._zone:i._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:i._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?i:i._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this._zone:i._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:i._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?i:i._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this._zone:i._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:i._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?i:i._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this._zone:i._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:i._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?i:i._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this._zone:i._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let E=r&&r.onHasTask,x=i&&i._hasTaskZS;(E||x)&&(this._hasTaskZS=E?r:c,this._hasTaskDlgt=i,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,r.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=i,this._scheduleTaskCurrZone=this._zone),r.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=i,this._invokeTaskCurrZone=this._zone),r.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=i,this._cancelTaskCurrZone=this._zone))}fork(s,i){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,s,i):new e(s,i)}intercept(s,i,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,s,i,r):i}invoke(s,i,r,E,x){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,s,i,r,E,x):i.apply(r,E)}handleError(s,i){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,s,i):!0}scheduleTask(s,i){let r=i;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,s,i),r||(r=i);else if(i.scheduleFn)i.scheduleFn(i);else if(i.type==F)z(i);else throw new Error("Task is missing scheduleFn.");return r}invokeTask(s,i,r,E){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,s,i,r,E):i.callback.apply(r,E)}cancelTask(s,i){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,s,i);else{if(!i.cancelFn)throw Error("Task is not cancelable");r=i.cancelFn(i)}return r}hasTask(s,i){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,s,i)}catch(r){this.handleError(s,r)}}_updateTaskCount(s,i){let r=this._taskCounts,E=r[s],x=r[s]=E+i;if(x<0)throw new Error("More tasks executed then were scheduled.");if(E==0||x==0){let ee={microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:s};this.hasTask(this._zone,ee)}}}class g{type;source;invoke;callback;data;scheduleFn;cancelFn;_zone=null;runCount=0;_zoneDelegates=null;_state="notScheduled";constructor(s,i,r,E,x,ee){if(this.type=s,this.source=i,this.data=E,this.scheduleFn=x,this.cancelFn=ee,!r)throw new Error("callback is not defined");this.callback=r;let M=this;s===U&&E&&E.useG?this.invoke=g.invokeTask:this.invoke=function(){return g.invokeTask.call(ce,M,this,arguments)}}static invokeTask(s,i,r){s||(s=this),K++;try{return s.runCount++,s.zone.runTask(s,i,r)}finally{K==1&&$(),K--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(q,p)}_transitionTo(s,i,r){if(this._state===i||this._state===r)this._state=s,s==q&&(this._zoneDelegates=null);else throw new Error(`${this.type} '${this.source}': can not transition to '${s}', expecting state '${i}'${r?" or '"+r+"'":""}, was '${this._state}'.`)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let T=te("setTimeout"),y=te("Promise"),w=te("then"),_=[],P=!1,L;function H(I){if(L||ce[y]&&(L=ce[y].resolve(0)),L){let s=L[w];s||(s=L.then),s.call(L,I)}else ce[T](I,0)}function z(I){K===0&&_.length===0&&H($),I&&_.push(I)}function $(){if(!P){for(P=!0;_.length;){let I=_;_=[];for(let s=0;s<I.length;s++){let i=I[s];try{i.zone.runTask(i,null,null)}catch(r){R.onUnhandledError(r)}}}R.microtaskDrainDone(),P=!1}}let J={name:"NO ZONE"},q="notScheduled",p="scheduling",d="scheduled",A="running",V="canceling",X="unknown",F="microTask",k="macroTask",U="eventTask",S={},R={symbol:te,currentZoneFrame:()=>b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:z,showUncaughtError:()=>!e[te("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:H},b={parent:null,zone:new e(null,null)},D=null,K=0;function W(){}return a("Zone","Zone"),e}function dt(){let t=globalThis,n=t[te("forceDuplicateZoneCheck")]===!0;if(t.Zone&&(n||typeof t.Zone.__symbol__!="function"))throw new Error("Zone already loaded.");return t.Zone??=ht(),t.Zone}var pe=Object.getOwnPropertyDescriptor,Me=Object.defineProperty,Ae=Object.getPrototypeOf,_t=Object.create,Tt=Array.prototype.slice,je="addEventListener",He="removeEventListener",Ne=te(je),Ze=te(He),ae="true",le="false",ve=te("");function Ve(t,n){return Zone.current.wrap(t,n)}function xe(t,n,a,e,c){return Zone.current.scheduleMacroTask(t,n,a,e,c)}var j=te,we=typeof window<"u",be=we?window:void 0,Y=we&&be||globalThis,Et="removeAttribute";function Fe(t,n){for(let a=t.length-1;a>=0;a--)typeof t[a]=="function"&&(t[a]=Ve(t[a],n+"_"+a));return t}function gt(t,n){let a=t.constructor.name;for(let e=0;e<n.length;e++){let c=n[e],f=t[c];if(f){let g=pe(t,c);if(!et(g))continue;t[c]=(T=>{let y=function(){return T.apply(this,Fe(arguments,a+"."+c))};return fe(y,T),y})(f)}}}function et(t){return t?t.writable===!1?!1:!(typeof t.get=="function"&&typeof t.set>"u"):!0}var tt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in Y)&&typeof Y.process<"u"&&Y.process.toString()==="[object process]",Ge=!De&&!tt&&!!(we&&be.HTMLElement),nt=typeof Y.process<"u"&&Y.process.toString()==="[object process]"&&!tt&&!!(we&&be.HTMLElement),Ce={},kt=j("enable_beforeunload"),Xe=function(t){if(t=t||Y.event,!t)return;let n=Ce[t.type];n||(n=Ce[t.type]=j("ON_PROPERTY"+t.type));let a=this||t.target||Y,e=a[n],c;if(Ge&&a===be&&t.type==="error"){let f=t;c=e&&e.call(this,f.message,f.filename,f.lineno,f.colno,f.error),c===!0&&t.preventDefault()}else c=e&&e.apply(this,arguments),t.type==="beforeunload"&&Y[kt]&&typeof c=="string"?t.returnValue=c:c!=null&&!c&&t.preventDefault();return c};function Ye(t,n,a){let e=pe(t,n);if(!e&&a&&pe(a,n)&&(e={enumerable:!0,configurable:!0}),!e||!e.configurable)return;let c=j("on"+n+"patched");if(t.hasOwnProperty(c)&&t[c])return;delete e.writable,delete e.value;let f=e.get,g=e.set,T=n.slice(2),y=Ce[T];y||(y=Ce[T]=j("ON_PROPERTY"+T)),e.set=function(w){let _=this;if(!_&&t===Y&&(_=Y),!_)return;typeof _[y]=="function"&&_.removeEventListener(T,Xe),g?.call(_,null),_[y]=w,typeof w=="function"&&_.addEventListener(T,Xe,!1)},e.get=function(){let w=this;if(!w&&t===Y&&(w=Y),!w)return null;let _=w[y];if(_)return _;if(f){let P=f.call(this);if(P)return e.set.call(this,P),typeof w[Et]=="function"&&w.removeAttribute(n),P}return null},Me(t,n,e),t[c]=!0}function rt(t,n,a){if(n)for(let e=0;e<n.length;e++)Ye(t,"on"+n[e],a);else{let e=[];for(let c in t)c.slice(0,2)=="on"&&e.push(c);for(let c=0;c<e.length;c++)Ye(t,e[c],a)}}var oe=j("originalInstance");function ye(t){let n=Y[t];if(!n)return;Y[j(t)]=n,Y[t]=function(){let c=Fe(arguments,t);switch(c.length){case 0:this[oe]=new n;break;case 1:this[oe]=new n(c[0]);break;case 2:this[oe]=new n(c[0],c[1]);break;case 3:this[oe]=new n(c[0],c[1],c[2]);break;case 4:this[oe]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},fe(Y[t],n);let a=new n(function(){}),e;for(e in a)t==="XMLHttpRequest"&&e==="responseBlob"||(function(c){typeof a[c]=="function"?Y[t].prototype[c]=function(){return this[oe][c].apply(this[oe],arguments)}:Me(Y[t].prototype,c,{set:function(f){typeof f=="function"?(this[oe][c]=Ve(f,t+"."+c),fe(this[oe][c],f)):this[oe][c]=f},get:function(){return this[oe][c]}})})(e);for(e in n)e!=="prototype"&&n.hasOwnProperty(e)&&(Y[t][e]=n[e])}function ue(t,n,a){let e=t;for(;e&&!e.hasOwnProperty(n);)e=Ae(e);!e&&t[n]&&(e=t);let c=j(n),f=null;if(e&&(!(f=e[c])||!e.hasOwnProperty(c))){f=e[c]=e[n];let g=e&&pe(e,n);if(et(g)){let T=a(f,c,n);e[n]=function(){return T(this,arguments)},fe(e[n],f)}}return f}function mt(t,n,a){let e=null;function c(f){let g=f.data;return g.args[g.cbIdx]=function(){f.invoke.apply(this,arguments)},e.apply(g.target,g.args),f}e=ue(t,n,f=>function(g,T){let y=a(g,T);return y.cbIdx>=0&&typeof T[y.cbIdx]=="function"?xe(y.name,T[y.cbIdx],y,c):f.apply(g,T)})}function fe(t,n){t[j("OriginalDelegate")]=n}var $e=!1,Le=!1;function yt(){if($e)return Le;$e=!0;try{let t=be.navigator.userAgent;(t.indexOf("MSIE ")!==-1||t.indexOf("Trident/")!==-1||t.indexOf("Edge/")!==-1)&&(Le=!0)}catch{}return Le}function Je(t){return typeof t=="function"}function Ke(t){return typeof t=="number"}var pt={useG:!0},ne={},ot={},st=new RegExp("^"+ve+"(\\w+)(true|false)$"),it=j("propagationStopped");function ct(t,n){let a=(n?n(t):t)+le,e=(n?n(t):t)+ae,c=ve+a,f=ve+e;ne[t]={},ne[t][le]=c,ne[t][ae]=f}function vt(t,n,a,e){let c=e&&e.add||je,f=e&&e.rm||He,g=e&&e.listeners||"eventListeners",T=e&&e.rmAll||"removeAllListeners",y=j(c),w="."+c+":",_="prependListener",P="."+_+":",L=function(p,d,A){if(p.isRemoved)return;let V=p.callback;typeof V=="object"&&V.handleEvent&&(p.callback=k=>V.handleEvent(k),p.originalDelegate=V);let X;try{p.invoke(p,d,[A])}catch(k){X=k}let F=p.options;if(F&&typeof F=="object"&&F.once){let k=p.originalDelegate?p.originalDelegate:p.callback;d[f].call(d,A.type,k,F)}return X};function H(p,d,A){if(d=d||t.event,!d)return;let V=p||d.target||t,X=V[ne[d.type][A?ae:le]];if(X){let F=[];if(X.length===1){let k=L(X[0],V,d);k&&F.push(k)}else{let k=X.slice();for(let U=0;U<k.length&&!(d&&d[it]===!0);U++){let S=L(k[U],V,d);S&&F.push(S)}}if(F.length===1)throw F[0];for(let k=0;k<F.length;k++){let U=F[k];n.nativeScheduleMicroTask(()=>{throw U})}}}let z=function(p){return H(this,p,!1)},$=function(p){return H(this,p,!0)};function J(p,d){if(!p)return!1;let A=!0;d&&d.useG!==void 0&&(A=d.useG);let V=d&&d.vh,X=!0;d&&d.chkDup!==void 0&&(X=d.chkDup);let F=!1;d&&d.rt!==void 0&&(F=d.rt);let k=p;for(;k&&!k.hasOwnProperty(c);)k=Ae(k);if(!k&&p[c]&&(k=p),!k||k[y])return!1;let U=d&&d.eventNameToString,S={},R=k[y]=k[c],b=k[j(f)]=k[f],D=k[j(g)]=k[g],K=k[j(T)]=k[T],W;d&&d.prepend&&(W=k[j(d.prepend)]=k[d.prepend]);function I(o,u){return u?typeof o=="boolean"?{capture:o,passive:!0}:o?typeof o=="object"&&o.passive!==!1?{...o,passive:!0}:o:{passive:!0}:o}let s=function(o){if(!S.isExisting)return R.call(S.target,S.eventName,S.capture?$:z,S.options)},i=function(o){if(!o.isRemoved){let u=ne[o.eventName],v;u&&(v=u[o.capture?ae:le]);let C=v&&o.target[v];if(C){for(let m=0;m<C.length;m++)if(C[m]===o){C.splice(m,1),o.isRemoved=!0,o.removeAbortListener&&(o.removeAbortListener(),o.removeAbortListener=null),C.length===0&&(o.allRemoved=!0,o.target[v]=null);break}}}if(o.allRemoved)return b.call(o.target,o.eventName,o.capture?$:z,o.options)},r=function(o){return R.call(S.target,S.eventName,o.invoke,S.options)},E=function(o){return W.call(S.target,S.eventName,o.invoke,S.options)},x=function(o){return b.call(o.target,o.eventName,o.invoke,o.options)},ee=A?s:r,M=A?i:x,he=function(o,u){let v=typeof u;return v==="function"&&o.callback===u||v==="object"&&o.originalDelegate===u},_e=d?.diff||he,Q=Zone[j("UNPATCHED_EVENTS")],Te=t[j("PASSIVE_EVENTS")];function h(o){if(typeof o=="object"&&o!==null){let u={...o};return o.signal&&(u.signal=o.signal),u}return o}let l=function(o,u,v,C,m=!1,O=!1){return function(){let N=this||t,Z=arguments[0];d&&d.transferEventName&&(Z=d.transferEventName(Z));let G=arguments[1];if(!G)return o.apply(this,arguments);if(De&&Z==="uncaughtException")return o.apply(this,arguments);let B=!1;if(typeof G!="function"){if(!G.handleEvent)return o.apply(this,arguments);B=!0}if(V&&!V(o,G,N,arguments))return;let de=!!Te&&Te.indexOf(Z)!==-1,se=h(I(arguments[2],de)),Ee=se?.signal;if(Ee?.aborted)return;if(Q){for(let ie=0;ie<Q.length;ie++)if(Z===Q[ie])return de?o.call(N,Z,G,se):o.apply(this,arguments)}let Se=se?typeof se=="boolean"?!0:se.capture:!1,Be=se&&typeof se=="object"?se.once:!1,ft=Zone.current,Oe=ne[Z];Oe||(ct(Z,U),Oe=ne[Z]);let ze=Oe[Se?ae:le],ge=N[ze],Ue=!1;if(ge){if(Ue=!0,X){for(let ie=0;ie<ge.length;ie++)if(_e(ge[ie],G))return}}else ge=N[ze]=[];let Pe,We=N.constructor.name,qe=ot[We];qe&&(Pe=qe[Z]),Pe||(Pe=We+u+(U?U(Z):Z)),S.options=se,Be&&(S.options.once=!1),S.target=N,S.capture=Se,S.eventName=Z,S.isExisting=Ue;let me=A?pt:void 0;me&&(me.taskData=S),Ee&&(S.options.signal=void 0);let re=ft.scheduleEventTask(Pe,G,me,v,C);if(Ee){S.options.signal=Ee;let ie=()=>re.zone.cancelTask(re);o.call(Ee,"abort",ie,{once:!0}),re.removeAbortListener=()=>Ee.removeEventListener("abort",ie)}if(S.target=null,me&&(me.taskData=null),Be&&(S.options.once=!0),typeof re.options!="boolean"&&(re.options=se),re.target=N,re.capture=Se,re.eventName=Z,B&&(re.originalDelegate=G),O?ge.unshift(re):ge.push(re),m)return N}};return k[c]=l(R,w,ee,M,F),W&&(k[_]=l(W,P,E,M,F,!0)),k[f]=function(){let o=this||t,u=arguments[0];d&&d.transferEventName&&(u=d.transferEventName(u));let v=arguments[2],C=v?typeof v=="boolean"?!0:v.capture:!1,m=arguments[1];if(!m)return b.apply(this,arguments);if(V&&!V(b,m,o,arguments))return;let O=ne[u],N;O&&(N=O[C?ae:le]);let Z=N&&o[N];if(Z)for(let G=0;G<Z.length;G++){let B=Z[G];if(_e(B,m)){if(Z.splice(G,1),B.isRemoved=!0,Z.length===0&&(B.allRemoved=!0,o[N]=null,!C&&typeof u=="string")){let de=ve+"ON_PROPERTY"+u;o[de]=null}return B.zone.cancelTask(B),F?o:void 0}}return b.apply(this,arguments)},k[g]=function(){let o=this||t,u=arguments[0];d&&d.transferEventName&&(u=d.transferEventName(u));let v=[],C=at(o,U?U(u):u);for(let m=0;m<C.length;m++){let O=C[m],N=O.originalDelegate?O.originalDelegate:O.callback;v.push(N)}return v},k[T]=function(){let o=this||t,u=arguments[0];if(u){d&&d.transferEventName&&(u=d.transferEventName(u));let v=ne[u];if(v){let C=v[le],m=v[ae],O=o[C],N=o[m];if(O){let Z=O.slice();for(let G=0;G<Z.length;G++){let B=Z[G],de=B.originalDelegate?B.originalDelegate:B.callback;this[f].call(this,u,de,B.options)}}if(N){let Z=N.slice();for(let G=0;G<Z.length;G++){let B=Z[G],de=B.originalDelegate?B.originalDelegate:B.callback;this[f].call(this,u,de,B.options)}}}}else{let v=Object.keys(o);for(let C=0;C<v.length;C++){let m=v[C],O=st.exec(m),N=O&&O[1];N&&N!=="removeListener"&&this[T].call(this,N)}this[T].call(this,"removeListener")}if(F)return this},fe(k[c],R),fe(k[f],b),K&&fe(k[T],K),D&&fe(k[g],D),!0}let q=[];for(let p=0;p<a.length;p++)q[p]=J(a[p],e);return q}function at(t,n){if(!n){let f=[];for(let g in t){let T=st.exec(g),y=T&&T[1];if(y&&(!n||y===n)){let w=t[g];if(w)for(let _=0;_<w.length;_++)f.push(w[_])}}return f}let a=ne[n];a||(ct(n),a=ne[n]);let e=t[a[le]],c=t[a[ae]];return e?c?e.concat(c):e.slice():c?c.slice():[]}function bt(t,n){let a=t.Event;a&&a.prototype&&n.patchMethod(a.prototype,"stopImmediatePropagation",e=>function(c,f){c[it]=!0,e&&e.apply(c,f)})}function Pt(t,n){n.patchMethod(t,"queueMicrotask",a=>function(e,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}var Re=j("zoneTask");function ke(t,n,a,e){let c=null,f=null;n+=e,a+=e;let g={};function T(w){let _=w.data;_.args[0]=function(){return w.invoke.apply(this,arguments)};let P=c.apply(t,_.args);return Ke(P)?_.handleId=P:(_.handle=P,_.isRefreshable=Je(P.refresh)),w}function y(w){let{handle:_,handleId:P}=w.data;return f.call(t,_??P)}c=ue(t,n,w=>function(_,P){if(Je(P[0])){let L={isRefreshable:!1,isPeriodic:e==="Interval",delay:e==="Timeout"||e==="Interval"?P[1]||0:void 0,args:P},H=P[0];P[0]=function(){try{return H.apply(this,arguments)}finally{let{handle:A,handleId:V,isPeriodic:X,isRefreshable:F}=L;!X&&!F&&(V?delete g[V]:A&&(A[Re]=null))}};let z=xe(n,P[0],L,T,y);if(!z)return z;let{handleId:$,handle:J,isRefreshable:q,isPeriodic:p}=z.data;if($)g[$]=z;else if(J&&(J[Re]=z,q&&!p)){let d=J.refresh;J.refresh=function(){let{zone:A,state:V}=z;return V==="notScheduled"?(z._state="scheduled",A._updateTaskCount(z,1)):V==="running"&&(z._state="scheduling"),d.call(this)}}return J??$??z}else return w.apply(t,P)}),f=ue(t,a,w=>function(_,P){let L=P[0],H;Ke(L)?(H=g[L],delete g[L]):(H=L?.[Re],H?L[Re]=null:H=L),H?.type?H.cancelFn&&H.zone.cancelTask(H):w.apply(t,P)})}function Rt(t,n){let{isBrowser:a,isMix:e}=n.getGlobalObjects();if(!a&&!e||!t.customElements||!("customElements"in t))return;let c=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"];n.patchCallbacks(n,t.customElements,"customElements","define",c)}function Ct(t,n){if(Zone[n.symbol("patchEventTarget")])return;let{eventNames:a,zoneSymbolEventNames:e,TRUE_STR:c,FALSE_STR:f,ZONE_SYMBOL_PREFIX:g}=n.getGlobalObjects();for(let y=0;y<a.length;y++){let w=a[y],_=w+f,P=w+c,L=g+_,H=g+P;e[w]={},e[w][f]=L,e[w][c]=H}let T=t.EventTarget;if(!(!T||!T.prototype))return n.patchEventTarget(t,n,[T&&T.prototype]),!0}function wt(t,n){n.patchEventPrototype(t,n)}function lt(t,n,a){if(!a||a.length===0)return n;let e=a.filter(f=>f.target===t);if(e.length===0)return n;let c=e[0].ignoreProperties;return n.filter(f=>c.indexOf(f)===-1)}function Qe(t,n,a,e){if(!t)return;let c=lt(t,n,a);rt(t,c,e)}function Ie(t){return Object.getOwnPropertyNames(t).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}function Dt(t,n){if(De&&!nt||Zone[t.symbol("patchEvents")])return;let a=n.__Zone_ignore_on_properties,e=[];if(Ge){let c=window;e=e.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);let f=[];Qe(c,Ie(c),a&&a.concat(f),Ae(c))}e=e.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c<e.length;c++){let f=n[e[c]];f?.prototype&&Qe(f.prototype,Ie(f.prototype),a)}}function St(t){t.__load_patch("legacy",n=>{let a=n[t.__symbol__("legacyPatch")];a&&a()}),t.__load_patch("timers",n=>{let e="clear";ke(n,"set",e,"Timeout"),ke(n,"set",e,"Interval"),ke(n,"set",e,"Immediate")}),t.__load_patch("requestAnimationFrame",n=>{ke(n,"request","cancel","AnimationFrame"),ke(n,"mozRequest","mozCancel","AnimationFrame"),ke(n,"webkitRequest","webkitCancel","AnimationFrame")}),t.__load_patch("blocking",(n,a)=>{let e=["alert","prompt","confirm"];for(let c=0;c<e.length;c++){let f=e[c];ue(n,f,(g,T,y)=>function(w,_){return a.current.run(g,n,_,y)})}}),t.__load_patch("EventTarget",(n,a,e)=>{wt(n,e),Ct(n,e);let c=n.XMLHttpRequestEventTarget;c&&c.prototype&&e.patchEventTarget(n,e,[c.prototype])}),t.__load_patch("MutationObserver",(n,a,e)=>{ye("MutationObserver"),ye("WebKitMutationObserver")}),t.__load_patch("IntersectionObserver",(n,a,e)=>{ye("IntersectionObserver")}),t.__load_patch("FileReader",(n,a,e)=>{ye("FileReader")}),t.__load_patch("on_property",(n,a,e)=>{Dt(e,n)}),t.__load_patch("customElements",(n,a,e)=>{Rt(n,e)}),t.__load_patch("XHR",(n,a)=>{w(n);let e=j("xhrTask"),c=j("xhrSync"),f=j("xhrListener"),g=j("xhrScheduled"),T=j("xhrURL"),y=j("xhrErrorBeforeScheduled");function w(_){let P=_.XMLHttpRequest;if(!P)return;let L=P.prototype;function H(R){return R[e]}let z=L[Ne],$=L[Ze];if(!z){let R=_.XMLHttpRequestEventTarget;if(R){let b=R.prototype;z=b[Ne],$=b[Ze]}}let J="readystatechange",q="scheduled";function p(R){let b=R.data,D=b.target;D[g]=!1,D[y]=!1;let K=D[f];z||(z=D[Ne],$=D[Ze]),K&&$.call(D,J,K);let W=D[f]=()=>{if(D.readyState===D.DONE)if(!b.aborted&&D[g]&&R.state===q){let s=D[a.__symbol__("loadfalse")];if(D.status!==0&&s&&s.length>0){let i=R.invoke;R.invoke=function(){let r=D[a.__symbol__("loadfalse")];for(let E=0;E<r.length;E++)r[E]===R&&r.splice(E,1);!b.aborted&&R.state===q&&i.call(R)},s.push(R)}else R.invoke()}else!b.aborted&&D[g]===!1&&(D[y]=!0)};return z.call(D,J,W),D[e]||(D[e]=R),U.apply(D,b.args),D[g]=!0,R}function d(){}function A(R){let b=R.data;return b.aborted=!0,S.apply(b.target,b.args)}let V=ue(L,"open",()=>function(R,b){return R[c]=b[2]==!1,R[T]=b[1],V.apply(R,b)}),X="XMLHttpRequest.send",F=j("fetchTaskAborting"),k=j("fetchTaskScheduling"),U=ue(L,"send",()=>function(R,b){if(a.current[k]===!0||R[c])return U.apply(R,b);{let D={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},K=xe(X,d,D,p,A);R&&R[y]===!0&&!D.aborted&&K.state===q&&K.invoke()}}),S=ue(L,"abort",()=>function(R,b){let D=H(R);if(D&&typeof D.type=="string"){if(D.cancelFn==null||D.data&&D.data.aborted)return;D.zone.cancelTask(D)}else if(a.current[F]===!0)return S.apply(R,b)})}}),t.__load_patch("geolocation",n=>{n.navigator&&n.navigator.geolocation&&gt(n.navigator.geolocation,["getCurrentPosition","watchPosition"])}),t.__load_patch("PromiseRejectionEvent",(n,a)=>{function e(c){return function(f){at(n,c).forEach(T=>{let y=n.PromiseRejectionEvent;if(y){let w=new y(c,{promise:f.promise,reason:f.rejection});T.invoke(w)}})}}n.PromiseRejectionEvent&&(a[j("unhandledPromiseRejectionHandler")]=e("unhandledrejection"),a[j("rejectionHandledHandler")]=e("rejectionhandled"))}),t.__load_patch("queueMicrotask",(n,a,e)=>{Pt(n,e)})}function Ot(t){t.__load_patch("ZoneAwarePromise",(n,a,e)=>{let c=Object.getOwnPropertyDescriptor,f=Object.defineProperty;function g(h){if(h&&h.toString===Object.prototype.toString){let l=h.constructor&&h.constructor.name;return(l||"")+": "+JSON.stringify(h)}return h?h.toString():Object.prototype.toString.call(h)}let T=e.symbol,y=[],w=n[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")]!==!1,_=T("Promise"),P=T("then"),L="__creationTrace__";e.onUnhandledError=h=>{if(e.showUncaughtError()){let l=h&&h.rejection;l?console.error("Unhandled Promise rejection:",l instanceof Error?l.message:l,"; Zone:",h.zone.name,"; Task:",h.task&&h.task.source,"; Value:",l,l instanceof Error?l.stack:void 0):console.error(h)}},e.microtaskDrainDone=()=>{for(;y.length;){let h=y.shift();try{h.zone.runGuarded(()=>{throw h.throwOriginal?h.rejection:h})}catch(l){z(l)}}};let H=T("unhandledPromiseRejectionHandler");function z(h){e.onUnhandledError(h);try{let l=a[H];typeof l=="function"&&l.call(this,h)}catch{}}function $(h){return h&&typeof h.then=="function"}function J(h){return h}function q(h){return M.reject(h)}let p=T("state"),d=T("value"),A=T("finally"),V=T("parentPromiseValue"),X=T("parentPromiseState"),F="Promise.then",k=null,U=!0,S=!1,R=0;function b(h,l){return o=>{try{I(h,l,o)}catch(u){I(h,!1,u)}}}let D=function(){let h=!1;return function(o){return function(){h||(h=!0,o.apply(null,arguments))}}},K="Promise resolved with itself",W=T("currentTaskTrace");function I(h,l,o){let u=D();if(h===o)throw new TypeError(K);if(h[p]===k){let v=null;try{(typeof o=="object"||typeof o=="function")&&(v=o&&o.then)}catch(C){return u(()=>{I(h,!1,C)})(),h}if(l!==S&&o instanceof M&&o.hasOwnProperty(p)&&o.hasOwnProperty(d)&&o[p]!==k)i(o),I(h,o[p],o[d]);else if(l!==S&&typeof v=="function")try{v.call(o,u(b(h,l)),u(b(h,!1)))}catch(C){u(()=>{I(h,!1,C)})()}else{h[p]=l;let C=h[d];if(h[d]=o,h[A]===A&&l===U&&(h[p]=h[X],h[d]=h[V]),l===S&&o instanceof Error){let m=a.currentTask&&a.currentTask.data&&a.currentTask.data[L];m&&f(o,W,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m<C.length;)r(h,C[m++],C[m++],C[m++],C[m++]);if(C.length==0&&l==S){h[p]=R;let m=o;try{throw new Error("Uncaught (in promise): "+g(o)+(o&&o.stack?`
2
+ `+o.stack:""))}catch(O){m=O}w&&(m.throwOriginal=!0),m.rejection=o,m.promise=h,m.zone=a.current,m.task=a.currentTask,y.push(m),e.scheduleMicroTask()}}}return h}let s=T("rejectionHandledHandler");function i(h){if(h[p]===R){try{let l=a[s];l&&typeof l=="function"&&l.call(this,{rejection:h[d],promise:h})}catch{}h[p]=S;for(let l=0;l<y.length;l++)h===y[l].promise&&y.splice(l,1)}}function r(h,l,o,u,v){i(h);let C=h[p],m=C?typeof u=="function"?u:J:typeof v=="function"?v:q;l.scheduleMicroTask(F,()=>{try{let O=h[d],N=!!o&&A===o[A];N&&(o[V]=O,o[X]=C);let Z=l.run(m,void 0,N&&m!==q&&m!==J?[]:[O]);I(o,!0,Z)}catch(O){I(o,!1,O)}},o)}let E="function ZoneAwarePromise() { [native code] }",x=function(){},ee=n.AggregateError;class M{static toString(){return E}static resolve(l){return l instanceof M?l:I(new this(null),U,l)}static reject(l){return I(new this(null),S,l)}static withResolvers(){let l={};return l.promise=new M((o,u)=>{l.resolve=o,l.reject=u}),l}static any(l){if(!l||typeof l[Symbol.iterator]!="function")return Promise.reject(new ee([],"All promises were rejected"));let o=[],u=0;try{for(let m of l)u++,o.push(M.resolve(m))}catch{return Promise.reject(new ee([],"All promises were rejected"))}if(u===0)return Promise.reject(new ee([],"All promises were rejected"));let v=!1,C=[];return new M((m,O)=>{for(let N=0;N<o.length;N++)o[N].then(Z=>{v||(v=!0,m(Z))},Z=>{C.push(Z),u--,u===0&&(v=!0,O(new ee(C,"All promises were rejected")))})})}static race(l){let o,u,v=new this((O,N)=>{o=O,u=N});function C(O){o(O)}function m(O){u(O)}for(let O of l)$(O)||(O=this.resolve(O)),O.then(C,m);return v}static all(l){return M.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof M?this:M).allWithCallback(l,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(l,o){let u,v,C=new this((Z,G)=>{u=Z,v=G}),m=2,O=0,N=[];for(let Z of l){$(Z)||(Z=this.resolve(Z));let G=O;try{Z.then(B=>{N[G]=o?o.thenCallback(B):B,m--,m===0&&u(N)},B=>{o?(N[G]=o.errorCallback(B),m--,m===0&&u(N)):v(B)})}catch(B){v(B)}m++,O++}return m-=2,m===0&&u(N),C}constructor(l){let o=this;if(!(o instanceof M))throw new Error("Must be an instanceof Promise.");o[p]=k,o[d]=[];try{let u=D();l&&l(u(b(o,U)),u(b(o,S)))}catch(u){I(o,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return M}then(l,o){let u=this.constructor?.[Symbol.species];(!u||typeof u!="function")&&(u=this.constructor||M);let v=new u(x),C=a.current;return this[p]==k?this[d].push(C,v,l,o):r(this,C,v,l,o),v}catch(l){return this.then(null,l)}finally(l){let o=this.constructor?.[Symbol.species];(!o||typeof o!="function")&&(o=M);let u=new o(x);u[A]=A;let v=a.current;return this[p]==k?this[d].push(v,u,l,l):r(this,v,u,l,l),u}}M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;let he=n[_]=n.Promise;n.Promise=M;let _e=T("thenPatched");function Q(h){let l=h.prototype,o=c(l,"then");if(o&&(o.writable===!1||!o.configurable))return;let u=l.then;l[P]=u,h.prototype.then=function(v,C){return new M((O,N)=>{u.call(this,O,N)}).then(v,C)},h[_e]=!0}e.patchThen=Q;function Te(h){return function(l,o){let u=h.apply(l,o);if(u instanceof M)return u;let v=u.constructor;return v[_e]||Q(v),u}}return he&&(Q(he),ue(n,"fetch",h=>Te(h))),Promise[a.__symbol__("uncaughtPromiseErrors")]=y,M})}function Nt(t){t.__load_patch("toString",n=>{let a=Function.prototype.toString,e=j("OriginalDelegate"),c=j("Promise"),f=j("Error"),g=function(){if(typeof this=="function"){let _=this[e];if(_)return typeof _=="function"?a.call(_):Object.prototype.toString.call(_);if(this===Promise){let P=n[c];if(P)return a.call(P)}if(this===Error){let P=n[f];if(P)return a.call(P)}}return a.call(this)};g[e]=a,Function.prototype.toString=g;let T=Object.prototype.toString,y="[object Promise]";Object.prototype.toString=function(){return typeof Promise=="function"&&this instanceof Promise?y:T.call(this)}})}function Zt(t,n,a,e,c){let f=Zone.__symbol__(e);if(n[f])return;let g=n[f]=n[e];n[e]=function(T,y,w){return y&&y.prototype&&c.forEach(function(_){let P=`${a}.${e}::`+_,L=y.prototype;try{if(L.hasOwnProperty(_)){let H=t.ObjectGetOwnPropertyDescriptor(L,_);H&&H.value?(H.value=t.wrapWithCurrentZone(H.value,P),t._redefineProperty(y.prototype,_,H)):L[_]&&(L[_]=t.wrapWithCurrentZone(L[_],P))}else L[_]&&(L[_]=t.wrapWithCurrentZone(L[_],P))}catch{}}),g.call(n,T,y,w)},t.attachOriginToPatched(n[e],g)}function Lt(t){t.__load_patch("util",(n,a,e)=>{let c=Ie(n);e.patchOnProperties=rt,e.patchMethod=ue,e.bindArguments=Fe,e.patchMacroTask=mt;let f=a.__symbol__("BLACK_LISTED_EVENTS"),g=a.__symbol__("UNPATCHED_EVENTS");n[g]&&(n[f]=n[g]),n[f]&&(a[f]=a[g]=n[f]),e.patchEventPrototype=bt,e.patchEventTarget=vt,e.isIEOrEdge=yt,e.ObjectDefineProperty=Me,e.ObjectGetOwnPropertyDescriptor=pe,e.ObjectCreate=_t,e.ArraySlice=Tt,e.patchClass=ye,e.wrapWithCurrentZone=Ve,e.filterProperties=lt,e.attachOriginToPatched=fe,e._redefineProperty=Object.defineProperty,e.patchCallbacks=Zt,e.getGlobalObjects=()=>({globalSources:ot,zoneSymbolEventNames:ne,eventNames:c,isBrowser:Ge,isMix:nt,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:ve,ADD_EVENT_LISTENER_STR:je,REMOVE_EVENT_LISTENER_STR:He})})}function It(t){Ot(t),Nt(t),Lt(t)}var ut=dt();It(ut);St(ut);