renovate-log-parser 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +245 -197
  2. package/dist/commands/install-analyze-skill.d.ts +0 -1
  3. package/dist/commands/install-analyze-skill.js +15 -12
  4. package/dist/commands/install-analyze-skill.js.map +1 -1
  5. package/dist/core/error-detector.d.ts +1 -1
  6. package/dist/core/error-detector.js +42 -2
  7. package/dist/core/error-detector.js.map +1 -1
  8. package/dist/core/skill-template.js +21 -3
  9. package/dist/core/skill-template.js.map +1 -1
  10. package/dist/server/api.d.ts +5 -4
  11. package/dist/server/api.js +59 -26
  12. package/dist/server/api.js.map +1 -1
  13. package/dist/server/log-registry.d.ts +17 -8
  14. package/dist/server/log-registry.js +44 -36
  15. package/dist/server/log-registry.js.map +1 -1
  16. package/package.json +10 -5
  17. package/web/.output/public/200.html +1 -1
  18. package/web/.output/public/404.html +1 -1
  19. package/web/.output/public/_nuxt/B7wga9sP.js +6 -0
  20. package/web/.output/public/_nuxt/BDNMzG2s.js +1 -0
  21. package/web/.output/public/_nuxt/BqJkfZTJ.js +3 -0
  22. package/web/.output/public/_nuxt/CMgYIlaH.js +1 -0
  23. package/web/.output/public/_nuxt/CWl6nNLj.js +1 -0
  24. package/web/.output/public/_nuxt/DAvRMvMn.js +3 -0
  25. package/web/.output/public/_nuxt/DB7E78p3.js +1 -0
  26. package/web/.output/public/_nuxt/DK3Fl9T5.js +1 -0
  27. package/web/.output/public/_nuxt/DVm4N3tR.js +28 -0
  28. package/web/.output/public/_nuxt/ObQDjlGC.js +1 -0
  29. package/web/.output/public/_nuxt/S1m8Jgsd.js +1 -0
  30. package/web/.output/public/_nuxt/builds/latest.json +1 -1
  31. package/web/.output/public/_nuxt/builds/meta/d1ca25cf-550d-4bed-a4d1-2daf0b4cc292.json +1 -0
  32. package/web/.output/public/_nuxt/entry.C5Sa_xmV.css +2 -0
  33. package/web/.output/public/_nuxt/error-404.zKZBzOko.css +1 -0
  34. package/web/.output/public/_nuxt/error-500.DwXcJPfY.css +1 -0
  35. package/web/.output/public/_nuxt/pages.BDcbBSnU.css +1 -0
  36. package/web/.output/public/_nuxt/public-sans-latin-400-italic.B1appi_f.woff2 +0 -0
  37. package/web/.output/public/_nuxt/public-sans-latin-400-italic.DsCWG5h0.woff +0 -0
  38. package/web/.output/public/_nuxt/public-sans-latin-400-normal.8Rpg0ruU.woff2 +0 -0
  39. package/web/.output/public/_nuxt/public-sans-latin-400-normal.SBbinRkI.woff +0 -0
  40. package/web/.output/public/_nuxt/public-sans-latin-500-normal.NlrCPXnF.woff2 +0 -0
  41. package/web/.output/public/_nuxt/public-sans-latin-500-normal.vCxiVFAq.woff +0 -0
  42. package/web/.output/public/_nuxt/public-sans-latin-600-normal.BR59oU-I.woff +0 -0
  43. package/web/.output/public/_nuxt/public-sans-latin-600-normal.Fru-LXNs.woff2 +0 -0
  44. package/web/.output/public/_nuxt/public-sans-latin-700-normal.BqJmxWdE.woff2 +0 -0
  45. package/web/.output/public/_nuxt/public-sans-latin-700-normal.Dm-oTPSL.woff +0 -0
  46. package/web/.output/public/_nuxt/qhIzkFe8.js +1 -0
  47. package/web/.output/public/favicon-dark.svg +32 -0
  48. package/web/.output/public/favicon-light.svg +32 -0
  49. package/web/.output/public/index.html +1 -1
  50. package/web/.output/public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2 +0 -0
  51. package/web/.output/public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2 +0 -0
  52. package/web/.output/public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2 +0 -0
  53. package/web/.output/public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2 +0 -0
  54. package/web/.output/public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2 +0 -0
  55. package/web/.output/public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2 +0 -0
  56. package/web/.output/public/_nuxt/B4JKWaDj.js +0 -1
  57. package/web/.output/public/_nuxt/Bs-RnkRE.js +0 -37
  58. package/web/.output/public/_nuxt/DjtJytwR.js +0 -1
  59. package/web/.output/public/_nuxt/DlAUqK2U.js +0 -1
  60. package/web/.output/public/_nuxt/a71R3CFc.js +0 -1
  61. package/web/.output/public/_nuxt/builds/meta/bc129b23-5172-4e74-875d-2a24574a5dbe.json +0 -1
  62. package/web/.output/public/_nuxt/entry.9mB-pyEY.css +0 -1
  63. package/web/.output/public/_nuxt/error-404.B_PvSG-P.css +0 -1
  64. package/web/.output/public/_nuxt/error-500.CghkKCEr.css +0 -1
  65. package/web/.output/public/_nuxt/index.BlvAG7F6.css +0 -1
  66. package/web/.output/public/favicon.ico +0 -0
@@ -1,12 +1,13 @@
1
1
  /**
2
- * Stateful, process-wide log registry for the web backend.
2
+ * Process-wide log registry for the web backend.
3
3
  *
4
4
  * The `web` command runs a single long-lived Express process for one user, so we
5
5
  * keep every loaded log's open {@link Parser} (and its SQLite handle) in memory
6
- * keyed by content md5, plus a `current` pointer. A successful load sets
7
- * `current`; the GET routes always operate on `current` there is no per-request
8
- * `md5` override. Loading a new file simply moves the pointer (the previous
9
- * handle stays cached for cheap re-selection).
6
+ * keyed by content md5. There is no "current log": the registry holds no pointer
7
+ * and the GET routes name the log they want via a required `md5` request
8
+ * parameter (see {@link getParser}). That keeps the reads stateless, so several
9
+ * browser tabs can each view a different log against the same server without
10
+ * clobbering one another.
10
11
  */
11
12
  import { createHash } from "node:crypto";
12
13
  import { existsSync, writeFileSync } from "node:fs";
@@ -18,13 +19,11 @@ import { ErrorDetector } from "../core/error-detector.js";
18
19
  import { createError } from "./http-error.js";
19
20
  /** md5 -> loaded log. Persists for the lifetime of the server process. */
20
21
  const registry = new Map();
21
- /** The md5 of the log the GET routes currently operate on. */
22
- let current = null;
23
22
  /** Prefix for uploaded-file temp copies (distinct from Parser's cache files). */
