@visulima/vite-overlay 2.0.10 → 2.0.11
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
## @visulima/vite-overlay [2.0.11](https://github.com/visulima/visulima/compare/%40visulima%2Fvite-overlay%402.0.10...%40visulima%2Fvite-overlay%402.0.11) (2026-07-27)
|
|
2
|
+
|
|
1
3
|
## @visulima/vite-overlay [2.0.10](https://github.com/visulima/visulima/compare/%40visulima%2Fvite-overlay%402.0.9...%40visulima%2Fvite-overlay%402.0.10) (2026-07-27)
|
|
2
4
|
|
|
3
5
|
## @visulima/vite-overlay [2.0.9](https://github.com/visulima/visulima/compare/%40visulima%2Fvite-overlay%402.0.8...%40visulima%2Fvite-overlay%402.0.9) (2026-07-27)
|
package/dist/index.d.ts
CHANGED
|
@@ -4,22 +4,22 @@ import { SolutionFinder } from '@visulima/error/solution';
|
|
|
4
4
|
export type { Solution, SolutionFinder } from '@visulima/error/solution';
|
|
5
5
|
import { Properties } from 'csstype';
|
|
6
6
|
/**
|
|
7
|
-
* Framework hint used to route framework-aware solutions. When omitted, the plugin
|
|
8
|
-
* auto-detects the framework from the configured Vite plugins.
|
|
9
|
-
*/
|
|
7
|
+
* Framework hint used to route framework-aware solutions. When omitted, the plugin
|
|
8
|
+
* auto-detects the framework from the configured Vite plugins.
|
|
9
|
+
*/
|
|
10
10
|
type Framework = "preact" | "react" | "solid" | "svelte" | "vue";
|
|
11
11
|
/**
|
|
12
|
-
* Balloon position options
|
|
13
|
-
*/
|
|
12
|
+
* Balloon position options
|
|
13
|
+
*/
|
|
14
14
|
type BalloonPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
15
15
|
/**
|
|
16
|
-
* Custom style options for the balloon trigger
|
|
17
|
-
* Can be either a CSS string or a CSS.Properties object
|
|
18
|
-
*/
|
|
16
|
+
* Custom style options for the balloon trigger
|
|
17
|
+
* Can be either a CSS string or a CSS.Properties object
|
|
18
|
+
*/
|
|
19
19
|
type BalloonStyle = string | Properties;
|
|
20
20
|
/**
|
|
21
|
-
* Balloon configuration options
|
|
22
|
-
*/
|
|
21
|
+
* Balloon configuration options
|
|
22
|
+
*/
|
|
23
23
|
interface BalloonConfig {
|
|
24
24
|
readonly enabled?: boolean;
|
|
25
25
|
readonly icon?: string;
|
|
@@ -27,122 +27,113 @@ interface BalloonConfig {
|
|
|
27
27
|
readonly style?: BalloonStyle;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Overlay configuration options
|
|
31
|
-
*/
|
|
30
|
+
* Overlay configuration options
|
|
31
|
+
*/
|
|
32
32
|
interface OverlayConfig {
|
|
33
33
|
readonly balloon?: BalloonConfig;
|
|
34
34
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
* Custom CSS to inject into the overlay for styling customization.
|
|
36
|
+
* This CSS will be injected into the shadow DOM and can be used to override
|
|
37
|
+
* the default styles of the overlay and button elements.
|
|
38
|
+
* Can be either a CSS string or a CSS.Properties object.
|
|
39
|
+
*/
|
|
40
40
|
readonly customCSS?: string | Properties;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Options accepted by the `@visulima/vite-overlay` plugin.
|
|
44
|
-
*/
|
|
43
|
+
* Options accepted by the `@visulima/vite-overlay` plugin.
|
|
44
|
+
*/
|
|
45
45
|
interface VisulimaViteOverlayOptions {
|
|
46
46
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
* Whether client runtime errors are forwarded to (and displayed in) the overlay.
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
50
|
readonly forwardConsole?: boolean;
|
|
51
51
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
* Console method names to forward from the client (e.g. `["error", "warn"]`).
|
|
53
|
+
* @default ["error"]
|
|
54
|
+
*/
|
|
55
55
|
readonly forwardedConsoleMethods?: string[];
|
|
56
56
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
* Explicitly set the framework used for framework-aware hints. When omitted, the plugin
|
|
58
|
+
* auto-detects React / Vue / Svelte / Preact / Solid from the configured Vite plugins.
|
|
59
|
+
*/
|
|
60
60
|
readonly framework?: Framework;
|
|
61
61
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
* Capture process-wide `unhandledRejection` events and render them in the overlay.
|
|
63
|
+
* Set to `false` to leave Node's default crash semantics untouched (useful when other
|
|
64
|
+
* tooling in the dev process produces unrelated rejections).
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
67
|
readonly interceptUnhandledRejection?: boolean;
|
|
68
68
|
/**
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
* @deprecated Use {@link VisulimaViteOverlayOptions.forwardConsole} instead.
|
|
70
|
+
*/
|
|
71
71
|
readonly logClientRuntimeError?: boolean;
|
|
72
72
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
* Overlay UI configuration (balloon button, custom CSS).
|
|
74
|
+
*/
|
|
75
75
|
readonly overlay?: OverlayConfig;
|
|
76
76
|
/**
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
* Custom Preact plugin name to match during auto-detection.
|
|
78
|
+
*/
|
|
79
79
|
readonly preactPluginName?: string;
|
|
80
80
|
/**
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
* Custom React plugin name to match during auto-detection.
|
|
82
|
+
*/
|
|
83
83
|
readonly reactPluginName?: string;
|
|
84
84
|
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
* @deprecated Misspelling of {@link VisulimaViteOverlayOptions.showBalloonButton}. Kept for
|
|
86
|
+
* backward compatibility; prefer `showBalloonButton` or `overlay.balloon.enabled`.
|
|
87
|
+
*/
|
|
88
88
|
readonly showBallonButton?: boolean;
|
|
89
89
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
* Whether to show the balloon button.
|
|
91
|
+
* @default true
|
|
92
|
+
*/
|
|
93
93
|
readonly showBalloonButton?: boolean;
|
|
94
94
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
* Custom Solid plugin name to match during auto-detection.
|
|
96
|
+
*/
|
|
97
97
|
readonly solidPluginName?: string;
|
|
98
98
|
/**
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
* Custom solution finders to run before the built-in finders.
|
|
100
|
+
*/
|
|
101
101
|
readonly solutionFinders?: SolutionFinder[];
|
|
102
102
|
/**
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
* Custom Svelte plugin name to match during auto-detection.
|
|
104
|
+
*/
|
|
105
105
|
readonly sveltePluginName?: string;
|
|
106
106
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
* Custom Vue plugin name to match during auto-detection.
|
|
108
|
+
*/
|
|
109
109
|
readonly vuePluginName?: string;
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
|
-
* Creates a solution finder specifically designed for Vite-related errors.
|
|
113
|
-
* Provides intelligent suggestions for common Vite import resolution and configuration issues.
|
|
114
|
-
* @param rootPath The root path of the project
|
|
115
|
-
* @returns A solution finder object for Vite-specific error handling
|
|
116
|
-
*/
|
|
112
|
+
* Creates a solution finder specifically designed for Vite-related errors.
|
|
113
|
+
* Provides intelligent suggestions for common Vite import resolution and configuration issues.
|
|
114
|
+
* @param rootPath The root path of the project
|
|
115
|
+
* @returns A solution finder object for Vite-specific error handling
|
|
116
|
+
*/
|
|
117
117
|
declare const createViteSolutionFinder: (rootPath: string) => SolutionFinder;
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* @param options
|
|
127
|
-
* @param options.
|
|
128
|
-
* @param options.
|
|
129
|
-
* @param
|
|
130
|
-
* @param options.
|
|
131
|
-
* @param options.
|
|
132
|
-
* @param options.
|
|
133
|
-
* @param options.
|
|
134
|
-
* @param options.
|
|
135
|
-
* @param options.
|
|
136
|
-
* @
|
|
137
|
-
|
|
138
|
-
* @param options.showBalloonButton Whether to show the balloon button (optional)
|
|
139
|
-
* @param options.showBallonButton [deprecated] Misspelling of showBalloonButton
|
|
140
|
-
* @param options.overlay Overlay configuration (optional)
|
|
141
|
-
* @returns The Vite plugin configuration
|
|
142
|
-
*/
|
|
119
|
+
* Main Vite plugin for error overlay functionality.
|
|
120
|
+
* Intercepts runtime errors and displays them in a user-friendly overlay.
|
|
121
|
+
* @param options Plugin configuration options
|
|
122
|
+
* @param options.forwardConsole Whether to log client runtime errors (optional)
|
|
123
|
+
* @param options.forwardedConsoleMethods Array of console method names to forward (optional)
|
|
124
|
+
* @param [options.logClientRuntimeError] [deprecated] Use forwardConsole instead
|
|
125
|
+
* @param options.reactPluginName Custom React plugin name (optional)
|
|
126
|
+
* @param options.solutionFinders Custom solution finders (optional)
|
|
127
|
+
* @param options.vuePluginName Custom Vue plugin name (optional)
|
|
128
|
+
* @param options.sveltePluginName Custom Svelte plugin name (optional)
|
|
129
|
+
* @param options.preactPluginName Custom Preact plugin name (optional)
|
|
130
|
+
* @param options.solidPluginName Custom Solid plugin name (optional)
|
|
131
|
+
* @param options.framework Explicit framework override; skips auto-detection (optional)
|
|
132
|
+
* @param options.interceptUnhandledRejection Capture process-wide unhandled rejections (optional, default true)
|
|
133
|
+
* @param options.showBalloonButton Whether to show the balloon button (optional)
|
|
134
|
+
* @param options.showBallonButton [deprecated] Misspelling of showBalloonButton
|
|
135
|
+
* @param options.overlay Overlay configuration (optional)
|
|
136
|
+
* @returns The Vite plugin configuration
|
|
137
|
+
*/
|
|
143
138
|
declare const errorOverlayPlugin: (options?: VisulimaViteOverlayOptions) => Plugin;
|
|
144
|
-
/**
|
|
145
|
-
* Default export of the Vite error overlay plugin.
|
|
146
|
-
* Use this plugin to enable error overlay functionality in your Vite project.
|
|
147
|
-
*/
|
|
148
139
|
export { type BalloonConfig, type BalloonPosition, type BalloonStyle, type Framework, type OverlayConfig, type VisulimaViteOverlayOptions, createViteSolutionFinder, errorOverlayPlugin as default };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as mn}from"node:module";import{codeToANSI as
|
|
1
|
+
import{createRequire as mn}from"node:module";import{codeToANSI as wn}from"@shikijs/cli";import{getErrorCauses as bn,renderError as yn}from"@visulima/error/error";import{errorHintFinder as _n,ruleBasedFinder as kn}from"@visulima/error/solution";import xn from"./packem_shared/createViteSolutionFinder-Dy-ZaxYE.js";import{parseStacktrace as X,formatStacktrace as Mt,codeFrame as Je}from"@visulima/error";import Ee from"@visulima/error/solution/ai/prompt";let gn;const fn=t=>(gn??=mn(import.meta.url))(t),te=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,It=t=>{if(typeof te<"u"&&te.versions&&te.versions.node){const[e,n]=te.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return te.getBuiltinModule(t)}return fn(t)},{stripVTControlCharacters:vn,styleText:Ke}=It("node:util"),{readFile:Bt}=It("node:fs/promises"),$n=new Set(["cjs","mjs"]),En=new Set(["cts","mts"]),Sn=new Set(["mdoc"]),Q=t=>{const e=(t.split("?")[0]??t).split(".").pop()?.toLowerCase();if(!e)return"text";if($n.has(e))return"javascript";if(En.has(e))return"typescript";if(Sn.has(e))return"markdown";switch(e){case"js":return"javascript";case"json":return"json";case"json5":return"json5";case"jsonc":return"jsonc";case"jsx":return"jsx";case"sql":return"sql";case"ts":return"typescript";case"tsx":return"tsx";case"xml":return"xml";case"md":return"markdown";case"mdx":return"mdx";case"svelte":return"svelte";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"sass":return"sass";case"stylus":return"stylus";case"styl":return"styl";case"yaml":case"yml":return"yaml";case"toml":return"toml";case"py":return"python";case"go":return"go";case"rs":return"rust";case"rb":return"ruby";case"php":return"php";case"graphql":case"gql":return"graphql";case"dockerfile":return"dockerfile";case"sh":case"bash":return"bash";case"txt":return"text";default:return"text"}},et=500,Ht="visulima:vite-overlay:error",Cn="visulima-vite-overlay",jt="Error",Tn="Runtime error",Ln=8,tt="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-chevron-left%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m15%2018-6-6%206-6%22%20%2F%3E%20%3C%2Fsvg%3E",he="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-chevron-right%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20%2F%3E%20%3C%2Fsvg%3E",nt="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-clock%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206v6l4%202%22%20%2F%3E%20%3C%2Fsvg%3E",rt="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-copy%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Crect%20width%3D%2214%22%20height%3D%2214%22%20x%3D%228%22%20y%3D%228%22%20rx%3D%222%22%20ry%3D%222%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2016c-1.1%200-2-.9-2-2V4c0-1.1.9-2%202-2h10c1.1%200%202%20.9%202%202%22%20%2F%3E%20%3C%2Fsvg%3E",ot="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-info%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%20%3C%2Fsvg%3E",it="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-moon-star%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M18%205h4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M20.985%2012.486a9%209%200%201%201-9.473-9.472c.405-.022.617.46.402.803a6%206%200%200%200%208.268%208.268c.344-.215.825-.004.803.401%22%20%2F%3E%20%3C%2Fsvg%3E",st="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-sun%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%20%2F%3E%20%3Cpath%20d%3D%22M12%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020v2%22%20%2F%3E%20%3Cpath%20d%3D%22m4.93%204.93%201.41%201.41%22%20%2F%3E%20%3Cpath%20d%3D%22m17.66%2017.66%201.41%201.41%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22m6.34%2017.66-1.41%201.41%22%20%2F%3E%20%3Cpath%20d%3D%22m19.07%204.93-1.41%201.41%22%20%2F%3E%20%3C%2Fsvg%3E",fe="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-x%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M18%206%206%2018%22%20%2F%3E%20%3Cpath%20d%3D%22m6%206%2012%2012%22%20%2F%3E%20%3C%2Fsvg%3E";var Te=(t=>(t.appcode="AppCode",t["android-studio"]="Android Studio",t.atom="Atom",t["atom-beta"]="Atom Beta",t.brackets="Brackets",t.clion="CLion",t.code="Visual Studio Code",t["code-insiders"]="Visual Studio Code Insiders",t.codium="VSCodium",t.cursor="Cursor",t.emacs="GNU Emacs",t.emacsforosx="GNU Emacs for Mac OS X",t.fleet="JetBrains Fleet",t.helix="Helix",t.intellij="IntelliJ IDEA",t.idea="IntelliJ IDEA",t.kiro="Kiro",t.nano="GNU nano",t.neovim="NeoVim",t["notepad++"]="Notepad++",t.phpstorm="PhpStorm",t.pycharm="PyCharm",t.rider="Rider",t.rubymine="RubyMine",t.sublime="SublimeText",t.textmate="TextMate",t.vim="Vim",t.visualstudio="Visual Studio",t.vscode="Visual Studio Code",t.vscodium="VSCodium",t.webstorm="WebStorm",t.windsurf="Windsurf",t.xcode="Xcode",t.zed="Zed",t))(Te||{}),Rn=`/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-outline-style:solid;--num:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-50:oklch(97% .014 254.604);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}body,:host{color:var(--ono-v-text);font-feature-settings:"kern" 1;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;box-sizing:border-box;background-color:#0000;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}pre,code{font-feature-settings:"kern" 1, "zero" 1;font-family:Space Mono,ui-monospace,Cascadia Code,monospace}a{color:var(--ono-v-link)}a:hover{text-decoration:underline}::selection{background:var(--ono-v-primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--ono-v-primary) 15%, transparent)}}kbd{background-color:var(--ono-v-chip-bg);color:var(--ono-v-chip-text);border:1px solid var(--ono-v-border);border-radius:0;padding:.125rem .375rem;font-family:inherit;font-size:.75rem}hr{border-color:var(--ono-v-border)}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:oklch(55.1% .027 264.364);border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}:is(input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:oklch(54.6% .245 262.881);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-date-and-time-value{text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]),input:where([type=radio]){appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:oklch(54.6% .245 262.881);--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:oklch(55.1% .027 264.364);flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);outline:2px solid #0000}input:where([type=checkbox]):checked,input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.left-1\\/2{left:50%}.-z-1{z-index:calc(1 * -1)}.z-1{z-index:1}.z-10{z-index:10}.z-2147483646,.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.mx-auto{margin-inline:auto}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-\\[40vmin\\]{height:40vmin}.max-h-50{max-height:calc(var(--spacing) * 50)}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[160px\\]{max-height:160px}.min-h-0{min-height:0}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing) * 7)}.w-44{width:calc(var(--spacing) * 44)}.w-\\[calc\\(100\\%-24px\\)\\]{width:calc(100% - 24px)}.w-full{width:100%}.max-w-\\(--ono-v-dialog-max-width\\){max-width:var(--ono-v-dialog-max-width)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[spin_20s_linear_infinite\\]{animation:20s linear infinite spin}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\(--ono-v-border\\){border-color:var(--ono-v-border)}.bg-\\(--ono-v-chip-bg\\){background-color:var(--ono-v-chip-bg)}.bg-\\(--ono-v-red-orange\\){background-color:var(--ono-v-red-orange)}.bg-\\(--ono-v-success-bg\\){background-color:var(--ono-v-success-bg)}.bg-\\(--ono-v-surface\\){background-color:var(--ono-v-surface)}.bg-\\(--ono-v-surface-muted\\){background-color:var(--ono-v-surface-muted)}.bg-\\[\\#282c34\\]{background-color:#282c34}.bg-\\[var\\(--ono-v-surface-muted\\)\\]{background-color:var(--ono-v-surface-muted)}.bg-black\\/65{background-color:#000000a6}@supports (color:color-mix(in lab, red, red)){.bg-black\\/65{background-color:color-mix(in oklab, var(--color-black) 65%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pe-6{padding-inline-end:calc(var(--spacing) * 6)}.pt-\\[8vh\\]{padding-top:8vh}.pr-1{padding-right:var(--spacing)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[calc\\(10px\\+2vmin\\)\\]{font-size:calc(10px + 2vmin)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\(--ono-v-red-orange\\){color:var(--ono-v-red-orange)}.text-\\(--ono-v-text\\){color:var(--ono-v-text)}.text-\\(--ono-v-text-muted\\){color:var(--ono-v-text-muted)}.text-\\[\\#61dafb\\]{color:#61dafb}.text-\\[var\\(--ono-v-red-orange\\)\\]{color:var(--ono-v-red-orange)}.text-\\[var\\(--ono-v-text\\)\\]{color:var(--ono-v-text)}.text-\\[var\\(--ono-v-text-muted\\)\\]{color:var(--ono-v-text-muted)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.\\[vite\\:legacy\\]{vite:legacy}.\\[vite\\:react-babel\\]{vite:react-babel}.\\[vite\\:vue\\]{vite:vue}.hover\\:bg-\\(--ono-v-hover-overlay\\):hover{background-color:var(--ono-v-hover-overlay)}.hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\\:text-\\(--ono-v-text\\):hover{color:var(--ono-v-text)}.hover\\:text-\\[var\\(--ono-v-text-muted\\)\\]:hover{color:var(--ono-v-text-muted)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-\\(--ono-v-primary\\):focus{--tw-ring-color:var(--ono-v-primary)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-\\(--ono-v-text\\):focus-visible{outline-color:var(--ono-v-text)}.active\\:opacity-80:active{opacity:.8}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\\:flex{display:flex}}@media (min-width:48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\\:bg-gray-700:where(.dark,.dark *){background-color:var(--color-gray-700)}.dark\\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\\:prose-invert:where(.dark,.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}:host{--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-space-x-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial:;--brand-accent:#d71921;--brand-white:#fff;--brand-bg:#f5f5f5;--brand-border-visible:#ccc;--brand-text-secondary:#666;--brand-surface-dark:#111;--brand-black:#000;--color-background:#f5f5f5;--color-foreground:#1a1a1a;--color-card:#fff;--color-accent:#f0f0f0;--color-muted:#e8e8e8;--color-muted-foreground:#666;--color-primary:#d71921;--color-primary-foreground:#fff;--color-border:#e8e8e8;--color-ring:#ccc;--color-destructive:#d71921;--color-destructive-foreground:#fff;--color-success:#4a9e5c;--color-success-foreground:#4a9e5c;--color-warning:#d4a843;--color-info:#666;--ono-v-bg:var(--color-background);--ono-v-surface:var(--color-card);--ono-v-surface-muted:var(--color-accent);--ono-v-border:var(--color-border);--ono-v-text:var(--color-foreground);--ono-v-text-muted:var(--color-muted-foreground);--ono-v-primary:var(--color-primary);--ono-v-red-orange:var(--color-destructive);--ono-v-link:var(--color-foreground);--ono-v-chip-bg:var(--color-muted);--ono-v-chip-text:var(--color-foreground);--ono-v-hover-overlay:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){:host{--ono-v-hover-overlay:color-mix(in srgb, var(--color-foreground) 4%, transparent)}}:host{--ono-v-on-accent:var(--color-primary-foreground);--ono-v-neutral:var(--color-muted-foreground);--ono-v-neutral-bg:var(--color-muted);--ono-v-success:var(--color-success);--ono-v-success-bg:var(--color-success)}@supports (color:color-mix(in lab, red, red)){:host{--ono-v-success-bg:color-mix(in srgb, var(--color-success) 12%, transparent)}}.dark{--color-background:#000;--color-foreground:#e8e8e8;--color-card:#111;--color-accent:#1a1a1a;--color-muted:#222;--color-muted-foreground:#999;--color-primary:#d71921;--color-primary-foreground:#fff;--color-border:#222;--color-ring:#333;--color-destructive:#d71921;--color-destructive-foreground:#fff;--color-success:#4a9e5c;--color-success-foreground:#4a9e5c;--color-warning:#d4a843;--color-info:#999;--ono-v-bg:var(--color-background);--ono-v-surface:var(--color-card);--ono-v-surface-muted:var(--color-accent);--ono-v-border:var(--color-border);--ono-v-text:var(--color-foreground);--ono-v-text-muted:var(--color-muted-foreground);--ono-v-primary:var(--color-primary);--ono-v-red-orange:var(--color-destructive);--ono-v-link:var(--color-foreground);--ono-v-chip-bg:var(--color-muted);--ono-v-chip-text:var(--color-foreground);--ono-v-hover-overlay:#ffffff0d;--ono-v-on-accent:var(--color-primary-foreground);--ono-v-neutral:var(--color-muted-foreground);--ono-v-neutral-bg:var(--color-muted);--ono-v-success:var(--color-success);--ono-v-success-bg:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.dark{--ono-v-success-bg:color-mix(in srgb, var(--color-success) 12%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:576px){:host{--ono-v-dialog-max-width:540px}}@media (min-width:768px){:host{--ono-v-dialog-max-width:720px}}@media (min-width:992px){:host{--ono-v-dialog-max-width:960px}}:host{--ono-v-dialog-max-width:960px}button:focus-visible,[role=tab]:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[data-open-in-editor]:focus-visible,.js-clipboard:focus-visible{outline:1px solid var(--ono-v-text);outline-offset:2px}.v-o-label{text-transform:uppercase;letter-spacing:.08em;font-family:Space Mono,ui-monospace,monospace;font-weight:700}.v-o-loading-text{text-transform:uppercase;letter-spacing:.06em;color:var(--ono-v-text-muted);font-family:Space Mono,ui-monospace,monospace;font-size:12px}.dui{width:1rem;height:1rem;-webkit-mask-image:var(--icon);-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--icon);-webkit-mask-image:var(--icon);mask-image:var(--icon);background-color:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dui.hidden{display:none!important}.shiki{max-width:100%;max-height:300px;padding-bottom:calc(var(--spacing) * 4);overflow-wrap:break-word;overflow:auto}.shiki pre{max-width:100%;overflow:auto}.dark .shiki,.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.shiki.has-diff .diff{position:relative}.shiki.has-diff .diff.add span{background-color:#00c75826}@supports (color:color-mix(in lab, red, red)){.shiki.has-diff .diff.add span{background-color:color-mix(in oklab, var(--color-green-500) 15%, transparent)}}.shiki.has-diff .diff.remove span{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.shiki.has-diff .diff.remove span{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.shiki.has-diff .diff.add:before{pointer-events:none;left:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-green-500);-webkit-user-select:none;user-select:none;content:"+";position:absolute}.shiki.has-diff .diff.remove:before{pointer-events:none;left:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-red-500);-webkit-user-select:none;user-select:none;content:"−";position:absolute}.dark .shiki.has-diff .diff.add{background-color:#00c75833!important}@supports (color:color-mix(in lab, red, red)){.dark .shiki.has-diff .diff.add{background-color:color-mix(in oklab, var(--color-green-500) 20%, transparent)!important}}.dark .shiki.has-diff .diff.remove{background-color:#fb2c3633!important}@supports (color:color-mix(in lab, red, red)){.dark .shiki.has-diff .diff.remove{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)!important}}.dark .shiki.has-diff .diff.add:before{color:var(--color-green-400)}.dark .shiki.has-diff .diff.remove:before{color:var(--color-red-400)}.dark [type=checkbox]:checked,.dark [type=radio]:checked{background-color:currentColor}select#editor-selector{background-color:var(--ono-v-surface);color:var(--ono-v-text);border-color:var(--ono-v-border);color-scheme:light}.dark select#editor-selector{color-scheme:dark;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23999999' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}#__v_o__stacktrace summary .dui{transition:transform .15s ease-out}#__v_o__stacktrace[open] summary .dui{transform:rotate(90deg)}:has(#__v_o__root){overflow:hidden}#__v_o__root:not(.hidden)[data-error-type=server]~#__v_o__balloon_group{display:none!important}.devtools-content-scroll{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.devtools-content-scroll::-webkit-scrollbar{width:5px;height:5px}.devtools-content-scroll::-webkit-scrollbar-track{background:0 0}.devtools-content-scroll::-webkit-scrollbar-thumb{background:var(--color-border)}.devtools-content-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-muted-foreground)}#__v_o__root.scrolling-history{-webkit-user-select:none;user-select:none;cursor:grab}#__v_o__root.scrolling-history:active{cursor:grabbing}@property --num{syntax:"<integer>";inherits:false;initial-value:0}#__v_o__balloon_count{counter-reset:num var(--num);font-variant-numeric:tabular-nums;color:#fff;font-size:13px;font-weight:700;line-height:1}#__v_o__balloon_count:after{content:counter(num)}#__v_o__balloon_count.animate-count-up{animation:.2s ease-out forwards counter-animate}@keyframes counter-animate{0%{--num:var(--num-start)}to{--num:var(--num-end)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}`;const at=`/* eslint-disable no-bitwise */
|
|
3
3
|
/* eslint-disable class-methods-use-this */
|
|
4
4
|
/* eslint-disable sonarjs/cognitive-complexity */
|
|
@@ -1662,7 +1662,7 @@ class ErrorOverlay extends HTMLElement {
|
|
|
1662
1662
|
this._updateHistoryToggleVisibility();
|
|
1663
1663
|
}
|
|
1664
1664
|
}
|
|
1665
|
-
`,
|
|
1665
|
+
`,Fn=/([A-Z])/g,lt='<option value="">Auto-detected Editor</option>',Pn="class ErrorOverlay",Dn="var ErrorOverlay = ",zn="window.ErrorOverlay = ErrorOverlay;",An=()=>{try{const t=Object.keys(Te);return[lt,...t.map(e=>`<option value="${String(e)}">${String(Te[e])}</option>`)].join("")}catch{return lt}},In=(t,e,n=!1)=>`<div id="${t}" class="fixed inset-0 z-[2147483646] flex flex-col items-center pt-[8vh] px-4 pb-4 hidden">
|
|
1666
1666
|
<div id="__v_o__backdrop" class="fixed inset-0 -z-1 bg-black/65 pointer-events-auto"></div>
|
|
1667
1667
|
<div class="relative z-1 w-full max-w-(--ono-v-dialog-max-width) mx-auto flex flex-col">
|
|
1668
1668
|
|
|
@@ -1800,7 +1800,7 @@ class ErrorOverlay extends HTMLElement {
|
|
|
1800
1800
|
<div id="__v_o__history_layer_depth_2" class="relative w-[calc(100%-24px)] h-5 bg-(--ono-v-surface-muted) border border-(--ono-v-border) border-t-0 -mt-3 -z-1"></div>
|
|
1801
1801
|
</div>
|
|
1802
1802
|
</div>
|
|
1803
|
-
</div>`,
|
|
1803
|
+
</div>`,Bn=(t="bottom-right")=>({"bottom-left":"bottom: 8px; left: 8px;","bottom-right":"bottom: 8px; right: 8px;","top-left":"top: 8px; left: 8px;","top-right":"top: 8px; right: 8px;"})[t],qt=t=>{const e=[];return Object.entries(t).forEach(([n,r])=>{if(r!=null){const o=n.replaceAll(Fn,"-$1").toLowerCase();e.push(`${o}: ${String(r)};`)}}),e.join(" ")},Mn=t=>t?typeof t=="string"?t:qt(t):"",Hn=t=>{if(t?.enabled===!1)return"";const e=t?.position||"bottom-right",n=Mn(t?.style),r=Bn(e),o=t?.icon?`<img src="${t.icon}" alt="" class="size-4" />`:"";return`<div id="__v_o__balloon_group" class="fixed z-2147483646 inline-flex" data-balloon-position="${e}" style="${n} ${r}">
|
|
1804
1804
|
<!-- Toggle button: count + label -->
|
|
1805
1805
|
<button type="button" id="__v_o__balloon" title="Toggle error overlay" aria-label="Toggle error overlay"
|
|
1806
1806
|
class="flex items-center gap-1.5 px-3 py-2 text-white cursor-pointer hover:opacity-90 active:opacity-80 transition-opacity duration-150" style="background: var(--ono-v-red-orange);">
|
|
@@ -1813,39 +1813,39 @@ class ErrorOverlay extends HTMLElement {
|
|
|
1813
1813
|
class="flex items-center justify-center w-7 shrink-0 text-white cursor-pointer hover:opacity-90 active:opacity-80 transition-opacity duration-150" style="background: var(--ono-v-red-orange); border-left: 1px solid rgba(255,255,255,0.15);">
|
|
1814
1814
|
<span class="dui size-3" style="-webkit-mask-image: url('${fe}'); mask-image: url('${fe}')"></span>
|
|
1815
1815
|
</button>
|
|
1816
|
-
</div>`},
|
|
1816
|
+
</div>`},jn=t=>t?typeof t=="string"?t:qt(t):"",qn=(t,e,n)=>{const r=An(),o=jn(n),i=o?`<style>${o}</style>`:"";return`<style>${Rn}</style>
|
|
1817
1817
|
${i}
|
|
1818
|
-
${
|
|
1818
|
+
${In("__v_o__root",r)}
|
|
1819
1819
|
|
|
1820
|
-
${t?
|
|
1820
|
+
${t?Hn(e):""}`},On=(t,e,n,r)=>{const o=qn(e,n,r),i=`const overlayTemplate = ${JSON.stringify(o)};`;let s=t.replace(Pn,`${i}
|
|
1821
1821
|
${at}
|
|
1822
|
-
class ViteErrorOverlay`);return s=s.replace(
|
|
1822
|
+
class ViteErrorOverlay`);return s=s.replace(Dn,`${i}
|
|
1823
1823
|
${at}
|
|
1824
1824
|
var ViteErrorOverlay = `),s=`${s}
|
|
1825
1825
|
|
|
1826
|
-
${
|
|
1827
|
-
`),r=n.findIndex(i=>i.includes(e));if(r===-1)return;const o=n[r]||"";return{column:Math.max(0,o.indexOf(e))+1,line:r+1}},Kn=async(t,e,n)=>{const r=Gn.exec(t.message)?.[1];if(r&&(t.title="Failed to Load Module (SSR)",t.name="FailedToLoadModuleSSR",t.message=`Failed to load module: ${r}`,t.hint="Verify import path, ensure a plugin handles this file type during SSR, and check for typos or missing files.",n&&e)){const o=Ot(n,r);o&&(t.loc={...o,file:e})}},Jn=async(t,e,n)=>{const r=Wn.exec(t.message)?.[1];if(r&&(t.name="InvalidGlob",t.title="Invalid Glob Pattern",t.message=`Invalid glob pattern: ${r}`,t.hint=t.hint||"Ensure your glob follows the expected syntax and matches existing files. Avoid unintended special characters.",n&&e)){const o=Ot(n,r);o&&(t.loc={...o,file:e})}},er=async(t,e)=>{const n=Vn(t);Zn(e,n);const r=Yn(n),o=r&&!r.includes("://")&&!r.startsWith("\0")?await Xn(r):void 0;return await Kn(n,r,o),Qn(n,r),await Jn(n,r,o),n},tr={javascript:()=>import("@shikijs/langs/javascript"),typescript:()=>import("@shikijs/langs/typescript"),jsx:()=>import("@shikijs/langs/jsx"),tsx:()=>import("@shikijs/langs/tsx"),json:()=>import("@shikijs/langs/json"),json5:()=>import("@shikijs/langs/json5"),jsonc:()=>import("@shikijs/langs/jsonc"),xml:()=>import("@shikijs/langs/xml"),sql:()=>import("@shikijs/langs/sql"),markdown:()=>import("@shikijs/langs/markdown"),mdx:()=>import("@shikijs/langs/mdx"),html:()=>import("@shikijs/langs/html"),css:()=>import("@shikijs/langs/css"),scss:()=>import("@shikijs/langs/scss"),less:()=>import("@shikijs/langs/less"),sass:()=>import("@shikijs/langs/sass"),stylus:()=>import("@shikijs/langs/stylus"),styl:()=>import("@shikijs/langs/styl"),svelte:()=>import("@shikijs/langs/svelte"),vue:()=>import("@shikijs/langs/vue"),bash:()=>import("@shikijs/langs/bash"),shell:()=>import("@shikijs/langs/shell"),yaml:()=>import("@shikijs/langs/yaml"),toml:()=>import("@shikijs/langs/toml"),python:()=>import("@shikijs/langs/python"),go:()=>import("@shikijs/langs/go"),rust:()=>import("@shikijs/langs/rust"),ruby:()=>import("@shikijs/langs/ruby"),php:()=>import("@shikijs/langs/php"),graphql:()=>import("@shikijs/langs/graphql"),dockerfile:()=>import("@shikijs/langs/dockerfile"),text:()=>Promise.resolve({name:"text",patterns:[],scopeName:"source.text",repository:{}})};let Se;const nr=async()=>{const[t,e]=await Promise.all([import("shiki/core"),import("shiki/engine/javascript")]),{createHighlighterCore:n}=t,{createJavaScriptRegexEngine:r}=e;return await n({themes:[import("./packem_chunks/min-dark.js"),import("./packem_chunks/min-light.js")],langs:[],engine:r()})},rr=async(t,e)=>{if(e==="text")return;const n=e.toLowerCase();if(!(t.getLoadedLanguages?.()??t.getLanguages?.()??[]).includes(n)){const r=tr[n];r&&await t.loadLanguage?.(await r())}},Nt=async(t=[])=>{Se||(Se=nr());const e=await Se,n=[];for(const r of t)if(typeof r=="string")n.push(r.toLowerCase());else{const o=r.name;o&&n.push(o.toLowerCase())}return await Promise.all(n.map(r=>rr(e,r))),e},ct=(t=[])=>({name:"@shikijs/transformers:compact-line-options",line(e,n){const r=t.find(o=>o.line===n);return r?.classes&&this.addClassToHast(e,r.classes),e}}),or=t=>!Array.isArray(t)||t.length===0?!1:t.some(e=>e&&typeof e=="object"&&("location"in e||"pluginName"in e||"text"in e)),ir=t=>t.map((e,n)=>{const{location:r,pluginName:o,text:i}=e,s={message:i||`ESBuild error #${n+1}`,name:e.name||"Error",stack:e.stack||""};return r&&(s.file=r.file,s.line=r.line,s.column=r.column),o&&(s.plugin=o),s}),sr=/^\/@fs\//,ar=/^[./]*/,lr=(t,e)=>{for(const[n,r]of t.moduleGraph.idToModuleMap){if(!r)continue;const o=r,i=[String(o.file||"").replaceAll("\\","/"),String(n||"").replaceAll("\\","/"),String(o.url||"").replaceAll("\\","/")];for(const s of e)if(i.some(a=>a===s||a.includes(s)||s.includes(a)))return r}},ae=(t,e)=>{const n=[...e,...e.map(i=>i.replace(sr,"")),...e.map(i=>i.replace(ar,""))];let r,o=0;for(const i of n)try{const s=t.moduleGraph.getModuleById(i);if(s){const c=Object.keys(s).length>0,l=!!s.transformResult;let d=0;if(c&&l?d=2:c&&(d=1),c&&(d>o&&(r=s,o=d),l))return s}const a=t.moduleGraph.getModuleByUrl?.(i);if(a){const c=Object.keys(a).length>0,l=!!a.transformResult;let d=0;if(c&&l?d=2:c&&(d=1),c&&(d>o&&(r=a,o=d),l))return a}}catch{}return r||lr(t,e)||void 0},cr=/^https?:\/\//,dr=/^\/@fs\//,pr=t=>{const e=new URL(t),{pathname:n}=e,r=e.search||"",o=[n+r,n,n.replace(dr,""),decodeURIComponent(n+r),decodeURIComponent(n)];return[...new Set(o)].filter(Boolean)},Ut=t=>cr.test(t),O=t=>{if(!t)return[];try{if(Ut(t))return pr(t);const e=[t];if(t.startsWith("/")&&e.push(t.slice(1)),t.includes("?")){const n=t.split("?")[0];n&&e.push(n)}return[...new Set(e)].filter(Boolean)}catch(e){return console.warn(`Failed to normalize path "${t}":`,e),[]}},Gt=/\n/,hr=/\s+/g,ur=/[A-Z_$][\w$]{2,}/i,mr=/\s/,gr=(t,e)=>t.split(Gt)[e-1]??"",dt=t=>t.replaceAll(hr,""),fr=(t,e)=>{if(e<=0||e>t.length)return"";const n=Math.max(0,e-1),r=t.slice(n,n+64),o=ur.exec(r);if(o?.[0])return o[0];let i=r.trim();return i.length<4&&(i=t.slice(Math.max(0,n-16),n+16).trim()),i},vr=(t,e)=>{let n=0;for(const[r,o]of[...t].entries())if(typeof o=="string"){if(n===e)return r+1;mr.test(o)||(n+=1)}return-1},wr=(t,e)=>{if(!(!t||t.length<3))for(const[n,r]of e.entries()){if(!r)continue;const o=r.indexOf(t);if(o!==-1)return{column:o+1,line:n+1}}},br=(t,e)=>{if(t)for(const[n,r]of e.entries()){if(!r)continue;const o=r.indexOf(t);if(o!==-1)return{column:o+1,line:n+1}}},yr=(t,e)=>{if(!t)return;const n=dt(t);if(n)for(const[r,o]of e.entries()){if(!o)continue;const i=dt(o).indexOf(n);if(i!==-1){const s=vr(o,i);if(s!==-1)return{column:s,line:r+1}}}},_r=(t,e,n,r)=>{const o=gr(t,e);if(!o)return;const i=r.split(Gt),s=fr(o,n);return wr(s,i)||br(o.trim(),i)||yr(o.trim(),i)};var kr=44,pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xr=new Uint8Array(64),Wt=new Uint8Array(128);for(let t=0;t<pt.length;t++){const e=pt.charCodeAt(t);xr[t]=e,Wt[e]=t}function ne(t,e){let n=0,r=0,o=0;do{const s=t.next();o=Wt[s],n|=(o&31)<<r,r+=5}while(o&32);const i=n&1;return n>>>=1,i&&(n=-2147483648|-n),e+n}function ht(t,e){return t.pos>=e?!1:t.peek()!==kr}typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u";var $r=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){const{buffer:n,pos:r}=this,o=n.indexOf(e,r);return o===-1?n.length:o}};function Er(t){const{length:e}=t,n=new $r(t),r=[];let o=0,i=0,s=0,a=0,c=0;do{const l=n.indexOf(";"),d=[];let p=!0,m=0;for(o=0;n.pos<l;){let v;o=ne(n,o),o<m&&(p=!1),m=o,ht(n,l)?(i=ne(n,i),s=ne(n,s),a=ne(n,a),ht(n,l)?(c=ne(n,c),v=[o,i,s,a,c]):v=[o,i,s,a]):v=[o],d.push(v),n.pos++}p||Sr(d),r.push(d),n.pos=l+1}while(n.pos<=e);return r}function Sr(t){t.sort(Cr)}function Cr(t,e){return t[0]-e[0]}function Tr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ge={exports:{}},Lr=ge.exports,ut;function Rr(){return ut||(ut=1,(function(t,e){(function(n,r){t.exports=r()})(Lr,(function(){const n=/^[\w+.-]+:\/\//,r=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,o=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function i(f){return n.test(f)}function s(f){return f.startsWith("//")}function a(f){return f.startsWith("/")}function c(f){return f.startsWith("file:")}function l(f){return/^[.?#]/.test(f)}function d(f){const g=r.exec(f);return m(g[1],g[2]||"",g[3],g[4]||"",g[5]||"/",g[6]||"",g[7]||"")}function p(f){const g=o.exec(f),b=g[2];return m("file:","",g[1]||"","",a(b)?b:"/"+b,g[3]||"",g[4]||"")}function m(f,g,b,k,x,$,T){return{scheme:f,user:g,host:b,port:k,path:x,query:$,hash:T,type:7}}function v(f){if(s(f)){const b=d("http:"+f);return b.scheme="",b.type=6,b}if(a(f)){const b=d("http://foo.com"+f);return b.scheme="",b.host="",b.type=5,b}if(c(f))return p(f);if(i(f))return d(f);const g=d("http://foo.com/"+f);return g.scheme="",g.host="",g.type=f?f.startsWith("?")?3:f.startsWith("#")?2:4:1,g}function u(f){if(f.endsWith("/.."))return f;const g=f.lastIndexOf("/");return f.slice(0,g+1)}function h(f,g){w(g,g.type),f.path==="/"?f.path=g.path:f.path=u(g.path)+f.path}function w(f,g){const b=g<=4,k=f.path.split("/");let x=1,$=0,T=!1;for(let I=1;I<k.length;I++){const j=k[I];if(!j){T=!0;continue}if(T=!1,j!=="."){if(j===".."){$?(T=!0,$--,x--):b&&(k[x++]=j);continue}k[x++]=j,$++}}let L="";for(let I=1;I<x;I++)L+="/"+k[I];(!L||T&&!L.endsWith("/.."))&&(L+="/"),f.path=L}function y(f,g){if(!f&&!g)return"";const b=v(f);let k=b.type;if(g&&k!==7){const $=v(g),T=$.type;switch(k){case 1:b.hash=$.hash;case 2:b.query=$.query;case 3:case 4:h(b,$);case 5:b.user=$.user,b.host=$.host,b.port=$.port;case 6:b.scheme=$.scheme}T>k&&(k=T)}w(b,k);const x=b.query+b.hash;switch(k){case 2:case 3:return x;case 4:{const $=b.path.slice(1);return $?l(g||f)&&!l($)?"./"+$+x:$+x:x||"."}case 5:return b.path+x;default:return b.scheme+"//"+b.user+b.host+b.port+b.path+x}}return y}))})(ge)),ge.exports}var Fr=Rr();const Pr=Tr(Fr);function Dr(t){if(!t)return"";const e=t.lastIndexOf("/");return t.slice(0,e+1)}function zr(t,e){const n=Dr(t),r=e?e+"/":"";return o=>Pr(r+(o||""),n)}var H=0,Ar=1,Ir=2,Br=3,Mr=4;function Hr(t,e){const n=mt(t,0);if(n===t.length)return t;e||(t=t.slice());for(let r=n;r<t.length;r=mt(t,r+1))t[r]=qr(t[r],e);return t}function mt(t,e){for(let n=e;n<t.length;n++)if(!jr(t[n]))return n;return t.length}function jr(t){for(let e=1;e<t.length;e++)if(t[e][H]<t[e-1][H])return!1;return!0}function qr(t,e){return e||(t=t.slice()),t.sort(Or)}function Or(t,e){return t[H]-e[H]}var ve=!1;function Nr(t,e,n,r){for(;n<=r;){const o=n+(r-n>>1),i=t[o][H]-e;if(i===0)return ve=!0,o;i<0?n=o+1:r=o-1}return ve=!1,n-1}function Ur(t,e,n){for(let r=n+1;r<t.length&&t[r][H]===e;n=r++);return n}function Gr(t,e,n){for(let r=n-1;r>=0&&t[r][H]===e;n=r--);return n}function Wr(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Vr(t,e,n,r){const{lastKey:o,lastNeedle:i,lastIndex:s}=n;let a=0,c=t.length-1;if(r===o){if(e===i)return ve=s!==-1&&t[s][H]===e,s;e>=i?a=s===-1?0:s:c=s}return n.lastKey=r,n.lastNeedle=e,n.lastIndex=Nr(t,e,a,c)}function Zr(t){return typeof t=="string"?JSON.parse(t):t}var Yr="`line` must be greater than 0 (lines start at line 1)",Xr="`column` must be greater than or equal to 0 (columns start at column 0)",gt=-1,Qr=1,Kr=class{constructor(e,n){const r=typeof e=="string";if(!r&&e._decodedMemo)return e;const o=Zr(e),{version:i,file:s,names:a,sourceRoot:c,sources:l,sourcesContent:d}=o;this.version=i,this.file=s,this.names=a||[],this.sourceRoot=c,this.sources=l,this.sourcesContent=d,this.ignoreList=o.ignoreList||o.x_google_ignoreList||void 0;const p=zr(n,c);this.resolvedSources=l.map(p);const{mappings:m}=o;if(typeof m=="string")this._encoded=m,this._decoded=void 0;else if(Array.isArray(m))this._encoded=void 0,this._decoded=Hr(m,r);else throw o.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(o)}`);this._decodedMemo=Wr(),this._bySources=void 0,this._bySourceMemos=void 0}};function Jr(t){var e;return(e=t)._decoded||(e._decoded=Er(t._encoded))}function eo(t,e){let{line:n,column:r,bias:o}=e;if(n--,n<0)throw new Error(Yr);if(r<0)throw new Error(Xr);const i=Jr(t);if(n>=i.length)return ue(null,null,null,null);const s=i[n],a=to(s,t._decodedMemo,n,r,o||Qr);if(a===-1)return ue(null,null,null,null);const c=s[a];if(c.length===1)return ue(null,null,null,null);const{names:l,resolvedSources:d}=t;return ue(d[c[Ar]],c[Ir]+1,c[Br],c.length===5?l[c[Mr]]:null)}function ue(t,e,n,r){return{source:t,line:e,column:n,name:r}}function to(t,e,n,r,o){let i=Vr(t,r,e,n);return ve?i=(o===gt?Ur:Gr)(t,r,i):o===gt&&i++,i===-1||i===t.length?-1:i}const no=/`((?:[^`$]|\$\{[^}]+\})*)`/g,ft=/\$\{[^}]+\}/g,ro=/[.*+?^${}()|[\]\\]/g,Vt=[/new Error\(/,/throw new Error\(/,/new Error`/,/throw new Error`/,/new [A-Z]\w*\(/,/throw new [A-Z]\w*\(/,/new [A-Z]\w*`/,/throw new [A-Z]\w*`/],N=t=>t.replaceAll(ro,String.raw`\$&`),oo=t=>{const e=N(t);return[t,`new Error("${e}")`,`new Error('${e}')`,`new Error(\`${N(t)}\`)`,`throw new Error("${e}")`,`throw new Error('${e}')`,`throw new Error(\`${N(t)}\`)`,`Error("${e}")`,`Error('${e}')`]},vt=(t,e)=>{const n=[...t.matchAll(no)];for(const r of n){const o=r[1];if(!o)continue;const i=o.split(ft);if(i.every(a=>a===""||e.includes(a))&&i.length>1)return!0;if(!o)continue;const s=o.replaceAll(ft,"(.+?)");try{if(new RegExp(`^${N(s)}$`).test(e))return!0}catch{}}return!1},io=[/Failed to resolve import ["']([^"']+)["'](?:\s+from ["']([^"']+)["'])?/,/(.+?)\s+from line \d+/,/(.+?)\s+is not defined/,/(.+?)\s+is not a function/,/Cannot read properties of (.+?)\s+\(reading (.+?)\)/],so=t=>{for(const e of io){const n=t.match(e);if(n)return n}},wt=t=>{let e,n;for(const r of Vt){const o=t.match(r);o&&(!e||r.source.includes("throw")&&!n?.source.includes("throw"))&&(e=o,n=r)}return{bestMatch:e,bestPattern:n}},bt=(t,e)=>{let n=t.index??0;if(e.source.includes("throw new")&&t[0].startsWith("throw new")){const r=t[0].indexOf("new");r!==-1&&(n+=r)}return n+1},ao=(t,e,n=0)=>{if(!t||!e)return;const r=t.split(`
|
|
1828
|
-
`),o=
|
|
1829
|
-
`||t==="\r"||t==="\f"||t==="\v",xt=(t,e)=>{if(!ie(t[e+1]))return e;let n=e+1;for(;n<t.length&&ie(t[n]);)n+=1;if(t[n]===":"&&ie(t[n+1]))for(n+=1;n<t.length&&ie(t[n]);)n+=1;return n},
|
|
1826
|
+
${zn};`,s},Nn=/\.mdx$/i,Un=1,Gn=/syntax error/i,Wn=/Failed to load url\s+(.*?)\s+\(resolved id:/i,Vn=/glob:\s*"(.+)"\s*\(/i,Zn=t=>t instanceof Error?t:new Error(String(t)),Yn=(t,e)=>{try{t.ssrFixStacktrace(e)}catch(n){console.warn("[visulima:vite-overlay:server] SSR stack trace fix failed:",n)}},Xn=t=>{try{const e=X(t,{frameLimit:Un})?.[0];return String(e?.file||t.loc?.file||t.id||"")}catch(e){console.warn("[visulima:vite-overlay:server] Stack trace parsing failed:",e);return}},Qn=async t=>{try{return await Bt(t,"utf8")}catch(e){console.warn(`[visulima:vite-overlay:server] Failed to read file ${t}:`,e);return}},Kn=(t,e)=>{const n=t.id||t.loc?.file||e;n&&Nn.test(String(n))&&Gn.test(t.message)&&(t.hint=t.hint||"MDX detected without an appropriate integration. Install and configure the MDX plugin for Vite/your framework.")},Ot=(t,e)=>{const n=t.split(`
|
|
1827
|
+
`),r=n.findIndex(i=>i.includes(e));if(r===-1)return;const o=n[r]||"";return{column:Math.max(0,o.indexOf(e))+1,line:r+1}},Jn=async(t,e,n)=>{const r=Wn.exec(t.message)?.[1];if(r&&(t.title="Failed to Load Module (SSR)",t.name="FailedToLoadModuleSSR",t.message=`Failed to load module: ${r}`,t.hint="Verify import path, ensure a plugin handles this file type during SSR, and check for typos or missing files.",n&&e)){const o=Ot(n,r);o&&(t.loc={...o,file:e})}},er=async(t,e,n)=>{const r=Vn.exec(t.message)?.[1];if(r&&(t.name="InvalidGlob",t.title="Invalid Glob Pattern",t.message=`Invalid glob pattern: ${r}`,t.hint=t.hint||"Ensure your glob follows the expected syntax and matches existing files. Avoid unintended special characters.",n&&e)){const o=Ot(n,r);o&&(t.loc={...o,file:e})}},tr=async(t,e)=>{const n=Zn(t);Yn(e,n);const r=Xn(n),o=r&&!r.includes("://")&&!r.startsWith("\0")?await Qn(r):void 0;return await Jn(n,r,o),Kn(n,r),await er(n,r,o),n},nr={javascript:()=>import("@shikijs/langs/javascript"),typescript:()=>import("@shikijs/langs/typescript"),jsx:()=>import("@shikijs/langs/jsx"),tsx:()=>import("@shikijs/langs/tsx"),json:()=>import("@shikijs/langs/json"),json5:()=>import("@shikijs/langs/json5"),jsonc:()=>import("@shikijs/langs/jsonc"),xml:()=>import("@shikijs/langs/xml"),sql:()=>import("@shikijs/langs/sql"),markdown:()=>import("@shikijs/langs/markdown"),mdx:()=>import("@shikijs/langs/mdx"),html:()=>import("@shikijs/langs/html"),css:()=>import("@shikijs/langs/css"),scss:()=>import("@shikijs/langs/scss"),less:()=>import("@shikijs/langs/less"),sass:()=>import("@shikijs/langs/sass"),stylus:()=>import("@shikijs/langs/stylus"),styl:()=>import("@shikijs/langs/styl"),svelte:()=>import("@shikijs/langs/svelte"),vue:()=>import("@shikijs/langs/vue"),bash:()=>import("@shikijs/langs/bash"),shell:()=>import("@shikijs/langs/shell"),yaml:()=>import("@shikijs/langs/yaml"),toml:()=>import("@shikijs/langs/toml"),python:()=>import("@shikijs/langs/python"),go:()=>import("@shikijs/langs/go"),rust:()=>import("@shikijs/langs/rust"),ruby:()=>import("@shikijs/langs/ruby"),php:()=>import("@shikijs/langs/php"),graphql:()=>import("@shikijs/langs/graphql"),dockerfile:()=>import("@shikijs/langs/dockerfile"),text:()=>Promise.resolve({name:"text",patterns:[],scopeName:"source.text",repository:{}})};let Se;const rr=async()=>{const[t,e]=await Promise.all([import("shiki/core"),import("shiki/engine/javascript")]),{createHighlighterCore:n}=t,{createJavaScriptRegexEngine:r}=e;return await n({themes:[import("./packem_chunks/min-dark.js"),import("./packem_chunks/min-light.js")],langs:[],engine:r()})},or=async(t,e)=>{if(e==="text")return;const n=e.toLowerCase();if(!(t.getLoadedLanguages?.()??t.getLanguages?.()??[]).includes(n)){const r=nr[n];r&&await t.loadLanguage?.(await r())}},Nt=async(t=[])=>{Se||(Se=rr());const e=await Se,n=[];for(const r of t)if(typeof r=="string")n.push(r.toLowerCase());else{const o=r.name;o&&n.push(o.toLowerCase())}return await Promise.all(n.map(r=>or(e,r))),e},ct=(t=[])=>({name:"@shikijs/transformers:compact-line-options",line(e,n){const r=t.find(o=>o.line===n);return r?.classes&&this.addClassToHast(e,r.classes),e}}),ir=t=>!Array.isArray(t)||t.length===0?!1:t.some(e=>e&&typeof e=="object"&&("location"in e||"pluginName"in e||"text"in e)),sr=t=>t.map((e,n)=>{const{location:r,pluginName:o,text:i}=e,s={message:i||`ESBuild error #${n+1}`,name:e.name||"Error",stack:e.stack||""};return r&&(s.file=r.file,s.line=r.line,s.column=r.column),o&&(s.plugin=o),s}),ar=/^\/@fs\//,lr=/^[./]*/,cr=(t,e)=>{for(const[n,r]of t.moduleGraph.idToModuleMap){if(!r)continue;const o=r,i=[String(o.file||"").replaceAll("\\","/"),String(n||"").replaceAll("\\","/"),String(o.url||"").replaceAll("\\","/")];for(const s of e)if(i.some(a=>a===s||a.includes(s)||s.includes(a)))return r}},ae=(t,e)=>{const n=[...e,...e.map(i=>i.replace(ar,"")),...e.map(i=>i.replace(lr,""))];let r,o=0;for(const i of n)try{const s=t.moduleGraph.getModuleById(i);if(s){const c=Object.keys(s).length>0,l=!!s.transformResult;let d=0;if(c&&l?d=2:c&&(d=1),c&&(d>o&&(r=s,o=d),l))return s}const a=t.moduleGraph.getModuleByUrl?.(i);if(a){const c=Object.keys(a).length>0,l=!!a.transformResult;let d=0;if(c&&l?d=2:c&&(d=1),c&&(d>o&&(r=a,o=d),l))return a}}catch{}return r||cr(t,e)||void 0},dr=/^https?:\/\//,pr=/^\/@fs\//,hr=t=>{const e=new URL(t),{pathname:n}=e,r=e.search||"",o=[n+r,n,n.replace(pr,""),decodeURIComponent(n+r),decodeURIComponent(n)];return[...new Set(o)].filter(Boolean)},Ut=t=>dr.test(t),O=t=>{if(!t)return[];try{if(Ut(t))return hr(t);const e=[t];if(t.startsWith("/")&&e.push(t.slice(1)),t.includes("?")){const n=t.split("?")[0];n&&e.push(n)}return[...new Set(e)].filter(Boolean)}catch(e){return console.warn(`Failed to normalize path "${t}":`,e),[]}},Gt=/\n/,ur=/\s+/g,mr=/[A-Z_$][\w$]{2,}/i,gr=/\s/,fr=(t,e)=>t.split(Gt)[e-1]??"",dt=t=>t.replaceAll(ur,""),vr=(t,e)=>{if(e<=0||e>t.length)return"";const n=Math.max(0,e-1),r=t.slice(n,n+64),o=mr.exec(r);if(o?.[0])return o[0];let i=r.trim();return i.length<4&&(i=t.slice(Math.max(0,n-16),n+16).trim()),i},wr=(t,e)=>{let n=0;for(const[r,o]of[...t].entries())if(typeof o=="string"){if(n===e)return r+1;gr.test(o)||(n+=1)}return-1},br=(t,e)=>{if(!(!t||t.length<3))for(const[n,r]of e.entries()){if(!r)continue;const o=r.indexOf(t);if(o!==-1)return{column:o+1,line:n+1}}},yr=(t,e)=>{if(t)for(const[n,r]of e.entries()){if(!r)continue;const o=r.indexOf(t);if(o!==-1)return{column:o+1,line:n+1}}},_r=(t,e)=>{if(!t)return;const n=dt(t);if(n)for(const[r,o]of e.entries()){if(!o)continue;const i=dt(o).indexOf(n);if(i!==-1){const s=wr(o,i);if(s!==-1)return{column:s,line:r+1}}}},kr=(t,e,n,r)=>{const o=fr(t,e);if(!o)return;const i=r.split(Gt),s=vr(o,n);return br(s,i)||yr(o.trim(),i)||_r(o.trim(),i)};var xr=44,pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",$r=new Uint8Array(64),Wt=new Uint8Array(128);for(let t=0;t<pt.length;t++){const e=pt.charCodeAt(t);$r[t]=e,Wt[e]=t}function ne(t,e){let n=0,r=0,o=0;do{const s=t.next();o=Wt[s],n|=(o&31)<<r,r+=5}while(o&32);const i=n&1;return n>>>=1,i&&(n=-2147483648|-n),e+n}function ht(t,e){return t.pos>=e?!1:t.peek()!==xr}typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u";var Er=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){const{buffer:n,pos:r}=this,o=n.indexOf(e,r);return o===-1?n.length:o}};function Sr(t){const{length:e}=t,n=new Er(t),r=[];let o=0,i=0,s=0,a=0,c=0;do{const l=n.indexOf(";"),d=[];let p=!0,m=0;for(o=0;n.pos<l;){let v;o=ne(n,o),o<m&&(p=!1),m=o,ht(n,l)?(i=ne(n,i),s=ne(n,s),a=ne(n,a),ht(n,l)?(c=ne(n,c),v=[o,i,s,a,c]):v=[o,i,s,a]):v=[o],d.push(v),n.pos++}p||Cr(d),r.push(d),n.pos=l+1}while(n.pos<=e);return r}function Cr(t){t.sort(Tr)}function Tr(t,e){return t[0]-e[0]}function Lr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ge={exports:{}},Rr=ge.exports,ut;function Fr(){return ut||(ut=1,(function(t,e){(function(n,r){t.exports=r()})(Rr,(function(){const n=/^[\w+.-]+:\/\//,r=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,o=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function i(f){return n.test(f)}function s(f){return f.startsWith("//")}function a(f){return f.startsWith("/")}function c(f){return f.startsWith("file:")}function l(f){return/^[.?#]/.test(f)}function d(f){const g=r.exec(f);return m(g[1],g[2]||"",g[3],g[4]||"",g[5]||"/",g[6]||"",g[7]||"")}function p(f){const g=o.exec(f),b=g[2];return m("file:","",g[1]||"","",a(b)?b:"/"+b,g[3]||"",g[4]||"")}function m(f,g,b,k,x,$,T){return{scheme:f,user:g,host:b,port:k,path:x,query:$,hash:T,type:7}}function v(f){if(s(f)){const b=d("http:"+f);return b.scheme="",b.type=6,b}if(a(f)){const b=d("http://foo.com"+f);return b.scheme="",b.host="",b.type=5,b}if(c(f))return p(f);if(i(f))return d(f);const g=d("http://foo.com/"+f);return g.scheme="",g.host="",g.type=f?f.startsWith("?")?3:f.startsWith("#")?2:4:1,g}function u(f){if(f.endsWith("/.."))return f;const g=f.lastIndexOf("/");return f.slice(0,g+1)}function h(f,g){w(g,g.type),f.path==="/"?f.path=g.path:f.path=u(g.path)+f.path}function w(f,g){const b=g<=4,k=f.path.split("/");let x=1,$=0,T=!1;for(let I=1;I<k.length;I++){const j=k[I];if(!j){T=!0;continue}if(T=!1,j!=="."){if(j===".."){$?(T=!0,$--,x--):b&&(k[x++]=j);continue}k[x++]=j,$++}}let L="";for(let I=1;I<x;I++)L+="/"+k[I];(!L||T&&!L.endsWith("/.."))&&(L+="/"),f.path=L}function y(f,g){if(!f&&!g)return"";const b=v(f);let k=b.type;if(g&&k!==7){const $=v(g),T=$.type;switch(k){case 1:b.hash=$.hash;case 2:b.query=$.query;case 3:case 4:h(b,$);case 5:b.user=$.user,b.host=$.host,b.port=$.port;case 6:b.scheme=$.scheme}T>k&&(k=T)}w(b,k);const x=b.query+b.hash;switch(k){case 2:case 3:return x;case 4:{const $=b.path.slice(1);return $?l(g||f)&&!l($)?"./"+$+x:$+x:x||"."}case 5:return b.path+x;default:return b.scheme+"//"+b.user+b.host+b.port+b.path+x}}return y}))})(ge)),ge.exports}var Pr=Fr();const Dr=Lr(Pr);function zr(t){if(!t)return"";const e=t.lastIndexOf("/");return t.slice(0,e+1)}function Ar(t,e){const n=zr(t),r=e?e+"/":"";return o=>Dr(r+(o||""),n)}var H=0,Ir=1,Br=2,Mr=3,Hr=4;function jr(t,e){const n=mt(t,0);if(n===t.length)return t;e||(t=t.slice());for(let r=n;r<t.length;r=mt(t,r+1))t[r]=Or(t[r],e);return t}function mt(t,e){for(let n=e;n<t.length;n++)if(!qr(t[n]))return n;return t.length}function qr(t){for(let e=1;e<t.length;e++)if(t[e][H]<t[e-1][H])return!1;return!0}function Or(t,e){return e||(t=t.slice()),t.sort(Nr)}function Nr(t,e){return t[H]-e[H]}var ve=!1;function Ur(t,e,n,r){for(;n<=r;){const o=n+(r-n>>1),i=t[o][H]-e;if(i===0)return ve=!0,o;i<0?n=o+1:r=o-1}return ve=!1,n-1}function Gr(t,e,n){for(let r=n+1;r<t.length&&t[r][H]===e;n=r++);return n}function Wr(t,e,n){for(let r=n-1;r>=0&&t[r][H]===e;n=r--);return n}function Vr(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Zr(t,e,n,r){const{lastKey:o,lastNeedle:i,lastIndex:s}=n;let a=0,c=t.length-1;if(r===o){if(e===i)return ve=s!==-1&&t[s][H]===e,s;e>=i?a=s===-1?0:s:c=s}return n.lastKey=r,n.lastNeedle=e,n.lastIndex=Ur(t,e,a,c)}function Yr(t){return typeof t=="string"?JSON.parse(t):t}var Xr="`line` must be greater than 0 (lines start at line 1)",Qr="`column` must be greater than or equal to 0 (columns start at column 0)",gt=-1,Kr=1,Jr=class{constructor(e,n){const r=typeof e=="string";if(!r&&e._decodedMemo)return e;const o=Yr(e),{version:i,file:s,names:a,sourceRoot:c,sources:l,sourcesContent:d}=o;this.version=i,this.file=s,this.names=a||[],this.sourceRoot=c,this.sources=l,this.sourcesContent=d,this.ignoreList=o.ignoreList||o.x_google_ignoreList||void 0;const p=Ar(n,c);this.resolvedSources=l.map(p);const{mappings:m}=o;if(typeof m=="string")this._encoded=m,this._decoded=void 0;else if(Array.isArray(m))this._encoded=void 0,this._decoded=jr(m,r);else throw o.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(o)}`);this._decodedMemo=Vr(),this._bySources=void 0,this._bySourceMemos=void 0}};function eo(t){var e;return(e=t)._decoded||(e._decoded=Sr(t._encoded))}function to(t,e){let{line:n,column:r,bias:o}=e;if(n--,n<0)throw new Error(Xr);if(r<0)throw new Error(Qr);const i=eo(t);if(n>=i.length)return ue(null,null,null,null);const s=i[n],a=no(s,t._decodedMemo,n,r,o||Kr);if(a===-1)return ue(null,null,null,null);const c=s[a];if(c.length===1)return ue(null,null,null,null);const{names:l,resolvedSources:d}=t;return ue(d[c[Ir]],c[Br]+1,c[Mr],c.length===5?l[c[Hr]]:null)}function ue(t,e,n,r){return{source:t,line:e,column:n,name:r}}function no(t,e,n,r,o){let i=Zr(t,r,e,n);return ve?i=(o===gt?Gr:Wr)(t,r,i):o===gt&&i++,i===-1||i===t.length?-1:i}const ro=/`((?:[^`$]|\$\{[^}]+\})*)`/g,ft=/\$\{[^}]+\}/g,oo=/[.*+?^${}()|[\]\\]/g,Vt=[/new Error\(/,/throw new Error\(/,/new Error`/,/throw new Error`/,/new [A-Z]\w*\(/,/throw new [A-Z]\w*\(/,/new [A-Z]\w*`/,/throw new [A-Z]\w*`/],N=t=>t.replaceAll(oo,String.raw`\$&`),io=t=>{const e=N(t);return[t,`new Error("${e}")`,`new Error('${e}')`,`new Error(\`${N(t)}\`)`,`throw new Error("${e}")`,`throw new Error('${e}')`,`throw new Error(\`${N(t)}\`)`,`Error("${e}")`,`Error('${e}')`]},vt=(t,e)=>{const n=[...t.matchAll(ro)];for(const r of n){const o=r[1];if(!o)continue;const i=o.split(ft);if(i.every(a=>a===""||e.includes(a))&&i.length>1)return!0;if(!o)continue;const s=o.replaceAll(ft,"(.+?)");try{if(new RegExp(`^${N(s)}$`).test(e))return!0}catch{}}return!1},so=[/Failed to resolve import ["']([^"']+)["'](?:\s+from ["']([^"']+)["'])?/,/(.+?)\s+from line \d+/,/(.+?)\s+is not defined/,/(.+?)\s+is not a function/,/Cannot read properties of (.+?)\s+\(reading (.+?)\)/],ao=t=>{for(const e of so){const n=t.match(e);if(n)return n}},wt=t=>{let e,n;for(const r of Vt){const o=t.match(r);o&&(!e||r.source.includes("throw")&&!n?.source.includes("throw"))&&(e=o,n=r)}return{bestMatch:e,bestPattern:n}},bt=(t,e)=>{let n=t.index??0;if(e.source.includes("throw new")&&t[0].startsWith("throw new")){const r=t[0].indexOf("new");r!==-1&&(n+=r)}return n+1},lo=(t,e,n=0)=>{if(!t||!e)return;const r=t.split(`
|
|
1828
|
+
`),o=ao(e),i=io(e),s=((p,m,v)=>{let u=0;for(const[h,w]of p.entries()){if(!w)continue;const y=w.includes(m)||vt(w,m),f=Vt.some(g=>g.test(w));if(y&&f){const{bestMatch:g,bestPattern:b}=wt(w);if(g&&b&&(u+=1,u>v))return{column:bt(g,b),line:h+1}}}})(r,e,n);if(s)return s;o&&((p,m,v)=>{if(p[0].includes("Failed to resolve import")){const u=p[1];if(!u)return;const h=N(u);v.unshift(`import.*from ["']${h}["']`,`import.*["']${h}["']`,u)}else if(p[0].includes("is not defined")){const u=p[1];if(!u)return;v.unshift(u,`{${u}}`,`src={${u}}`,`${u}.`,`=${u}`)}else if(p[0].includes("Cannot read properties")){const u=p[1],h=p[2];if(!h)return;v.unshift(h,`${u}.${h}`,`${u}?.${h}`,`${u}[${h}]`)}else{const u=p[1];if(!u)return;const h=N(m),w=N(u);v.unshift(`new Error(\`${w}`,`throw new Error(\`${w}`,`new Error("${w}`,`new Error('${w}`,`throw new Error("${w}`,`throw new Error('${w}`,`new Error("${h}")`,`new Error('${h}')`,`throw new Error("${h}")`,`throw new Error('${h}')`,`new Error(\`${h}\`)`,`throw new Error(\`${h}\`)`)}})(o,e,i);const a=(p,m,v)=>{let u=0;for(const[h,w]of p.entries()){if(!w||!vt(w,m))continue;const{bestMatch:y,bestPattern:f}=wt(w);if(y&&f&&(u+=1,u>v))return{column:bt(y,f),line:h+1}}},c=(p,m,v,u)=>{if(!u)return p+1;if(u[0].includes("Failed to resolve import")){const h=u[1];if(v.includes(`"${h}"`)||v.includes(`'${h}'`)){const w=v.includes(`"${h}"`)?'"':"'";return v.indexOf(`${w}${h}${w}`)+1}}else if(u[0].includes("is not defined")){const h=u[1];if(h&&m===h)return p+1;if(h&&m.includes(h))return p+m.indexOf(h)+1}else if(u[0].includes("Cannot read properties")){const h=u[2];if(h&&m.includes(h))return p+m.indexOf(h)+1}else if(m.includes("new Error("))return v.indexOf("new Error(")+1;return p+1},l=(p,m,v,u)=>{let h=0;for(const[w,y]of p.entries()){if(!y)continue;let f=-1,g;for(const b of m){const k=y.indexOf(b);k!==-1&&(f===-1||k<f)&&(f=k,g=b)}if(f!==-1&&g&&(h+=1,h>u))return{column:c(f,g,y,v),line:w+1}}};return a(r,e,n)||l(r,i,o,n)},co=1,po=/^\//,yt=(t,e)=>{const n=Math.max(1,t),r=Math.max(0,e);let o,i;return n>=20?o=Math.max(1,Math.round(n*.5)):n>15?o=Math.max(1,Math.round(n*.6)):n>10?o=Math.max(1,n-8):o=Math.max(1,n-3),r>=10||r>7?i=Math.max(0,r-1):r>5?i=Math.max(0,r):i=r,{estimatedColumn:i,estimatedLine:o}},ho=(t,e,n)=>{try{const r=new Jr(t);if(e<=0)return;const o=[{column:n,desc:"original",line:e},{column:Math.max(0,n-co),desc:"offset",line:e},{column:n,desc:"line above",line:e-1},{column:n,desc:"line below",line:e+1},...Array.from({length:5},(i,s)=>({column:Math.max(0,n-2+s),desc:`col ${n-2+s}`,line:e}))].filter(i=>i.line>0);for(const i of o){const s=to(r,{column:i.column,line:i.line});if(s.source&&s.line!==void 0&&s.column!==void 0&&s.line>0&&s.column>=0)return{column:s.column,line:s.line,source:s.source}}}catch(r){console.warn("Source map processing failed:",r)}},uo=(t,e)=>e?Ut(t)?mo(t,e):e:t,mo=(t,e)=>{try{const n=new URL(t),r=(n.pathname||"").replace(po,""),o=r.includes("/")?r.slice(0,Math.max(0,r.lastIndexOf("/"))):"";return`${n.origin}/${o?`${o}/`:""}${e}`}catch(n){return console.warn("URL parsing failed for source path resolution:",n),t}},Le=async(t,e,n,r,o,i,s=0)=>{if(i&&e)try{let c;if(e.transformResult?.map?.sourcesContent?.[0]?[c]=e.transformResult.map.sourcesContent:e.transformResult?.code&&(c=e.transformResult.code),!c&&(e.id||e.url)){const l=e.id||e.url;if(l)try{const d=await t.transformRequest(l);d?.map&&"sourcesContent"in d.map&&d.map.sourcesContent?.[0]?[c]=d.map.sourcesContent:d?.code&&(c=d.code)}catch(d){console.warn("Failed to get fresh source for error search:",d)}}if(!c&&n)try{const l=await import("node:fs/promises");let d=n;if(n.includes("://"))try{d=new URL(n).pathname}catch{const p=n.indexOf("://");p!==-1&&(d=n.slice(p+3))}d.startsWith("/")||(d=`${t.config.root||process.cwd()}/${d}`),c=await l.readFile(d,"utf8")}catch(l){console.warn("Failed to read source file from disk:",l)}if(c){const l=lo(c,i,s);if(l)return{originalFileColumn:l.column,originalFileLine:l.line,originalFilePath:n}}}catch(c){console.warn("Source code search failed:",c)}let a=e?.transformResult?.map;if(!a&&(e?.id||e?.url)){const c=e.id||e.url;if(c)try{const l=await t.transformRequest(c);l?.map&&(a=l.map)}catch(l){console.warn("Failed to get fresh source map:",l)}}if(!a){const{estimatedColumn:c,estimatedLine:l}=yt(r,o);return{originalFileColumn:c,originalFileLine:l,originalFilePath:n}}try{const c=ho(a,r,o);if(!c){const{estimatedColumn:d,estimatedLine:p}=yt(r,o);return{originalFileColumn:d,originalFileLine:p,originalFilePath:n}}const l=uo(n,c.source);return{originalFileColumn:c.column,originalFileLine:c.line,originalFilePath:l}}catch(c){return console.warn("Source map resolution failed:",c),{originalFileColumn:o,originalFileLine:r,originalFilePath:n}}},go=/^[A-Z]:\//i,Zt=(t="")=>t&&t.replaceAll("\\","/").replace(go,e=>e.toUpperCase()),fo=/^[/\\]{2}/,vo=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,wo=/^[A-Z]:$/i,bo=()=>typeof process.cwd=="function"?process.cwd().replaceAll("\\","/"):"/",Yt=(t,e)=>{let n="",r=0,o=-1,i=0,s;for(let a=0;a<=t.length;++a){if(a<t.length)s=t[a];else{if(s==="/")break;s="/"}if(s==="/"){if(!(o===a-1||i===1))if(i===2){if(n.length<2||r!==2||!n.endsWith(".")||n.at(-2)!=="."){if(n.length>2){const c=n.lastIndexOf("/");c===-1?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),o=a,i=0;continue}else if(n.length>0){n="",r=0,o=a,i=0;continue}}e&&(n+=n.length>0?"/..":"..",r=2)}else n.length>0?n+=`/${t.slice(o+1,a)}`:n=t.slice(o+1,a),r=a-o-1;o=a,i=0}else s==="."&&i!==-1?++i:i=-1}return n},we=t=>vo.test(t),_t=function(t){if(t.length===0)return".";t=Zt(t);const e=fo.exec(t),n=we(t),r=t.at(-1)==="/";return t=Yt(t,!n),t.length===0?n?"/":r?"./":".":(r&&(t+="/"),wo.test(t)&&(t+="/"),e?n?`//${t}`:`//./${t}`:n&&!we(t)?`/${t}`:t)},yo=function(...t){t=t.map(r=>Zt(r));let e="",n=!1;for(let r=t.length-1;r>=-1&&!n;r--){const o=r>=0?t[r]:bo();!o||o.length===0||(e=`${o}/${e}`,n=we(o))}return e=Yt(e,!n),n&&!we(e)?`/${e}`:e.length>0?e:"."},Re="/",kt=":",_o="at ",ko=/https?:\/\/[^\s)]+/g,xo=/file:\/\//g,Xt=/\/@fs\//g,$o=/:(\d+)(?::(\d+))?$/,Eo=/\n/,So=2048,Co=new Set([".cjs",".js",".jsx",".mjs",".svelte",".ts",".tsx",".vue"]),To=new Set(["<anonymous>","<unknown>","native"]),ie=t=>t>="0"&&t<="9",Lo=t=>t===" "||t===" "||t===`
|
|
1829
|
+
`||t==="\r"||t==="\f"||t==="\v",xt=(t,e)=>{if(!ie(t[e+1]))return e;let n=e+1;for(;n<t.length&&ie(t[n]);)n+=1;if(t[n]===":"&&ie(t[n+1]))for(n+=1;n<t.length&&ie(t[n]);)n+=1;return n},Ro=t=>{let e=!1;for(let n=0;n<t.length;n+=1){const r=t[n];if(r==="(")e=!0;else if(r===")")e=!1;else if(e&&r===":"&&xt(t,n)>n&&t[xt(t,n)]===")")return!0}return!1},Fo=t=>{for(let e=1;e<t.length;e+=1)if(!(t[e]!==":"||!ie(t[e+1])))for(let n=e-1;n>=0;n-=1){const r=t[n];if(r!=="("&&!Lo(r))return!0}return!1},Po=t=>Fo(t)||Ro(t),Do=t=>{const e=t.match($o),n=e?.[1],r=e?.[2];return{baseUrl:e?t.slice(0,-e[0].length):t,col:r,line:n}},zo=(t,e)=>{const n=new URL(t);let r=decodeURIComponent(n.pathname||"");return r=r.replaceAll(Xt,Re),yo(e,r.startsWith(Re)?r.slice(1):r)},Ao=(t,e,n)=>{if(!e)return t;const r=n?`${kt}${n}`:"";return`${t}${kt}${e}${r}`},Io=t=>{const e=t.trim();return e.length>So||!e.startsWith(_o)||!([...Co].some(n=>e.includes(n))||[...To].some(n=>e.includes(n)))?!1:Po(e)||e.includes("native")||e.includes("<unknown>")},Bo=t=>{let e=t.replaceAll(Xt,Re);return e=e.replaceAll(xo,""),e.includes("<unknown>")?e.trim()||"":e.trim()&&!Io(e)?"":e},Mo=(t,e)=>{try{const{baseUrl:n,col:r,line:o}=Do(t),i=zo(n,e);return Ao(i,o,r)}catch(n){return console.warn("Failed to absolutize URL:",t,n),t}},Ie=t=>t&&t.replaceAll(`\r
|
|
1830
1830
|
`,`
|
|
1831
1831
|
`).replaceAll("\r",`
|
|
1832
|
-
`).split(
|
|
1833
|
-
`),
|
|
1834
|
-
`)[0]||t;if(e&&n>0&&r>0)return{column:r,line:n,message:s,originalFilePath:e}},
|
|
1832
|
+
`).split(Eo).map(e=>Bo(e)).filter(e=>e.trim()!=="").join(`
|
|
1833
|
+
`),Ho=t=>{const e=typeof t=="string"?t:t.message||String(t);return vn(e)},jo=t=>t instanceof AggregateError||t!==null&&typeof t=="object"&&"errors"in t&&Array.isArray(t.errors),qo=t=>jo(t)?t.errors:[t],ke=(t,e)=>t&&String(t).replaceAll(ko,n=>Mo(n,e)),Oo=/\((\d+):(\d+)\)/,No=/(\S+\.vue)/,Uo=t=>{if(!t.includes("[vue/compiler-sfc]"))return;let e="",n=0,r=0;const o=t.match(Oo);o?.[1]&&o[2]&&(n=Number.parseInt(o[1],10),r=Number.parseInt(o[2],10));const i=t.match(No);i?.[1]&&(e=i[1]||"");const s=t.split(`
|
|
1834
|
+
`)[0]||t;if(e&&n>0&&r>0)return{column:r,line:n,message:s,originalFilePath:e}},Go=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Wo=/<script\b[^>]*>[\s\S]*?<\/script>/gi,Vo=/<template\b[^>]*>[\s\S]*?<\/template>/gi,Zo=/style="([^"]*)"/g,Yo=t=>{let e=t.replaceAll(Go,"").replaceAll(Wo,"").replaceAll(Vo,"").replaceAll("<!--$?-->","").replaceAll("<!--/$-->","");return e=e.replaceAll(Zo,(n,r)=>`style="${(r.trim().endsWith(";")?r:`${r};`).replaceAll(" ","")}"`),e},Xo="https://react.dev/link/hydration-mismatch",Qo=t=>{const[e,n]=t.message.split(Xo);if(e){const[i]=e?.split(`
|
|
1835
1835
|
|
|
1836
|
-
`);t.message=i.replace(" This can happen if a SSR-ed Client Component used:","")}const r=[];for(const i of
|
|
1836
|
+
`);t.message=i.replace(" This can happen if a SSR-ed Client Component used:","")}const r=[];for(const i of Yo(n?.trim()||"").split(`
|
|
1837
1837
|
`)||[])i.startsWith("+ ")?r.push(`[!code ++] ${i.slice(1)}`):i.startsWith("- ")?r.push(`[!code --] ${i.slice(1)}`):i.includes(" ...")||r.push(i);let o=r.findIndex(i=>i.startsWith("[!code ++]"));if(o===-1&&(o=r.findIndex(i=>i.startsWith("[!code --]"))),o!==-1)return r.slice(Math.max(0,o-5)).join(`
|
|
1838
|
-
`)},
|
|
1839
|
-
at `)&&(r=e.replace(
|
|
1840
|
-
at `).replaceAll(
|
|
1841
|
-
at $1 $2`).replaceAll(Jo,`
|
|
1838
|
+
`)},Ko=/^(Error:.*?)at /,Jo=/at ([^<\s]+)\s*(<[^>]+>:\d+:\d+)/g,ei=/at ([^<\s]+)\s*(<unknown>:\d+:\d+)/g,ti=/at ([^<\s]+)\s*<([^>]+)>:\d+:\d+/g,ni=/at ([^<\s]+)(?=\s*at|$)/g,ri=async(t,e,n)=>{let r=e;if(e.includes("at ")&&!e.includes(`
|
|
1839
|
+
at `)&&(r=e.replace(Ko,`$1
|
|
1840
|
+
at `).replaceAll(Jo,`
|
|
1842
1841
|
at $1 $2`).replaceAll(ei,`
|
|
1843
|
-
at $1
|
|
1844
|
-
at $1
|
|
1842
|
+
at $1 $2`).replaceAll(ti,`
|
|
1843
|
+
at $1 <$2>:0:0`),r=r.replaceAll(ni,`
|
|
1844
|
+
at $1 <unknown>:0:0`)),!r.includes("<unknown>")&&!r.includes("react-dom")&&!r.includes("react"))return r;const o=X({stack:r}),i=await Promise.all(o.map(async s=>{const{file:a}=s,c=s.line??0,l=s.column??0;if(a&&a!=="<unknown>"&&c>0&&l>0&&!a.includes("react-dom")&&!a.includes("react"))return s;if(!a||c<=0||l<=0){if((a==="<unknown>"||a&&(a.includes("react-dom")||a.includes("react")))&&s.methodName){const{methodName:d}=s,p={batchedUpdates:"Batch Updates",dispatchEvent:"Event System",executeDispatch:"Event Dispatcher",processDispatchQueue:"Event Queue",runWithFiber:"Fiber Reconciliation"};for(const[m,v]of Object.entries(p))if(d.includes(m))return{...s,column:0,file:`[React] ${v}`,line:0};if(!d.includes("$")&&!d.includes("anonymous")){const m=O(d),v=ae(t,m);if(v){const u=await Le(t,v,"",1,1);if(u.originalFilePath)return{...s,column:u.originalFileColumn||1,file:u.originalFilePath,line:u.originalFileLine||1}}}}return s}try{const d=O(a),p=ae(t,d);if(!p)return s;const m=await Le(t,p,a,c,l);return{...s,column:m.originalFileColumn,file:m.originalFilePath,line:m.originalFileLine}}catch{return s}}));return Mt(i,{header:n})},oi=t=>!!(t&&Array.isArray(t.sources)&&Array.isArray(t.sourcesContent)),Ce=t=>{if(typeof t=="string")return t},ii=(t,e)=>t===e||t.endsWith(e)||e.endsWith(t),si=(t,e)=>{if(!t||t.length===0)return-1;const n=t.indexOf(e);if(n!==-1)return n;if(!(e.includes("\\")||e.includes("/")))return-1;const r=_t(e),o=t.indexOf(r);if(o!==-1)return o;for(const[i,s]of t.entries()){if(!s||typeof s!="string")continue;const a=_t(s);if(ii(a,r))return i}return-1},$t=(t,e)=>{if(!oi(t))return;if(!e&&t.sourcesContent?.[0])return Ce(t.sourcesContent[0]);const n=si(t.sources,e||"");return n>=0&&t.sourcesContent?.[n]?Ce(t.sourcesContent[n]):t.sourcesContent?.[0]?Ce(t.sourcesContent[0]):void 0},Et=async(t,e,n,r)=>{let o,i;if(e&&typeof e=="object"&&"transformResult"in e&&e.transformResult){const a=e.transformResult;a.code&&!i&&(i=a.code),a.map&&!o&&(o=$t(a.map,n))}const s=e&&typeof e=="object"&&("id"in e&&e.id||"url"in e&&e.url)?"id"in e&&e.id||"url"in e&&e.url:r[0];if(s&&(!o||!i))try{const a=await t.transformRequest(s);if(a?.code&&!i&&(i=a.code),a?.map&&!o){const{map:c}=a,l=c;typeof c=="object"&&c!==null&&"mappings"in c&&l.mappings!==""&&(o=$t(l,n))}}catch{}if(!o&&e&&typeof e=="object"&&"file"in e&&e.file)try{o=await Bt(e.file,"utf8")}catch{}return{compiledSourceText:i,originalSourceText:o}},ai=(t={})=>{const{classActivePre:e="has-diff",classLineAdd:n="diff add",classLineRemove:r="diff remove"}=t;return{code(o){this.addClassToHast(this.pre,e),o.children.filter(i=>i.type==="element").forEach(i=>{for(const s of i.children){if(s.type!=="element")continue;const a=s.children[0];a.type==="text"&&(a.value.startsWith("[!code ++]")&&(a.value=a.value.slice(10),this.addClassToHast(i,n)),a.value.startsWith("[!code --]")&&(a.value=a.value.slice(10),this.addClassToHast(i,r)))}})},name:"shiki-diff"}},li=(t,e)=>!e||t.includes("?")?t:t+e,ci=t=>{try{return new URL(t).search}catch{return""}},di=/[&<>"']/g,St=/^https?:\/\/[^/]+/,Ct=/^\//,pi={'"':""","&":"&","'":"'","<":"<",">":">"},Fe=t=>t.replaceAll(di,e=>pi[e]||e),hi=t=>Array.isArray(t)&&ir(t)?sr(t).map(e=>({message:e.message||"ESBuild error",name:e.name||"Error",stack:e.stack||""})):qo(t),ui=t=>{const e=X(t,{frameLimit:10}),n=e?.find(r=>r?.file?.startsWith("http"))||e?.[0];return{compiledColumn:n?.column??0,compiledFilePath:n?.file??"",compiledLine:n?.line??0}},mi=async(t,e,n,r,o,i,s=0,a)=>{const c=o?.originalFilePath||e,l=o?.line??r,d=o?.column??n;if(c){let p=c,m=c;if(c.startsWith("http://")||c.startsWith("https://"))try{p=new URL(c).pathname,p.startsWith("/")&&(p=p.slice(1));const y=t.config.root||process.cwd();m=p.startsWith("/")?p:`${y}/${p}`}catch{console.warn("Failed to parse HTTP URL:",c)}const v=O(p),u=ae(t,v);if(u)try{const y=await Le(t,u,e||a||p,l,d,i,s),f=m||y.originalFilePath;return{originalFileColumn:y.originalFileColumn,originalFileLine:y.originalFileLine,originalFilePath:f}}catch{console.warn("Source map resolution failed, using estimation")}let h,w=d;return l>=20?h=Math.max(1,Math.round(l*.5)):l>15?h=Math.max(1,Math.round(l*.6)):l>10?h=Math.max(1,l-8):h=Math.max(1,l-3),d>=10||d>7?w=Math.max(0,d-1):d>5&&(w=Math.max(0,d)),{originalFileColumn:w,originalFileLine:h,originalFilePath:m||c}}return{originalFileColumn:d,originalFileLine:l,originalFilePath:c}},gi=(t,e,n,r,o,i)=>({compiledCodeFrameContent:void 0,compiledColumn:t,compiledFilePath:e,compiledLine:n,fixPrompt:"",originalCodeFrameContent:void 0,originalFileColumn:r,originalFileLine:o,originalFilePath:i,originalSnippet:""}),fi=async(t,e,n,r,o,i)=>{let s,a;const c=Q(n),l=Q(r)||c;if(c==="text"&&t&&t.trim()&&(s=`<pre class="shiki"><code>${Fe(t)}</code></pre>`),l==="text"&&e&&e.trim()&&(a=`<pre class="shiki"><code>${Fe(e)}</code></pre>`),c==="text"&&l==="text")return{compiledCodeFrameContent:a,originalCodeFrameContent:s};const d=await Nt([l,c]),p={themes:{dark:"min-dark",light:"min-light"}};if(t&&t.trim())try{s=d.codeToHtml(t,{...p,lang:c,transformers:[ct([{classes:["error-line"],line:o}])]})}catch{}if(e&&e.trim())try{a=d.codeToHtml(e,{...p,lang:l,transformers:[ct([{classes:["error-line"],line:i}])]})}catch{}return{compiledCodeFrameContent:a,originalCodeFrameContent:s}},vi=async(t,e,n=0,r,o,i)=>{const s=r==="vue"&&t?.message?Uo(t.message):void 0,a=hi(t),c=a[0]||t,l=r==="react"&&t.message&&(t.message.toLowerCase().includes("hydration")||t.message.toLowerCase().includes("hydrating"));let d="";if(i&&i.length>1)for(const E of i.slice(1)){const S=E.stack||"",F=X({stack:S},{frameLimit:10})?.find(W=>W?.file?.startsWith("http"));if(F?.file&&(d=ci(F.file),d))break}const p=Ho(c),m=Ie(c.stack||""),v=await ri(e,m,{message:p,name:c.name});let u,h,w;if(o?.file&&o?.line&&o?.column)u=o.column,h=o.file,w=o.line;else{const E=ui(c);if(u=E.compiledColumn,h=E.compiledFilePath,w=E.compiledLine,h&&!h.startsWith("http")){const S=e.config.root;let F=h;h.startsWith(S)&&(F=h.slice(S.length)),F.startsWith("/")||(F=`/${F}`);const W=e.config.server.port||e.config.preview?.port||5173,de=e.config.server.host||e.config.preview?.host||"localhost";let V=`${e.config.server.https?"https":"http"}://${de}:${W}${F}`;d&&(V=li(V,d)),h=V}}if(l){const E=Qo(t);if(E){const S=h?Q(h):"javascript";if(S==="text")return{errorCount:1,fixPrompt:Ee({applicationType:void 0,error:c,file:{file:h,language:"jsx",line:w,snippet:E}}),message:c.message,originalCodeFrameContent:`<pre class="shiki"><code>${Fe(E)}</code></pre>`,originalFileColumn:u,originalFileLine:w,originalFilePath:h,originalSnippet:E,originalStack:c.stack||""};const F=await Nt([S]);return{errorCount:1,fixPrompt:Ee({applicationType:void 0,error:c,file:{file:h,language:"jsx",line:w,snippet:E}}),message:c.message,originalCodeFrameContent:F.codeToHtml(E,{lang:S,themes:{dark:"min-dark",light:"min-light"},transformers:[ai()]}),originalFileColumn:u,originalFileLine:w,originalFilePath:h,originalSnippet:E,originalStack:c.stack||""}}}let y=o?.file||h;if(!o?.file&&c.stack){const E=X(c,{frameLimit:10})?.find(S=>S?.file&&!S.file.startsWith("http")&&!S.file.includes("node_modules")&&!S.file.includes(".vite")&&S.file.includes(".tsx"));E?.file&&(y=E.file)}let{originalFileColumn:f,originalFileLine:g,originalFilePath:b}=await mi(e,y,u,w,s,c.message,n,h);const k=o?.plugin;let x="",$="",T,L;try{const[E,S]=await Promise.all([ae(e,O(h)),ae(e,O(b))]);if(!E&&!S)return gi(u,h,w,f,g,b);const F=h.startsWith("http")?h.replace(St,"").replace(Ct,""):h,W=b.startsWith("http")?b.replace(St,"").replace(Ct,""):b,de=E||S;if(de?.transformResult?.code&&(L=de.transformResult.code),S?.transformResult?.map&&!T){const P=S.transformResult.map;try{const B=P.sourcesContent?.[0];B&&(T=B)}catch(B){console.warn("Failed to get original source from source map:",B)}}const V={compiledSourceText:void 0,originalSourceText:void 0};let Ve=Promise.resolve(V);!L&&E&&(Ve=Et(e,E,F,O(F)));let Ze=Promise.resolve(V);!T&&S&&(Ze=Et(e,S,W,O(W)));const[Ye,Xe]=await Promise.all([Ve,Ze]);if(!L&&Ye.compiledSourceText&&({compiledSourceText:L}=Ye),!T&&Xe.originalSourceText&&({originalSourceText:T}=Xe),T){if(L&&g<=0&&w>0){const P=kr(L,w,u,T);P&&(g=P.line,f=P.column)}try{x=Je(T,{start:{column:Math.max(1,f),line:Math.max(1,g)}},{showGutter:!1})}catch{x=T?.slice(0,500)||""}}const Qe=L&&w>0,hn=g>0&&f>0;let pe=!1;if(Qe&&w>0&&c.message&&L){const P=L.split(`
|
|
1845
1845
|
`)[w-1];if(P&&u<=P.length){const B=c.message,ee=Math.max(0,u-1),Z=P.slice(Math.max(0,ee));pe=Z.includes("new Error(")||Z.includes("throw new Error")||Z.includes("throw ")||Z.includes(B.slice(0,20)),!pe&&hn&&(b.includes(".svelte")||b.includes(".vue")||b.includes(".astro")||h.includes(".js")||h.includes(".ts"))&&(pe=!0)}}if(Qe&&pe&&L){const P=L.split(`
|
|
1846
|
-
`),B=P.length,ee=Math.min(w,B)||Math.max(1,B-2),Z=P[ee-1]?Math.min(u||1,P[ee-1]?.length||1):1;try{$=Je(L,{start:{column:Z,line:ee}},{showGutter:!1})}catch(un){console.warn("Compiled codeFrame failed:",un),$=L?.slice(0,500)||""}}}catch(E){console.warn("Source retrieval failed:",E)}const{compiledCodeFrameContent:I,originalCodeFrameContent:j}=await
|
|
1846
|
+
`),B=P.length,ee=Math.min(w,B)||Math.max(1,B-2),Z=P[ee-1]?Math.min(u||1,P[ee-1]?.length||1):1;try{$=Je(L,{start:{column:Z,line:ee}},{showGutter:!1})}catch(un){console.warn("Compiled codeFrame failed:",un),$=L?.slice(0,500)||""}}}catch(E){console.warn("Source retrieval failed:",E)}const{compiledCodeFrameContent:I,originalCodeFrameContent:j}=await fi(x,$,b,h,g,w);let J=x;if(!J&&T){const E=T.split(`
|
|
1847
1847
|
`),S=Math.max(0,g-3),F=Math.min(E.length,g+2);J=E.slice(S,F).join(`
|
|
1848
|
-
`)}J||(J=$||`Error at line ${g} in ${b}`);const pn=Ee({applicationType:void 0,error:t,file:{file:b,language:Q(b),line:g,snippet:J}});return{compiledCodeFrameContent:I,compiledColumn:u,compiledFilePath:h,compiledLine:w,compiledStack:Mt(X({message:p,name:c.name,stack:m}),{header:{message:p,name:c.name}}),errorCount:a.length,fixPrompt:pn,originalCodeFrameContent:j,originalFileColumn:f,originalFileLine:g,originalFilePath:b,originalSnippet:x,originalStack:v||m,plugin:k}},
|
|
1848
|
+
`)}J||(J=$||`Error at line ${g} in ${b}`);const pn=Ee({applicationType:void 0,error:t,file:{file:b,language:Q(b),line:g,snippet:J}});return{compiledCodeFrameContent:I,compiledColumn:u,compiledFilePath:h,compiledLine:w,compiledStack:Mt(X({message:p,name:c.name,stack:m}),{header:{message:p,name:c.name}}),errorCount:a.length,fixPrompt:pn,originalCodeFrameContent:j,originalFileColumn:f,originalFileLine:g,originalFilePath:b,originalSnippet:x,originalStack:v||m,plugin:k}},wi=(t,e,n)=>{const r=e.map(o=>{const i=o.charAt(0).toUpperCase()+o.slice(1);return`
|
|
1849
1849
|
var orig${i} = console.${o};
|
|
1850
1850
|
|
|
1851
1851
|
console.${o} = function(...args) {
|
|
@@ -2054,12 +2054,12 @@ window.__visulima_overlay__ = {
|
|
|
2054
2054
|
};
|
|
2055
2055
|
|
|
2056
2056
|
${r}
|
|
2057
|
-
`};function Be(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var G=Be();function Qt(t){G=t}var q={exec:()=>null};function Y(t){let e=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),o=e[r];return o||(o=t(r),e[r]=o),o}}function _(t,e=""){let n=typeof t=="string"?t:t.source,r={replace:(o,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(R.caret,"$1"),n=n.replace(o,s),r},getRegex:()=>new RegExp(n,e)};return r}var
|
|
2058
|
-
]`).replace("lheading",Jt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},
|
|
2057
|
+
`};function Be(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var G=Be();function Qt(t){G=t}var q={exec:()=>null};function Y(t){let e=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),o=e[r];return o||(o=t(r),e[r]=o),o}}function _(t,e=""){let n=typeof t=="string"?t:t.source,r={replace:(o,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(R.caret,"$1"),n=n.replace(o,s),r},getRegex:()=>new RegExp(n,e)};return r}var bi=((t="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+t)}catch{return!1}})(),R={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Y(t=>new RegExp(`^ {0,${t}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Y(t=>new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Y(t=>new RegExp(`^ {0,${t}}(?:\`\`\`|~~~)`)),headingBeginRegex:Y(t=>new RegExp(`^ {0,${t}}#`)),htmlBeginRegex:Y(t=>new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Y(t=>new RegExp(`^ {0,${t}}>`))},yi=/^(?:[ \t]*(?:\n|$))+/,_i=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ki=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ce=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,xi=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Me=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Kt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Jt=_(Kt).replace(/bull/g,Me).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),$i=_(Kt).replace(/bull/g,Me).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),He=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Ei=/^[^\n]+/,je=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Si=_(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",je).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ci=_(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,Me).getRegex(),xe="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",qe=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ti=_("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",qe).replace("tag",xe).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),en=_(He).replace("hr",ce).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",xe).getRegex(),Li=_(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",en).getRegex(),Oe={blockquote:Li,code:_i,def:Si,fences:ki,heading:xi,hr:ce,html:Ti,lheading:Jt,list:Ci,newline:yi,paragraph:en,table:q,text:Ei},Tt=_("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ce).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",xe).getRegex(),Ri={...Oe,lheading:$i,table:Tt,paragraph:_(He).replace("hr",ce).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Tt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",xe).getRegex()},Fi={...Oe,html:_(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",qe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:q,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:_(He).replace("hr",ce).replace("heading",` *#{1,6} *[^
|
|
2058
|
+
]`).replace("lheading",Jt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Pi=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Di=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,tn=/^( {2,}|\\)\n(?!\s*$)/,zi=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,K=/[\p{P}\p{S}]/u,$e=/[\s\p{P}\p{S}]/u,Ne=/[^\s\p{P}\p{S}]/u,Ai=_(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,$e).getRegex(),nn=/(?!~)[\p{P}\p{S}]/u,Ii=/(?!~)[\s\p{P}\p{S}]/u,Bi=/(?:[^\s\p{P}\p{S}]|~)/u,Mi=_(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",bi?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),rn=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Hi=_(rn,"u").replace(/punct/g,K).getRegex(),ji=_(rn,"u").replace(/punct/g,nn).getRegex(),on="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",qi=_(on,"gu").replace(/notPunctSpace/g,Ne).replace(/punctSpace/g,$e).replace(/punct/g,K).getRegex(),Oi=_(on,"gu").replace(/notPunctSpace/g,Bi).replace(/punctSpace/g,Ii).replace(/punct/g,nn).getRegex(),Ni=_("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ne).replace(/punctSpace/g,$e).replace(/punct/g,K).getRegex(),Ui=_(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,K).getRegex(),Gi="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Wi=_(Gi,"gu").replace(/notPunctSpace/g,Ne).replace(/punctSpace/g,$e).replace(/punct/g,K).getRegex(),Vi=_(/\\(punct)/,"gu").replace(/punct/g,K).getRegex(),Zi=_(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Yi=_(qe).replace("(?:-->|$)","-->").getRegex(),Xi=_("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Yi).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),be=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Qi=_(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",be).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),sn=_(/^!?\[(label)\]\[(ref)\]/).replace("label",be).replace("ref",je).getRegex(),an=_(/^!?\[(ref)\](?:\[\])?/).replace("ref",je).getRegex(),Ki=_("reflink|nolink(?!\\()","g").replace("reflink",sn).replace("nolink",an).getRegex(),Lt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ue={_backpedal:q,anyPunctuation:Vi,autolink:Zi,blockSkip:Mi,br:tn,code:Di,del:q,delLDelim:q,delRDelim:q,emStrongLDelim:Hi,emStrongRDelimAst:qi,emStrongRDelimUnd:Ni,escape:Pi,link:Qi,nolink:an,punctuation:Ai,reflink:sn,reflinkSearch:Ki,tag:Xi,text:zi,url:q},Ji={...Ue,link:_(/^!?\[(label)\]\((.*?)\)/).replace("label",be).getRegex(),reflink:_(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",be).getRegex()},Pe={...Ue,emStrongRDelimAst:Oi,emStrongLDelim:ji,delLDelim:Ui,delRDelim:Wi,url:_(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Lt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:_(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Lt).getRegex()},es={...Pe,br:_(tn).replace("{2,}","*").getRegex(),text:_(Pe.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},me={normal:Oe,gfm:Ri,pedantic:Fi},re={normal:Ue,gfm:Pe,breaks:es,pedantic:Ji},ts={"&":"&","<":"<",">":">",'"':""","'":"'"},Rt=t=>ts[t];function D(t,e){if(e){if(R.escapeTest.test(t))return t.replace(R.escapeReplace,Rt)}else if(R.escapeTestNoEncode.test(t))return t.replace(R.escapeReplaceNoEncode,Rt);return t}function Ft(t){try{t=encodeURI(t).replace(R.percentDecode,"%")}catch{return null}return t}function Pt(t,e){let n=t.replace(R.findPipe,(i,s,a)=>{let c=!1,l=s;for(;--l>=0&&a[l]==="\\";)c=!c;return c?"|":" |"}),r=n.split(R.splitPipe),o=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;o<r.length;o++)r[o]=r[o].trim().replace(R.slashPipe,"|");return r}function M(t,e,n){let r=t.length;if(r===0)return"";let o=0;for(;o<r&&t.charAt(r-o-1)===e;)o++;return t.slice(0,r-o)}function Dt(t){let e=t.split(`
|
|
2059
2059
|
`),n=e.length-1;for(;n>=0&&R.blankLine.test(e[n]);)n--;return e.length-n<=2?t:e.slice(0,n+1).join(`
|
|
2060
|
-
`)}function
|
|
2060
|
+
`)}function ns(t,e){if(t.indexOf(e[1])===-1)return-1;let n=0;for(let r=0;r<t.length;r++)if(t[r]==="\\")r++;else if(t[r]===e[0])n++;else if(t[r]===e[1]&&(n--,n<0))return r;return n>0?-2:-1}function rs(t,e=0){let n=e,r="";for(let o of t)if(o===" "){let i=4-n%4;r+=" ".repeat(i),n+=i}else r+=o,n++;return r}function zt(t,e,n,r,o){let i=e.href,s=e.title||null,a=t[1].replace(o.other.outputLinkReplace,"$1");r.state.inLink=!0;let c={type:t[0].charAt(0)==="!"?"image":"link",raw:n,href:i,title:s,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,c}function os(t,e,n){let r=t.match(n.other.indentCodeCompensation);if(r===null)return e;let o=r[1];return e.split(`
|
|
2061
2061
|
`).map(i=>{let s=i.match(n.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=o.length?i.slice(o.length):i}).join(`
|
|
2062
|
-
`)}var ye=class{options;rules;lexer;constructor(t){this.options=t||G}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:Dt(e[0]),r=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:r}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],r=
|
|
2062
|
+
`)}var ye=class{options;rules;lexer;constructor(t){this.options=t||G}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=this.options.pedantic?e[0]:Dt(e[0]),r=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:r}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],r=os(n,e[3]||"",this.rules);return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(this.rules.other.endingHash.test(n)){let r=M(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:M(e[0],`
|
|
2063
2063
|
`),depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:M(e[0],`
|
|
2064
2064
|
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=M(e[0],`
|
|
2065
2065
|
`).split(`
|
|
@@ -2072,7 +2072,7 @@ ${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
2072
2072
|
`),h=this.blockquote(u);i[i.length-1]=h,r=r.substring(0,r.length-v.raw.length)+h.raw,o=o.substring(0,o.length-v.text.length)+h.text;break}else if(m?.type==="list"){let v=m,u=v.raw+`
|
|
2073
2073
|
`+n.join(`
|
|
2074
2074
|
`),h=this.list(u);i[i.length-1]=h,r=r.substring(0,r.length-m.raw.length)+h.raw,o=o.substring(0,o.length-v.raw.length)+h.raw,n=u.substring(i.at(-1).raw.length).split(`
|
|
2075
|
-
`);continue}}return{type:"blockquote",raw:r,tokens:i,text:o}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),r=n.length>1,o={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let i=this.rules.other.listItemRegex(n),s=!1;for(;t;){let c=!1,l="",d="";if(!(e=i.exec(t))||this.rules.block.hr.test(t))break;l=e[0],t=t.substring(l.length);let p=
|
|
2075
|
+
`);continue}}return{type:"blockquote",raw:r,tokens:i,text:o}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),r=n.length>1,o={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let i=this.rules.other.listItemRegex(n),s=!1;for(;t;){let c=!1,l="",d="";if(!(e=i.exec(t))||this.rules.block.hr.test(t))break;l=e[0],t=t.substring(l.length);let p=rs(e[2].split(`
|
|
2076
2076
|
`,1)[0],e[1].length),m=t.split(`
|
|
2077
2077
|
`,1)[0],v=!p.trim(),u=0;if(this.options.pedantic?(u=2,d=p.trimStart()):v?u=e[1].length+1:(u=p.search(this.rules.other.nonSpaceChar),u=u>4?1:u,d=p.slice(u),u+=e[1].length),v&&this.rules.other.blankLine.test(m)&&(l+=m+`
|
|
2078
2078
|
`,t=t.substring(m.length+1),c=!0),!c){let h=this.rules.other.nextBulletRegex(u),w=this.rules.other.hrRegex(u),y=this.rules.other.fencesBeginRegex(u),f=this.rules.other.headingBeginRegex(u),g=this.rules.other.htmlBeginRegex(u),b=this.rules.other.blockquoteBeginRegex(u);for(;t;){let k=t.split(`
|
|
@@ -2084,7 +2084,7 @@ ${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
2084
2084
|
`):[],i={type:"table",raw:M(e[0],`
|
|
2085
2085
|
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let s of r)this.rules.other.tableAlignRight.test(s)?i.align.push("right"):this.rules.other.tableAlignCenter.test(s)?i.align.push("center"):this.rules.other.tableAlignLeft.test(s)?i.align.push("left"):i.align.push(null);for(let s=0;s<n.length;s++)i.header.push({text:n[s],tokens:this.lexer.inline(n[s]),header:!0,align:i.align[s]});for(let s of o)i.rows.push(Pt(s,i.header.length).map((a,c)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:i.align[c]})));return i}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e){let n=e[1].trim();return{type:"heading",raw:M(e[0],`
|
|
2086
2086
|
`),depth:e[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
|
|
2087
|
-
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{let i=
|
|
2087
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{let i=ns(e[2],"()");if(i===-2)return;if(i>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+i;e[2]=e[2].substring(0,i),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let r=e[2],o="";if(this.options.pedantic){let i=this.rules.other.pedanticHrefTitle.exec(r);i&&(r=i[1],o=i[3])}else o=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),zt(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=e[r.toLowerCase()];if(!o){let i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return zt(n,o,n[0],this.lexer,this.rules)}}emStrong(t,e,n=""){let r=this.rules.inline.emStrongLDelim.exec(t);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let o=[...r[0]].length-1,i,s,a=o,c=0,l=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+o);(r=l.exec(e))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(s=[...i].length,r[3]||r[4]){a+=s;continue}else if((r[5]||r[6])&&o%3&&!((o+s)%3)){c+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a+c);let d=[...r[0]][0].length,p=t.slice(0,o+r.index+d+s);if(Math.min(o,s)%2){let v=p.slice(1,-1);return{type:"em",raw:p,text:v,tokens:this.lexer.inlineTokens(v)}}let m=p.slice(2,-2);return{type:"strong",raw:p,text:m,tokens:this.lexer.inlineTokens(m)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),o=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&o&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t,e,n=""){let r=this.rules.inline.delLDelim.exec(t);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let o=[...r[0]].length-1,i,s,a=o,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*t.length+o);(r=c.exec(e))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(s=[...i].length,s!==o))continue;if(r[3]||r[4]){a+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a);let l=[...r[0]][0].length,d=t.slice(0,o+r.index+l+s),p=d.slice(o,-o);return{type:"del",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,r;return e[2]==="@"?(n=e[1],r="mailto:"+n):(n=e[1],r=n),{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,r;if(e[2]==="@")n=e[0],r="mailto:"+n;else{let o;do o=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(o!==e[0]);n=e[0],e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:n}}}},z=class De{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||G,this.options.tokenizer=this.options.tokenizer||new ye,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:R,block:me.normal,inline:re.normal};this.options.pedantic?(n.block=me.pedantic,n.inline=re.pedantic):this.options.gfm&&(n.block=me.gfm,this.options.breaks?n.inline=re.breaks:n.inline=re.gfm),this.tokenizer.rules=n}static get rules(){return{block:me,inline:re}}static lex(e,n){return new De(n).lex(e)}static lexInline(e,n){return new De(n).inlineTokens(e)}lex(e){e=e.replace(R.carriageReturn,`
|
|
2088
2088
|
`),this.blockTokens(e,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let r=this.inlineQueue[n];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,n=[],r=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(R.tabCharGlobal," ").replace(R.spaceLine,""));let o=1/0;for(;e;){if(e.length<o)o=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(a=>(i=a.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let a=n.at(-1);i.raw.length===1&&a!==void 0?a.raw+=`
|
|
2089
2089
|
`:n.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let a=n.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
|
|
2090
2090
|
`)?"":`
|
|
@@ -2117,9 +2117,9 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
2117
2117
|
${e}</tr>
|
|
2118
2118
|
`}tablecell(e){let n=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+n+`</${r}>
|
|
2119
2119
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${D(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:n,tokens:r}){let o=this.parser.parseInline(r),i=Ft(e);if(i===null)return o;e=i;let s='<a href="'+e+'"';return n&&(s+=' title="'+D(n)+'"'),s+=">"+o+"</a>",s}image({href:e,title:n,text:r,tokens:o}){o&&(r=this.parser.parseInline(o,this.parser.textRenderer));let i=Ft(e);if(i===null)return D(r);e=i;let s=`<img src="${e}" alt="${D(r)}"`;return n&&(s+=` title="${D(n)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:D(e.text)}},Ge=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},A=class ze{options;renderer;textRenderer;constructor(e){this.options=e||G,this.options.renderer=this.options.renderer||new le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ge}static parse(e,n){return new ze(n).parse(e)}static parseInline(e,n){return new ze(n).parseInline(e)}parse(e){this.renderer.parser=this;let n="";for(let r=0;r<e.length;r++){let o=e[r];if(this.options.extensions?.renderers?.[o.type]){let s=o,a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(s.type)){n+=a||"";continue}}let i=o;switch(i.type){case"space":{n+=this.renderer.space(i);break}case"hr":{n+=this.renderer.hr(i);break}case"heading":{n+=this.renderer.heading(i);break}case"code":{n+=this.renderer.code(i);break}case"table":{n+=this.renderer.table(i);break}case"blockquote":{n+=this.renderer.blockquote(i);break}case"list":{n+=this.renderer.list(i);break}case"checkbox":{n+=this.renderer.checkbox(i);break}case"html":{n+=this.renderer.html(i);break}case"def":{n+=this.renderer.def(i);break}case"paragraph":{n+=this.renderer.paragraph(i);break}case"text":{n+=this.renderer.text(i);break}default:{let s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}parseInline(e,n=this.renderer){this.renderer.parser=this;let r="";for(let o=0;o<e.length;o++){let i=e[o];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){r+=a||"";continue}}let s=i;switch(s.type){case"escape":{r+=n.text(s);break}case"html":{r+=n.html(s);break}case"link":{r+=n.link(s);break}case"image":{r+=n.image(s);break}case"checkbox":{r+=n.checkbox(s);break}case"strong":{r+=n.strong(s);break}case"em":{r+=n.em(s);break}case"codespan":{r+=n.codespan(s);break}case"br":{r+=n.br(s);break}case"del":{r+=n.del(s);break}case"text":{r+=n.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return r}},se=class{options;block;constructor(t){this.options=t||G}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?z.lex:z.lexInline}provideParser(t=this.block){return t?A.parse:A.parseInline}},ln=class{defaults=Be();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=A;Renderer=le;TextRenderer=Ge;Lexer=z;Tokenizer=ye;Hooks=se;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let r of t)switch(n=n.concat(e.call(this,r)),r.type){case"table":{let o=r;for(let i of o.header)n=n.concat(this.walkTokens(i.tokens,e));for(let i of o.rows)for(let s of i)n=n.concat(this.walkTokens(s.tokens,e));break}case"list":{let o=r;n=n.concat(this.walkTokens(o.items,e));break}default:{let o=r;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(i=>{let s=o[i].flat(1/0);n=n.concat(this.walkTokens(s,e))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let i=e.renderers[o.name];i?e.renderers[o.name]=function(...s){let a=o.renderer.apply(this,s);return a===!1&&(a=i.apply(this,s)),a}:e.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[o.level];i?i.unshift(o.tokenizer):e[o.level]=[o.tokenizer],o.start&&(o.level==="block"?e.startBlock?e.startBlock.push(o.start):e.startBlock=[o.start]:o.level==="inline"&&(e.startInline?e.startInline.push(o.start):e.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(e.childTokens[o.name]=o.childTokens)}),r.extensions=e),n.renderer){let o=this.defaults.renderer||new le(this.defaults);for(let i in n.renderer){if(!(i in o))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let s=i,a=n.renderer[s],c=o[s];o[s]=(...l)=>{let d=a.apply(o,l);return d===!1&&(d=c.apply(o,l)),d||""}}r.renderer=o}if(n.tokenizer){let o=this.defaults.tokenizer||new ye(this.defaults);for(let i in n.tokenizer){if(!(i in o))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let s=i,a=n.tokenizer[s],c=o[s];o[s]=(...l)=>{let d=a.apply(o,l);return d===!1&&(d=c.apply(o,l)),d}}r.tokenizer=o}if(n.hooks){let o=this.defaults.hooks||new se;for(let i in n.hooks){if(!(i in o))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let s=i,a=n.hooks[s],c=o[s];se.passThroughHooks.has(i)?o[s]=l=>{if(this.defaults.async&&se.passThroughHooksRespectAsync.has(i))return(async()=>{let p=await a.call(o,l);return c.call(o,p)})();let d=a.call(o,l);return c.call(o,d)}:o[s]=(...l)=>{if(this.defaults.async)return(async()=>{let p=await a.apply(o,l);return p===!1&&(p=await c.apply(o,l)),p})();let d=a.apply(o,l);return d===!1&&(d=c.apply(o,l)),d}}r.hooks=o}if(n.walkTokens){let o=this.defaults.walkTokens,i=n.walkTokens;r.walkTokens=function(s){let a=[];return a.push(i.call(this,s)),o&&(a=a.concat(o.call(this,s))),a}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return z.lex(t,e??this.defaults)}parser(t,e){return A.parse(t,e??this.defaults)}parseMarkdown(t){return(e,n)=>{let r={...n},o={...this.defaults,...r},i=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&r.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(o.hooks&&(o.hooks.options=o,o.hooks.block=t),o.async)return(async()=>{let s=o.hooks?await o.hooks.preprocess(e):e,a=await(o.hooks?await o.hooks.provideLexer(t):t?z.lex:z.lexInline)(s,o),c=o.hooks?await o.hooks.processAllTokens(a):a;o.walkTokens&&await Promise.all(this.walkTokens(c,o.walkTokens));let l=await(o.hooks?await o.hooks.provideParser(t):t?A.parse:A.parseInline)(c,o);return o.hooks?await o.hooks.postprocess(l):l})().catch(i);try{o.hooks&&(e=o.hooks.preprocess(e));let s=(o.hooks?o.hooks.provideLexer(t):t?z.lex:z.lexInline)(e,o);o.hooks&&(s=o.hooks.processAllTokens(s)),o.walkTokens&&this.walkTokens(s,o.walkTokens);let a=(o.hooks?o.hooks.provideParser(t):t?A.parse:A.parseInline)(s,o);return o.hooks&&(a=o.hooks.postprocess(a)),a}catch(s){return i(s)}}}onError(t,e){return n=>{if(n.message+=`
|
|
2120
|
-
Please report this to https://github.com/markedjs/marked.`,t){let r="<p>An error occurred:</p><pre>"+D(n.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(n);throw n}}},U=new ln;function C(t,e){return U.parse(t,e)}C.options=C.setOptions=function(t){return U.setOptions(t),C.defaults=U.defaults,Qt(C.defaults),C};C.getDefaults=Be;C.defaults=G;C.use=function(...t){return U.use(...t),C.defaults=U.defaults,Qt(C.defaults),C};C.walkTokens=function(t,e){return U.walkTokens(t,e)};C.parseInline=U.parseInline;C.Parser=A;C.parser=A.parse;C.Renderer=le;C.TextRenderer=Ge;C.Lexer=z;C.lexer=z.lex;C.Tokenizer=ye;C.Hooks=se;C.parse=C;const
|
|
2121
|
-
${String(t?.stack||"")}`,
|
|
2122
|
-
`)||[]).find(y=>y.includes("at ")&&!y.includes("node_modules"));if(w&&w.length<=
|
|
2123
|
-
${ke(v,n)}`,l.cause&&(u.cause=We(l.cause));const h=l.sourceFile?{column:l.column,file:l.sourceFile,line:l.line,plugin:l.plugin}:void 0,w=await Ae(u,t,n,h,"server",r,o,i);a.err=w}}s(a,c)}catch(l){_e(t,"[visulima:vite-overlay:server] ws.send intercept failed",l),c&&typeof c.send=="function"?c.send(a,c):s(a,c)}}},
|
|
2124
|
-
${ke(u,r)}`,d.cause&&(h.cause=We(d.cause));try{const w=await Ae(h,t,r,{column:d?.column,file:d?.file,line:d?.line,plugin:d?.plugin},"client",o,s,a),y={err:{...w},type:"error"};w.solution&&(y.solution=w.solution);const f=[...w.errors],g=f.shift();if(!g){await e.error("No error information available"),l.send(y);return}const b=[`${Ke("red","[client]")} ${g.name}: ${g.message}`,...g.originalFilePath.includes("-extension://")?[]:["",Ke("blue",`${g.originalFilePath}:${g.originalFileLine}:${g.originalFileColumn}`),"",await
|
|
2125
|
-
`)),l.send(y)}catch(w){_e(t,"[visulima:vite-overlay:server] failed to build extended client error",w),l.send({err:{message:w.message,name:String(w.name||jt),stack:w.stack},type:"error"})}})},
|
|
2120
|
+
Please report this to https://github.com/markedjs/marked.`,t){let r="<p>An error occurred:</p><pre>"+D(n.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(n);throw n}}},U=new ln;function C(t,e){return U.parse(t,e)}C.options=C.setOptions=function(t){return U.setOptions(t),C.defaults=U.defaults,Qt(C.defaults),C};C.getDefaults=Be;C.defaults=G;C.use=function(...t){return U.use(...t),C.defaults=U.defaults,Qt(C.defaults),C};C.walkTokens=function(t,e){return U.walkTokens(t,e)};C.parseInline=U.parseInline;C.Parser=A;C.parser=A.parse;C.Renderer=le;C.TextRenderer=Ge;C.Lexer=z;C.lexer=z.lex;C.Tokenizer=ye;C.Hooks=se;C.parse=C;const is=/[&<>"']/g,ss={'"':""","&":"&","'":"'","<":"<",">":">"},oe=t=>t.replaceAll(is,e=>ss[e]??e),as=/^(?:https?:|mailto:|tel:|#|\.{0,2}\/)/i,ls=/[\u0000-\u0020\u007F-\u00A0]/g,cs=t=>as.test(t.replaceAll(ls,"")),ds=()=>{const t=new le;return t.html=({text:e})=>oe(e),t.link=({href:e,text:n,title:r})=>{const o=oe(n);if(!cs(e))return o;const i=r?` title="${oe(r)}"`:"";return`<a href="${oe(e)}"${i}>${o}</a>`},t.image=({text:e})=>oe(e),new ln({renderer:t})},ps=ds(),At=async t=>ps.parse(t),hs=/at\s+[^(\s]+\s*\(([^:)]+):(\d+):(\d+)\)/,us=/at\s+([^:)]+):(\d+):(\d+)/,cn=/Failed to resolve import ["']([^"']+)["'] from ["']([^"']+)["']/,ms=2048,_e=(t,e,n)=>{try{const r=n instanceof Error?n.message:String(n);t.config.logger.error(`${e}: ${r}`,{clear:!0,timestamp:!0})}catch{}},gs=t=>({error:e=>{t.config.logger.error(String(e??""),{clear:!0,timestamp:!0})},log:e=>{t.config.logger.info(String(e??""))}}),fs=()=>{const t=new Map;return{recentErrors:t,shouldSkip:e=>{const n=Date.now();for(const[o,i]of t)n-i>=et&&t.delete(o);const r=t.get(e)||0;return n-r<et?!0:(t.set(e,n),!1)}}},dn=t=>`${String(t?.message||"")}
|
|
2121
|
+
${String(t?.stack||"")}`,vs=(t,e,n)=>async r=>{const o=r instanceof Error?r:new Error(String(r?.stack||r));try{t.ssrFixStacktrace(o)}catch(i){_e(t,"[visulima:vite-overlay:server] ssrFixStacktrace failed",i)}try{const i=await tr(o,t);Object.assign(o,i)}catch(i){_e(t,"[visulima:vite-overlay:server] enhanceViteSsrError failed",i)}try{o.stack=ke(Ie(String(o.stack||"")),e)}catch{}await n.error(yn(o)),t.ws.send({err:o,type:"error"})},ws=(t,e)=>{if(!process.env.DEBUG)return;const n=e instanceof Error?e.message:String(e);console.debug(`Solution finder "${t}" threw and was skipped: ${n}`)},bs=async(t,e,n)=>{let r;const o=[...e,...n];for await(const i of o.toSorted((s,a)=>a.priority-s.priority)){const{handle:s,name:a}=i;if(process.env.DEBUG&&console.debug(`Running solution finder: ${a}`),typeof s=="function")try{const c=await s({hint:t?.hint??"",message:t.message,name:t.name,stack:t?.stack},{file:t?.originalFilePath??"",language:Q(t?.originalFilePath??""),line:t?.originalFileLine??0,snippet:t?.originalSnippet??""});if(c===void 0)continue;const l=await At(c.header??"");r={body:await At(c.body??""),header:l};break}catch(c){ws(a,c);continue}}return r},Ae=async(t,e,n,r,o,i,s,a)=>{const c=bn(t);if(c.length===0)throw new Error("No errors found in the error stack");const l=await Promise.all(c.map(async(p,m)=>{let v=r;if(m>0){const w=(p?.stack?.split(`
|
|
2122
|
+
`)||[]).find(y=>y.includes("at ")&&!y.includes("node_modules"));if(w&&w.length<=ms){const y=w.match(hs)||w.match(us);if(y){const[,f,g,b]=y;v={column:Number.parseInt(b||"0",10),file:f,line:Number.parseInt(g||"0",10),plugin:r?.plugin}}}}let u=v;m===0&&p?.sourceFile&&(u={...v,file:p.sourceFile});const h=await vi(p,e,m,s,u,c);return{hint:p?.hint,message:p?.message||"",name:p?.name||jt,stack:ke(Ie(p?.stack||""),n),...h}})),d=await bs(l[0],i,a);return{errors:l,errorType:o,rootPath:n,solution:d}},We=(t,e=0)=>{if(!t||e>=Ln)return;const n=new Error(String(t.message||"Caused by error"));return n.name=String(t.name||"Error"),n.stack=String(t.stack||""),t.cause&&(n.cause=We(t.cause,e+1)),n},ys=(t,e,n,r,o,i)=>{const s=t.ws.send.bind(t.ws);t.ws.send=async(a,c)=>{try{if(a&&typeof a=="object"&&a.type==="error"&&a.err){const{err:l}=a,d=dn(l);if(e(d))return;if(l.message?.includes("Failed to resolve import")){const p=l.message.match(cn);if(p){const m=p[2],v=new Error(l.message);v.name="ImportResolutionError",v.stack=l.stack;const u=await Ae(v,t,n,{column:l.loc?.column||1,file:m,line:l.loc?.line||1,plugin:l.plugin||"vite:import-analysis"},"server",r,o,i);a.err=u}}else{const p=String(l?.name||"Error"),m=String(l.message),v=String(l.stack),u=new Error(m);u.name=p,u.stack=`${p}: ${m}
|
|
2123
|
+
${ke(v,n)}`,l.cause&&(u.cause=We(l.cause));const h=l.sourceFile?{column:l.column,file:l.sourceFile,line:l.line,plugin:l.plugin}:void 0,w=await Ae(u,t,n,h,"server",r,o,i);a.err=w}}s(a,c)}catch(l){_e(t,"[visulima:vite-overlay:server] ws.send intercept failed",l),c&&typeof c.send=="function"?c.send(a,c):s(a,c)}}},_s=(t,e,n,r,o,i,s,a)=>{t.ws.on(Ht,async(c,l)=>{if(!i)return;const d=c&&typeof c=="object"?c:{message:Tn,stack:""},p=dn(d);if(n(p))return;const m=String(d?.name||"Error"),v=String(d.message),u=String(d.stack),h=new Error(v);h.name=m,h.stack=`${m}: ${v}
|
|
2124
|
+
${ke(u,r)}`,d.cause&&(h.cause=We(d.cause));try{const w=await Ae(h,t,r,{column:d?.column,file:d?.file,line:d?.line,plugin:d?.plugin},"client",o,s,a),y={err:{...w},type:"error"};w.solution&&(y.solution=w.solution);const f=[...w.errors],g=f.shift();if(!g){await e.error("No error information available"),l.send(y);return}const b=[`${Ke("red","[client]")} ${g.name}: ${g.message}`,...g.originalFilePath.includes("-extension://")?[]:["",Ke("blue",`${g.originalFilePath}:${g.originalFileLine}:${g.originalFileColumn}`),"",await wn(g.originalSnippet,Q(g.originalFilePath),"nord"),"","Raw stack trace:","",g.originalStack]];f.forEach((k,x)=>{const $=" ".repeat(2*x);b.push("",`${$}Caused by: `,"",`${$}${k.name}: ${k.message}`,`${$}at ${k.originalFilePath}:${k.originalFileLine}:${k.originalFileColumn}`)}),await e.error(b.join(`
|
|
2125
|
+
`)),l.send(y)}catch(w){_e(t,"[visulima:vite-overlay:server] failed to build extended client error",w),l.send({err:{message:w.message,name:String(w.name||jt),stack:w.stack},type:"error"})}})},ks=(t,e)=>t.flat().some(n=>n&&(e&&n.name===e||n.name==="vite:react-swc"||n.name==="vite:react-refresh"||n.name==="vite:react-babel"||n.name==="@vitejs/plugin-react"||typeof n=="function"&&n.name?.includes("react")||n.constructor&&n.constructor.name?.includes("React"))),xs=(t,e)=>t.flat().some(n=>n&&(e&&n.name===e||n.name==="vite:vue"||n.name==="@vitejs/plugin-vue"||typeof n=="function"&&n.name?.includes("vue")||n.constructor&&n.constructor.name?.includes("Vue"))),$s=(t,e)=>t.flat().some(n=>n&&(e&&n.name===e||n.name==="vite-plugin-svelte"||n.name==="@sveltejs/vite-plugin-svelte"||typeof n=="function"&&n.name?.includes("svelte")||n.constructor&&n.constructor.name?.includes("Svelte"))),Es=(t,e)=>t.flat().some(n=>n&&(e&&n.name===e||n.name==="preact:config"||n.name==="vite:preact-jsx"||n.name==="@preact/preset-vite"||typeof n=="function"&&n.name?.includes("preact")||n.constructor&&n.constructor.name?.includes("Preact"))),Ss=(t,e)=>t.flat().some(n=>n&&(e&&n.name===e||n.name==="solid"||n.name==="vite-plugin-solid"||typeof n=="function"&&n.name?.includes("solid")||n.constructor&&n.constructor.name?.includes("Solid"))),Ms=(t={})=>{let e,n,r,o,i,s;const a=(t.logClientRuntimeError===void 0?t.forwardConsole:t.logClientRuntimeError)??!0,c=t.forwardedConsoleMethods??["error"],l=t.interceptUnhandledRejection??!0;if(t.logClientRuntimeError!==void 0&&console.warn("[vite-overlay] The 'logClientRuntimeError' option is deprecated. Please use 'forwardConsole' instead."),t.showBallonButton!==void 0&&console.warn("[vite-overlay] The 'showBallonButton' option is misspelled and deprecated. Please use 'showBalloonButton' instead."),c.length===0)throw new Error("forwardedConsoleMethods must be an array of console method names");return{apply:"serve",config(d,p){return d.plugins&&(n=ks(d.plugins,t?.reactPluginName),r=xs(d.plugins,t?.vuePluginName),o=$s(d.plugins,t?.sveltePluginName),i=Es(d.plugins,t?.preactPluginName),s=Ss(d.plugins,t?.solidPluginName)),e=p.mode||"development",d},configureServer(d){const p=d.config.root||process.cwd(),m=gs(d),{shouldSkip:v}=fs(),u=d.transformRequest.bind(d);d.transformRequest=async(y,f)=>{try{return await u(y,f)}catch(g){if(g?.message?.includes("Failed to resolve import")){const b=g.message.match(cn);if(b){const[,k,x]=b;g.sourceFile=x,g.importPath=k}}throw g}};let h=t?.framework;h===void 0&&(n?h="react":r?h="vue":o?h="svelte":i?h="preact":s&&(h="solid"));const w=[_n,xn(p),kn];if(ys(d,v,p,t?.solutionFinders??[],h,w),_s(d,m,v,p,t?.solutionFinders??[],a,h,w),l){const y=vs(d,p,m);process.on("unhandledRejection",y),d.httpServer?.on("close",()=>{process.off("unhandledRejection",y)})}},enforce:"pre",name:Cn,transform(d,p,m){if(m?.ssr||!(p.includes("vite/dist/client/client.mjs")||p.includes("/@vite/client")))return null;const v=t?.showBalloonButton??t?.showBallonButton??t?.overlay?.balloon?.enabled??!0;return On(d,v,t?.overlay?.balloon,t?.overlay?.customCSS)},transformIndexHtml(){return{html:"",tags:[{attrs:{type:"module"},children:wi(e,c),injectTo:"head",tag:"script"}]}}}};export{xn as createViteSolutionFinder,Ms as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as
|
|
2
|
-
`)}</ul>`;if(m){const d=o;[...
|
|
1
|
+
import{createRequire as D}from"node:module";import{distance as x}from"fastest-levenshtein";let I;const V=e=>(I??=D(import.meta.url))(e),b=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=e=>{if(typeof b<"u"&&b.versions&&b.versions.node){const[t,i]=b.versions.node.split(".").map(Number);if(t>22||t===22&&i>=3||t===20&&i>=16)return b.getBuiltinModule(e)}return V(e)},k=_("node:fs"),c=_("node:path"),P=/Failed to resolve import ["']([^"']+)["']/,R=/Cannot resolve module ["']([^"']+)["']/,F=/Cannot resolve ["'](\.\.?\/[^"']*)["']/,A=4,j=1e3,$=5,E=.5,L=[".js",".ts",".jsx",".tsx",".mjs",".cjs"],q=[".css",".scss",".sass",".less"],T=[".svg",".png",".jpg",".jpeg",".gif",".webp",".ico"],H=new Set([...T,...L,...q]),a=(e,...t)=>{const i=e.toLowerCase();return t.some(n=>i.includes(n.toLowerCase()))},B=/[&<>"']/g,O={'"':""","&":"&","'":"'","<":"<",">":">"},S=e=>e.replaceAll(B,t=>O[t]??t),U=(e,t)=>{const i=c.relative(e,t);return i.startsWith(".")?i:`./${i}`},N=e=>e===0?"":e===1?" (in parent directory)":e===2?" (in grandparent directory)":` (${e} directories away)`,z=(e,t)=>{try{const i=c.relative(e,t).split(c.sep).filter(o=>o&&o!==".");let n=0;for(const o of i)n+=o===".."?2:1;return n}catch{return 10}},W=(e,t,i,n)=>{if(t&&n===t){const s=x(e,i);return s<=Math.max(3,Math.floor(e.length*E))?10-s:0}if(!t){const s=x(e,i);return s===0?9:s<=Math.max(2,Math.floor(e.length*.3))&&H.has(n)?7-s:0}const o=x(e,i);return o<=Math.max(2,Math.floor(e.length*.4))?5-o:0},Y=async(e,t)=>{const i=t.get(e);if(i!==void 0)return i;let n;try{n=(await k.promises.readdir(e,{withFileTypes:!0})).map(o=>({isDirectory:o.isDirectory(),isFile:o.isFile(),name:o.name}))}catch{n=[]}return t.set(e,n),n},X=async(e,t,i,n)=>{const o=[],s=async(l,u=0)=>{if(u>A||o.length>j)return;const p=await Y(l,n);for(const r of p){if(o.length>j)break;const f=c.join(l,r.name);if(r.isDirectory&&!r.name.startsWith(".")&&r.name!=="node_modules")await s(f,u+1);else if(r.isFile){const m=c.extname(r.name),g=c.basename(r.name,m),y=W(t,i,g,m);y>0&&o.push({baseName:g,extension:m,fullPath:f,path:f,relevanceScore:y})}}};return await s(e),o},C=async(e,t,i,n)=>{const o=c.basename(e),s=c.extname(o),l=c.basename(o,s),u=c.dirname(t),p=(await X(i,l,s,n)).map(d=>{const h=x(l,d.baseName),v=z(u,c.dirname(d.fullPath)),w=d.relevanceScore*.7-v*.2-h*.1;return{...d,nameDistance:h,pathDistance:v,score:w}});p.sort((d,h)=>h.score-d.score);const r=[],f=p.slice(0,8);let m=!1;for(const d of f){const h=U(u,d.fullPath);if(!r.includes(h)){const v=N(d.pathDistance);r.push(h+v);const w=d.fullPath.replaceAll("\\","/").split("/"),M=w.indexOf("public");M!==-1&&M<w.length-1&&(m=!0)}}const g=[...new Set(r)].slice(0,$);if(g.length===0)return"";let y=`<ul>${g.map(d=>`<li>\`${S(d)}\`</li>`).join(`
|
|
2
|
+
`)}</ul>`;if(m){const d=o;[...T].some(h=>d.includes(h))&&(y+=`Files in the \`public\` folder should be accessed via absolute URLs like \`/${S(d)}\`.`)}return y},G=[{solution:{body:"Browser APIs like `window` and `document` are not available during server-side rendering. Use dynamic imports or check for SSR environment before using browser APIs.",header:"SSR Browser API Error"},test:e=>a(e,"window is not defined","document is not defined")},{solution:{body:"Some plugins need specific ordering. Use `enforce: 'pre'` for plugins that need to run first, or `enforce: 'post'` for plugins that need to run last.",header:"Plugin Ordering Issue"},test:e=>a(e,"Plugin ordering","enforce")},{solution:{body:"CSS Modules require proper configuration. Make sure your CSS files use the `.module.css` extension and are imported correctly.",header:"CSS Modules Configuration"},test:e=>a(e,"CSS Modules","module.css")},{solution:{body:["Only variables prefixed with `VITE_` are exposed on `import.meta.env` to the client at build time.","Server-only variables should not be prefixed with `VITE_`.","- Do not use `process.env` in browser code; prefer `import.meta.env.*`","- Custom vars must be prefixed with `VITE_` to be exposed to client",'- For TS, add `/// <reference types="vite/client" />` for type-safe access'].join(`
|
|
3
3
|
`),header:"Environment Variables"},test:e=>a(e,"VITE_","process.env")},{solution:{body:"For static assets, use the `new URL('./path/to/asset', import.meta.url)` syntax or import them and use the returned URL.",header:"Asset Import Issue"},test:e=>a(e,"Failed to load")&&a(e,".png",".jpg",".svg")},{solution:{body:"Some issues only occur in production builds. Check if the error happens in development mode. You might need different configurations for build vs dev.",header:"Build vs Development Mode"},test:e=>a(e,"production","build")},{solution:{body:"HMR issues can occur with certain patterns. Make sure you're not mutating module-level variables and consider using `import.meta.hot` guards.",header:"Hot Module Replacement Issue"},test:e=>a(e,"HMR","hot reload")},{solution:{body:"Check your `tsconfig.json` and make sure it includes proper paths and compiler options. For Vite, you might need a `vite-env.d.ts` file.",header:"TypeScript Configuration"},test:(e,t)=>a(e,"TypeScript")||t?.endsWith(".ts")},{solution:{body:"Some dependencies need to be excluded from pre-bundling. Add them to `optimizeDeps.exclude` in your Vite config.",header:"Dependency Optimization"},test:e=>a(e,"optimizeDeps","pre-bundling")},{solution:{body:"Configure path aliases in your Vite config using the `resolve.alias` option to match your TypeScript path mappings.",header:"Path Resolution"},test:e=>a(e,"resolve.alias","Cannot find module")},{solution:{body:"Server middleware and proxy settings should be configured in the `server` section of your Vite config.",header:"Server Configuration"},test:e=>a(e,"middleware","proxy")},{solution:{body:"Check your plugin configuration in `vite.config.js/ts`. Make sure all required options are provided and options are correctly typed.",header:"Plugin Configuration"},test:e=>a(e,"plugin","configuration")},{solution:{body:"Configure your build output directory using `build.outDir` in your Vite config. Make sure the directory is writable.",header:"Build Output Configuration"},test:e=>a(e,"build.outDir","dist")},{solution:{body:["Client and server rendered markup differ.","","Checklist:","- A server/client branch `if (typeof window !== 'undefined')`.","- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.","- Date formatting in a user's locale which doesn't match the server.","- External changing data without sending a snapshot of it along with the HTML.","- Invalid HTML tag nesting.","","It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.","","https://react.dev/link/hydration-mismatch"].join(`
|
|
4
|
-
`)},test:e=>a(e,"hydration failed","did not match","expected server html","text content does not match")}],
|
|
4
|
+
`)},test:e=>a(e,"hydration failed","did not match","expected server html","text content does not match")}],Q=e=>{const t=new Map;return{async handle(i,n){const{file:o,language:s}=n,l=i.message??"";if(a(l,"Failed to resolve import","Cannot resolve module")){const u=l.match(P),p=l.match(R),r=u?.[1]||p?.[1];if(r&&o){const f=await C(r,o,e,t);if(f)return{body:`The import path \`${S(r)}\` could not be resolved.<br/><br/>Did you mean one of these files?<br/>${f}`};if([".jsx",".tsx"].includes(s)||a(l,"react"))return{body:"Install and configure the React plugin. Add `@vitejs/plugin-react` to your dependencies and include it in your Vite config.",header:"Missing React Plugin"};if(s==="vue")return{body:"Install and configure the Vue plugin. Add `@vitejs/plugin-vue` to your dependencies and include it in your Vite config.",header:"Missing Vue Plugin"};if(s==="svelte")return{body:"Install and configure the Svelte plugin. Add `@sveltejs/vite-plugin-svelte` to your dependencies and include it in your Vite config.",header:"Missing Svelte Plugin"}}}if(a(l,"Cannot resolve")&&(s==="typescript"||s==="javascript")){const u=l.match(F);if(u){const p=u[1];if(p&&o){const r=await C(p,o,e,t);if(r)return{body:`Cannot resolve \`${S(p)}\`. Did you mean one of these files?${r}`,header:"File Not Found"}}}return{body:"In Vite, you may need to include file extensions in imports, especially for TypeScript files. Try adding `.js` extension to your imports.",header:"Missing File Extension"}}for(const u of G)if(u.test(l,o))return u.solution},name:"vite-solution-finder",priority:20}};export{Q as default};
|