24
23
  const UPLOAD_PREFIX = "renovate-log-parser-upload-";
25
24
  const UPLOAD_SUFFIX = ".jsonl";
26
25
  /**
27
- * Load a log from an absolute filesystem path and make it current.
26
+ * Load a log from an absolute filesystem path and register it.
28
27
  *
29
28
  * @throws {HttpError} when the path is not absolute / missing, or the parse
30
29
  * fails — the route layer maps these to HTTP responses.
@@ -94,48 +93,57 @@ function loadInto(absolutePath) {
94
93
  md5 = result.md5;
95
94
  registry.set(md5, { path: absolutePath, parser });
96
95
  }
97
- current = md5;
98
- const info = parser.loaded;
99
- return {
100
- md5,
101
- path: info.path,
102
- totalLines: info.totalLines,
103
- levelCounts: computeLevelCounts(parser),
104
- };
96
+ return describe(md5, parser);
105
97
  }
106
98
  /**
107
- * Return the parser for the current log, or throw a 409 when none is loaded.
108
- * The GET routes call this first.
99
+ * Return the parser for a registered log, or throw a 404 when that md5 is
100
+ * unknown (never loaded, or the server restarted since). The GET routes call
101
+ * this first with the md5 the client asked for.
109
102
  */
110
- export function requireCurrentParser() {
111
- return requireCurrentEntry().parser;
103
+ export function getParser(md5) {
104
+ return requireEntry(md5).parser;
112
105
  }
113
106
  /**
114
- * Return the error-detector report for the current log, computing (and caching)
115
- * it on first request. Runs without ignore rules — the web surfaces every
116
- * finding. Throws a 409 when no log is loaded (via {@link requireCurrentEntry}).
107
+ * Return the error-detector report for a registered log, computing (and
108
+ * caching) it on first request. Runs without ignore rules — the web surfaces
109
+ * every finding. Throws a 404 for an unknown md5 (via {@link requireEntry}).
117
110
  */
118
- export function requireCurrentFindings() {
119
- const entry = requireCurrentEntry();
111
+ export function getFindings(md5) {
112
+ const entry = requireEntry(md5);
120
113
  if (!entry.report) {
121
114
  entry.report = new ErrorDetector(entry.parser).run();
122
115
  }
123
116
  return entry.report;
124
117
  }
125
- /** Resolve the current registry entry, or throw a 409 when none is loaded. */
126
- function requireCurrentEntry() {
127
- if (current === null) {
118
+ /**
119
+ * Rebuild the load metadata for an already-registered log. Lets a client that
120
+ * only holds an md5 (e.g. a tab restoring itself from its URL after a reload)
121
+ * recover the full {@link LoadedLogInfo} without re-uploading the file.
122
+ *
123
+ * @throws {HttpError} 404 when the md5 is not registered.
124
+ */
125
+ export function getLogInfo(md5) {
126
+ return describe(md5, requireEntry(md5).parser);
127
+ }
128
+ /** Build the client-facing metadata for a loaded parser. */
129
+ function describe(md5, parser) {
130
+ const info = parser.loaded;
131
+ return {
132
+ md5,
133
+ path: info.path,
134
+ totalLines: info.totalLines,
135
+ levelCounts: computeLevelCounts(parser),
136
+ };
137
+ }
138
+ /** Resolve a registry entry by md5, or throw a 404 when it is not loaded. */
139
+ function requireEntry(md5) {
140
+ const entry = registry.get(md5);
141
+ if (!entry) {
128
142
  throw createError({
129
- statusCode: 409,
130
- statusMessage: "No log is loaded. POST a log to /api/log/path first.",
143
+ statusCode: 404,
144
+ statusMessage: `Log ${md5} is not loaded. POST it to /api/log/path or /api/log/contents first.`,
131
145
  });
132
146
  }
133
- const entry = registry.get(current);
134
- if (!entry) {
135
- // Defensive: pointer without an entry should never happen.
136
- current = null;
137
- throw createError({ statusCode: 409, statusMessage: "No log is loaded." });
138
- }
139
147
  return entry;
140
148
  }
141
149
  /** Count entries per numeric `level` via a single grouped SQL scan. */
@@ -1 +1 @@
1
- {"version":3,"file":"log-registry.js","sourceRoot":"","sources":["../../src/server/log-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-registry.js","sourceRoot":"","sources":["../../src/server/log-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAwB9C,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAElD,iFAAiF;AACjF,MAAM,aAAa,GAAG,6BAA6B,CAAC;AACpD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,CAAC;YAChB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,uBAAuB;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC;YAChB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,0BAA0B,OAAO,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC;YAChB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,uBAAuB,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,WAAW,CAAC;YAChB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,SAAS,QAAQ,CAAC,YAAoB;IACpC,IAAI,GAAW,CAAC;IAChB,IAAI,MAAc,CAAC;IAEnB,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAC7E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzB,GAAG,GAAG,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC;gBAChB,UAAU,EAAE,GAAG;gBACf,aAAa,EACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;aACnE,CAAC,CAAC;QACL,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,SAAS,QAAQ,CAAC,GAAW,EAAE,MAAc;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAO,CAAC;IAC5B,OAAO;QACL,GAAG;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,WAAW,CAAC;YAChB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,OAAO,GAAG,sEAAsE;SAChG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CACvB,UAAU,SAAS,+CAA+C,SAAS,EAAE,CAC9E,CAAC;IACF,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,2EAA2E;IAC3E,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "renovate-log-parser",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "A CLI that parses Renovate Bot debug logs to auto-detect issues, with an optional Nuxt-based web UI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,6 +30,8 @@
30
30
  "test": "node --import tsx --test --test-concurrency=1 \"src/**/*.test.ts\"",
31
31
  "test:fixtures": "node --import tsx --test --test-concurrency=1 src/core/__tests__/fixtures.test.ts",
32
32
  "test:e2e": "node --import tsx --test --test-concurrency=1 \"e2e/**/*.e2e.ts\"",
33
+ "test:e2e:screenshots": "sh e2e/run-in-container.sh compare",
34
+ "test:e2e:screenshots:update": "sh e2e/run-in-container.sh update",
33
35
  "prepublishOnly": "npm run build"
34
36
  },
35
37
  "repository": {
@@ -57,14 +59,17 @@
57
59
  "devDependencies": {
58
60
  "@eslint/js": "10.0.1",
59
61
  "@types/express": "5.0.6",
60
- "@types/node": "26.1.1",
62
+ "@types/node": "26.1.2",
63
+ "@types/pngjs": "6.0.5",
61
64
  "@types/yargs": "17.0.35",
62
65
  "eslint": "10.8.0",
63
66
  "eslint-config-prettier": "10.1.8",
64
- "globals": "17.7.0",
65
- "playwright-core": "1.62.0",
67
+ "globals": "17.9.0",
68
+ "pixelmatch": "7.2.0",
69
+ "playwright-core": "1.62.1",
70
+ "pngjs": "7.0.0",
66
71
  "prettier": "3.9.6",
67
- "tsx": "4.23.1",
72
+ "tsx": "4.23.5",
68
73
  "typescript": "6.0.3",
69
74
  "typescript-eslint": "8.65.0"
70
75
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.9mB-pyEY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bs-RnkRE.js"><script type="module" src="/_nuxt/Bs-RnkRE.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.CghkKCEr.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B4JKWaDj.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DlAUqK2U.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"bc129b23-5172-4e74-875d-2a24574a5dbe",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785347719451,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/_nuxt/DVm4N3tR.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.C5Sa_xmV.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DVm4N3tR.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BqJkfZTJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/qhIzkFe8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DAvRMvMn.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CMgYIlaH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B7wga9sP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ObQDjlGC.js"><script type="module" src="/_nuxt/DVm4N3tR.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.zKZBzOko.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/S1m8Jgsd.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.DwXcJPfY.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DB7E78p3.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"d1ca25cf-550d-4bed-a4d1-2daf0b4cc292",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1786080970968,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.9mB-pyEY.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bs-RnkRE.js"><script type="module" src="/_nuxt/Bs-RnkRE.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.CghkKCEr.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B4JKWaDj.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DlAUqK2U.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"bc129b23-5172-4e74-875d-2a24574a5dbe",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1785347719451,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/_nuxt/DVm4N3tR.js"}}</script><link rel="stylesheet" href="/_nuxt/entry.C5Sa_xmV.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DVm4N3tR.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BqJkfZTJ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/qhIzkFe8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DAvRMvMn.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CMgYIlaH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B7wga9sP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DK3Fl9T5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ObQDjlGC.js"><script type="module" src="/_nuxt/DVm4N3tR.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.zKZBzOko.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/S1m8Jgsd.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.DwXcJPfY.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DB7E78p3.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"d1ca25cf-550d-4bed-a4d1-2daf0b4cc292",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1786080970969,false]</script></body></html>
@@ -0,0 +1,6 @@
1
+ import{t as e}from"./DK3Fl9T5.js";import{A as t,Ct as n,Dt as r,F as i,In as a,Nn as o,Nt as s,On as c,Q as l,Sr as u,Tn as d,Un as f,Vn as p,W as m,a as h,bn as g,br as _,gt as v,j as y,jn as b,jt as x,lt as ee,r as S,rn as C,tt as w,u as te,vt as ne,xr as T,yr as E,zn as D}from"./BqJkfZTJ.js";import{Y as re,ot as ie,s as ae}from"./qhIzkFe8.js";function O(e){return typeof e==`string`?`'${e}'`:new oe().serialize(e)}var oe=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function se(e,t){return e===t||O(e)===O(t)}var ce=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],le=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],ue=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,k=[],de=class{_data=new A;_hash=new A([...ce]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)k[n]=e[t+n]|0;else{let e=k[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=k[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;k[n]=t+k[n-7]+i+k[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+le[n]+k[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=A.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new A(t,i)}},A=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(ue.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function fe(e){return new de().finalize(e).toBase64()}function pe(e){return fe(O(e))}var me=S({ui:{colors:{primary:`green`,neutral:`slate`}}}),he=ie(me,{nuxt:{},ui:{colors:{primary:`green`,secondary:`blue`,success:`green`,info:`blue`,warning:`yellow`,error:`red`,neutral:`slate`},icons:{arrowDown:`i-lucide-arrow-down`,arrowLeft:`i-lucide-arrow-left`,arrowRight:`i-lucide-arrow-right`,arrowUp:`i-lucide-arrow-up`,caution:`i-lucide-circle-alert`,check:`i-lucide-check`,chevronDoubleLeft:`i-lucide-chevrons-left`,chevronDoubleRight:`i-lucide-chevrons-right`,chevronDown:`i-lucide-chevron-down`,chevronLeft:`i-lucide-chevron-left`,chevronRight:`i-lucide-chevron-right`,chevronUp:`i-lucide-chevron-up`,close:`i-lucide-x`,copy:`i-lucide-copy`,copyCheck:`i-lucide-copy-check`,dark:`i-lucide-moon`,drag:`i-lucide-grip-vertical`,ellipsis:`i-lucide-ellipsis`,error:`i-lucide-circle-x`,external:`i-lucide-arrow-up-right`,eye:`i-lucide-eye`,eyeOff:`i-lucide-eye-off`,file:`i-lucide-file`,folder:`i-lucide-folder`,folderOpen:`i-lucide-folder-open`,hash:`i-lucide-hash`,info:`i-lucide-info`,light:`i-lucide-sun`,loading:`i-lucide-loader-circle`,menu:`i-lucide-menu`,minus:`i-lucide-minus`,panelClose:`i-lucide-panel-left-close`,panelOpen:`i-lucide-panel-left-open`,plus:`i-lucide-plus`,reload:`i-lucide-rotate-ccw`,search:`i-lucide-search`,stop:`i-lucide-square`,star:`i-lucide-star`,success:`i-lucide-circle-check`,system:`i-lucide-monitor`,tip:`i-lucide-lightbulb`,upload:`i-lucide-upload`,warning:`i-lucide-triangle-alert`},tv:{twMergeConfig:{}}},icon:{provider:`iconify`,class:``,aliases:{},iconifyApiEndpoint:`https://api.iconify.design`,localApiEndpoint:`/api/_nuxt_icon`,fallbackToApi:!0,cssSelectorPrefix:`i-`,cssWherePseudo:!0,cssLayer:`base`,mode:`css`,attrs:{"aria-hidden":!0},collections:`academicons.akar-icons.ant-design.arcticons.basil.bi.bitcoin-icons.bpmn.brandico.bx.bxl.bxs.bytesize.carbon.catppuccin.cbi.charm.ci.cib.cif.cil.circle-flags.circum.clarity.codex.codicon.covid.cryptocurrency.cryptocurrency-color.cuida.dashicons.devicon.devicon-plain.dinkie-icons.duo-icons.ei.el.emojione.emojione-monotone.emojione-v1.entypo.entypo-social.eos-icons.ep.et.eva.f7.fa.fa-brands.fa-regular.fa-solid.fa6-brands.fa6-regular.fa6-solid.fa7-brands.fa7-regular.fa7-solid.fad.famicons.fe.feather.file-icons.flag.flagpack.flat-color-icons.flat-ui.flowbite.fluent.fluent-color.fluent-emoji.fluent-emoji-flat.fluent-emoji-high-contrast.fluent-mdl2.fontelico.fontisto.formkit.foundation.fxemoji.gala.game-icons.garden.geo.gg.gis.gravity-ui.gridicons.grommet-icons.guidance.healthicons.heroicons.heroicons-outline.heroicons-solid.hugeicons.humbleicons.ic.icomoon-free.icon-park.icon-park-outline.icon-park-solid.icon-park-twotone.iconamoon.iconoir.icons8.il.ion.iwwa.ix.jam.la.lets-icons.line-md.lineicons.logos.ls.lsicon.lucide.lucide-lab.mage.majesticons.maki.map.marketeq.material-icon-theme.material-symbols.material-symbols-light.mdi.mdi-light.medical-icon.memory.meteocons.meteor-icons.mi.mingcute.mono-icons.mynaui.nimbus.nonicons.noto.noto-v1.nrk.octicon.oi.ooui.openmoji.oui.pajamas.pepicons.pepicons-pencil.pepicons-pop.pepicons-print.ph.picon.pixel.pixelarticons.prime.proicons.ps.qlementine-icons.quill.radix-icons.raphael.ri.rivet-icons.roentgen.si.si-glyph.sidekickicons.simple-icons.simple-line-icons.skill-icons.solar.stash.streamline.streamline-block.streamline-color.streamline-cyber.streamline-cyber-color.streamline-emojis.streamline-flex.streamline-flex-color.streamline-freehand.streamline-freehand-color.streamline-kameleon-color.streamline-logos.streamline-pixel.streamline-plump.streamline-plump-color.streamline-sharp.streamline-sharp-color.streamline-stickies-color.streamline-ultimate.streamline-ultimate-color.subway.svg-spinners.system-uicons.tabler.tdesign.teenyicons.temaki.token.token-branded.topcoat.twemoji.typcn.uil.uim.uis.uit.uiw.unjs.vaadin.vs.vscode-icons.websymbol.weui.whh.wi.wpf.zmdi.zondicons`.split(`.`),fetchTimeout:1500}});function j(){let e=h();return e._appConfig||=b(he),e._appConfig}var ge=/^[a-z0-9]+(-[a-z0-9]+)*$/,M=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!N(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!N(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!N(e,n)?null:e}return null},N=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function _e(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}var ve=Object.freeze({left:0,top:0,width:16,height:16}),P=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),F=Object.freeze({...ve,...P}),ye=Object.freeze({...F,body:``,hidden:!1});function be(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function xe(e,t){let n=be(e,t);for(let r in ye)r in P?r in e&&!(r in n)&&(n[r]=P[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function Se(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=xe(r[e]||i[e],a)}return o(t),n.forEach(o),xe(e,a)}function Ce(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=_e(e);for(let i in r){let a=r[i];a&&(t(i,Se(e,i,a)),n.push(i))}return n}var we={provider:``,aliases:{},not_found:{},...ve};function Te(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Ee(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!Te(e,we))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!Te(t,ye))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!Te(t,ye))return null}return t}var De=Object.create(null);function Oe(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function I(e,t){let n=De[e]||(De[e]=Object.create(null));return n[t]||(n[t]=Oe(e,t))}function ke(e,t){return Ee(t)?Ce(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function Ae(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}var L=!1;function je(e){return typeof e==`boolean`&&(L=e),L}function R(e){let t=typeof e==`string`?M(e,!0,L):e;if(t){let e=I(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function z(e,t){let n=M(e,!0,L);if(!n)return!1;let r=I(n.provider,n.prefix);return t?Ae(r,n.name,t):(r.missing.add(n.name),!0)}function Me(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),L&&!t&&!e.prefix){let t=!1;return Ee(e)&&(e.prefix=``,Ce(e,(e,n)=>{z(e,n)&&(t=!0)})),t}let n=e.prefix;return N({prefix:n,name:`a`})?!!ke(I(t,n),e):!1}function B(e){let t=R(e);return t&&{...F,...t}}var Ne=Object.freeze({width:null,height:null}),Pe=Object.freeze({...Ne,...P}),Fe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ie=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Le(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Fe);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Ie.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function Re(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function ze(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Be(e,t,n){let r=Re(e);return ze(r.defs,t+r.content+n)}var Ve=e=>e===`unset`||e===`undefined`||e===`none`;function He(e,t){let n={...F,...e},r={...Pe,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`)}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Be(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=Le(d,c/l)):(u=o===`auto`?c:o,d=s===null?Le(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{Ve(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}var Ue=/\sid="(\S+)"/g,We=new Map;function Ge(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=We.get(e)||0;return We.set(e,t+1),t?`${e}${t}`:e}function Ke(e){let t=[],n;for(;n=Ue.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=Ge(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}var V=Object.create(null);function qe(e,t){V[e]=t}function H(e){return V[e]||V[``]}function U(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var W=Object.create(null),G=[`https://api.simplesvg.com`,`https://api.unisvg.com`],K=[];G.length>0;)G.length===1||Math.random()>.5?K.push(G.shift()):K.push(G.pop());W[``]=U({resources:[`https://api.iconify.design`].concat(K)});function Je(e,t){let n=U(t);return n!==null&&(W[e]=n,!0)}function q(e){return W[e]}function Ye(){return Object.keys(W)}var J=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function Xe(e){J=e}function Ze(){return J}function Qe(e,t){let n=q(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function $e(e){return e===404}var et=(e,t,n)=>{let r=[],i=Qe(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function tt(e){if(typeof e==`string`){let t=q(e);if(t)return t.path}return`/`}var nt={prepare:et,send:(e,t,n)=>{if(!J){n(`abort`,424);return}let r=tt(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;J(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n($e(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function rt(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function it(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||rt([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var at=0;function ot(e,t,n){let r=at++,i=rt.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function st(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=I(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}function ct(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?M(e,t,n):e;i&&r.push(i)}),r}var lt={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ut(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function dt(e){let t={...lt,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=ut(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function ft(){}var pt=Object.create(null);function mt(e){if(!pt[e]){let t=q(e);if(!t)return;pt[e]={config:t,redundancy:dt(t)}}return pt[e]}function ht(e,t,n){let r,i;if(typeof e==`string`){let t=H(e);if(!t)return n(void 0,424),ft;i=t.send;let a=mt(e);a&&(r=a.redundancy)}else{let t=U(e);if(t){r=dt(t);let n=H(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),ft):r.query(t,i,n)().abort}function gt(){}function _t(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,it(e)}))}function vt(e){let t=[],n=[];return e.forEach(e=>{(e.match(ge)?t:n).push(e)}),{valid:t,invalid:n}}function Y(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!ke(e,n).length){r();return}}catch(e){console.error(e)}r(),_t(e)}function yt(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function bt(e,t){e.iconsToLoad=e.iconsToLoad?e.iconsToLoad.concat(t).sort():t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){yt(e.loadIcons(r,n,t),t=>{Y(e,r,t)});return}if(i){r.forEach(r=>{yt(i(r,n,t),t=>{Y(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=vt(r);if(o.length&&Y(e,o,null),!a.length)return;let s=n.match(ge)?H(t):null;if(!s){Y(e,a,null);return}s.prepare(t,n,a).forEach(n=>{ht(t,n,t=>{Y(e,n.icons,t)})})}))}var xt=(e,t)=>{let n=st(ct(e,!0,je()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,gt)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(I(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=I(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&bt(e,t)}),t?ot(t,n,i):gt},St=e=>new Promise((t,n)=>{let r=typeof e==`string`?M(e,!0):e;if(!r){n(e);return}xt([r||e],i=>{if(i.length&&r){let e=R(r);if(e){t({...F,...e});return}}n(e)})});function Ct(e,t,n){I(n||``,t).loadIcons=e}function wt(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in Ne?(r===null||r&&(i===`string`||i===`number`))&&(n[e]=r):i===typeof n[e]&&(n[e]=e===`rotate`?r%4:r)}return n}var Tt=/[\s,]+/;function Et(e,t){t.split(Tt).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0}})}function Dt(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}function Ot(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function kt(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function At(e){return`data:image/svg+xml,`+kt(e)}function jt(e){return`url("`+At(e)+`")`}var Mt={...Pe,inline:!1},Nt={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,"aria-hidden":!0,role:`img`},Pt={display:`inline-block`},Ft={backgroundColor:`currentColor`},It={backgroundColor:`transparent`},Lt={Image:`var(--svg)`,Repeat:`no-repeat`,Size:`100% 100%`},Rt={webkitMask:Ft,mask:Ft,background:It};for(let e in Rt){let t=Rt[e];for(let n in Lt)t[e+n]=Lt[n]}var X={};[`horizontal`,`vertical`].forEach(e=>{let t=e.slice(0,1)+`Flip`;X[e+`-flip`]=t,X[e.slice(0,1)+`-flip`]=t,X[e+`Flip`]=t});function zt(e){return e+(e.match(/^[-0-9.]+$/)?`px`:``)}var Bt=(e,t)=>{let n=wt(Mt,t),r={...Nt},i=t.mode||`svg`,a={},o=t.style,s=typeof o==`object`&&!(o instanceof Array)?o:{};for(let e in t){let i=t[e];if(i!==void 0)switch(e){case`icon`:case`style`:case`onLoad`:case`mode`:case`ssr`:case`customise`:break;case`inline`:case`hFlip`:case`vFlip`:n[e]=i===!0||i===`true`||i===1;break;case`flip`:typeof i==`string`&&Et(n,i);break;case`color`:a.color=i;break;case`rotate`:typeof i==`string`?n[e]=Dt(i):typeof i==`number`&&(n[e]=i);break;case`ariaHidden`:case`aria-hidden`:i!==!0&&i!==`true`&&delete r[`aria-hidden`];break;default:{let t=X[e];t?(i===!0||i===`true`||i===1)&&(n[t]=!0):Mt[e]===void 0&&(r[e]=i)}}}let c=He(e,n),l=c.attributes;if(n.inline&&(a.verticalAlign=`-0.125em`),i===`svg`)return r.style={...a,...s},Object.assign(r,l),r.innerHTML=Ke(c.body),w(`svg`,r);let{body:u,width:d,height:f}=e,p=i===`mask`||i!==`bg`&&u.indexOf(`currentColor`)!==-1,m=Ot(u,{...l,width:d+``,height:f+``});return r.style={...a,"--svg":jt(m),width:zt(l.width),height:zt(l.height),...Pt,...p?Ft:It,...s},w(`span`,r)};if(je(!0),qe(``,nt),typeof document<`u`&&typeof window<`u`){let e=window;if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!Me(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;Je(e,r)||console.error(n)}catch{console.error(n)}}}}var Vt={...F,body:``},Ht=m((e,{emit:t})=>{let i=o(null);function s(){i.value&&=(i.value.abort?.(),null)}let c=o(!!e.ssr),l=o(``),u=a(null);function d(){let n=e.icon;if(typeof n==`object`&&n&&typeof n.body==`string`)return l.value=``,{data:n};let r;if(typeof n!=`string`||(r=M(n,!1,!0))===null)return null;let a=R(r);if(!a){let e=i.value;return(!e||e.name!==n)&&(a===null?i.value={name:n}:i.value={name:n,abort:xt([r],f)}),null}s(),l.value!==n&&(l.value=n,v(()=>{t(`load`,n)}));let o=e.customise;if(o){a=Object.assign({},a);let e=o(a.body,r.name,r.prefix,r.provider);typeof e==`string`&&(a.body=e)}let c=[`iconify`];return r.prefix!==``&&c.push(`iconify--`+r.prefix),r.provider!==``&&c.push(`iconify--`+r.provider),{data:a,classes:c}}function f(){let e=d();e?e.data!==u.value?.data&&(u.value=e):u.value=null}return c.value?f():n(()=>{c.value=!0,f()}),C(()=>e.icon,f),r(s),()=>{let t=u.value;if(!t)return Bt(Vt,e);let n=e;return t.classes&&(n={...e,class:t.classes.join(` `)}),Bt({...F,...t.data},n)}},{props:[`icon`,`mode`,`ssr`,`width`,`height`,`style`,`color`,`inline`,`rotate`,`hFlip`,`horizontalFlip`,`vFlip`,`verticalFlip`,`flip`,`id`,`ariaHidden`,`customise`,`title`],emits:[`load`]}),Ut={getAPIConfig:q,setAPIModule:qe,sendAPIQuery:ht,setFetch:Xe,getFetch:Ze,listAPIProviders:Ye},Wt=Object.freeze({left:0,top:0,width:16,height:16}),Gt=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Kt=Object.freeze({...Wt,...Gt});Object.freeze({...Kt,body:``,hidden:!1});function qt(e){let[t,n,r,i]=e;if(r!==i){let e=Math.max(r,i);return[t-(e-r)/2,n-(e-i)/2,e,e]}return e}var Jt=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Yt=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Z(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Jt);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Yt.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}var Xt=Object.freeze({width:null,height:null}),Zt=Object.freeze({...Xt,...Gt});function Qt(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function $t(e,t){return e?`<defs>`+e+`</defs>`+t:t}function en(e,t,n){let r=Qt(e);return $t(r.defs,t+r.content+n)}var tn=e=>e===`unset`||e===`undefined`||e===`none`;function nn(e,t){let n={...Kt,...e},r={...Zt,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`)}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=en(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=Z(d,c/l)):(u=o===`auto`?c:o,d=s===null?Z(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{tn(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}function rn(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function an(e){return`data:image/svg+xml,`+rn(e)}function on(e){return`url("`+an(e)+`")`}function sn(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function cn(e){let t=Object.create(null);Object.assign(t,{display:`inline-block`,width:`1em`,height:`1em`});let n=e.varName;switch(e.pseudoSelector&&(t.content=`''`),e.mode){case`background`:n&&(t[`background-image`]=`var(--`+n+`)`),t[`background-repeat`]=`no-repeat`,t[`background-size`]=`100% 100%`;break;case`mask`:t[`background-color`]=`currentColor`,n&&(t[`mask-image`]=t[`-webkit-mask-image`]=`var(--`+n+`)`),t[`mask-repeat`]=t[`-webkit-mask-repeat`]=`no-repeat`,t[`mask-size`]=t[`-webkit-mask-size`]=`100% 100%`}return t}function ln(e,t){let n=Object.create(null),r=t.varName,i=nn(e),a=i.viewBox;a[2]!==a[3]&&(t.forceSquare?a=qt(a):n.width=Z(`1em`,a[2]/a[3]));let o=on(sn(i.body.replace(/currentColor/g,t.color||`black`),{viewBox:`${a[0]} ${a[1]} ${a[2]} ${a[3]}`,width:`${a[2]}`,height:`${a[3]}`}));if(r)n[`--`+r]=o;else switch(t.mode){case`background`:n[`background-image`]=o;break;case`mask`:n[`mask-image`]=n[`-webkit-mask-image`]=o;break}return n}var un={selectorStart:{compressed:`{`,compact:` {`,expanded:` {`},selectorEnd:{compressed:`}`,compact:`; }
2
+ `,expanded:`;
3
+ }
4
+ `},rule:{compressed:`{key}:`,compact:` {key}: `,expanded:`
5
+ {key}: `}};function dn(e,t=`expanded`){let n=[];for(let r=0;r<e.length;r++){let{selector:i,rules:a}=e[r],o=(i instanceof Array?i.join(t===`compressed`?`,`:`, `):i)+un.selectorStart[t],s=!0;for(let e in a)s||(o+=`;`),o+=un.rule[t].replace(`{key}`,e)+a[e],s=!1;o+=un.selectorEnd[t],n.push(o)}return n.join(t===`compressed`?``:`
6
+ `)}function fn(e,t={}){let n=t.customise?t.customise(e.body):e.body,r=t.mode||(t.color||!n.includes(`currentColor`)?`background`:`mask`),i=t.varName;i===void 0&&r===`mask`&&(i=`svg`);let a={...t,mode:r,varName:i};r===`background`&&delete a.varName;let o=Object.create(null);return Object.assign(o,t.rules,cn(a),ln({...Kt,...e,body:n},a)),dn([{selector:t.iconSelector||`.icon`,rules:o}],a.format)}var pn=!1;function mn(e){if(pn)return;let t=JSON.parse(`[{"prefix":"lucide","icons":{"arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 5v14m7-7l-7 7l-7-7\\"/>"},"arrow-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m12 19l-7-7l7-7m7 7H5\\"/>"},"arrow-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7l7 7l-7 7\\"/>"},"arrow-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m5 12l7-7l7 7m-7 7V5\\"/>"},"arrow-up-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M7 7h10v10M7 17L17 7\\"/>"},"check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 6L9 17l-5-5\\"/>"},"chevron-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 9l6 6l6-6\\"/>"},"chevron-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m15 18l-6-6l6-6\\"/>"},"chevron-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m9 18l6-6l-6-6\\"/>"},"chevron-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m18 15l-6-6l-6 6\\"/>"},"chevrons-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\"/>"},"chevrons-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\"/>"},"circle-alert":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 8v4m0 4h.01\\"/></g>"},"circle-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m9 12l2 2l4-4\\"/></g>"},"circle-x":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m15 9l-6 6m0-6l6 6\\"/></g>"},"copy":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"copy-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m12 15l2 2l4-4\\"/><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"ellipsis":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"19\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"5\\" cy=\\"12\\" r=\\"1\\"/></g>"},"eye":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\"/><circle cx=\\"12\\" cy=\\"12\\" r=\\"3\\"/></g>"},"eye-off":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\"/><path d=\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\"/></g>"},"file":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5\\"/></g>"},"folder":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\"/>"},"folder-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\"/>"},"grip-vertical":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"9\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"19\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"19\\" r=\\"1\\"/></g>"},"hash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\"/>"},"info":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 16v-4m0-4h.01\\"/></g>"},"lightbulb":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\"/>"},"loader-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21 12a9 9 0 1 1-6.219-8.56\\"/>"},"menu":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 5h16M4 12h16M4 19h16\\"/>"},"minus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14\\"/>"},"monitor":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"20\\" height=\\"14\\" x=\\"2\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M8 21h8m-4-4v4\\"/></g>"},"moon":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\"/>"},"panel-left-close":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m7-6l-3-3l3-3\\"/></g>"},"panel-left-open":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m5-12l3 3l-3 3\\"/></g>"},"plus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7v14\\"/>"},"rotate-ccw":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\"/><path d=\\"M3 3v5h5\\"/></g>"},"search":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m21 21l-4.34-4.34\\"/><circle cx=\\"11\\" cy=\\"11\\" r=\\"8\\"/></g>"},"square":{"width":24,"height":24,"body":"<rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" rx=\\"2\\"/>"},"star":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\\"/>"},"sun":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"4\\"/><path d=\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\"/></g>"},"triangle-alert":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\"/>"},"upload":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\"/>"},"x":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M18 6L6 18M6 6l12 12\\"/>"}}}]`);for(let n of t)for(let[t,r]of Object.entries(n.icons))e(n.prefix?n.prefix+`:`+t:t,r);pn=!0}async function hn(e,t){if(!e)return null;mn(z);let n=B(e);if(n)return n;let r,i=St(e).catch(()=>(console.warn(`[Icon] failed to load icon \`${e}\``),null));return t>0?await Promise.race([i,new Promise(n=>{r=setTimeout(()=>{console.warn(`[Icon] loading icon \`${e}\` timed out after ${t}ms`),n()},t)})]).finally(()=>clearTimeout(r)):await i,B(e)}function gn(e){let t=j().icon,n=(t.collections||[]).sort((e,t)=>t.length-e.length);return y(()=>{let r=e(),i=r.startsWith(t.cssSelectorPrefix)?r.slice(t.cssSelectorPrefix.length):r,a=t.aliases?.[i]||i;if(!a.includes(`:`)){let e=n.find(e=>a.startsWith(e+`-`));return e?e+`:`+a.slice(e.length+1):a}return a})}function _n(e,t){if(e!==!1)return e===!0||e===null?t:e}var Q;function vn(e){return e.replace(/([^\w-])/g,`\\$1`)}function yn(){if(Q)return Q;Q=new Set;let e=e=>{if(e=e.replace(/^:where\((.*)\)$/,`$1`).trim(),e.startsWith(`.`))return e},t=n=>{if(n?.length)for(let r of n){r?.cssRules&&t(r.cssRules);let n=r?.selectorText;if(typeof n==`string`){let t=e(n);t&&Q.add(t)}}};if(typeof document<`u`)for(let e of document.styleSheets)try{t(e.cssRules||e.rules)}catch{}return Q}var bn=m({name:`NuxtIconCss`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e){let t=h(),n=j().icon,r=y(()=>{if(!e.name)return``;let t=n.cssSelectorPrefix+e.name;return typeof e.customize==`function`?t+`--customized-`+pe(e.customize.toString()):t});function i(e){if(!e)return;let n=B(e);if(n)return n;let r=t.payload?.data?.[e];if(r)return z(e,r),r}let a=y(()=>`.`+vn(r.value));function o(t,r=!0){let i=a.value;n.cssWherePseudo&&(i=`:where(${i})`);let o=fn(t,{iconSelector:i,format:`compressed`,customise:_n(e.customize,n.customize)});return n.cssLayer&&r?`@layer ${n.cssLayer} { ${o} }`:o}{let t=yn();async function n(e){if(t.has(a.value)||typeof document>`u`)return;let n=document.createElement(`style`);n.textContent=o(e);let r=document.head.querySelector(`style, link[rel="stylesheet"]`);r?document.head.insertBefore(n,r):document.head.appendChild(n),t.add(a.value)}C(()=>e.name,()=>{if(t.has(a.value))return;let r=i(e.name);r?n(r):hn(e.name,-1).then(e=>{e&&n(e)}).catch(()=>null)},{immediate:!0})}return()=>w(`span`,{class:[`iconify`,r.value]})}});function xn(e,t={}){let n,r=!1,i=[],a,o,c=(t,n)=>{let i=Sn(e,t,n);return a=i,i.finally(()=>{if(a=void 0,o&&!r){let e=o;o=void 0,c(t,e)}}),i};return function(...e){return o=e,a||new Promise(a=>{let l=t.leading&&!r;r||(r=!0,s(()=>{r=!1;let a=o??e;o=void 0;let s=t.leading?n:c(this,a);for(let e of i)e(s);i=[]})),l?(n=c(this,e),a(n)):i.push(a)})}}async function Sn(e,t,n){return await e.apply(t,n)}m({name:`ServerPlaceholder`,render(){return i(`div`)}});var Cn=Symbol.for(`nuxt:client-only`);m({name:`ClientOnly`,inheritAttrs:!1,props:[`fallback`,`placeholder`,`placeholderTag`,`fallbackTag`],setup(e,{slots:r,attrs:o}){let s=a(!1);n(()=>{s.value=!0});let c=l();return c&&(c._nuxtClientOnly=!0),x(Cn,!0),()=>{if(s.value){let e=r.default?.();return e&&e.length===1?[t(e[0],o)]:e}let n=r.fallback||r.placeholder;if(n)return w(n);let a=e.fallback||e.placeholder||``;return i(ae(e.fallbackTag||e.placeholderTag,`span`),o,a)}}});function wn(e){return Object.defineProperty(function(){throw E.NUXT_E1007({name:e.name})},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}var Tn=u({docsBase:_,reporters:T}),En=wn({name:`createUseAsyncData`,factory(e={}){function t(...t){let n=typeof t[t.length-1]==`string`?t.pop():void 0;Dn(t[0],t[1])&&t.unshift(n);let[i,a,o={}]=t,u=!1,f=d(i)||typeof i==`function`,m=f?y(()=>p(i)):{value:i};if(!m.value||typeof m.value!=`string`)throw Tn.NUXT_E3008();if(typeof a!=`function`)throw Tn.NUXT_E3009();let _=typeof e==`function`,v=h(),b=_?e(o):e;if(!_)for(let e in b)b[e]!==void 0&&o[e]===void 0&&(o[e]=b[e]);if(o.server??=!0,o.default??=jn,o.getCachedData??=Mn,o.lazy??=!1,o.immediate??=!0,o.deep??=te.deep,o.dedupe??=`cancel`,o.enabled??=!0,_)for(let e in b)b[e]!==void 0&&(o[e]=b[e]);v._asyncData[m.value];function x(){let e={cause:`initial`,dedupe:o.dedupe},t=v._asyncData[m.value];return t?._init?v._asyncDataPromises[m.value]&&(e.cachedData=t._initialCachedData):(e.cachedData=o.getCachedData(m.value,v,{cause:`initial`}),v._asyncData[m.value]=An(v,m.value,a,o,e.cachedData),v._asyncData[m.value]._initialCachedData=e.cachedData),()=>v._asyncData[m.value].execute(e)}let S=x(),w=v._asyncData[m.value];w._deps++;let T=o.server!==!1&&v.payload.serverRendered;{let e=l();if(e&&T&&o.immediate&&!e.sp&&(e.sp=[]),e&&!e._nuxtOnBeforeMountCbs){e._nuxtOnBeforeMountCbs=[];let t=e._nuxtOnBeforeMountCbs;ne(()=>{t.forEach(e=>{e()}),t.splice(0,t.length)}),r(()=>t.splice(0,t.length))}let t=e&&(e._nuxtClientOnly||ee(Cn,!1));T&&v.isHydrating&&(w.error.value||w.data.value!==void 0)?w.status.value=w.error.value?`error`:`success`:e&&(!t&&v.payload.serverRendered&&v.isHydrating||o.lazy)&&o.immediate?e._nuxtOnBeforeMountCbs.push(S):o.immediate&&w.status.value!==`success`&&S();function n(e){let t=v._asyncData[e];t?._deps&&(t._deps--,t._deps===0&&t?._off())}let i=g(),h=()=>{},_=f?C(m,(e,t)=>{if((e||t)&&e!==t){u=!0;let r=v._asyncData[t]?.data.value!==void 0,i=v._asyncDataPromises[t]!==void 0,c={cause:`initial`,dedupe:o.dedupe};if(!v._asyncData[e]?._init){let n=o.getCachedData(e,v,{cause:`initial`});c.cachedData=n;let i=t&&r&&n===void 0?v._asyncData[t].data.value:n;v._asyncData[e]=An(v,e,a,o,i),v._asyncData[e]._initialCachedData=n}v._asyncData[e]._deps++,t&&n(t),o._keyTriggersExecute!==!1&&(o.immediate||r||i)&&v._asyncData[e].execute(c),s(()=>{u=!1})}},{flush:`sync`}):h,y=o.watch?C(o.watch,()=>{u||v._asyncData[m.value]?._execute({cause:`watch`,dedupe:o.dedupe})}):h,b=d(o.enabled)||typeof o.enabled==`function`?C(()=>p(o.enabled),e=>{let t=v._asyncData[m.value];e||!t||!v._asyncDataPromises[m.value]||(t._abortController?.abort(new DOMException("AsyncData request cancelled by `enabled: false`",`AbortError`)),t._abortController=void 0,delete v._asyncDataPromises[m.value],t.status.value=`idle`)}):h;i&&c(()=>{_(),y(),b(),n(m.value)})}let E={data:$(()=>v._asyncData[m.value]?.data),pending:$(()=>v._asyncData[m.value]?.pending),status:$(()=>v._asyncData[m.value]?.status),error:$(()=>v._asyncData[m.value]?.error),refresh:(...e)=>v._asyncData[m.value]?._init?v._asyncData[m.value].execute(...e):x()(),execute:(...e)=>E.refresh(...e),clear:()=>{let e=v._asyncData[m.value];if(e?._abortController)try{e._abortController.abort(new DOMException(`AsyncData aborted by user.`,`AbortError`))}finally{e._abortController=void 0}On(v,m.value)}},D=Promise.resolve(v._asyncDataPromises[m.value]).then(()=>E);return Object.assign(D,E),Object.defineProperties(D,{then:{enumerable:!0,value:D.then.bind(D)},catch:{enumerable:!0,value:D.catch.bind(D)},finally:{enumerable:!0,value:D.finally.bind(D)}}),D}return t}});En.__nuxt_factory(),En.__nuxt_factory({lazy:!0,_functionName:`useLazyAsyncData`});function $(e){return y({get(){return e()?.value},set(t){let n=e();n&&(n.value=t)}})}function Dn(e,t){return!(typeof e==`string`||typeof e==`object`&&e||typeof e==`function`&&typeof t==`function`)}function On(e,t){delete e.payload.data[t],delete e.payload._errors[t],e._asyncData[t]&&(e._asyncData[t].data.value=f(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value=`idle`,e._asyncData[t]._initialCachedData=void 0),delete e._asyncDataPromises[t]}function kn(e,t){let n={};for(let r of t)n[r]=e[r];return n}function An(e,t,n,r,i){e.payload._errors[t]??=void 0;let s=r.getCachedData!==Mn,c=n,l=r.deep?o:a,u=i!==void 0,d=e.hook(`app:data:refresh`,async e=>{(!e||e.includes(t))&&await m.execute({cause:`refresh:hook`})}),m={data:l(u?i:r.default()),pending:y(()=>m.status.value===`pending`),error:D(e.payload._errors,t),status:a(`idle`),execute:(...n)=>{let[i,a=void 0]=n,o=i&&a===void 0&&typeof i==`object`?i:{};if(e._asyncDataPromises[t]&&(o.dedupe??r.dedupe)===`defer`)return e._asyncDataPromises[t];{let n=`cachedData`in o?o.cachedData:r.getCachedData(t,e,{cause:o.cause??`refresh:manual`});if(n!==void 0)return e.payload.data[t]=m.data.value=n,m.error.value=void 0,m.status.value=`success`,Promise.resolve(n)}if(p(r.enabled)===!1)return Promise.resolve(m.data.value);m._abortController&&m._abortController.abort(new DOMException(`AsyncData request cancelled by deduplication`,`AbortError`)),m._abortController=new AbortController,m.status.value=`pending`;let s=new AbortController,l=new Promise((t,n)=>{try{let i=o.timeout??r.timeout,a=Nn([m._abortController?.signal,o?.signal],s.signal,i);if(a.aborted){let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`));return}return a.addEventListener(`abort`,()=>{let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`))},{once:!0,signal:s.signal}),Promise.resolve(c(e,{signal:a})).then(t,n)}catch(e){n(e)}}).then(async n=>{if(e._asyncDataPromises[t]!==l)return;let i=n;r.transform&&(i=await r.transform(n)),r.pick&&(i=kn(i,r.pick)),e.payload.data[t]=i,m.data.value=i,m.error.value=void 0,m.status.value=`success`}).catch(n=>{if(e._asyncDataPromises[t]!==l||m._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<`u`&&n instanceof DOMException&&n.name===`AbortError`)return m.status.value=`idle`,e._asyncDataPromises[t];m.error.value=re(n),m.data.value=f(r.default()),m.status.value=`error`}).finally(()=>{s.abort(),e._asyncDataPromises[t]===l&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=l,e._asyncDataPromises[t]},_execute:xn((...e)=>m.execute(...e)),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{d(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),e._asyncDataPromises[t]&&(m._abortController?.abort(new DOMException(`AsyncData request cancelled by unmount`,`AbortError`)),delete e._asyncDataPromises[t]),s||v(()=>{e._asyncData[t]?._init||(On(e,t),m.execute=()=>Promise.resolve())})}};return m}var jn=()=>void 0,Mn=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!==`refresh:manual`&&n.cause!==`refresh:hook`)return t.static.data[e]};function Nn(e,t,n){let r=e.filter(e=>!!e);if(typeof n==`number`&&n>=0){let e=AbortSignal.timeout?.(n);e&&r.push(e)}if(AbortSignal.any)return AbortSignal.any(r);let i=new AbortController;for(let e of r)if(e.aborted){let t=e.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(t)}catch{i.abort()}return i.signal}let a=()=>{let e=r.find(e=>e.aborted)?.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(e)}catch{i.abort()}};for(let e of r)e.addEventListener?.(`abort`,a,{once:!0,signal:t});return i.signal}var Pn=m({name:`NuxtIconSvg`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:t}){let n=h(),r=j().icon,i=gn(()=>e.name),a=`i-`+i.value;if(i.value){let e=n.payload.data[a];e?z(i.value,e):mn(z)}return()=>w(Ht,{icon:i.value,ssr:!0,customise:_n(e.customize,r.customize)},t)}}),Fn=e({default:()=>In}),In=m({name:`NuxtIcon`,props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:t}){let n=h(),r=j().icon,i=gn(()=>e.name),a=y(()=>n.vueApp?.component(i.value)||((e.mode||r.mode)===`svg`?Pn:bn)),o=y(()=>{let t=e.size||r.size;return t?{fontSize:Number.isNaN(+t)?t:t+`px`}:null});return()=>w(a.value,{...r.attrs,name:i.value,class:r.class,style:o.value,customize:e.customize},t)}});export{Ct as a,se as c,Je as i,O as l,Fn as n,j as o,Ut as r,he as s,In as t};
@@ -0,0 +1 @@
1
+ var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t};